Я связывал многократно. Проблема одна - по RS485 он не работает с некоторыми контроллерами, а по RS232 все хорошо.
Вид для печати
Я связывал многократно. Проблема одна - по RS485 он не работает с некоторыми контроллерами, а по RS232 все хорошо.
А с ПЛК210 будет он работать?
По rs232 точно будет. По rs485 не знаю.
Уважаемые специалисты, ткните носом. Codesys 3.5 управление вент. установкой. Включение и выключение по одному и тому же регистру modbus. Как сделать переключение вкл-выкл в визуализации через клавишный выключатель, при этом при старте контроллера читать актуальное состояние. С обычной кнопкой проблем особых нет. Статус и включение можно разделить. А через клавишный выключатель не получается.
Да не то что бы не получается, я в принципе не понимаю как это сделать.
Вложение 51039
Создано 2 канала.
В программе есть переменная.
Vent_Room1_On_Status: BOOLEAN;
Хотелось бы выполнить задачи:
1. Считать состояние установки при старте контролера (и делать это постоянно).
2. В визуализации используя клавишный выключатель реализовать передачу команды на включение установки и соответственно чтобы его положение изменилось на "Включено"
3. При выключении установки с ее пульта изменить состояние в визуализации на выключено.
С обычной кнопкой это получается без проблем, там событий много обрабатывается. А у клавишного выключателя только привязка к одной переключаемой переменной.
Если с обычной кнопкой все получается - то поверх клавишного выключателя расположите элемент Невидимый ввод (из группы Стандартные элементы управления).
На него повесьте все события, а выключатель будет использоваться только для индикации состояния переменной.
Спасибо огромное!
Еще вопрос. Поправьте если я не прав.
При использовании тригерной переменной для канала modbus, ее необходимо вернуть в значение false Это можно сделать с помощью блока типа TON. Какая должна быть задержка? Не менее длины цикла основной программы?
Если работа с триггерной переменной производится в задаче цикла шины (см. здесь п. 4) - то достаточно сгенерировать единичный импульс через R_TRIG.
Универсальный вариант, который позволяет не зависеть от особенностей работы драйверов и настроек проекта - это циклически читать значение, которое записывается по триггеру.
Если считанное значение равно заданному, то триггер точно можно сбросить.
Евгений, невидимый ввод отлично работает, спасибо!
Видимо вопрос правильнее было помещать в визуализацию...
При наложении элементов друг на друга, фокус ввода всегда на верхнем элементе, на нижний событие уже не попадет?