Нельзя ли как-нибудь в CodeSys v2 сделать константы, которые будут заполняться временем компиляции и/или версией build'а?
Нельзя ли как-нибудь в CodeSys v2 сделать константы, которые будут заполняться временем компиляции и/или версией build'а?
Ответ - можно.
В CoDeSys есть возможность вставить перед компиляцией содержимое файла. Я делал батник который раз в минуту писал время в файл.
Еще есть такая утилита xStarter. В ней можно отслеживать открытие файла и записывать в него нужное время.
Часто задаваемые вопросы по кодесис
1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie
"В CoDeSys есть возможность вставить перед компиляцией содержимое файла"
А чуть-чуть намекнёте, где копать? Что-то ни в доке, ни методом хаотичного поиска ничего сходу не нашлось. Как положить в файл то, что надо - уже разобрался, а вот как затащить его в CodeSys - пока не понимаю...
собственно в чем проблема? вариантов куча:
1) пишите версию файла в Plc_prg как коментарий.
2) добавьте пременные или константы в проект
3) в кодесис - > проект-> информация о проекте. а там есть поле версия.
вариантов как видите много. а загружать какие-то дополнительные файлы.. зачем? все должно быть в проекте.
ресурсы-глобальные переменные добавляете свои - далее на правую кнопку- свойства - связать с файлом - имя файла - опция импортировать. если используете английский интерфейс, то перевод за вами
Часто задаваемые вопросы по кодесис
1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie
Собственно что сделал:
1. Поставил xStarter
2. Сделал макрос в CodeSys, записывающий сообщение в файл (содержимое не важно) при компиляции.
3. Сделал задачу в xStarter, которая увеличивает хранимую переменную на 1 и выводит её в файл. Также в этот файл выводится дата и время. Формат записываемого файла примерно такой:
VAR_GLOBAL
build_num: STRING(10):='[build]';
build_date: STRING(20):='[DATE]';
END_VAR
То что в квадратных скобках - заполняется xStarter'ом.
4. Этот файл связан по рецепту Олега с отдельным разделом глобальных переменных.
5. А конфигурационная переменная, которая содержит версию ПО и отображает её на экране ПЛК63 уже собирается из этих build_num и build_date.
6. А, самое важное! Условием запуска задачи в xStarter поставил изменение файла, в который выводятся значения макросом CodeSys.
Возможно - громоздко, но вполне работоспособно. Спасибо за помощь. Потом займусь следующей задачей - резервной копией проекта при каждом билде.
алескандр! а хотелось автоматического счётчика билдов, не хотелось обновлять руками дату и время компиляции и т.д. вариант с константами и комментариями как раз и использовался, но он не очень удобен в жизни.