SCADAMaster Спасибо!
А описание этих функций есть? В хелпе я их не вижу. какие аргументы нужно передать функциям, чтобы переключить их в 0? В 1?
SCADAMaster Спасибо!
А описание этих функций есть? В хелпе я их не вижу. какие аргументы нужно передать функциям, чтобы переключить их в 0? В 1?
В Хелп их пока не внесли. Если нужно переключить их в 1, подайте в качестве аргумента True, если 0 - False.
Подскажите пожадуйста, есть ли встроенные средства для преобразования строки вида "+14.25" в число типа float, или нужно писать такую функцию самостоятельно?
Поясните - как именно вы получаете эту строку?
SCADAMaster Поясните - как именно вы получаете эту строку?
Эта строка приходит от оборудования внутри его ответа на запрос ПК (протокол не стандартный, описан скриптом)
Если скриптом, то тогда используйте функцию SendAndReciveDataByMask, а в качестве маски используйте sdouble. Посмотрите пример в документации про DCON - там примерно такая же задача.
Добрый день.Столкнулся с проблемой записи значения "предустановленного задания 0" (параметр 3-10) по адресу 3099 в Овен ПЧВ2.
Создав тег в сервере MasterOPC Universal Modbus Server,пытаюсь записать необходимое значение.Сервер пишет, что значение записано. А в ПЧВ данные не меняются. Или записываются в "предустановленное задание 7".Отмечу, что "предустановленное задание" является массивом из 7 ячеек(Адрес один).
Спрашивал техподдержку Овена. Вот что ответили:
"...Также вы можете записывать данные в ячейки параметров , которые являются массивами, например 3-10 или 13-51.
Чтобы записать в нужную ячейку данные , предварительно нужно указать номер ячейки , записав её в регистр номер 6, после этого обратиться к регистру параметра (№ параметра *10 - 1 )."
Попробовал записать в Holding_Registers 0X0006 .Данные не записываются. Сервер выдает ошибку записи.Подскажите пожалуйста, как записывать на уровне сервера именно в "предустановленное задание 0"
Уточните у ОВЕН какие точно Modbus команды нужно выполнить в какой последовательности (номер функции, номер ячейки, данные).
Вот ответ:
"Пишите 16ой функцией, читаете 3 или 4."
Крайне лаконично :(
А вот как записать функцией 16 ?
Для региона Holding Registers по умолчанию запись ведется как раз функцией 16.
Нужен более развернутый ответ - в какие регистры, в какой последовательности.
Это стало понятно из Руководства.
Сначала запись в 9 регистр номера ячейки массива, затем запись значения в ячейку массива.Однако при старте сервера тег с 9 регистром выдает COMM_FAILURE.А при попытке записать- Ошибка процедуры.
01-06-2015 11:50:52.619 Oven PCV:Запись в устройство будет произведена через 10 ceкунд или после восстановления соединения
01-06-2015 11:50:52.619 Oven PCV:Ошибка в процедуре записи ( ) NodeRS.Oven PCV
01-06-2015 11:50:52.586 Oven PCV:Ошибка в процедуре записи ( ) NodeRS.Oven PCV
01-06-2015 11:50:52.555 Oven PCV:Ошибка в процедуре записи ( ) NodeRS.Oven PCV
01-06-2015 11:50:52.506 Адрес масива:Запись в NodeRS.Oven PCV.Адрес масива значения 1
01-06-2015 11:50:52.506 Адрес масива:Запись в NodeRS.Oven PCV.Адрес масива значения 1
Пришлите конфигурацию ОРС сервера и лог обмена с устройством.
Для того чтобы получить лог сервера, включите в свойствах запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
c:\ProgramData\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
Лог заархивируйте и вышлите нам вместе с конфигурацией.
Лог и настройки во вложении
Запрос уходит корректный, но прибор дает ошибку
[01.06.2015 13:31:35.448] WRITE : Адрес масива:Запись в NodeRS.Oven P4V.Адрес масива значения 1
[01.06.2015 13:31:35.448] TRACE : (COM5) Tx: [0011] 13 10 00 09 00 01 02 00 01 B3 A9
[01.06.2015 13:31:35.485] TRACE : (COM5) Rx: [0005] 13 90 02 6D C4
Код ошибки 90, с расшифровкой 02 - это Illegal Data Address. То есть данный адрес является недопустимым для данной операции. Уточните у техподдержки ОВЕН почему так происходит.
Вопрос решился.Вот ответ техподдержки Овен.
"Уточнил у коллег.
Девятый регистр в обсолютном значении, а т.к. в модбас области памяти регистры считаются с нуля, то в ОРС ставьте обращение к 8ому регистру а не к 9. Передам информацию, чтоб это отразили в руководстве."
После того как поменял регистр, все заработало.Только странно. Что, только я озадачился этой проблемой?..
Здравствуйте,
подскажите, пожалуйста, можно ли реализовать передачу данных из Modbus Universal MasterOPC-сервера в web-сервер и как? Сейчас данные поступают в Мастер-скаду. Хочу продублировать их на web-сервер, чтоб было видно их из интернета.
capzap
зато вот Вы везде пишете, Вас везде много, во всех темах следы оставили, наверно тяжело всем отвечать, спасибо что уделили и мне своё время, моей скромной персоне, но я немного не понял - где я везде задаю свой вопрос? спросил только здесь - как это можно сделать мне, ну и в еще одной теме спросил как это сделано у другого, и все. Разве форум не для этого, чтоб обмениваться и учиться у других? Вопрос как бы был больше адресован к инсату - SCADAMaster, ну и вам тоже спасибо за ответ.
Web-сервера как бы нету еще, он пока в голове.
SCADAMaster спасибо за наводку.
В версии 2 импорта еще не было. Импорт появился в третьей версии. Обновите вашу версию до текущей - обратитесь в отдел продаж.
Подробнее про импорт описано в блоге:
http://blog.insat.ru/2014/05/modbus-...pc-import.html
Добрый день! Поддерживает ли последняя версия Modbus Universal MasterOPC Server 32 работу с модемами? Я пытаюсь сделать такую связку ПЛК 150 - модем ПМ01 - модем ПМ01 - Modbus Universal MasterOPC Server 32. Связать пока не получается. Связка с ModBus OPC сервер Lectus работает переменные получаю передаю. Строка инициализации в HyperTerminal проходит. Если зацепить Modbus Universal MasterOPC Server 32 напрямую по RS485 или RS232 тоже все прекрасно работате. Если не трудно, то подскажите возможные причины Вложение 19637
Вам лучше скачать последнюю версию ОРС сервера - 3.1.7
http://insat.ru/prices/info.php?pid=6944
И ознакомьтесь с этой документацией:
http://www.insat.ru/products/Univers...with_modem.pdf
Здравствуйте. Есть да контроллера, которые соединяются с сервером по Modbus TCP. Второй контроллер резервирует первый. У них разные ip адреса. Вопрос в следующем: как сделать переход с одного ip адреса на другой (Теги идентичны). Пробовал ковырять скрипты, но не нашёл функции изменения ip адреса узла связи.
У нас есть штатная функция резервирования, но она доступна только в Unlim версии.
Переход происходит автоматически, при потере связи, также доступны скрипты для ручного переключения каналов.
Мы вам ответили по почте.
[QUOTE]Вам лучше скачать последнюю версию ОРС сервера - 3.1.7
http://insat.ru/prices/info.php?pid=6944
И ознакомьтесь с этой документацией:
http://www.insat.ru/products/Univers...with_modem.pdf[/QU
Я это все проделывал и именно по вашим инструкциям программное обеспечение последнее. Оба модема ПМ01 строку инициализации принимают. Сим карты мегафон, функция передачи данных подключена.. Проверял на OPC Lectus - работают модемы и данные передают и принимают. Проверял на прямую подключать также работают. Поэтому я и засомневался работают ли модемы на бета версии вашего опс сервера. Раньше я так понимаю бесплатная версия была ограничена 32 тегами и отсутствием подключения модема.
Пришлите лог обмена с устройством. Для этого в свойствах сервера включить запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
c:\ProgramData\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
Лог заархивируйте и вышлите нам. Также пришлите конфигурацию ОРС сервера.
Спасибо за суету! Проблему решил. Перешел на другой ComPort (родной на материнке) и все зашевелилось. Будем воевать дальше.
Коллеги, приветствую!
Работаю над удаленным опросом ПР110 с помощью Modbus OPC-Server через GPRS-канал обеспечиваемый средствами фирмы iRZ (модем ATM2-485, iRZ Server, iRZ Dispatcher). Модем подключен к ПР110 по RS485 (19200, 8N1), на ПК - статический IP-адрес.
Никак не могу добиться стабильного чтения ОРС-переменных. В прикрепленных файлах - запросы/ответы ОРС-сервера, лог с Гипертерминала на зажимах RS485 модуля ПР-МИ485, скриншот и онфигурация ОРС-сервера и проект ПР110-го.
Прошу помощи, т.к. пока не допетрил на кого грешить.
Заранее спасибо.
Не совсем понятно как у вас организована связь - пишите про GPRS, в проекте обычный COM.
Судя по логам все корректно - приходят нули на запрос. Попробуйте сначала подключиться напрямую - по проводам.
И обновите версию ОРС сервера до текущей.
Коллеги, спасибо! Вопрос был все-таки в связи, вернее в ее транспортной задержке, ОРС-сервер не при чем. Решилось настройками модема. Да, забыл пояснить в вопросе - СОМ-порт виртуальный, организуется посредством оборудования и ПО iRZ по GPRS-каналу при наличии статического IP-адреса на ПК.
Коллеги, приветствую!
Что-то я после отпуска немного торможу еще. Поэтому прошу подсказать такой момент. Я опрашиваю частотник по Модбасу - читаю и пишу его регистры. Но мне нужно передавать в программу верхнего уровня не только целиком регистры, но и биты из некоторых регистров. Частотник работу с битовыми функциями Модбаса не поддерживает. Как бы сделать чтение-запись битов с помощью скрипта на Lua, чтобы минимизировать количество тэгов ОРС-сервера? Т.е. нужно в частотнике читать-писать регистрами, а в верхнюю программу кроме целых регистров (типа ток, напряжение, частота), передавать еще и биты, вычлененные из некоторых регистров (например пуск, стоп, вперед, назад - это разные биты регистра управления).
А почему нельзя опрашивать регистры, а извлекать биты регистра на верхнем уровнем. В MasterSCADA для этого есть специальный ФБ - "Распаковка 32-битного значения".
В связи с ограниченностью клиента в деньгах приходится пользоваться SimpleSCADA, а ее функционал ограничен. Как обычно у нас бывает - ребята выиграли тендер, который длился долго - цены ускакали вверх, а конкуренты уронили стоимость контракта и слиняли в пампасы. Пришлось изощряться, считать каждую копейку. Соответственно, они вынуждены были отказаться от MasterSCADA и услуг подходящего программиста. Вот, пытаюсь выручить. В любом случае, буду использовать MasterOPC.
Да дело в том, что получилась дурацкая ситуация. Был тендер и конкурирующая контора уронила цену контракта. А поскольку длился этот тендер довольно долго, то и цены на оборудование ускакали вверх. Ребятам пришлось отказаться от MasterSCADA и услуг соответствующего программиста. Пытаюсь их выручить по дружбе, но придется использовать SimpleSCADA, а там ограниченный функционал. В любом случае, буду использовать MasterOPC.
Блин, что-то браузер что-ли проглючило? Набираю пост - он пропадает, набираю второй раз - он опять пропадает. Потом отобразились оба.
Как вы планируете работать с битами и при этом минимизировать количество тегов?
Если ваша скада не умеет работать с битами, то тогда в ОРС придется делать - один бит, один тег. Это явно не приведет к их уменьшению в ОРС
Так с тэгами - это понятно. Но как-то работать с битами нужно.
С помощью функций bit.BitFromData( ) и bit.BitToData( )
Описание функцией есть в справке.
Спасибо за подсказку!