PDA

Просмотр полной версии : СПК107 проблема связи по СОМ-порту



vlalys
01.12.2017, 07:39
Здравствуйте, коллеги. Есть проблема связи по СОМ-порту, а именно: к СОМ-порту подключено 9 различных устройств, опрос которых производится через настройки CodeSys. Часть устройств опрашивается циклически с интервалом 2 сек., другая часть - по триггерам. Возникла проблема групповой передачи сообщения нескольким Slave-устройствам по адресу FFh. Устройства импортного производства и изменить им групповой адрес возможности нет. Для передачи по групповому адресу использовал библиотеку OWEN UniWrite. Казалось бы все хорошо - передача идет, но тут возникла проблема периодического конфликта на шине, поскольку при установке бита Enabl:=true сразу начинается передача, а порт в это время оказывается занят другим сообщением. Вопрос: можно ли как-то определить доступность порта для передачи?

Евгений Кислов
01.12.2017, 07:59
Добрый день. Вам следует полностью перевести обмен на библиотеки - тогда вы сами будете контролировать передачу по шине.

vlalys
01.12.2017, 08:16
Спасибо. Но тогда есть другая проблема - в каждом устройстве надо считывать порядка 20 параметров. Причем адреса параметров идут не подряд. Пока не представляю как все это программно делить по времени.

Евгений Кислов
01.12.2017, 08:21
Спасибо. Но тогда есть другая проблема - в каждом устройстве надо считывать порядка 20 параметров. Причем адреса параметров идут не подряд. Пока не представляю как все это программно делить по времени.

У ФБ обмена есть флаг завершения операции. Соответственно, опросили одну пачку регистров - проконтролировали флаг - перешли к опросу следующей и т.д. Удобно делать это на ST через оператор CASE.

vlalys
01.12.2017, 08:25
Понял. Спасибо! Буду пробовать.