- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Одновременная работа COM портов контроллеров
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 06 май 2022, 08:14
- Имя: Павел
- Страна: Россия
- город/регион: Иваново
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Одновременная работа COM портов контроллеров
Добрый день.
Есть контроллер delta DVP SS2. Настраиваю опрос внешнего прибора через COM1 (RS232), одновременно настраиваю связь по COM2 с HMI панелью DELTA по RS485. Получается, что пока идет обмен по COM1 данные по COM2 не передаются . Опрос по COM1 осуществлен через команду RS (в цикле один раз), COM2 - панель опрашивает регистр контроллера. Как я понимаю, пока работает команда RS, другие порты не активны, верно ли это ? Если да, то как можно осуществить параллельную работу COM портов?
Есть контроллер delta DVP SS2. Настраиваю опрос внешнего прибора через COM1 (RS232), одновременно настраиваю связь по COM2 с HMI панелью DELTA по RS485. Получается, что пока идет обмен по COM1 данные по COM2 не передаются . Опрос по COM1 осуществлен через команду RS (в цикле один раз), COM2 - панель опрашивает регистр контроллера. Как я понимаю, пока работает команда RS, другие порты не активны, верно ли это ? Если да, то как можно осуществить параллельную работу COM портов?
-
- эксперт
- Сообщения: 1030
- Зарегистрирован: 27 июн 2013, 12:20
- Имя: Валерич
- Страна: СССР
- Благодарил (а): 44 раза
- Поблагодарили: 106 раз
Одновременная работа COM портов контроллеров
Используйте настройку обмена через конфигурацию, Data Exchange, если у вас стандартный Модбас.
Команда RS используется для нестандартных протоколов, для Модбас есть команда MODRW и подобные. Или, как выше написал Data Exchange. Есть еще PLC Link, но он посложнее.
Отправлено спустя 5 минут 40 секунд:
Для настройки Data Exchange (и не только) используйте утилиту DCISoft.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 841 раз
Одновременная работа COM портов контроллеров
Проблем со связью
вообще быть не должно, если только Вы не извращаетесь делая мастером в этой связке контроллер.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 06 май 2022, 08:14
- Имя: Павел
- Страна: Россия
- город/регион: Иваново
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Одновременная работа COM портов контроллеров
Как я понимаю, команда RS делает тоже самое, что и MODRW, только приходится в ручную заполнять регистры данными. Т.е. пока активен соответствующий порт, прием с других портов не ведется, соответственно, внешнее устройство не может считывать данные с контроллера.Valerich писал(а): ↑02 авг 2024, 06:34Используйте настройку обмена через конфигурацию, Data Exchange, если у вас стандартный Модбас.
Команда RS используется для нестандартных протоколов, для Модбас есть команда MODRW и подобные. Или, как выше написал Data Exchange. Есть еще PLC Link, но он посложнее.
Отправлено спустя 5 минут 40 секунд:
Для настройки Data Exchange (и не только) используйте утилиту DCISoft.
Data Exchange - это настройка обмена по MODBUS TCP/IP
PLC Link - это когда есть главный контроллер (мастер), который последовательно опрашивает ведомые устройства или записывает в них данные. Т.е. опять таки внешнее устройство самостоятельно не сможет в любой момент считать данные с мастерконтроллера.
Правильно?
Отправлено спустя 4 минуты 29 секунд:
Просто в панели указываю элемент вывода информации с ссылкой на регистр контроллера. Физически это через COM2 контроллера (RS485)
В контроллере настраиваю команду RS на чтение данных с внешнего устройства по COM1 (RS232). Если вести опрос непрерывно, то постоянно работает COM1 , как я понимаю, и COM2 не может принимать запросы со стороны панели. Соответственно, как только остановить опрос по COM1 сразу панель считывает данные с контроллера.
Отправлено спустя 3 минуты 16 секунд:
Возможно надо все заводить на один COM порт контроллера по RS485. Тогда нужен адресный адаптер RS485/RS232 для опроса контроллером внешнего устройства. Панель оператора, соответственно, будет по этому же порту делать опорос контроллера.
-
- эксперт
- Сообщения: 1030
- Зарегистрирован: 27 июн 2013, 12:20
- Имя: Валерич
- Страна: СССР
- Благодарил (а): 44 раза
- Поблагодарили: 106 раз
Одновременная работа COM портов контроллеров
Не совсем. В MODRW вы указываете адрес слэйва и регистры, а остальное (включая CRC) пишет ПЛК, согласно Модбас, потом разбирает ответ, а в RS вы пишете ВСЮ телеграмму сами и разбираете ответ.
Отправлено спустя 2 минуты 39 секунд:
Это противоречит спецификациаям Модбас RTU/ASCII
Отправлено спустя 3 минуты 21 секунду:
Точно, в DVP это так, в продвинутых сериях и для COM-портов
Отправлено спустя 2 минуты 45 секунд:
Не сталкивался с таким, все порты работают одновременно. Похоже, что-то вы не то напрограммировали.
Отправлено спустя 1 минуту 59 секунд:
Это тоже противоречит спецификациям: на COM-порту мастер (инициатор опроса) может быть только один.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Одновременная работа COM портов контроллеров
Не нужно так делать.
Все должно работать в вашем варианте. По сути у вас 2 сети. Сеть 1 - Сом1 ПЛК- внешнее устройство ( ПЛК -мастер). Сеть 2 - Панель - СОМ2 ПЛК ( Панель мастер). При этом в этих сетях могут быть разные протоколы обмена. Единственный нюанс - адрес ПЛК по СОМ1 и СОМ2 одинаковый. Прикладывайте вашу программу для понимания. Возможно где-то в программе проблемы.
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 06 май 2022, 08:14
- Имя: Павел
- Страна: Россия
- город/регион: Иваново
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Одновременная работа COM портов контроллеров
Ссылка на файл прошивки контроллера - https://disk.yandex.ru/d/nTXMOZUN3jZeNwpkl58 писал(а): ↑02 авг 2024, 10:13Не нужно так делать.
Все должно работать в вашем варианте. По сути у вас 2 сети. Сеть 1 - Сом1 ПЛК- внешнее устройство ( ПЛК -мастер). Сеть 2 - Панель - СОМ2 ПЛК ( Панель мастер). При этом в этих сетях могут быть разные протоколы обмена. Единственный нюанс - адрес ПЛК по СОМ1 и СОМ2 одинаковый. Прикладывайте вашу программу для понимания. Возможно где-то в программе проблемы.
Сейчас получается так, что если вход контроллера X2 задействовать, то данные на панель приходят с разной скоростью моментом быстро моментом тормозит, периодически панель ругается, что не может считать данные с контроллера.
-
- специалист
- Сообщения: 655
- Зарегистрирован: 19 фев 2019, 22:38
- Имя: Сергей
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 20 раз
- Поблагодарили: 89 раз
Одновременная работа COM портов контроллеров
В промежуток времени между запросом и получением ответа по СОМ порту ПЛК прогонит 100 и более циклов.
Много делал чего на DVP-SS2, когда ПЛК мастер по СОМ2, а по СОМ1 слэйв для панели оператора и никогда проблем не было с обменом.
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 06 май 2022, 08:14
- Имя: Павел
- Страна: Россия
- город/регион: Иваново
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Одновременная работа COM портов контроллеров
Возможно потому, что мастер по COM2 и в интерфейсе RS485, а не по COM1. COM1 - вроде как главный и RS232.
-
- специалист
- Сообщения: 655
- Зарегистрирован: 19 фев 2019, 22:38
- Имя: Сергей
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 20 раз
- Поблагодарили: 89 раз
Одновременная работа COM портов контроллеров
Вот пример опроса
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Одновременная работа COM портов контроллеров
Не самый удачный пример. Тупо пишете в порт без анализа ответа.
Чушь.
-
- эксперт
- Сообщения: 1030
- Зарегистрирован: 27 июн 2013, 12:20
- Имя: Валерич
- Страна: СССР
- Благодарил (а): 44 раза
- Поблагодарили: 106 раз
Одновременная работа COM портов контроллеров
Я вот так делаю:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Одновременная работа COM портов контроллеров
В принципе ничего криминального нет. Я бы пробовал использовать флаг завершения обмена для новой телеграммы.PavelB37 писал(а): ↑02 авг 2024, 11:50 Ссылка на файл прошивки контроллера - https://disk.yandex.ru/d/nTXMOZUN3jZeNw
И как вариант подключитесь к ПЛК через СОМ2 онлайн и проверьте будет ли устойчиво подключение. Возможно в панели что то не так.
Еще вариант попробовать очистить память ПЛК и использовать мастер настройки коммуникации в WPL.
Отправлено спустя 2 минуты 24 секунды:
Это правильный вариант. Я правда шаговые реле не использую. Не пойму я их идеологию. Мне проще и нагляднее по ИЛИ условия включения выходов собрать. Ну и сдвиговый регистр для шаговых цепочек.
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 06 май 2022, 08:14
- Имя: Павел
- Страна: Россия
- город/регион: Иваново
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Одновременная работа COM портов контроллеров
Поменял настройки связи панели с контроллером: RTU вместо ASCII, таймаут 50 мс ( был 1000 мс), скорость 115200. Вроде заработало. В большей степени, как мне показалось, помогла смена с ASCII на RTU.pkl58 писал(а): ↑02 авг 2024, 13:50В принципе ничего криминального нет. Я бы пробовал использовать флаг завершения обмена для новой телеграммы.PavelB37 писал(а): ↑02 авг 2024, 11:50 Ссылка на файл прошивки контроллера - https://disk.yandex.ru/d/nTXMOZUN3jZeNw
И как вариант подключитесь к ПЛК через СОМ2 онлайн и проверьте будет ли устойчиво подключение. Возможно в панели что то не так.
Еще вариант попробовать очистить память ПЛК и использовать мастер настройки коммуникации в WPL.
Отправлено спустя 2 минуты 24 секунды:Это правильный вариант. Я правда шаговые реле не использую. Не пойму я их идеологию. Мне проще и нагляднее по ИЛИ условия включения выходов собрать. Ну и сдвиговый регистр для шаговых цепочек.
Отправлено спустя 49 минут 53 секунды:
Благодарю всех за ответы!