Задержка идет за счет большого количества передаваемых по сети данных. Для быстрого управления рекомендую перейти (если позволит версия прошивки МДВВ) на MODBUS RTU и использовать 50 и 51 регистры. Лично мне сильно помогло.
Задержка идет за счет большого количества передаваемых по сети данных. Для быстрого управления рекомендую перейти (если позволит версия прошивки МДВВ) на MODBUS RTU и использовать 50 и 51 регистры. Лично мне сильно помогло.
ПЛК работает по ОВЕН нормально.Но по MODBUS-RTU происходит
полная билеберда. Выхода включаются и выключаются с периодом 0.5 секунд и не реагирует на входа.Покажите пожалуйста на учебном примере как правильно настроить МДВВ по Modbus-RTU.
Пуск-стоп гидравлики. Думаю это будет многим интересно. ПЛК 100 Р-М.
Язык LD. Файлик прилагаю. Жду.
в примере используются маски входов и выходов МДВВ. Это позволяет упростить программу и уменьшить информационный обмен между ПЛК и модулем.
В вашем примере вы работали с каждым выходом отдельно. В этом случае необходимо посылать не 0 или 1 , а 0 или 1000. Кроме того вы считывали из МДВВ не значение на входе, а значение счетчика каждого входа.
пример ПЛК100 + МДВВ RTU маски.rar
Вот возник вопрос - в ходе выполнения этой программы идет постоянный опрос входов и запись режимов выходов? То есть работа по интерфейсу синхронно с циклом исполняемой программы?
Если, допустим, в следующей строке программы будет опрос двух других входов и запись в какой-либо выход, то по сети будет четыре обращения к модулю? (сучетом чтения и записи).
Можно настроить так, чтобы опрос входов был, например раз в 1 сек, а запись только после изменения состояния какого-либо выхода?
Вообще-то это так и происходит. Процесс обмена по интерфейсу имеет свою задаваемую периодичность и происходит параллельно с циклом работы вашей программы. Существует буфер, так называемая память ввода/вывода, в которую посредством интерфейсов записываются вновь опрошенные значения с модулей и из которой считывается информация для пересылки в модули. Программа считывает и обновляет значения в этой памяти 1 раз в цикл. Средства работы с интерфейсами используют и обновляют эту информацию в соответствие со своими настройками независимо от цикла ПЛК. В том числе можно настроить опрос раз в 1 секунду. Как? Читайте в руководстве по подключению модулей и в описании plc configuration.
Спасибо. Более-менее понятно.
Еще возник вопрос по поводу опроса модулей по команде. Из описания: "By Command – «по команде» – производится однократная посылка запроса, когда в командный канал Command переменной записывается значение 0x00FF".
При добавлении как универсального модбас устройства, так и стандартных модулей (МДВВ и т.п.) видим в корне самого устройства строку вида
AT %QBx.x.x.x:BYTE; (* Command (0xff-Start) *)
Означает ли это, что опрос этих устройств ведется только по команде? значит нужно в этот канал записывать значение FF или в него можно как-то "запрограммировать" это значение чтобы не тратить область ввода-вывода? А если в универсальном устройстве есть еще несколько каналов, некоторые из которых нужно опрашивать по запросу? Тогда нужно и в само устройство посылать команду (запрос) и в конкретный канал? И еще - Допустим записали данные в выходное устройство, пока нам больше не надо обмена с этим каналом. Нужно в командный канал записывать значение отличное от FF?
Надеюсь понятно изложил вопросы. Заранее спасибо за разъяснения.
Вы поняли это совершенно правильно.
Хотя логические рассуждения Вас привели к тому же, что написано в PLC_Configuration.pdf на диске ПЛК.
Действительно запись 0xff запускает опрос, а 0xfe - останавливает.