<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Руководство по языку Lua 5.1 > Библиотеки функций > Библиотека SERVER > Функции работы с устройствами |
server.CheckUpdateCurrentDevice
server.CheckUpdateDeviceByName
server.GetCurrentDeviceAddress
server.SetCurrentDeviceAddress
server.CheckUpdateCurrentDevice
Функция возвращает false после выполнения опроса устройства. Результат функции можно использовать, когда необходимо сбросить значение тега принудительного опроса – после использования функции server.PollCurrentDevice .
Пример
––Код в скрипте после записи:
function OnWrite()
tag = server.ReadCurrentTag(); --считываем значение тега
if tag then
server.PollCurrentDevice(); --если тег – true, опрашивем устройство
end
end
––Код в скрипте после чтения:
function OnRead()
local b = server.CheckUpdateCurrentDevice() –-контролируем выполнение опроса
server.WriteCurrentTag(b,192); --сбрасываем значение тега
end
server.CheckUpdateDeviceByName
Функция возвращает false после выполнения опроса устройства, заданного в строке аргумента. Результат функции можно использовать, когда необходимо сбросить значение тега принудительного опроса – после использования функции server.PollDeviceByName .
Пример
––Код в скрипте после записи:
function OnWrite()
tag = server.ReadTag("Node1.Device1.Tag1"); --считываем значение тега
if tag then
--если тег – true, опрашивем устройство:
server.PollDeviceByName("Node1.Device1");
end
end
––Код в скрипте после чтения:
function OnRead()
–-контролируем выполнение опроса:
local b = server.CheckUpdateCurrentDevice("Node1.Device1")
––сбрасываем значение тега:
server.WriteTag("Node1.Device1.Tag1",b,192);
end
server.GetCurrentDeviceAddress
Возвращает значение параметра Адрес текущего устройства (см. Диалог параметров устройства ).
Пример
local Address = server.GetCurrentDeviceAddress( )
Возвращает период опроса текущего устройства в миллисекундах.
Возвращает true при ошибке текущего устройства и false – в противном случае.
Пример
local err = server.GetCurrentDeviceError( )
Функция определяет и выдает качество связи с устройством в процентах - количество успешно выполненные запросов из последних 100 запросов.
Пример
local Quality = server.GetDeviceLinkQ( )
--Quality - communication quality as a percentage
Функция возвращает установленное у устройства количество повторов запроса при ошибке. Скрипт должен находиться на уровне устройства, подустройства или тега.
Пример
n=server.GetCurrentDeviceRetry();
Принудительный (внеочередной) опрос текущего устройства.
Пример
server.PollCurrentDevice();
Принудительный (внеочередной) опрос устройства по его имени.
Пример
server.PollDeviceByName("Node1.Device1");
Возвращает значение, заданное для дополнительного свойства текущего устройства (см. Задание дополнительных свойств ).
Параметром этой функции является имя дополнительного свойства.
Пример
local IsCRC = server.ReadDeviceExtProperty("IsCRC");
server.SetCurrentDeviceAddress
Устанавливает адрес текущего устройства. Функция доступна только в безлимитных версиях.
Задает период опроса текущего устройства в миллисекундах.
Задает количество повторов запроса при ошибке. Скрипт должен находиться на уровне устройства, подустройства или тега.
Функция позволяет останавливать и запускать опрос устройства. Данная функция может быть полезна, например, если необходимо исключить то или иное устройство из опроса.
Скрипт должен находиться на уровне тега.
Пример
val,q=server.ReadCurrentTag(); --получаем значение тега
if val==true then --если значение "true"
server.SetDeviceToOnOff (true); --запускаем опрос устройства
else
server.SetDeviceToOnOff (false); --иначе останавливаем
end;