Какая версия ОРС сервера? ПОпробуйте обновится до текущей 4.2.3. Была ошибка при которой при пропадании связи по TCP связь не восстанавливалась.
Какая версия ОРС сервера? ПОпробуйте обновится до текущей 4.2.3. Была ошибка при которой при пропадании связи по TCP связь не восстанавливалась.
Добрый день, MasterOPC версия 4.2.3 запускается как приложение и не выгружается при остановке masterscada. Как решить эту проблему.
Пропадание связи это уже какая то проблема на стороне оборудования.
Сначала обновитесь до текущей.
Подскажите в чем проблема: MasterOPC пишет в узле требуемый адрес для своего контекста неверен. Подключение через TCP/IP.
В режиме мастера сервер вообще не подключается, в режиме слейв пишет данное сообщение
Пришлите лог обмена с устройством. Для этого в свойствах сервера включите запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
c:\ProgramData\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
Лог заархивируйте и вышлите нам, также пришлите вашу конфигурацию ОРС сервера.
Высылаю лог и конфигурацию ОПС сервера.
Для Trial версии нужно запускать вручную, и останавливать также. Это детально описано на сайте:
http://insat.ru/products/?category=1666
ПЛК 110-30 выступает в роли мастера, через маршрутизатор tp-link подключается к панели СП310(slave) и к маршрутизатору мы подключаемся ОПС сервером.
IP контроллера: 192.168.0.10
IP панели: 192.168.0.12
IP маршрутизатора: 192.168.0.1 (переброс портов настроен посредством DMZ)
Поменяли IP ПЛК на 127.0.0.1, но в этом случае копьютер не даёт указать IP в той же подсети.
Пробовали подключить ПЛК и компьютер напрямую через ethernet, на ОПС сервере выдавало ту же ошибку.
При этом CoDeSys подключается к ПЛК как через маршрутизатор так и напрямую
Что значит в той же подсети? Если вы зададите 127.0.0.1 то он будет ловить все пакеты приходящие на 502 порт из всех подсетей.
А зачем вообще такая чудная схема? Почему нельзя настроить ПЛК как Slave и опрашивать его? По TCP ведь можно комбинировать разные варианты Slave и Master.
Схема нужна чтоб между собой общались плк и панель оператора, а подключаться к ПЛК можно было через wi-fi, без каких либо проводов!
При задании в ОПС сервере IP 127.0.0.1 в логе пишет что соединение установлено, но опрос не производится, для аналоговых сигналов значение 0 показывает, хотя на самом деле по данному адресу приходит число отличное от нуля, которое вы видим на панели
И что? Как это противоречит?
Пусть они общаются между собой в таком же режиме как и раньше, а для ОРС добавьте модуль Modbus (Slave) и настройте его подключение по этой инструкции:
http://www.insat.ru/products/Univers...en_PLC_1xx.pdf
То есть ваш контроллер посылает запросы записи по IP адресу ОРС сервера?
здравствуйте, при работе с сервером MasterOPC вылезла такая ошибка, подскажите что значит: "Ошибка выполнения команды 1 in device 16"?
это ругается на переменные типа COILS.
версия сервера последняя.
Это означает что запрос не был выполнен - устройство не ответило, или ответило с ошибкой.
спасибо!
а подскажите еще пожалуйста возможно ли подключение к контроллеру ОВЕН ПЛК 110_30 с двух разных ОПС серверов MasterOPC, обращаясь на разные ModBus адреса(к примеру на адреса 15 и 16)
По RS-485? Нет - так нельзя. Два мастера будет.
Может лучше по Ethernet?
а как по Ethernet? какие параметры указывать в ПЛК и в ОПС сервере?
как вообще организовать slave подключение ОПС сервера, подскажите пожалуйста
Посмотрите вот эту документацию:
http://insat.ru/products/Universal_M...en_PLC_1xx.pdf
И зачем Slave? Работает как мастер
нам требуется один ПЛК опрашивать 2 разными ОПС серверами с разных мест, но к сожалению 2 мастера нельзя одновременно. поэтому и возник вопрос, можно ли подключить ОПС сервером в режиме slave
Здравствуйте! подскажите пожалуйста как в MasterSCADA убрать всплывающее окно "управление из окна оператора" к примеру на насосе
Вы имеете ввиду окно управления? Его отключить нельзя. Можно перекрыть сверху прозрачной кнопкой - зона выбора у события, или вытащить объект на мнемосхему и сделать кнопку прозрачной.
Здравствуйте, отправляю прибору ТЭМ 106 запрос, чтобы получить в ответ серийный номер прибора. Получаю ответ в виде десятичного числа в размере 1 байта "-121". Но ответ должен быть в размере 4 байт "1256069". Подскажите, как получить правильный ответ?
local sendMask = {"byte", "byte", "byte", "byte", "byte", "byte", "byte", "byte", "byte", "byte"};
local destMask ={};
send = {0x55, 0x01, 0xFE, 0x0F, 0x01, 0x03, 0x01, 0x52, 0x04, CS};
RES, dest, LEN = server.SendAndReceiveDataByMask(0, #send, sendMask, send, destMask, 200);
TV = dest[LEN-1];
server.WriteCurrentTag(TV, OPC_QUALITY_GOOD);
Почему у вас не задана маска приемного буфера?
Посмотрите документацию:
http://insat.ru/products/Universal_M...ver_API_UG.pdf
Да, здесь я допустил ошибку. Сделал вот так local destMask ={"byte", "byte", "byte", "byte", "byte", "byte", "int32", "int32", "int32", "int32", "byte" };
Прибор выдает значение 713359379 в десятичном виде, перевел в шестнадцатеричный и получилось 2A850013, но должно быть 00132A85, чтобы получить правильный серийный номер. Получается неправильный порядок. Как исправить?
Для этого для типов int32 и других задается чередование байт. Посмотрите документацию на которую мы указали
Спасибо, это получилось. Теперь отправляю запрос на получение текущего времени. Прибор присылает ответ в виде десятичного числа, а нужно, чтобы присылал в шестнадцатеричном. Это с помощью tonumber делается?
Не совсем понятно. На выходе вы получаете число в десятичной системе, вам нужно перевести в HEX? Зачем?
Потому что в описании к прибору написано Пример:цепочка шестнадцатеричных значений 33 15 14 02 03 16 расшифровывается как 14 ч. 15 мин. 33 сек. 2 марта 2016 года;
Я проверял присланные десятичные значения и переводил в HEX, они совпадают, но не в нужном виде отображаются
Вам получается итогом нужно преобразовать в строку?
Тогда используйте string.format ("%02X",Значение);
Все верно, спасибо
Добрый день. Есть ли возможность посылать групповые запросы? Например при получении с прибора текущего времени (секунды) есть задержка 10-20 сек. Можно ли сделать так, чтобы ответ получать каждую секунду? Также бывает такое, что прибор отправляет несколько запросов и лишь затем получает ответ.
29-01-2018 11:31:38.950 TESMA_PORT::TESMA_106:(COM3) Rx: [0011] AA 01 FE 0F 01 04 00 13 2A 85 80
29-01-2018 11:31:38.215 TESMA_PORT::TESMA_106:(COM3) Tx: [0010] 55 01 FE 0F 01 03 01 52 04 41
29-01-2018 11:31:37.200 TESMA_PORT::TESMA_106:(COM3) Tx: [0010] 55 01 FE 0F 01 03 01 52 04 41
29-01-2018 11:31:36.200 TESMA_PORT::TESMA_106:(COM3) Tx: [0010] 55 01 FE 0F 01 03 01 52 04 41