1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Одновременная работа COM портов контроллеров

Модератор: Глоб.модераторы

Ответить

Автор темы
PavelB37
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 06 май 2022, 08:14
Имя: Павел
Страна: Россия
город/регион: Иваново
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Одновременная работа COM портов контроллеров

Сообщение PavelB37 »

Добрый день.

Есть контроллер delta DVP SS2. Настраиваю опрос внешнего прибора через COM1 (RS232), одновременно настраиваю связь по COM2 с HMI панелью DELTA по RS485. Получается, что пока идет обмен по COM1 данные по COM2 не передаются . Опрос по COM1 осуществлен через команду RS (в цикле один раз), COM2 - панель опрашивает регистр контроллера. Как я понимаю, пока работает команда RS, другие порты не активны, верно ли это ? Если да, то как можно осуществить параллельную работу COM портов?
Аватара пользователя

Valerich
эксперт
эксперт
Сообщения: 1030
Зарегистрирован: 27 июн 2013, 12:20
Имя: Валерич
Страна: СССР
Благодарил (а): 44 раза
Поблагодарили: 106 раз

Одновременная работа COM портов контроллеров

Сообщение Valerich »

PavelB37 писал(а): 01 авг 2024, 22:28 как можно осуществить параллельную работу COM портов
Используйте настройку обмена через конфигурацию, Data Exchange, если у вас стандартный Модбас.

Команда RS используется для нестандартных протоколов, для Модбас есть команда MODRW и подобные. Или, как выше написал Data Exchange. Есть еще PLC Link, но он посложнее.

Отправлено спустя 5 минут 40 секунд:
Для настройки Data Exchange (и не только) используйте утилиту DCISoft.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5790
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 673 раза
Поблагодарили: 840 раз

Одновременная работа COM портов контроллеров

Сообщение Ryzhij »

Проблем со связью
PavelB37 писал(а): 01 авг 2024, 22:28 по COM2 с HMI панелью DELTA по RS485
вообще быть не должно, если только Вы не извращаетесь делая мастером в этой связке контроллер.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
PavelB37
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 06 май 2022, 08:14
Имя: Павел
Страна: Россия
город/регион: Иваново
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Одновременная работа COM портов контроллеров

Сообщение PavelB37 »

Valerich писал(а): 02 авг 2024, 06:34
PavelB37 писал(а): 01 авг 2024, 22:28 как можно осуществить параллельную работу COM портов
Используйте настройку обмена через конфигурацию, Data Exchange, если у вас стандартный Модбас.

Команда RS используется для нестандартных протоколов, для Модбас есть команда MODRW и подобные. Или, как выше написал Data Exchange. Есть еще PLC Link, но он посложнее.

Отправлено спустя 5 минут 40 секунд:
Для настройки Data Exchange (и не только) используйте утилиту DCISoft.
Как я понимаю, команда RS делает тоже самое, что и MODRW, только приходится в ручную заполнять регистры данными. Т.е. пока активен соответствующий порт, прием с других портов не ведется, соответственно, внешнее устройство не может считывать данные с контроллера.

Data Exchange - это настройка обмена по MODBUS TCP/IP

PLC Link - это когда есть главный контроллер (мастер), который последовательно опрашивает ведомые устройства или записывает в них данные. Т.е. опять таки внешнее устройство самостоятельно не сможет в любой момент считать данные с мастерконтроллера.

Правильно?

Отправлено спустя 4 минуты 29 секунд:
Ryzhij писал(а): 02 авг 2024, 07:48 Проблем со связью
PavelB37 писал(а): 01 авг 2024, 22:28 по COM2 с HMI панелью DELTA по RS485
вообще быть не должно, если только Вы не извращаетесь делая мастером в этой связке контроллер.
Просто в панели указываю элемент вывода информации с ссылкой на регистр контроллера. Физически это через COM2 контроллера (RS485)
В контроллере настраиваю команду RS на чтение данных с внешнего устройства по COM1 (RS232). Если вести опрос непрерывно, то постоянно работает COM1 , как я понимаю, и COM2 не может принимать запросы со стороны панели. Соответственно, как только остановить опрос по COM1 сразу панель считывает данные с контроллера.

Отправлено спустя 3 минуты 16 секунд:
Возможно надо все заводить на один COM порт контроллера по RS485. Тогда нужен адресный адаптер RS485/RS232 для опроса контроллером внешнего устройства. Панель оператора, соответственно, будет по этому же порту делать опорос контроллера.
Аватара пользователя

Valerich
эксперт
эксперт
Сообщения: 1030
Зарегистрирован: 27 июн 2013, 12:20
Имя: Валерич
Страна: СССР
Благодарил (а): 44 раза
Поблагодарили: 106 раз

Одновременная работа COM портов контроллеров

Сообщение Valerich »

PavelB37 писал(а): 02 авг 2024, 09:48 команда RS делает тоже самое, что и MODRW, только приходится в ручную заполнять регистры данными.
Не совсем. В MODRW вы указываете адрес слэйва и регистры, а остальное (включая CRC) пишет ПЛК, согласно Модбас, потом разбирает ответ, а в RS вы пишете ВСЮ телеграмму сами и разбираете ответ.

Отправлено спустя 2 минуты 39 секунд:
PavelB37 писал(а): 02 авг 2024, 09:48 внешнее устройство самостоятельно не сможет в любой момент считать данные с мастерконтроллера
Это противоречит спецификациаям Модбас RTU/ASCII

Отправлено спустя 3 минуты 21 секунду:
PavelB37 писал(а): 02 авг 2024, 09:48 Data Exchange - это настройка обмена по MODBUS TCP/IP
Точно, в DVP это так, в продвинутых сериях и для COM-портов

Отправлено спустя 2 минуты 45 секунд:
PavelB37 писал(а): 02 авг 2024, 09:48 Если вести опрос непрерывно, то постоянно работает COM1 , как я понимаю, и COM2 не может принимать запросы со стороны панели.
Не сталкивался с таким, все порты работают одновременно. Похоже, что-то вы не то напрограммировали.

Отправлено спустя 1 минуту 59 секунд:
PavelB37 писал(а): 02 авг 2024, 09:48 для опроса контроллером внешнего устройства. Панель оператора, соответственно, будет по этому же порту делать опорос контроллера.
Это тоже противоречит спецификациям: на COM-порту мастер (инициатор опроса) может быть только один.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Одновременная работа COM портов контроллеров

Сообщение pkl58 »

PavelB37 писал(а): 02 авг 2024, 09:48 Возможно надо все заводить на один COM порт контроллера по RS485. Тогда нужен адресный адаптер RS485/RS232 для опроса контроллером внешнего устройства. Панель оператора, соответственно, будет по этому же порту делать опорос контроллера.
Не нужно так делать.
Все должно работать в вашем варианте. По сути у вас 2 сети. Сеть 1 - Сом1 ПЛК- внешнее устройство ( ПЛК -мастер). Сеть 2 - Панель - СОМ2 ПЛК ( Панель мастер). При этом в этих сетях могут быть разные протоколы обмена. Единственный нюанс - адрес ПЛК по СОМ1 и СОМ2 одинаковый. Прикладывайте вашу программу для понимания. Возможно где-то в программе проблемы.

Автор темы
PavelB37
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 06 май 2022, 08:14
Имя: Павел
Страна: Россия
город/регион: Иваново
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Одновременная работа COM портов контроллеров

Сообщение PavelB37 »

pkl58 писал(а): 02 авг 2024, 10:13
PavelB37 писал(а): 02 авг 2024, 09:48 Возможно надо все заводить на один COM порт контроллера по RS485. Тогда нужен адресный адаптер RS485/RS232 для опроса контроллером внешнего устройства. Панель оператора, соответственно, будет по этому же порту делать опорос контроллера.
Не нужно так делать.
Все должно работать в вашем варианте. По сути у вас 2 сети. Сеть 1 - Сом1 ПЛК- внешнее устройство ( ПЛК -мастер). Сеть 2 - Панель - СОМ2 ПЛК ( Панель мастер). При этом в этих сетях могут быть разные протоколы обмена. Единственный нюанс - адрес ПЛК по СОМ1 и СОМ2 одинаковый. Прикладывайте вашу программу для понимания. Возможно где-то в программе проблемы.
Ссылка на файл прошивки контроллера - https://disk.yandex.ru/d/nTXMOZUN3jZeNw
Сейчас получается так, что если вход контроллера X2 задействовать, то данные на панель приходят с разной скоростью моментом быстро моментом тормозит, периодически панель ругается, что не может считать данные с контроллера.

Sergy6661
специалист
специалист
Сообщения: 655
Зарегистрирован: 19 фев 2019, 22:38
Имя: Сергей
Страна: Россия
город/регион: Краснодар
Благодарил (а): 20 раз
Поблагодарили: 89 раз

Одновременная работа COM портов контроллеров

Сообщение Sergy6661 »

PavelB37 писал(а): 01 авг 2024, 22:28 Опрос по COM1 осуществлен через команду RS (в цикле один раз)
В промежуток времени между запросом и получением ответа по СОМ порту ПЛК прогонит 100 и более циклов.
Много делал чего на DVP-SS2, когда ПЛК мастер по СОМ2, а по СОМ1 слэйв для панели оператора и никогда проблем не было с обменом.

Автор темы
PavelB37
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 06 май 2022, 08:14
Имя: Павел
Страна: Россия
город/регион: Иваново
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Одновременная работа COM портов контроллеров

Сообщение PavelB37 »

Sergy6661 писал(а): 02 авг 2024, 12:18
PavelB37 писал(а): 01 авг 2024, 22:28 Опрос по COM1 осуществлен через команду RS (в цикле один раз)
В промежуток времени между запросом и получением ответа по СОМ порту ПЛК прогонит 100 и более циклов.
Много делал чего на DVP-SS2, когда ПЛК мастер по СОМ2, а по СОМ1 слэйв для панели оператора и никогда проблем не было с обменом.
Возможно потому, что мастер по COM2 и в интерфейсе RS485, а не по COM1. COM1 - вроде как главный и RS232.

Sergy6661
специалист
специалист
Сообщения: 655
Зарегистрирован: 19 фев 2019, 22:38
Имя: Сергей
Страна: Россия
город/регион: Краснодар
Благодарил (а): 20 раз
Поблагодарили: 89 раз

Одновременная работа COM портов контроллеров

Сообщение Sergy6661 »

Вот пример опроса
MODRW.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Одновременная работа COM портов контроллеров

Сообщение pkl58 »

Не самый удачный пример. Тупо пишете в порт без анализа ответа.
PavelB37 писал(а): 02 авг 2024, 12:32 Возможно потому, что мастер по COM2 и в интерфейсе RS485, а не по COM1. COM1 - вроде как главный и RS232.
Чушь.
Аватара пользователя

Valerich
эксперт
эксперт
Сообщения: 1030
Зарегистрирован: 27 июн 2013, 12:20
Имя: Валерич
Страна: СССР
Благодарил (а): 44 раза
Поблагодарили: 106 раз

Одновременная работа COM портов контроллеров

Сообщение Valerich »

Я вот так делаю:
Снимок экрана 2024-08-02 151541.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Одновременная работа COM портов контроллеров

Сообщение pkl58 »

PavelB37 писал(а): 02 авг 2024, 11:50 Ссылка на файл прошивки контроллера - https://disk.yandex.ru/d/nTXMOZUN3jZeNw
В принципе ничего криминального нет. Я бы пробовал использовать флаг завершения обмена для новой телеграммы.
И как вариант подключитесь к ПЛК через СОМ2 онлайн и проверьте будет ли устойчиво подключение. Возможно в панели что то не так.
Еще вариант попробовать очистить память ПЛК и использовать мастер настройки коммуникации в WPL.

Отправлено спустя 2 минуты 24 секунды:
Valerich писал(а): 02 авг 2024, 13:16 Я вот так делаю:
Снимок экрана 2024-08-02 151541.jpg
Это правильный вариант. Я правда шаговые реле не использую. Не пойму я их идеологию. Мне проще и нагляднее по ИЛИ условия включения выходов собрать. Ну и сдвиговый регистр для шаговых цепочек.

Автор темы
PavelB37
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 06 май 2022, 08:14
Имя: Павел
Страна: Россия
город/регион: Иваново
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Одновременная работа COM портов контроллеров

Сообщение PavelB37 »

pkl58 писал(а): 02 авг 2024, 13:50
PavelB37 писал(а): 02 авг 2024, 11:50 Ссылка на файл прошивки контроллера - https://disk.yandex.ru/d/nTXMOZUN3jZeNw
В принципе ничего криминального нет. Я бы пробовал использовать флаг завершения обмена для новой телеграммы.
И как вариант подключитесь к ПЛК через СОМ2 онлайн и проверьте будет ли устойчиво подключение. Возможно в панели что то не так.
Еще вариант попробовать очистить память ПЛК и использовать мастер настройки коммуникации в WPL.

Отправлено спустя 2 минуты 24 секунды:
Valerich писал(а): 02 авг 2024, 13:16 Я вот так делаю:
Снимок экрана 2024-08-02 151541.jpg
Это правильный вариант. Я правда шаговые реле не использую. Не пойму я их идеологию. Мне проще и нагляднее по ИЛИ условия включения выходов собрать. Ну и сдвиговый регистр для шаговых цепочек.
Поменял настройки связи панели с контроллером: RTU вместо ASCII, таймаут 50 мс ( был 1000 мс), скорость 115200. Вроде заработало. В большей степени, как мне показалось, помогла смена с ASCII на RTU.

Отправлено спустя 49 минут 53 секунды:
Благодарю всех за ответы!
Ответить

Вернуться в «ПЛК, операторские панели, промышленные ПК»