Доброго времени суток, столкнулись с очередной проблемой в связи с переходом с 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 по общению с приборами через скрипты?