Ну в сркипте все теги Program.
Какая у вас версия? Попробуйте на текущей перепроверить:
https://insat.ru/products/?category=1666
Ну в сркипте все теги Program.
Какая у вас версия? Попробуйте на текущей перепроверить:
https://insat.ru/products/?category=1666
Добрый день!
В 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)"
2. Возможно ли в этом устройстве PROGRAM брать значения нескольких тегов из другого устройства в том же коммуникационном узле, формировать из этих значений каждые 3 минуты среднее значение по этим тегам и записать в БД через odbc?Код: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
Спасибо.
Коллеги, добрый вечер!
В преддверии одной работы, решил попробовать кусочки скрипта (проект в прикреплении). Смысл следующий: пишем в тэг Node1.Device1.Tag1 (программный) некоторое число, а оттуда оно, поделенное на 10, переписывается в Node2.Device2.Tag3 (в устройстве Modbus); читаем данные из Node2.Device2.Tag4 (из устройства Modbus) и переписываем его, умноженное на 5, в Node1.Device1.Tag2 (программный). Так вот, из Tag4 в Tag2 нормально переписываются данные, а из Tag1 в Tag3 - не пишется. Вводил в Tag3 данные вручную - они в устройство передаются нормально.
Где и что я не так делаю?
Для записи в устройство, нужно применить две команды - WriteTag и WriteTagToDevice
Уважаемый SCADAMaster!
Возможно Вы не заметили, я как раз использую именно WriteTag (см. скрипт OnWrite для Tag1), но запись не происходит. Попробовать WriteTagToDevice?
Нужно использовать команды - сперва запись в тег, затем в устройство.
Уважаемый SCADAMaster, все получилось! Спасибо за помощь!
Приложите проект и конфигурацию.
Но для Celeron - вообщем то нормальная загрузка.
Выложите на файлообменник (Yandex.Disk, Google.Drive), а сюда приложите ссылку
Скиньте на почту support(собка)insat.ru
Здравствуйте SCADAMaster.
Пытаюсь опрашивать ТРМ200 через MasterOPC demo 32 build 3.2.18 по Modbus ASCII. Получается немного совсем не ASCII (см. скрин), что не так?
function OnRead()
a=server.ReadTag("PN_SIMULATOR.PD_SIMULATOR.Tag1") ;
b=bit.BitNot(a);
server.WriteCurrentTag(b,OPC_QUALITY_GOOD );
end
Изменяю Tag1 (true, false) при этом в тег в котором вызывается выше описанный код не пишется противоположное значение Tag1 .... почему? в чем ошибка?
function OnRead()
a=server.ReadTag("PN_SIMULATOR.PD_SIMULATOR.Tag1") ;
--b=bit.BitNot(a); комментарим
server.WriteCurrentTag(a,OPC_QUALITY_GOOD );
end
в случае если прост опрашиваем Tag1 и переписываем значение в тег в котором работает скрипт, то все работает, а если bitnot добавляем (т.е. пытаемся записывать противоположный бит) не работает.
подскажите пож-та! Постоянно выскакивает ошибка "Access violation at address 500355B8 in module 'BORLNDMM.DLL'. Read of address 000000"! Как её вылечить?
Во время работы со скадой не выскакивает, но во время отладки - постоянно вылазит, и после неё только перезапуск (через CTRL SHIFT ESC) помогает, и соответственно: всё что набрал и не успел сохранить - пропадает!
Появилась ошибка чуть больше года назад, после обновления OPC до 2500 точек!
Какая сейчас версия ОРС сервера?
Попробуйте проверить на текущей Trial
https://insat.ru/products/?category=1666
Подскажите пожалуйста. столкнулся с проблемой импорта тегов из siemens plc в инсат мультипротокол, создал файл .db, после этого появляется сообщение "номер ДБ", ввожу номер, после этого выскакивает окно : "неизвестный тип данных" и предлагает ввести размер типа данных ввожу 42 байта, в дальнейшем ввожу значения в байтах для остальных пользователдьских данных, после всего этого формируется дерево тегов и все пользовательские типы даннх не определяются, виден только комментарий, имя пользовательской переменной и все, следовательно выбрать ээти теги для "переместить в импорт" возможности нет. как быть? что я делаю не так? неужели нужно вручную вводить все? (создавать группы тегов , формировать состав группы, расставлять адреса для каждого тега в группе), пользовательских переменных ни одна сотня, а в целом тегов набирается несколько тысяч......
Пришлите ваш db файл.
Неизвестный тип - это тип данных, который ОРС сервер добавить не может, или его размер может быть не определенным.
Из справки:
Ecли пpи импopтe будeт oбнapужeнa нeпoддepживaeмaя cepвepoм пepeмeннaя, тo oнa будeт oтмeчeнa в дepeвe cпeциaльным знaчkoм, и ee пepeнoc будeт нeвoзмoжeн. Kpoмe тoгo, ecли пpи импopтe будeт oбнapужeнa пepeмeннaя нeизвecтнoгo типa, тo будeт выдaнo cпeциaльнoe okнo, в koтopoм пoльзoвaтeлю нeoбxoдимo ввecти paзмep дaннoй пepeмeннoй в бaйтax – для koppekтнoгo pacчeтa aдpecaции cлeдующиx пepeмeнныx.
Здравствуйте,
подскажите пж как разобраться с такой ситуацией: OPC-сервер Modbus Universal MasterOPC (демо) опрашивает модули Овен и передает данные в Мастерскаду, при ЗАПУЩЕННОМ сеансе TeamViewer опрос модулей идет отлично (14-20мс), когда сеанс TeamViewer завершаю связь валится (опрос за 60мс), такое впечатление, что TeamViewer выключает что-то. Версии Universal MasterOPC Server использовал и свежую с сайта Инсат, и старую - реакция на TeamViewer одинаковая.
На ПК установленна Виндовс 7 Максимальная.
Как тут быть??
А связь валится как? ОРС работает, но устройство перестает отвечать?
Или ОРС закрывается?
ОРС работает, устройства отвечают, но в окне "сообщения" - вижу изменение времени опроса устройства с TeamViewer опрос до 20мс, без TeamViewer за 60 мс, также замедление опроса видно "на глаз" по миганию светодиодов на модулях ОВЕН.
Опрос улучшается сразу после того как удаленный компьютер пытается подключится по ID, без введения пароля.
Виндовс переустановили несколько раз, с установкой TeamViewer и без установки(просто запуск), проверили драйвера, не помогло...Может какая-то служба на ПК стопорится????
То есть происходит замедление опроса?
Попробуйте проверить на текущей версии ОРС сервера. Также уменьшите настройку устройства "Задержка запроса после получения ответа".
Да, происходит замедление опроса, побывал и на текущей и на старой версии ОРС сервера - реакция одна и та же. "Задержка запроса после получения ответа" стоит 4 мс на всех устройствах, думаю меньше ставить - будет только хуже....
Попробовали поставить на старый ПК Виндовс ХР, со старыми драйверами и старенькой версией ОРС ..... Ситуация повторилась, с TeamViewer - опрос отличный... без него хуже, причем проблема не только с TeamViewer, похожая ситуация и с интернет браузером. Заметили - если есть сетевая активность - опрос отличный.... и наоборот... Как победить эту проблему, подскажите пж.
У нас предположений нет.
Попробуйте поставить Wireshark и посмотреть какие времена будут в нем. Если на нем задержка будет видна, значит дело в Windows
Коллеги, добрый день!
Подскажите, пожалуйста, какая версия MasterOPC Server может работать под WinXP SP2 и где ее можно взять? Новая версия на 32 тэга, скачанная с сайта вчера, работать под этой операционкой не хочет, а проапгрейдить комп и ОС нельзя, т.к. там работает какая-то немецкая прога, которая может жить только на этом компе и дистрибутива ее нет. Сисадмин заказчика боится даже просто ServicePack3 туда накатить, т.к. не знает чем это дело закончится
У нас есть патч для XP, подойдет ли он для XP SP2 мы не знаем - не проверяли.
https://insat.ru/blog/modbus-univers...ki-windows-xp/