В том, что многие ошибки выявляются до компиляции/заливки в ПЛК. И не просто выявляются, а появляются подсказки "как исправлять"
а кто будет решать, что есть ощибка? IF foo=TRUE THEN считается ли такой код ошибкой, в КДС можно обойтись и более короткой схемой, а в вейнтеке от версии к версии бывает что нет
В том, что можно будет делать тесты. Например: задаём диаграмму значений на входах и проверяем значения на выходах. Понятно, что для каких-то случаев нужно подключать "игровой движок". Но для случаев "куча кнопок" должно на ура пойти
это есть и в самой КДС
В том, что не опечатаешься в имени переменной. Вон в том же КДС: значения ENUM глобальны. По-моему, это жесть. Логичнее Colors.RED и States.ENABLED
попробуйте в КДС написать "левое" имя переменной во время редактирования, так что тоже не аргумент. По поводу чего то там глобального, если Вам попался код не отвечающий Вашим требованиям, это не означает что это проблема среды, писать код логично ни кто не запрещает
В том, что можно в сам язык встроить работу с сетью: "классическая проблема" упаковки/распаковки переменных в буфер. С точки зрения языка может быть просто "буфер", который сам собой правильно укладывает значения в памяти, показывает как улеглось и т.п.
подобрали в КДС бибку, которая содержит функции работы с сетью и останется только "ложить" или "забирать" просто буффер
В том, что привязки языка к КДС как таковой нет. Взять, например, OwenLogic. Там можно перецепить связь на другой вход/выход? Можно заменить TON на TOF? Правильно, нельзя. А у меня можно
Или, может, git в OL поддерживается?
браться за работу то с плк, то с ПР это означает работать с мелкими, в основном разовыми проектами. По поводу смены связей, замены блоков, а где заявленные в начале поста инструменты подсказки, что не правильно пишешь, не туда связь ставишь, не тот блок применяешь?