Содержание
Демонстрационная конфигурация demo_hart может служить иллюстрацией и прототипом для драйверов устройств с протоколом обмена HART, см. также обзор и коды.
В состав демонстрационной конфигурации входит:
&HART_DRV и&HART_SIM.Они полностью моделируют протокол обмена HART для реального устройства.
В рабочем режиме симулятор надо отключить, а также закомментировать канал PipeName = .\DEMO_HART, который служит для симуляции COM порта.
Как драйвер, так и симулятор реализованы в виде одной и той же программы hart_drv.pas, только драйвер имеет ненулевое число AnalogOutputs, а симулятор - не имеет.
В драйвере реализован базовый декодер HART протокола, что позволяет на его основе создавать драйверы для конкретных устройств.
В данном частном случае задаются шаблоны запросов и ответов
Cmd#0 = FFFFFFFFFF82ABEF0247C501004700 ; запрос 0
Cmd#1 = FFFFFFFFFF826BECE0F7CE0100DD00 ; запрос 1
Ans#0 = 00FFFFFFFF86ABEF0247C5010700002041B49EB0BF ; ответ 0
Ans#1 = 00FFFFFFFFFF862BECE0F7CE01070040073CA2BCA45F ; ответ 1Считается ошибкой, если ответ имеет другой адрес, нежели запрос. Предполагается, что запрос и ответ содержат шаблоны с командой 1 (чтение переменной). При этом драйвер гоняет запросы по кругу, а симулятор (если запущен) возвращает ответ, добавляя к шаблону ответа синусоиду с небольшим шумом, для красоты. Для рабочих драйверов, если нужна только команда чтения данных, достаточно просто добавить в список соответствующие запросы-ответы и подключить кривые. Если требуются и другие команды, драйвер берется за основу и расширяется.
Шаблоны запроса и ответа можно (и лучше всего) получить в терминале (например, AdmiLink),
при этом используются параметры: BaudRate=1200, Parity=ODD, DataBits=8, StopBits=1, DcbFlags=$3020.