Какие счётчики PMP20 можно сделать 32-битными?
Разрядность счётчика определяется не его номером, а командой, но диапазон номеров, в котором доступен 32-битный счёт, ограничен: это C0…C575 среди обычных счётчиков и HC0…HC95 среди энергонезависимых. Остальные номера остаются 16-битными.
Что из этого следует при распределении ресурсов:
- 32-битный счётчик занимает два соседних регистра, поэтому его номер должен быть чётным: C0, C2, C4. Нечётный номер уже занят старшим словом предыдущего счётчика, и объявление двух счётчиков подряд — C0 и C1 — приведёт к порче значения.
- Диапазон значений у 16-битного счётчика от −32 768 до 32 767, у 32-битного — от −2 147 483 648 до 2 147 483 647. Счёт продукции за смену в штуках укладывается в 16 бит, счёт импульсов расходомера — редко.
- Команды разные:
CNTиCNT_Dработают с 16 битами вверх и вниз,DCNTиDCNT_D— с 32 битами. Сброс тоже парный:RSTдля 16 бит,DRSTдля 32.
Полезная особенность: значение любого счётчика доступно и как регистр. Обращение к C0 как к битовому признаку даёт состояние «уставка достигнута», а обращение к CD0 — текущее число подсчитанных импульсов. Это один и тот же счётчик, просто две стороны: признак и значение. Для 32-битного счётчика значение читается двухсловной командой пересылки.
Планировать номера удобнее сразу: чётные номера отдать 32-битным счётчикам, а всё, что заведомо укладывается в 16 бит, размещать выше границы 575.
Прикреплённая документация
Георгий Жуков
Ведущий инженер