УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

Арбитраж запросов к последовательному интерфейсу


Автор Сообщение
Сообщение создано: 18. 04. 2016 [11:42]
samspace
Артем Самойлов
Создатель темы
Зарегистрирован(а) с: 14.04.2016
Сообщения: 1
Добрый день! Подскажите, пож-та, как правильно арбитровать запросы к последовательному интерфейсу. Ситуация следующая: часть параметров с прибора можно опрашивать через вкладку Modbus стандартными функциями. Ответы от устройства преобразуются стандартно. Другая часть параметров после ответа прибора должна преобразовываться нестандартно. Например, нужно получить беззнаковое целое из 4-х последовательных регистров. Поэтому во вкладке Modbus заведен контроллер и 1 часть параметров. На вкладке Логический уровень заведен контроллер, в шаблоне которого мы обращаемся к COM-порту: посылаем запрос и принимаем ответ для 2 части параметров. Контроллер Modbus и Логический контроллер оба обращаются к одному COM-порту. Когда запускаем опрос, происходит путаница запросов и ответов. Какой существует механизм арбитража обращений к COM-порту?
Сообщение создано: 18. 04. 2016 [11:57]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"samspace" wrote:

Подскажите, пож-та, как правильно арбитровать запросы к последовательному интерфейсу.

Не нужно! Доступ к объекту последовательного порта закрывается захватом ресурса. Если Вы создали отдельно два объекта на один последовательный порт то это Ваши проблемы!

"samspace" wrote:

Ситуация следующая: часть параметров с прибора можно опрашивать через вкладку Modbus стандартными функциями. Ответы от устройства преобразуются стандартно. Другая часть параметров после ответа прибора должна преобразовываться нестандартно. Например, нужно получить беззнаковое целое из 4-х последовательных регистров. Поэтому во вкладке Modbus заведен контроллер и 1 часть параметров. На вкладке Логический уровень заведен контроллер, в шаблоне которого мы обращаемся к COM-порту: посылаем запрос и принимаем ответ для 2 части параметров.

Не нужно! В ModBus есть тип параметра "Логический", где можно сделать всё что угодно, вплоть до нестандартных PDU запросов.

Learn, learn and learn better than work, work and work.



68752