Цитата Сообщение от Herzog Посмотреть сообщение
Однако все это чисто гипотетически, поскольку сравнения версий на уровне исходных кодов в CodeSys нет..
Хм, а мы применяем. В ходе отладки пишем на диск Имя_проекта_номер версии. Далее Проект – Сравнить. Удобный инструмент, причем не ограниченный только текстовыми языками (было бы крайне странно для профессиональной МЭК системы). В одной из наших текущих работ рабочая версия фала проекта 47. Удобно что в CoDeSys проект храниться в одном файле. Все версии лежат в отдельной папочке. За 3 сек на любой ноут переносим всю историю и в седло, в поля. Пока, наши прикладники сопротивляются тотальному внедрению СКВ, считают вышеописанный подход ‘ближе к народу’ в глубинке

Для СКВ в CoDeSys V2.3 ставится дополнительный платный компонент ENI. Он позволяет интегрироваться с SVN в удобной форме, для текстовых и графических языков без ограничений. Содержит наглядный инструмент для сравнения. В одной базе можно хранить все документы, включая программы Дельфи и др. без всяких извратов.


Условная компиляция в V2.3 есть только на уровне объектов: в глобальных переменных создаем 2 папки с разными наборами объявлений. Проект- Опции - Генератора кода – Исключить объекты – отключаем лишнюю. Для поставленной в этой теме задачи, даже удобнее, ибо переключаемся мышкой, набирать буквы вообще не нужно.

В CoDeSys V3:

{IF defined (variable:bXZ)}
bXZ := TRUE;
{text ''Эта надпись будет показана в окне сообщений компилятора'}
{END_IF}

См. также язык ExST в хелпе и Директивы компилятора.