Тут нормально всё.
Смысл простой: IF TON(...) это не обращение к переменной TON, а "работа с блоком TON, расположенным в конкретном месте кода".
Ну, примерно так же как в CFC внезапно расположенный TON работает и никого не смущает, что он в переменных не объявлен.
Т.е. TON(...).Q OR TON(...).Q будут уже два разных TON'а (т.е. под них будут созданы две разные переменные).
Тестов преобразователя?
Надо придумать в каком формате описывать тесты на программу 61131. Тогда набор таких тестов можно использовать и для тестирования самой среды (ну, куча тестов на простые темы).
Есть идеи?
Собственно, вопрос: в какую сторону дальше двигаться?
- Выложить сборку "на попробовать"
- Импорт библиотек. Сейчас я сигнатуры TON/TOFF внёс вручную ради демонстрации.
- Что-то из PLC configuration. Я пока без понятия что из PLC conf чаще используется.
- Тесты?
- Ещё что-то?
- CFC