Как обратиться к отдельному биту регистра в PMP20?

Проверено экспертом Опубликовано: 20.07.2026 Обновлено: 27.07.2026 162 просмотра Помогло 95%

В PMP20 есть два встречных механизма: обращение к биту внутри регистра и обращение к группе меркеров как к целому слову. Оба записываются прямо в операнде команды, отдельных инструкций упаковки не требуется.

Бит регистра. Запись вида D0.0 означает младший бит регистра D0, D0.15 — старший. Такой операнд подставляется туда, где ожидается бит: контакт, катушка, условие. Это удобно, когда панель оператора или ведущее устройство пишет в один регистр набор флагов, а программе нужен каждый флаг по отдельности.

Слово из битов. Запись вида DM0 означает слово, собранное из меркеров M0…M15, где M0 — младший бит. Аналогично собираются слова из других битовых областей. Механизм нужен для обратной задачи: набор дискретных признаков надо передать одним регистром в панель или по Modbus.

Что учитывать при использовании:

  • Границы слова считаются от указанного номера, а не от круглого адреса: DM3 — это M3…M18. Пересечение двух таких слов в одной программе даёт трудноуловимые взаимные помехи.
  • Бит регистра и сам регистр — одна и та же память. Если один участок программы пересылает в D0 значение целиком, а другой устанавливает D0.5, порядок выполнения решает всё.
  • В командах смещения значение индекса берётся только из регистра D, поэтому битовые операнды с индексом комбинируют осторожно.

Практика простая: под обмен с панелью выделяют отдельные регистры и работают с их битами, а рабочие флаги логики держат в обычных меркерах.

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

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

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

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

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

Вопрос из раздела Как обратиться к отдельному биту регистра в PMP20?