<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Руководство по языку Lua 5.1 > Библиотеки функций > Общие концепции построения скриптов |
Скрипты могут располагаться в различных элементах конфигурации OPC сервера - узлах, устройствах, подустройствах и тегах. Изначально скрипт содержит 3 (для тега) или 4 (для узла, устройства или подустройства) функции - функция инициализации, деинициализации, перед чтением устройства и после чтения устройства. В теле данных функций и нужно располагать код. Пользовательские функции (см. Объявление функций) должны объявляться вне данных системных функций.
Скрипт узла, устройства или подустройства:
глобальные определения, выполняются при загрузке скрипта;
автоматически создаваемые функции:
функция инициализации, выполняется однократно при старте узла:
function OnInit()
end
функция деинициализации, выполняется однократно при остановке узла:
function OnClose()
end
функция, выполняемая перед попыткой чтения устройств (выполняется с соответствующим периодом опроса):
function OnBeforeReading()
end
функция, выполняемая после попытки чтения устройств (выполняется с соответствующим периодом опроса):
function OnAfterReading()
end
функция, выполняемая при отказе узла или устройства. У узла ошибка возникает при невозможности открытия TCP/IP или COM порта, у устройства - при отсутствии ответов от устройства.
function OnError()
end
функции, определенные пользователем.
Скрипт тега:
глобальные определения, выполняются при загрузке cкрипта;
автоматически создаваемые функции:
функция инициализации, выполняется однократно при старте узла:
function OnInit()
end
функция деинициализации, выполняется однократно при остановке узла:
function OnClose()
end
функция, выполняемая после чтения тега (создается в ckpиптe пocлe чтeния, выполняется с соответствующим периодом опроса):
function OnRead()
end
функция, выполняемая перед записью тега (создается в ckpиптe пepeд зaпиcью, выполняется при попытке записи в тег):
function OnWrite()
end
При работе с данной функцией следует помнить, что функция вызывается при записи со стороны OPC клиента, а также при записи из скрипта другого тега. Для определения, что запись была произведена из скрипта другого тега используется функция server.IsWriteFromScript( ).
функции, определенные пользователем.