PDA

Просмотр полной версии : Принудительный опрос переменных в Modbus Universal MasterOPC Server



hawk
18.10.2012, 11:41
Как в Modbus Universal MasterOPC Server организовать принудительный (внеочередной) опрос переменных?. В Lectus это решается при помощи системной переменной Poll.

SCADAMaster
18.10.2012, 11:59
В MasterOPC это делается через скрипт. Для этого есть функция - server.PollCurrentDevice( );
Вам нужно сделать следующее. Например вы хотите принудительно опрашивать когда в специальный тег производится запись значения True. Включаете у этого тега исполнение скрипта перед записью, в разделе функции OnWrite прописываете следующий код:
val=server.ReadCurrentTag();
if val==true then
server.PollCurrentDevice( );
end;

hawk
18.10.2012, 18:58
Большое Спасибо!Все работает.

energvk
28.12.2014, 02:13
Не могу разобраться как управлять этим тегом через мастерскада. Если запускать opc-сервер отдельно от мастерскады и менять тег с false на true, всё работает отлично. Но если пытаюсь управлять тегом с мастерскады, то опрос не происходит, хотя opc-переменная в мастерскаде меняет значение.

SCADAMaster
28.12.2014, 09:35
Приложите вашу конфигурацию ОРС сервера.

energvk
28.12.2014, 11:10
Конфигурация во вложении
15915

SCADAMaster
28.12.2014, 13:14
В конфигурации все правильно. Попробуйте поставить текущую версию сервера - 3.1.3.
Как вы определяете что опрос не проходит? Посмотрите на вкладку "Запросы" у ОРС сервера - уходит ли запрос.

energvk
28.12.2014, 13:58
Смотрел, абсолютно никаких запросов не было. Попробую обновить сервер (сейчас стоит 3.1.2)

energvk
28.12.2014, 23:07
Обновил, всё заработало. Получается, проблема появилась после обновления сервера с версии 3.0.9 (кажется) до 3.1.2