Просмотр полной версии : Подключение ПЛК-100 к MasterOPC Universal Modbus Server
Через 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 порта проверьте. Посмотрите не блокирует ли приложение фаервол.
Связь есть, пингуется.
Порт 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? Адрес задан?
У вас ведь ПЛК под 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 и добавить устройство. Только в этом случае ПЛК будет мастером, а ОРС слейвом.
Контроллер подключился. Во всяком случае идет обмен запросами и сообщений об ошибке не выдается. Для этого надо было указать номер порта 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 режим).
SCADAMaster
07.06.2012, 13:12
В ближайшей перспективе хочу научиться связывать программы, написанные в какой-либо сторонней среде разработки с Masterscada. Один из вариантов - через OPC-сервер. А тут показалось более простой задачей - связь контроллера с OPC-сервером, попробовать и некоторый опыт работы с OPC получить.
Это сделать можно. Нужно добавить в контроллер виртуальный порт для работы с протоколом Modbus TCP (см. предыдущее сообщение).
Контроллер в этом случае будет работать в режиме Master. В будущем мы планируем сделать и Slave режим.
Правда если контроллер вы приобретали давно, то в вашей версии прошивки поддержки Modbus TCP может и не быть.
И еще такой момент: в MasterScada я не могу работать непосредственно с регистрами и памятью контроллера. Там доступны только входы, выходы, счетчики, и служебные возможности (управление, диагностика, статистика). Конечно, может это нехороший тон - непосредственное управление памятью в Masterscada. Но почему бы и нет, по крайней мере для чтения. А через OPC-сервер, получается, все могу. Так ли это?
Зачем вам нужно работать с памятью контроллера?
Как связаться по протоколу Modbus TCP мы вам объяснили.
Так зачем вам нужно подключаться к контроллеру еще по 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-подключение". Так ли было задумано?
Да, так и задумано. Некоторые свойства, такие как тип узла, тип подключения, тип регистра задаются только при создании.
Ясно, спасибо. Работа продолжается.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot