Сообщение создано: 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
Сообщения: 3750
|
"samspace" wrote:
Подскажите, пож-та, как правильно арбитровать запросы к последовательному интерфейсу.
Не нужно! Доступ к объекту последовательного порта закрывается захватом ресурса. Если Вы создали отдельно два объекта на один последовательный порт то это Ваши проблемы!
"samspace" wrote:
Ситуация следующая: часть параметров с прибора можно опрашивать через вкладку Modbus стандартными функциями. Ответы от устройства преобразуются стандартно. Другая часть параметров после ответа прибора должна преобразовываться нестандартно. Например, нужно получить беззнаковое целое из 4-х последовательных регистров. Поэтому во вкладке Modbus заведен контроллер и 1 часть параметров. На вкладке Логический уровень заведен контроллер, в шаблоне которого мы обращаемся к COM-порту: посылаем запрос и принимаем ответ для 2 части параметров.
Не нужно! В ModBus есть тип параметра "Логический", где можно сделать всё что угодно, вплоть до нестандартных PDU запросов.
Learn, learn and learn better than work, work and work.
|