PDA

Просмотр полной версии : Подключение ПЛК-100 к MasterOPC Universal Modbus Server



Слава1
06.06.2012, 17:11
Через Ethernet, тип узла TCP/IP.

Казалось бы, все делаю как во втором видеопримере здесь:
http://www.masteropc.ru/prices/info.php?pid=6944

Связь не устанавливается, при запуске пишет:
"06-06-2012 18:07:02.125 ПЛК1:ошибка установления соединения 10.1.0.117 502"

Что может быть не так?

SCADAMaster
06.06.2012, 17:32
Должно работать - очень много наших ОРС работает с Modbus TCP.

Судя по сообщению он не может установить связь с этим узлом. Точно с ним коннект есть?
Попробуйте пропингновать узел. Выполните:
Пуск - Выполнить. В нем забейте команду:
ping 10.1.0.117

Ну и номер TCP порта проверьте. Посмотрите не блокирует ли приложение фаервол.

Слава1
06.06.2012, 18:16
Связь есть, пингуется.

Порт 502 никаким процессом не занят. Если в командной строке набрать netstat -a -n -o, порта 502 в списке нет.

10.1.0.117 - адрес контроллера, как понимаю?

SCADAMaster
06.06.2012, 19:00
Версия ОРС последняя - 2.0.0.9?


10.1.0.117 - адрес контроллера, как понимаю?
Да. Вы его пинговали?

А сам ПЛК правильно настроен? У вас ведь ПЛК под Codesys?
В PLC Configuration добавлен модуль Modbus Slave? Адрес задан?

Слава1
06.06.2012, 23:42
У вас ведь ПЛК под Codesys?
В PLC Configuration добавлен модуль Modbus Slave? Адрес задан?

ПЛК под MasterPLC. Означает ли это, что к OPC-серверу подключить нельзя? Или что для этого надо делать?

Со многими вещами сталкиваюсь впервые, так что не в курсе.


Версия ОРС последняя - 2.0.0.9?

Да. Вы его пинговали?


Версия ОРС 2.0.0.9. И пинговал, и программировал посредством MasterScada.

SCADAMaster
07.06.2012, 07:04
ПЛК под MasterPLC. Означает ли это, что к OPC-серверу подключить нельзя? Или что для этого надо делать?

Подключить ОРС конечно можно, вот только зачем вам это? Вы же связываетесь с ПЛК напрямую через MasterSCADA.

SCADAMaster
07.06.2012, 07:57
Тут нужен скрин команды PLCInfo, тогда только можно предложить конкретную помощь в поиске проблемы
Читайте внимательнее. Речь идет о ПЛК под управлением MasterPLC:
http://www.insat.ru/products/?category=395
В этом случае с контроллером можно работать прямо в среде MasterSCADA - и программировать и получать данные (управлять).

SCADAMaster
07.06.2012, 09:25
Меняется все.
Для чего нужна связка контроллер +Modbus TCP + OPC? Как правило это подключение контроллера к SCADA системе. Но в данном случае ПЛК подключается к скаде напрямую без ОРС сервера, по собственному протоколу - по нему происходит и программирование и получение данных.
Настроить получение данных по Modbus TCP конечно можно. Нужно в контроллер добавить виртуальный порт, настроить его на протокол Modbus TCP и добавить устройство. Только в этом случае ПЛК будет мастером, а ОРС слейвом.

Слава1
07.06.2012, 12:12
Контроллер подключился. Во всяком случае идет обмен запросами и сообщений об ошибке не выдается. Для этого надо было указать номер порта 22 вместо 502.

Только качество всех значений тегов остается BAD или COMM_FALTURE. Конфигурации контроллера импортирована из стандартного поставляемого файла "ПЛК100RS.mbc". У меня контроллер ПЛК100-K-M.

Конечно, можно подключить контроллер к Scada напрямую. К OPC-серверу - чтобы...

Возможно, действительно, какие-то мои действия лишние. Но хочется всё попробовать.

В ближайшей перспективе хочу научиться связывать программы, написанные в какой-либо сторонней среде разработки с Masterscada. Один из вариантов - через OPC-сервер. А тут показалось более простой задачей - связь контроллера с OPC-сервером, попробовать и некоторый опыт работы с OPC получить.

И еще такой момент: в MasterScada я не могу работать непосредственно с регистрами и памятью контроллера. Там доступны только входы, выходы, счетчики, и служебные возможности (управление, диагностика, статистика). Конечно, может это нехороший тон - непосредственное управление памятью в Masterscada. Но почему бы и нет, по крайней мере для чтения. А через OPC-сервер, получается, все могу. Так ли это?

SCADAMaster
07.06.2012, 12:28
Так зачем вам нужно подключаться к контроллеру еще по Modbus TCP? Чем вас не устраивает подключение стандартным способом SCADA системы?

Если вам все таки нужно по Modbus TCP, то тогда скачайте эту методичку:
http://narod.ru/disk/42160810001.7743f3e271cd85ac37f228763557fa74/Metod.pdf.html
Там на странице 94 разобрано добавления в контроллер устройства Modbus TCP.
Контроллер у вас будет Мастером, ОРС - Slave (в свойствах узла нужно включить Slave режим).

Слава1
07.06.2012, 13:07
Сообщение дописано.

SCADAMaster
07.06.2012, 13:12
В ближайшей перспективе хочу научиться связывать программы, написанные в какой-либо сторонней среде разработки с Masterscada. Один из вариантов - через OPC-сервер. А тут показалось более простой задачей - связь контроллера с OPC-сервером, попробовать и некоторый опыт работы с OPC получить.

Это сделать можно. Нужно добавить в контроллер виртуальный порт для работы с протоколом Modbus TCP (см. предыдущее сообщение).
Контроллер в этом случае будет работать в режиме Master. В будущем мы планируем сделать и Slave режим.
Правда если контроллер вы приобретали давно, то в вашей версии прошивки поддержки Modbus TCP может и не быть.




И еще такой момент: в MasterScada я не могу работать непосредственно с регистрами и памятью контроллера. Там доступны только входы, выходы, счетчики, и служебные возможности (управление, диагностика, статистика). Конечно, может это нехороший тон - непосредственное управление памятью в Masterscada. Но почему бы и нет, по крайней мере для чтения. А через OPC-сервер, получается, все могу. Так ли это?
Зачем вам нужно работать с памятью контроллера?
Как связаться по протоколу Modbus TCP мы вам объяснили.

Слава1
07.06.2012, 18:34
Так зачем вам нужно подключаться к контроллеру еще по Modbus TCP? Чем вас не устраивает подключение стандартным способом SCADA системы?

Если вам все таки нужно по Modbus TCP, то тогда скачайте эту методичку:
http://narod.ru/disk/42160810001.7743f3e271cd85ac37f228763557fa74/Metod.pdf.html
Там на странице 94 разобрано добавления в контроллер устройства Modbus TCP.
Контроллер у вас будет Мастером, ОРС - Slave (в свойствах узла нужно включить Slave режим).

Так всё и есть. Работа с виртуальными портами и добавляемыми в них устройствами похожа на работу с конфигурированием OPC-сервера. Получается сервер внутри самой scada.

"Работать непосредственно с регистрами и памятью контроллера" - видимо, лучше было бы мне выразиться - "создавать теги для обмена между устройствами" или "создавать дополнительные переменные в памяти контроллера". Хотя, указывая, что тот или иной объект в scada должен исполняться в контроллере, действительно, непосредственное создание переменных в памяти контроллера становится необязательно.

Соединение устанавливается, качество значений тегов "ОК", меняю значения в одном месте (в OPC или в scada) - меняются в другом. Два вопроса тут еще или явления (побочных).

1. Почему-то другой контроллер, подключенный к этой же подсети Ethernet, начинает постоянно, каждые минуты три, перезагружаться сам по себе при запущенных scada и opc-сервере.

2. В OPC-сервере после создания узла становится невидимым (исчезает строка из списка) его свойство "Slave-подключение". Так ли было задумано?

SCADAMaster
07.06.2012, 18:48
Так всё и есть. Работа с виртуальными портами и добавляемыми в них устройствами похожа на работу с конфигурированием OPC-сервера. Получается сервер внутри самой scada.

Потому что это режим Modbus Master. Он предназначен для опроса других устройств, поэтому естественно нужно добавлять регистры и описывать их номера.
Когда мы реализуем Modbus TCP Slave, все будет несколько проще. Просто включается внешний доступ у контроллера, и всем переменным в проекте можно назначить Modbus адреса, либо сформировать карту Modbus переменных автоматически.
Modbus Slave сейчас есть, но только для протокола Modbus RTU



1. Почему-то другой контроллер, подключенный к этой же подсети Ethernet, начинает постоянно, каждые минуты три, перезагружаться сам по себе при запущенных scada и opc-сервере.

Трудно сказать, нужно смотреть логи и отчеты. Но вообще если контроллеры приобретались одновременно и версия MasterPLC на них одинаковая то вероятно какие то проблемы в контроллере.



2. В OPC-сервере после создания узла становится невидимым (исчезает строка из списка) его свойство "Slave-подключение". Так ли было задумано?
Да, так и задумано. Некоторые свойства, такие как тип узла, тип подключения, тип регистра задаются только при создании.

Слава1
07.06.2012, 23:34
Ясно, спасибо. Работа продолжается.