Вот сделал интеграцию среды и CoDeSys: http://recordit.co/xzAv3BGlzS
Вроде, норм получается.
В среде нажимаем "запустить", открывается CS, подхватывается новый код, и всё такое.
Базовый проект (настройки ПЛК) берутся из отдельного *.pro файла.
Т.е. создаём один раз проект в CS (с базовыми настройками, указанием PLC и т.п.), а когда из среды нажимаем "запустить", то открывается CS, загружается этот самый проект, и затем поверх импортируется новый код.
И, да, забавы ради сделал "анонимные функциональные блоки".
Код в среде:
Код:
PROGRAM PLC_PRG
variables:
v1 : BOOL := TRUE;
et : TIME;
complex : COMPLEX;
body:
IF TON(IN := v1, PT := T#3s, ET => et).Q THEN
complex.cstm.bingo := TRUE;
END_IF;
END_PROGRAM
Код, который передаётся в CoDeSys:
Код:
PROGRAM PLC_PRG
VAR
v1 : BOOL := TRUE;
et : TIME;
complex : COMPLEX;
tmpTON_0 : TON;
END_VAR
tmpTON_0(IN := v1, PT := T#3s, ET => et);
IF tmpTON_0.Q THEN
complex.cstm.bingo := TRUE;
END_IF;
END_PROGRAM