Как в Modbus Universal MasterOPC Server организовать принудительный (внеочередной) опрос переменных?. В Lectus это решается при помощи системной переменной Poll.
Как в Modbus Universal MasterOPC Server организовать принудительный (внеочередной) опрос переменных?. В Lectus это решается при помощи системной переменной Poll.
В MasterOPC это делается через скрипт. Для этого есть функция - server.PollCurrentDevice( );
Вам нужно сделать следующее. Например вы хотите принудительно опрашивать когда в специальный тег производится запись значения True. Включаете у этого тега исполнение скрипта перед записью, в разделе функции OnWrite прописываете следующий код:
val=server.ReadCurrentTag();
if val==true then
server.PollCurrentDevice( );
end;
Спасибо.
Не могу разобраться как управлять этим тегом через мастерскада. Если запускать opc-сервер отдельно от мастерскады и менять тег с false на true, всё работает отлично. Но если пытаюсь управлять тегом с мастерскады, то опрос не происходит, хотя opc-переменная в мастерскаде меняет значение.
Последний раз редактировалось energvk; 28.12.2014 в 02:27.
Приложите вашу конфигурацию ОРС сервера.
Спасибо.
Конфигурация во вложении
ivpod.zip
В конфигурации все правильно. Попробуйте поставить текущую версию сервера - 3.1.3.
Как вы определяете что опрос не проходит? Посмотрите на вкладку "Запросы" у ОРС сервера - уходит ли запрос.
Спасибо.
Смотрел, абсолютно никаких запросов не было. Попробую обновить сервер (сейчас стоит 3.1.2)
Обновил, всё заработало. Получается, проблема появилась после обновления сервера с версии 3.0.9 (кажется) до 3.1.2