Как в PMP20 закодировать формат кадра в настройках порта?

Проверено экспертом Опубликовано: 26.08.2024 3477 просмотров Помогло 88%

Длина данных, чётность и стоповый бит задаются одним регистром: это не три отдельные настройки, а три битовых поля внутри одного слова. При настройке порта из программы формат кадра записывается в четвёртый регистр блока.

Разбор полей:

  • Биты 7 и 6 — стоповый бит. 00 — один стоповый бит, 01 — полтора, 10 — два.
  • Биты 5, 4 и 3 — контроль чётности. 000 — контроля нет, 001 — контроль по нечётности, 010 — по чётности, 100 — режим маски. Комбинация 011 не задействована.
  • Биты 2, 1 и 0 — длина данных. 000 — 5 бит, 001 — 6, 010 — 7, 011 — 8, 100 — 9.

Собирать значение удобнее в двоичном виде и записывать двоичной константой: привычный формат «8 бит данных, контроль по чётности, один стоповый бит» — это 000 для стопового поля, 010 для чётности и 011 для длины.

Заводская настройка порта именно такая: 8 бит данных, контроль чётности включён, один стоповый бит, скорость 19200 бит/с, номер станции 1. С ней же по умолчанию соединяется среда программирования.

Практический смысл битовых полей — совместимость с чужими приборами. Расходомеры и весовые терминалы часто требуют формата без контроля чётности и с двумя стоповыми битами; в паспорте такого прибора он записан как «8N2», и в регистр формата это переводится напрямую: поле стопа 10, поле чётности 000, поле длины 011.

Ошибка в поле чётности проявляется не тайм-аутом, а ошибками контрольной суммы: кадр доходит, но контроллер считает его повреждённым.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Как в PMP20 закодировать формат кадра в настройках порта?