Общение с прибором с помощью скрипта
Доброго времени суток, столкнулись с очередной проблемой в связи с переходом с MasterSCADA 1.3(+OPC Modbus Server) на 4D. В OPC сервере использовался прибор ВТЭ-2 К2 который не имеет встроенного протокола modbus, для считывания данных был написан скрипт на языке Lua, который формировал запрос, обрабатывал полученный ответ и распределял данные по заранее созданным тегам соответственно. Проблема в том, что в MasterSCADA 4D нет языка Lua и перенести готовый скрипт невозможно.
Вот кусок скрипта на языке Lua в MasterOPC Modbus Server:
Код:
-- запрос текущего состояния командой 01h --
table.insert(ArrCMD, 6); --длина блока 6 байт
table.insert(ArrCMD, 225); --тип устройства
table.insert(ArrCMD, 59);-- мл.байт серийного номера (для экземпляра #01595)
table.insert(ArrCMD, 6);-- ст.байт серийного номера (для экземпляра #01595)
table.insert(ArrCMD, 1); --код команды
table.insert(ArrCMD, CheckSum(ArrCMD)); --Контрольная сумма блока запроса
ArrCMD_Mask={"byte", "byte", "byte", "byte", "byte", "byte"}; --маска отсылаемого запроса
ArrCMD_DestMask={"byte", "byte", "int16:1:01", "byte", "float:1:0123", "int16:3:01", "float:5:0123", "byte:6"}; --маска для текущего состояния
len,ArrDest=server.SendAndReceiveDataByMask(0,6,ArrCMD_Mask,ArrCMD,ArrCMD_DestMask,41);
--ожидаем 41 байт в ответ
Есть ли аналогичные функции ( table.insert и server.SendAndReceiveDataByMask) в MasterSCADA 4D ?
Может есть у кого примеры на С# или любом другом языке доступном в MasterSCADA 4D по общению с приборами через скрипты?