А в настройках устройства присутствует режим Modbus?
Вам лучше уточнить этот вопрос в техподдержке ОВЕН.
А в настройках устройства присутствует режим Modbus?
Вам лучше уточнить этот вопрос в техподдержке ОВЕН.
Короче разобрался. Извиняюсь за то, что отнял у Вас время. Нету в нем Модбаса. Подключил 210-й 2013г.в. заработал сразу без проблем.
Добрый день!
Подскажите такой вопрос - имеется сервер ОРС на 500 точек, установлен на компьютере, где расположена основная мастерскада - с обменом и работой все отлично.
Теперь возникла необходимость подключить к данному ОРС серверу еще один клиент мастерскады, но на другом компьютере. Связь по сети имеется, но при выборе ОРС сервера в новой мастерскаде пишет, что отказано в доступе.
Как можно решить это проблему, и подключить к серверу еще один клиент мастерскады?
Для работы с удаленным OPC нужно настраивать DCOM. Инструкция по настройке идет в комплекте с MasterSCADA (Пуск->MasterSCADA->Документация). Она проверялась на только что установленных ОС.
Добрый день!
Есть задача создать систему удаленной диспетчеризации. Имеется около 3000 счетчиков 60 различных моделей. Некоторые счетчики имеют протокол Modbus, но у большинства свой протокол обмена. Возможно ли при помощи GSM-модемов, данного OPC-сервера и Masterscada организовать данную систему? До этого с подобного рода задачами не сталкивался.
Можно, но нестандартные протоколы обмена нужно реализовывать самостоятельно через скрипты. Документация по разработке собственных протоколов есть на странице загрузки ОРС сервера:
http://insat.ru/prices/info.php?pid=6944
http://www.insat.ru/products/Univers...ver_API_UG.pdf
Также можно сначала проверить - возможно у отдельных счетчиков есть уже готовые ОРС серверы.
Мы не собираемся добавлять другие базы данных, на таком же уровне как сейчас SQLite.
Штатными средствами Lua можно подключать другие базы данных. Но примеров подключения других БД к нашему ОРС серверу у нас еще нет.
Думаю, во многих случаях достаточно было бы поддержки SELECT, INSERT, UPDATE, DELETE.
То есть, на сегодняшний день еще никому не удалось это проделать из Lua-скриптов MasterOPC?
Если у кого-то есть наработки в этой области, поделитесь пожалуйста.
dspinreg@mail.ru
Возник такой вопрос:
Можно ли записать скриптом NULL в значение тега?
Если можно, то нужен пример или подсказка.
Нет null записать нельзя.
Зачем вам это нужно? Почему нельзя записать с плохим признаком качества?
Собираемые данные архивируются в БД при каждом изменении значения, либо качества.
Null нужен для того, чтобы в программе визуализации данных, которая не обращает внимания на OPC-качество, было четко видно отсутствие данных (например, при нарушении связи с опрашиваемым прибором).
Так может быть вам на этапе записи в базу данных, производить обработку признака качества, и если плохой записать Null?
Почему?
Опишите последовательность записи - каким ПО вы производите работу с ОРС сервером?
Схема следующая:
Прибор --(*)--> OPC-сервер --(OPCDA)--> FSGateway --(SuiteLink)--> IndustrialSQL
* В соответствии с протоколом обмена, прибор опрашивается Lua-скриптом, полученное значение записывается в OPC-тег.
Null в тег записать нельзя. Вам все таки нужно попробовать обработать данные в самой базе данных (подредактировать SQL запрос или хранимую процедуру).
Не идет опрос плк через модемную связь. Соединение между модемами устанавливается (вижу по диоду модема), но opc не отправляет запрос на чтение. При подключении напрямую, все работает. Или на 32 точки opc не поддерживает передачу данных через модем?
нет,вижу,что в 3-й версии поддерживает модем, тогда непонятно в чем проблема...
Вот лог опроса
Вот, тишина после соединенияКод:22-08-2014 10:08:14.562 modem:Набор номера ATD8981xxxxxxx
22-08-2014 10:08:14.562 баграмяна-22а:Запрос 2:баграмяна-22а:HOLDING_REGISTERS
22-08-2014 10:08:14.562 баграмяна-22а:Превышение таймаута баграмяна-22а:HOLDING_REGISTERS
22-08-2014 10:07:43.937 modem:Набор номера ATD89814681060
22-08-2014 10:07:43.937 баграмяна-22а:Запрос 1:баграмяна-22а:HOLDING_REGISTERS
22-08-2014 10:07:43.937 баграмяна-22а:Превышение таймаута баграмяна-22а:HOLDING_REGISTERS
22-08-2014 10:07:43.875 modem:Звонок невозможен.Модем не подключен
22-08-2014 10:07:40.265 баграмяна-22а:Запрос 1:баграмяна-22а:HOLDING_REGISTERS
22-08-2014 10:07:40.265 Server:Cтарт конфигурации C:\Documents and Settings\All Users\Application Data\InSAT\MasterOPC Universal Modbus Server\SERVERCFG\bagramyana-22a.mbp
22-08-2014 10:07:40.265 Server:MasterOPC Universal Modbus Server Demo 32 Build - 3.0.0.4
Вложение 14131
Вот конфиг
Вложение 14132
(в расширении нужно .txt убрать, иначе не грузилось на сайт)
Что неправильно в конфигурации может быть?
Что за модем? Проходит ли строка инициализации для этого модема (можно проверить подключившись к модему терминалом и введя строку инициализации, которая идет в OPC)?
Модем Cinterion MC52i. В лектусе строка инициализации пустая и всё работает. В masteropc также делал пустую строку, но эффект одинаковый.
ATE0V1X4&C0&D2&S1S0=0S7=60+CBST=71,0,1 дает ERROR
Попробуйте эти команды записать отдельно (на какую то из них он не реагирует или не может воспринять всю строку целиком), после этого подаем ATW (запись в память модема). В строке инициализации в OPC пишем ATZ (сброс к настройкам, которые задали ранее)
Снова проблема: несмотря на то, что стоит период опроса 1 час, опрос идет постоянно. Т.е. опросил все переменные, получил данные, качество ОК.
Вложение 14135
и начинает новый дозвон, соединение, опрос и так по кругу без остановки. Почему так?
Вложение 14136
Попробуйте обновить вашу версию до текущей - направьте запрос на scada(собка)insat.ru
Обновление помогло. Спасибо
Подскажите о подключении MasterOPC Universal Modbus Server к ПЛК 160, с ПЛК 150 сервер работает хорошо, а вот с ПЛК 160 выдает сообщение о невозможности соединения. Само соединение с ПЛК 160 конечно работает с CoDeSys удаленно, с той же машины где установлен и OPC.
Настроен ли у вас в контроллере протокол Modbus? То есть добавили ли вы в PLC Configuration элемент Modbus (Slave), а в него переменные?
Инструкция по настройке ОРС и контроллера есть на странице загрузки сервера:
http://insat.ru/prices/info.php?pid=6944
В ПЛК 160 такая -же программа что и в ПЛК 150. Основа исполнительного кода - это некий шаблон для однотипных объектов который привязывается к конкретным особенностям конкретного объекта. При этом порядка 100 объектов выполненных на базе ПЛК 150 работает с ОРС без особых проблем, а новые объекты в количестве 4 штук на базе ПЛК 160 не отвечают. Конечно все в кофигураторе ПЛК есть, в том числе и Modbus (Slave) с переменными.
А что пишется в логе ОРС сервера?
Как мы понимаем у вас идет связь по Modbus TCP - устанавливается ли соединение по IP адресу? На вкладке "запросы" происходит ли посылка запроса?
Возможно какие то проблемы с самим контроллером - возможно у него по каким то причинам не работает Modbus TCP (у контроллеров ОВЕН такое наблюдается, например при рестарте программы из Codesys).
Да используется Modbus TCP. Но как я писал выше нет соединения. Выводятся сообщения: попытка соединения с "IP" 502, ошибка установления соединения с "IP" 502. Что вы имеете ввиду говоря, что проблемы с контроллером - не работает Modbus TCP. Если физический интерфейс Ethernet , то исполнительный код технологической программы "закачивается", отлаживается и редактируется на месте именно по Ethernet интерфейсу. По COM порту прописывается только IP адрес. В дальнейшем работа с объектом происходит удаленно, из офиса из Codesys и у нас не было случая что-бы при рестарте программы, сброса программы разной глубины, в плоть до заводских, происходил "слет" Modbus TCP, хотя повторюсь я не совсем понимаю, что вы имеете ввиду.
Это явно проблема контроллера - возможно не открывается порт. Обратитесь в техподдержку ОВЕН.
Можете попробовать подключиться другим Modbus мастером (другим ОРС, панелью или программой для тестирования).
Codesys работает не по Modbus TCP. Мы наблюдали данную ситуацию - связь с Codesys осуществлялась, а вот Modbus TCP не функционировал. Проблема была на ПЛК110-60
Спасибо за внимание, только одно не понятно. Вы меня отсылаете к ОВЕН, но это форум ОВЕНа, или это не тот ресурс где я могу получить ответы на мои вопросы?! Пока переписывался с вами пробовал Lectus Modbus - та-же история. Спасибо!
В данной ветке форума рассматриваются вопросы по программному обеспечению Инсат (MasterSCADA и OPC серверы).
У вас же проблема с ПЛК - поэтому вам следует сделать тему в ветке про ПЛК.
Добрый день.
Суть вопроса: есть ПЛК, с которым opc связывается по gprs. В случае неудачного соединения попытка повторного соединения происходит через заданный период опроса. Нельзя ли сделать, скриптом хотя бы, чтобы в случае неудачи происходила повторная попытка соединения заданное количество раз через заданный интервал времени? А если уж это не помогло, то через заданный период опрса попытки повторялись.
Так сейчас так и работает. Если связи нет, то через определенное количество раз заданное количество попыток установить связь повторяется.
У меня не так. Если попытка подключения к серверу не удалась, следующая попытка выполняется после заданного интервала опроса. Вот если, подключился и на запрос не получен ответ, тогда повторно отправляются запросы заданное количество раз через заданный интервал времени
Сделайте тег типа ServerOnly, включите у него исполнение скрипта после чтения, и напишите примерно такой код:
count=0;
-- Initialization
function OnInit()
end
-- Uninitialization
function OnClose()
end
-- Processing
function OnRead()
val,qual=server.ReadCurrentTag();
if qual~=192 and count<2 then
server.PollCurrentDevice( );
count=count+1;
end;
end
Количество повторов можете задать произвольное. Можете сделать как настройку у устройства через дополнительные свойства.
Добрый день. Через MasterOPC опрашиваю модули сбора данных (МСД), ОРС опрашивает три канала на каждом МСД, нужно сделать задержку между запросами каждого МСД и между последним запросом одного МСД и первым следующего, в настройках ничего подобного не нашел.