Просмотр полной версии : MasterOPC Universal Modbus Server
Party3AH
29.05.2024, 14:15
Добрый день,
не удаётся подключить OPC-сервер к ПЛК160М2 (Master).
Установил тип узла в OPC - Slave, появляется ошибка: "Нарушение прав доступа к сокету".
Номер порта - 502.
Если его изменить на любой другой - ошибка уходит, но связи конечно нет.
76109
ПЛК160 - Master имеет IP 10.0.6.10.
В его конфигурации добавлен Universal Modbus Device как Slave, с адресом 10.0.6.20, порт TCP 502.
Добрый день,
не удаётся подключить OPC-сервер к ПЛК160М2 (Master).
Установил тип узла в OPC - Slave, появляется ошибка: "Нарушение прав доступа к сокету".
Номер порта - 502.
Если его изменить на любой другой - ошибка уходит, но связи конечно нет.
ПЛК160 - Master имеет IP 10.0.6.10.
В его конфигурации добавлен Universal Modbus Device как Slave, с адресом 10.0.6.20, порт TCP 502.
Если вы хотели опрашивать ПЛК с ПК, то не надо никаких Universal Modbus Device. Добавьте в конфигурацию ПЛК только "Modbus (slave)", а в его подблок "Modbus[FIX]" - добавьте "TCP" (там порт по умолчанию стоит 502). После этого добавьте в "Modbus (slave)" нужные теги. В OPC укажите IP ПЛК (10.0.6.10) и порт 502 (тоже должен уже быть такой по умолчанию)
kondor3000
29.05.2024, 16:14
Добрый день,
ПЛК160 - Master имеет IP 10.0.6.10.
В его конфигурации добавлен Universal Modbus Device как Slave, с адресом 10.0.6.20, порт TCP 502.
По ТСР вы так не сможете подключить, только ПЛК слейв.
Если хотите ПЛК мастер и программу слейв, то подключайте по RS485 через переходник.
Party3AH
29.05.2024, 16:36
Хотелось бы оставить ПЛК в роли Master, т.к. уже в разработанной системе панель оператора (Slave) планирую заменить СКАДА, но ПЛК160 не поддерживает OPC UA.
Все регистры уже прописаны для мастера.
Да и хотелось бы использовать такую возможность, всё-таки написано, что MasterOPC поддерживает режим ModbusTCP-Slave.
Party3AH
29.05.2024, 16:37
Интересно, это ограничение ПЛК160?
Не совсем понимаю, в чём проблема такого подключения.
Интересно, это ограничение ПЛК160?
Не совсем понимаю, в чём проблема такого подключения.
Попробовал - у меня такой ошибки нет, через ModbusPoll опрашивается:
76115
Вообще мастер через конфигурацию в ПЛК1X0 не поддерживает групповые запросы, если регистров много - надо использовать библиотеки.
Может проще сделать ПЛК слейвом - даже через конфигурацию это работает без нареканий
Pavel5698
29.05.2024, 17:12
Установил тип узла в OPC - Slave, появляется ошибка: "Нарушение прав доступа к сокету".
Номер порта - 502.
А порт 502 у вас не занят? Другие ПО его не используют?
Можете в командной строке прописать netstat -no и поискать через Ctrl+F "502"
И IP адрес ПК у вас какой?
Party3AH
29.05.2024, 17:57
А порт 502 у вас не занят? Другие ПО его не используют?
Можете в командной строке прописать netstat -no и поискать через Ctrl+F "502"
И IP адрес ПК у вас какой?
Да, похоже на то, что порт 502 был занят, но не могу понять чем.
IP адрес ПЛК = 10.0.6.10,
маска подсети 255.255.255.0,
IP адрес ПК = 10.0.6.20, так же на нём работает MasterSCADA и её RunTime (может он как-то влиял?).
маска подсети 255.255.255.0,
Отключил все брэндмауэры и антивирусы - также блокировался порт.
Добавил в ПЛК узел Slave, MasterOPC сделал Master - всё заработало.
Всё закрыл, выключил скаду и OPC сервер, вбил "netstat -no" - подключений с таким IP нет.
Ещё интересный момент - после перезагрузки ПК один раз всё заработало - в OPC сервере ПЛК подключился, заморгали светодиоды на его разъёме.
Но после переподключения опять ошибка, что сокет не доступен...
Party3AH
29.05.2024, 17:59
Попробовал - у меня такой ошибки нет, через ModbusPoll опрашивается:
76115
Вообще мастер через конфигурацию в ПЛК1X0 не поддерживает групповые запросы, если регистров много - надо использовать библиотеки.
Может проще сделать ПЛК слейвом - даже через конфигурацию это работает без нареканий
Групповые запросы ПЛК160-М2 поддерживает - я записываю сразу STRING по 80 регистров через "Preset Multiple Registers" команду 0x10.
Или Вы имеете ввиду MasterOPC не поддерживает?
Попровал ПЛК слейвом - действительно в чём-то проще, и сразу принимать данные в MasterSCADA :)
Групповые запросы ПЛК160-М2 поддерживает - я записываю сразу STRING по 80 регистров через "Preset Multiple Registers" команду 0x10...
Да, это тоже вариант
Pavel5698
29.05.2024, 18:19
IP адрес ПК = 10.0.6.20, так же на нём работает MasterSCADA и её RunTime (может он как-то влиял?).
С выключенной скадой та же ошибка?
попробуйте прописать netstat -ano, с включенной скадой
Party3AH
31.05.2024, 15:51
С включенной скадой netstat -ano отображает подключение по 10.0.6.20 порт 502.
И с выключенной скадой также OPC Server не работал.
Но в режиме ПЛК-slave всё работает хорошо, и с включенной скадой также.
Вдобавок, в скаде удобнее прописывать регистры, когда она в роли мастера.
Pavel5698
31.05.2024, 16:50
С включенной скадой netstat -ano отображает подключение по 10.0.6.20 порт 502.
В строке где было это написано крайняя правая цифра - это ID процесса. Запомните его. Затем зайдите в Диспетчер задач, раздел Подробности (в win10) и найдите процесс c таким ID. Узнаете, что именно занимает порт.
Но в режиме ПЛК-slave всё работает хорошо, и с включенной скадой также.
Вдобавок, в скаде удобнее прописывать регистры, когда она в роли мастера
Само собой). Скада и должна быть мастером. Описанный способ просто позволяет выяснить кто занимает порт.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot