|
Протокол DCON, использованный в модулях фмрмы ICP DAS не относится к стандартным, однако очень широко распространен в России благодаря популярности модулей RealLab! серии NL фирмы RealLab! и усилиям фирм, продвигающих на Российский рынок изделия Тайваньских производителей ICP DAS и Advantech. Этот протокол использует только физический и прикладной уровень модели OSI. На физическом уровне используется прямое двоичное кодирование, когда логический ноль представлен низким уровнем напряжения в шине RS-485, логическая единица - высоким уровнем. Требования к среде передачи (витая пара) определяются стандартом на интерфейс RS-485. Широкая популярность протокола DCON обусловлена отсутствием необходимости в специализированных микросхемах для реализации стека протоколов, что существенно снижает себестоимость устройств, а, следовательно, цену для конечного потребителя. С другой стороны, у системного интегратора уменьшаются затраты на обучение, поскольку применение протокола предельно простое. Протокол DCON используется в архитектуре "ведущий - ведомый". В сети может быть 255 ведомых устройств, но только одно ведущее, что в принципе исключает возможность конфликтов. Для увеличения надежности передачи информации на физическом уровне используется простейший способ - вычисление контрольной суммы. Канального уровня в протоколе нет и поэтому ошибки передачи могут быть выявлены только на прикладном уровне, непосредственно граничащем с программой пользователя.
Кадры протокола DCON имеют структуру, показанную на рис. 2.34. Каждый кадр начинается с разделителя, в качестве которого могут быть использованы знаки: $, #, %, @, *, в ответах ведомого устройства используются символы ~, !, ?, >. За некоторыми командами следуют данные, но их может и не быть. Контрольная сумма, состоящая из двух символов, может отсутствовать. Каждый кадр должен оканчиваться символом возврата каретки cr (ASCII код 0Dh). Контрольная сумма (CHK) состоит из двух символов (в нее не включается код символа возврата каретки) и позволяет обнаружить ошибки в командах, посланных из ведущего устройства, а также в ответах ведомого. Вся информация, содержащаяся в кадре, включая адрес модуля и данные, передается в ASCII кодах. Контрольная сумма представляется двумя ASCII символами шестнадцатеричного формата и передается непосредственно перед "возвратом каретки" (cr). Она должна быть равна сумме кодовых значений всех ASCII символов команды и быть представлена в шестнадцатеричной системе счисления. Если сумма больше FFh, то в качестве контрольной суммы используется только ее младший байт. Например, если нужно переслать ведомому устройству команду $012(cr), то сумма ASCII кодов символов команды (символ возврата каретки не считается) равна “$”+”0”+”1”+”2” = 24h+30h+31h+32h=B7h, контрольная сумма равна B7h, т.е. перед символом (cr) в команде надо указать ”B7”, и команда $012(cr) будет выглядеть как $012B7(cr). Если ответ модуля на эту команду без контрольной суммы получен в виде, например, !01400600(cr), то сумма ASCII кодов символов этой команды равна: “!”+”0”+”1”+”4”+”0”+”0”+”6”+”0”+”0”=21h+30h+31h+34h+30h+30h+36h +30h +30h =1AСh, и контрольная сумма для этого случая равна ACh, т.е. ответ модуля при работе с контрольной суммой будет, например, !014006С0AC(cr), где предпоследний байт С0 означает, что установлен режим обмена с контрольной суммой. При написании программы прикладного уровня используется набор команд, примеры которых приведены в табл. 2.15.
Команды протокола DCON делятся на 4 типа:
Рассмотрим пример применения команды #AA (см. табл. 2.1) для получения данных из модуля аналогового ввода. Синтаксис команды: #AA[CHK](cr), где AA - адрес модуля (от 00 до FF). Ответ модуля на эту команду имеет вид >(Data)[CHK](cr), если команда выполнена. Здесь > - символ-разделитель при выполненной команде; (Data) - измеренные данные. Если имели место синтаксические ошибки или ошибки связи, то ответа нет. Например, для опроса модуля с адресом 01 рассматриваемая команда примет вид #01(cr). Ответ на нее может выглядеть следующим образом: >+1.2345+0.3456+0.0001+2.5000+1.2345+0.3456+0.0001+2.5000 В ответе представлены 8 значений напряжений на 8 входах модуля ввода. Подробное описание команд протокола DCON можно найти на вебсайте RealLab!.
|
Располагается на площади 8900 м², оснащено самым современным технологическим оборудованием, имеет научно-исследовательское и конструкторское подразделение, использующие передовые средства автоматизации проектирования. |
|
КОНТАКТЫ
|
© НИЛ АП, ООО, 1989-2024 |
|