Добрый день!

В MasterOPC Universal Modbus Server в коммуникационном узле, который опрашивает РМТ 59L по протоколу Modbus TCP, создаю второе устройства типа PROGRAM. Тут у меня возникло 2 вопроса:
1. При попытке обращения к пользовательскому DSN через odbc возникает ошибка: "04-04-2018 08:42:29.065 Tag1:[string "local host = "MSSQL_CONN"..."]:11: attempt to index global 'odbc' (a nil value)"

Код:
local host = "MSSQL_CONN"

local login =""

local password = ""

local env;

local CONN=nil;
function OnInit()
    env = odbc.env_create();

host = "MSSQL_CONN" --имя ODBC коннектора (как в среде администрирования)

login ="" -- логин (заполнено своим значением)

password = "" --пароль (заполнено своим значением)

CONN,s = odbc.env_connect(env,host,login,password); --подключение

if(CONN==nil) then

    server.Message(s); --вывод сообщения с ошибкой

else
    server.Message("Connected");
end
end
2. Возможно ли в этом устройстве PROGRAM брать значения нескольких тегов из другого устройства в том же коммуникационном узле, формировать из этих значений каждые 3 минуты среднее значение по этим тегам и записать в БД через odbc?

Спасибо.