Для работы с дискретными входами и счетчиками по протоколу DCON
в модуле реализованы 4 команды:
считать значения дискретных входов (вариант № 1 и вариант №
2);
считать значения счетчика дискретного входа;
обнулить состояние счетчика дискретного входа;
включение/выключение ВЭ.
Считать значения дискретных входов (вариант № 1)
Посылка:
@AA[CHK](cr)
где AA – адрес
модуля от 0x00 до 0xFF;
[CHK] – контрольная сумма;
(cr) – символ перевода строки (0х0D).
Ответ:
где (данные) – 16 бит значений, описанные в таблице.
Соответствие состояний дискретных входов битам данных
№ бита | 15 | 4 | 3 | 0 |
Значение | Всегда равны 0 | Состояние входов с 4 до 1 |
ВниманиеДля протокола DCON бит, равный 1, означает, что вход «Разомкнут», бит, равный 0, – что вход
«Замкнут».
Если в посылке синтаксическая ошибка или ошибка
в контрольной сумме, то ответ не посылается.
Посылка:
>@10[CHK](cr) –
запрос состояния дискретных входов с модуля с шестнадцатеричным адресом
10.
Ответ:
>000F[CHK](cr) – все дискретные входы
в состоянии «Разомкнут».
Считать значения дискретных входов (вариант № 2)
Посылка:
$AA6[CHK](cr)
где AA – адрес
модуля от 0x00 до 0xFF;
6 – команда чтения значения
дискретных входов;
[CHK] – контрольная сумма;
(cr) – символ перевода строки (0х0D).
Ответ:
где (данные) – три байта значений, описанные в таблице.
Соответствие состояний дискретных входов битам данных
№ бита | 23 | 12 | 11 | 8 | 7 | 0 |
Значение | Всегда равны 0 | Состояние входов с 4 до 1 | Всегда равны 0 |
ВниманиеДля протокола DCON бит, равный 1, означает, что вход «Разомкнут», бит, равный 0, – что вход
«Замкнут».
Если в посылке синтаксическая ошибка или ошибка
в контрольной сумме, то ответ не посылается.
Посылка:
>$106[CHK](cr) –
запрос состояния дискретных входов с модуля с шестнадцатеричным адресом
10.
Ответ:
>!000300[CHK](cr) – дискретные входы
№ 1, 2 в состоянии «Разомкнут», остальные в состоянии «Замкнут».
Считать значения счетчика дискретного входа
Посылка:
#AAN[CHK](cr)
где AA – адрес
модуля от 0x00 до 0xFF;
N – номер входа от 0х0
до 0х3;
[CHK] – контрольная сумма;
(cr) –
символ перевода строки (0х0D).
Ответ:
где (данные) – результат вычисления в диапазоне от
00000 до 65535 в десятичном виде (строка из 5 символов).
Если
в посылке синтаксическая ошибка или ошибка в контрольной сумме, то
никакого ответа не требуется.
Посылка:
>#101[CHK](cr) –
запрос состояния счетчика входа № 2 модуля с шестнадцатеричным адресом
10.
Ответ:
>!00347[CHK](cr) – значение счетчика
равно 347 (в десятичном виде).
Обнулить состояние счетчика дискретного входа
Посылка:
$AACN[CHK](cr)
где AA – адрес модуля от 0x00 до 0xFF;
C – команда сброса значения
счетчика (С – большая латинская);
N – номер дискретного
входа от 0х0 до 0х3;
[CHK] – контрольная сумма;
(cr) – символ перевода строки (0х0D).
Ответ:
Если в посылке синтаксическая ошибка или ошибка в контрольной
сумме, то никакого ответа не требуется.
Посылка:
>$10С1[CHK](cr) –
обнулить состояние счетчика входа № 2 модуля с шестнадцатеричным адресом
10.
Ответ:
>!10[CHK](cr) – значение счетчика обнулено.
Включение/выключение ВЭ
По протоколу DCON
возможна посылка только групповой команды на включение/выключение
ВЭ. Задать скважность ШИМ по протоколу DCON нельзя.
Посылка:
@AA(данные)[CHK](cr)
где AA – адрес
модуля от 0x00 до 0xFF;
(данные) – 8 бит значений,
записываемых в выходы. Значение 1 соответствует состоянию «Включено»,
значение 0 состоянию «Выключено». Значение старших четырех
бит всегда игнорируется. Четвертый (считая справа) бит соответствует
выходу № 4, младший (последний) – выходу № 1;
[CHK] –
контрольная сумма;
(cr) – символ перевода
строки (0х0D).
Ответ:
Если в посылке синтаксическая ошибка или ошибка в контрольной
сумме, то ответ не посылается.
Посылка:
>@100F[CHK](cr) –
установить все дискретные выходы модуля с шестнадцатеричным адресом
10 в состояние «Включено».
Ответ:
>[CHK](cr) – успешно».
Посылка:
>@100A[CHK](cr) –
установить выходы № 4 и № 2 в состояние «Включено», а выходы № 3 и
№ 1 – в состояние «Выключено».
Ответ:
>[CHK](cr) – успешно».
Контрольная сумма (CHK) позволяет обнаружить ошибки в командах,
отправленных из ведущего устройства, а также в ответах ведомого. Контрольная
сумма (CHK) передается как коды двух ASCII символов (от 0х00 до 0хFF)
и представляет собой сумму ASCII кодов всех символов посылки не включая
код символа переноса строки. В случае переполнения суммы, старшие
разряды отбрасываются.
ПримечаниеВся информация, содержащаяся в кадре, включая адрес
прибора, данные, CHK и символ перевода строки, передается в ASCII
кодах. Следует обратить внимание, что использование ASCII кодов строчных
латинских символов недопустимо.