Просмотр полной версии : СП310 и ПЛК110 - связь по Modbus TCP
DmitriiAnyushin
29.07.2016, 11:56
Добрый день! Задача состоит связать между собой контроллер ПЛК110 и СП310 по протоколу Modbus TCP
Раньше я связывал между собой контроллер и панель по протоколу Modbus RTU через порт RS-232 у контроллера и через порт PLC у панели.
Решил попробовать переписать проект, чтобы связь осуществлялась по протоколу Modbus TCP (возникла необходимость освободить порт 232 у контроллера). И столкнулся с рядом вопросов:
1. При ораганизации связи по Modbus TCP в поле конфигурирования объектов с битовыми переменными отсутствует возможность обращения к биту в регистре (только 0х и 1х). В принципе вопрос решаемый, но это недоработка конфигуратора или я куда-то не туда смотрю?
2. При обрыве связи с контроллером не происходит последующего переподключения панели (в отличии от организации связи по Modbus RTU), только путем ее перезагрузки. При обращении к переменным макросом панель вообще зависает. Даже в коммуникационыых настройках поставил число попыток по максимому. Бывает один раз переподключится, а потом снова связь теряется. Есть ли еще какие-нибудь настройки для решения данной проблемы?
Спасибо!
Добрый день! Задача состоит связать между собой контроллер ПЛК110 и СП310 по протоколу Modbus TCP
Раньше я связывал между собой контроллер и панель по протоколу Modbus RTU через порт RS-232 у контроллера и через порт PLC у панели.
Решил попробовать переписать проект, чтобы связь осуществлялась по протоколу Modbus TCP (возникла необходимость освободить порт 232 у контроллера). И столкнулся с рядом вопросов:
1. При ораганизации связи по Modbus TCP в поле конфигурирования объектов с битовыми переменными отсутствует возможность обращения к биту в регистре (только 0х и 1х). В принципе вопрос решаемый, но это недоработка конфигуратора или я куда-то не туда смотрю?
2. При обрыве связи с контроллером не происходит последующего переподключения панели (в отличии от организации связи по Modbus RTU), только путем ее перезагрузки. При обращении к переменным макросом панель вообще зависает. Даже в коммуникационыых настройках поставил число попыток по максимому. Бывает один раз переподключится, а потом снова связь теряется. Есть ли еще какие-нибудь настройки для решения данной проблемы?
Спасибо!
1. Так и есть.
2. Вы небось в макросах оставили в параметрах что-то типа "MODBUS_RTU_REG_4X", а нужно "MODBUS_TCP_REG_4X".
25626
Про "не происходит последующего переподключения панели" первый раз слышу. При адекватном слейве панель переподключается без проблем. Возможно здесь проблема не в панели, а в ПЛК110.
ЗЫ.
1. У ПЛК ОВЕН в слейве биты 0х и регистры 4х находятся в одной и той же области памяти, поэтому всегда можно найти какой адрес 0х у любого разряда любого модуля 2byte.
2. Те же ограничения из п.1. Нельзя использовать в макросе "MODBUS_TCP_BIT_4X, 0, 1", только "MODBUS_TCP_BIT_0X, 1, 0"
DmitriiAnyushin
29.07.2016, 13:29
Спасибо! Ну да - по поводу замены "MODBUS_RTU_REG_4X" на "MODBUS_TCP_REG_4X" я недочитал, хотя и с RTU он каким то образом работал
Как биты в TCP сопоставить с битами в RTU я разобрался
А вот связь если я обрываю физически, то первый раз она еще восстанавливается, а второй раз уже нет. Сделал ради эксперимента элементарный проект - передаю через конфигуратор контроллера (ПЛК110-60) текущие секунды, а панелькой как мастером считываю.
Посмотрите пожалуйста проект https://yadi.sk/d/3LYD0W2xtjYnS . Спасибо!
DmitriiAnyushin
29.07.2016, 13:51
Хотя в данном проекте связь все же восстанавливается по прошествии пяти минут. Это время никак нельзя уменьшить, чтобы связь восстанавливалась быстро (как по Modbus RTU)?
Спасибо! Ну да - по поводу замены "MODBUS_RTU_REG_4X" на "MODBUS_TCP_REG_4X" я недочитал, хотя и с RTU он каким то образом работал
Как биты в TCP сопоставить с битами в RTU я разобрался
А вот связь если я обрываю физически, то первый раз она еще восстанавливается, а второй раз уже нет. Сделал ради эксперимента элементарный проект - передаю через конфигуратор контроллера (ПЛК110-60) текущие секунды, а панелькой как мастером считываю.
Посмотрите пожалуйста проект https://yadi.sk/d/3LYD0W2xtjYnS . Спасибо!
Посмотреть, то я посмотрел. А толку?
Нужно иметь одновременно и ПЛК и панель. Сейчас я на работе, здесь есть только ПЛК160. А дом а есть только панель.
Пока могу проверить только онлайн эмуляция и реальный ПЛК
Для начала добавим на экран некоторую диагностическую информацию
25627
Если нет связи, то через время Таймаут выполняется следующая попытка
Каждая попытка - увеличивает Ошибок данных на 1
Следующая попытка через время "Таймаут"
Каждые три попытки - увеличивают Безуспешных запросов на 1
Эмулятор панели и контроллер
https://www.youtube.com/watch?v=8zeJ1EsLs64
Понятно, что я периодически выдергивал кабель из ПЛК.
Уменьшим время "Таймаут"
25628
https://www.youtube.com/watch?v=B1qxgfeo4SM
DmitriiAnyushin
29.07.2016, 15:38
Спасибо за подробный ответ! Попробовал на эмуляторе - связь действительно восстанавливается во много раз быстрее чем на панели(не rtu конечно, но секунд за 5-10 восстанавливается) и таймаут оказывается, как показала практика и как прописано в руководстве (стр. 57), лучше оставить по умолчанию (1500 мс).
Все же пока остановлюсь на реализации связи между ПЛК и панелькой по RS232 (ModbusRTU)
Здравствуйте.
Аналогичная ситуация. Панель по Modbus-TCP опрашивает пять контроллеров ПЛК-110 (панель - Master). При пропадании связи с любым из контроллеров новое подключение не удается. Кроме того, пропадает подключение к другим контроллерам, пропадает возможность даже переключить экран. На панели периодически появляется окошко с надписью "Подключение", панель не реагирует на прикосновения к экрану.
Для организации сети используется коммутатор MOXA EDS-208.
Точно такая же ситуация и без использования коммутатора. Если подключить панель напрямую к ПЛК по Ethernet, связь устанавливается, передача данных выполняется, но после отключения/подключения кабеля восстановления связи не происходит, панель на прикосновения не реагирует, периодически появляется окошко с надписью "Подключение".
Эксперимент проводился с разными контроллерами.
В программе контроллера параметры и регистры Modbus-Slave задавались при помощи стандартных средств в меню "Конфигурация ПЛК". Сторонних библиотек не использовалось.
Здравствуйте.
Аналогичная ситуация. Панель по Modbus-TCP опрашивает пять контроллеров ПЛК-110 (панель - Master). При пропадании связи с любым из контроллеров новое подключение не удается. Кроме того, пропадает подключение к другим контроллерам, пропадает возможность даже переключить экран. На панели периодически появляется окошко с надписью "Подключение", панель не реагирует на прикосновения к экрану.
Для организации сети используется коммутатор MOXA EDS-208.
Точно такая же ситуация и без использования коммутатора. Если подключить панель напрямую к ПЛК по Ethernet, связь устанавливается, передача данных выполняется, но после отключения/подключения кабеля восстановления связи не происходит, панель на прикосновения не реагирует, периодически появляется окошко с надписью "Подключение".
Эксперимент проводился с разными контроллерами.
В программе контроллера параметры и регистры Modbus-Slave задавались при помощи стандартных средств в меню "Конфигурация ПЛК". Сторонних библиотек не использовалось.
По идее вместо окошка с надписью "Подключение" должно быть такое окошко http://www.owen.ru/forum/showthread.php?t=23153&p=194036&viewfull=1#post194036
Для исправления ситуации заменить шаблоны для новых проектов этими http://www.owen.ru/forum/showthread.php?t=22933&p=194877&viewfull=1#post194877
То, что панель не реагирует на нажатия экрана если связь с любым слейвом потеряна - это такая ее особенность, которая была и в панели СП270.
Для портов PLC и Download помогает удаление с экрана 65534 вызова системного окна о потери связи
25791
Для порта Ethernet возможно тоже поможет, не пробовал. Но в этом случае Вы не получите никакой информации о потере связи.
Или попробовать организовать опрос слейвов с помощь макроса на Си http://www.owen.ru/forum/showthread.php?t=23153
DmitriiAnyushin
15.08.2016, 16:06
По идее вместо окошка с надписью "Подключение" должно быть такое окошко http://www.owen.ru/forum/showthread.php?t=23153&p=194036&viewfull=1#post194036
Для исправления ситуации заменить шаблоны для новых проектов этими http://www.owen.ru/forum/showthread.php?t=22933&p=194877&viewfull=1#post194877
То, что панель не реагирует на нажатия экрана если связь с любым слейвом потеряна - это такая ее особенность, которая была и в панели СП270.
Для портов PLC и Download помогает удаление с экрана 65534 вызова системного окна о потери связи
25791
Для порта Ethernet возможно тоже поможет, не пробовал. Но в этом случае Вы не получите никакой информации о потере связи.
Или попробовать организовать опрос слейвов с помощь макроса на Си http://www.owen.ru/forum/showthread.php?t=23153
Попробовал и заменить шаблоны и организовал опросы с помощью макросов - два-три отваливания слэйва и связь уже не восстанавливается
приборист
11.01.2017, 09:40
Попробовал и заменить шаблоны и организовал опросы с помощью макросов - два-три отваливания слэйва и связь уже не восстанавливается
Добрый день!
Есть ли решение с проблемой восстановления связи?
Запускаю проект, там 3 ПЛК + СП310. Связь по TCP.
Заливаешь в любой ПЛК новую версию программы и панель уходит в жуткие тормоза..
Евгений Кислов
11.01.2017, 10:12
В момент заливки нового проекта связь, естественно, рвется, что и приводит к тормозам; после этого она должна восстановиться.
Если восстановления связи не происходит, то, возможно, дело в новой версии программы и настроек слэйва в ней.
DmitriiAnyushin
11.01.2017, 11:24
Добрый день!
Есть ли решение с проблемой восстановления связи?
Запускаю проект, там 3 ПЛК + СП310. Связь по TCP.
Заливаешь в любой ПЛК новую версию программы и панель уходит в жуткие тормоза..
Нет, версия ПО на сайте пока старая, а варианты как решить проблему не нашел. Нв данный момент использую RS232 для связи контроллера и панели
DmitriiAnyushin
11.01.2017, 11:26
В момент заливки нового проекта связь, естественно, рвется, что и приводит к тормозам; после этого она должна восстановиться.
Если восстановления связи не происходит, то, возможно, дело в новой версии программы и настроек слэйва в ней.
Восстановление происходит, но очень медленно (По RTU происходит мгновенно)
Восстановление происходит, но очень медленно (По RTU происходит мгновенно)
Панель здесь ни причем, это скорей всего глюк прошивки ПЛК110, однозначно. Потому, что если вместо ПЛК взять какой-либо компьютерный виртуальный слейв, то связь по TCP восстанавливается тоже мгновенно.
приборист
19.01.2017, 22:13
В момент заливки нового проекта связь, естественно, рвется, что и приводит к тормозам; после этого она должна восстановиться.
Если восстановления связи не происходит, то, возможно, дело в новой версии программы и настроек слэйва в ней.
Дело не в новой версии программы, при подключении через CDS к контроллеру, который выдает на СП информацию - получаем зависание.
Панель здесь ни причем, это скорей всего глюк прошивки ПЛК110, однозначно. Потому, что если вместо ПЛК взять какой-либо компьютерный виртуальный слейв, то связь по TCP восстанавливается тоже мгновенно.
Ох как это прискорбно...
А у меня 3 плк подключены к панели (1 - старый, 2 - М02)
И честно говоря на меня криво смотрят когда я дергаю разъем чтобы поменять настройки.
Есть ли смысл менять прошивки на новые (в ПЛК)?
nick2015
15.07.2017, 07:45
Такая же история ! Связка СП310Р ( Мастер ) и ПЛК110-60
nick2015
15.07.2017, 07:54
Восстановление происходит, но очень медленно (По RTU происходит мгновенно)
У меня вообще не происходит восстановления по ModbusTCP
Передергиваешь питание на панели и все нормально !
Евгений Кислов
15.07.2017, 08:44
Попробуйте выставить следующие коммуникационные настройки:
Время ожидания - 20 мс
Таймаут - 10000 мс
Попыток - 10
Восстановление связи работает - в этом несложно убедиться, подключив панель к ПК и использовав в качестве слэйва OPC сервер. Мы несколько раз наблюдали проблемы с конкретными контроллерами - приведенные выше настройки редуцировали их.
nick2015
15.07.2017, 10:22
При таких настройках при отключении кабеля Ethernet , ошибка не вылазит и панель как бы зависает, но при этом если воткнуть кабель обратно работоспособность восстанавливается.
Aleksandr_P
24.08.2017, 06:35
Добрый день!
подскажите пожалуйста как реализовать связь по TCP между ПЛК160(slave) и СП310(master), используя при этом энергонезависимую память панели оператора для сохранения важных значений(WORD) и можно ли реализовать вообще. заранее спасибо!
Евгений Кислов
24.08.2017, 06:59
Добрый день!
подскажите пожалуйста как реализовать связь по TCP между ПЛК160(slave) и СП310(master), используя при этом энергонезависимую память панели оператора для сохранения важных значений(WORD) и можно ли реализовать вообще. заранее спасибо!
Добрый день. Да, это возможно - реализуйте обмен через элемент Функциональная область и копируйте данные из ПЛК в PFW регистры панели.
Добрый день!
подскажите пожалуйста как реализовать связь по TCP между ПЛК160(slave) и СП310(master), используя при этом энергонезависимую память панели оператора для сохранения важных значений(WORD) и можно ли реализовать вообще. заранее спасибо!
Четыре года назад уже был подробный ответ, с картинками и примерами.
32799
32800
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot