Что такое буферные цифры порта PMP20 и где они хранятся?
Буферные цифры определяют разрядность ячейки приёмного буфера порта: 0 — восемь бит на ячейку, 1 — шестнадцать. Настройка касается связи в свободном формате, где принятые байты складываются в регистры программы, и от неё зависит, как разложится принятый поток.
Хранятся эти настройки не в блоке параметров порта, а в отдельных системных flash-регистрах, по одному на порт:
| Порт | Регистр |
|---|---|
| COM1 | SFD600 |
| COM2 | SFD610 |
| COM3 | SFD620 |
| COM4 | SFD630 |
| COM5 | SFD640 |
Важная особенность: командами чтения и записи настроек порта эти регистры не обслуживаются. Через CFGCR буферные цифры не читаются, и менять их надо прямой записью в системный flash-регистр.
Отсюда два следствия для программы. Первое: запись выполняется только по нарастающему фронту условия, как и для любых flash-регистров, — ресурс памяти порядка миллиона записей, и каждая запись стирает блок целиком. Второе: как и все системные flash-регистры, буферные цифры вступают в силу после выключения и повторного включения питания контроллера, а не сразу.
Когда настройка нужна. Восьмибитный режим — обычный случай: каждый принятый байт занимает младший байт своего регистра, разбор строки прибора идёт побайтно. Шестнадцатибитный режим экономит регистры при приёме длинных посылок, но требует, чтобы программа сама разделяла старший и младший байты. При обмене по Modbus эту настройку трогать не нужно — формат кадра там задан протоколом.
Прикреплённая документация
Георгий Жуков
Ведущий инженер