Как адресуются области памяти PMP20 в драйвере панели оператора?
При работе через фирменный драйвер панель обращается к памяти контроллера не по адресам протокола обмена, а по именам программных компонентов — тем же самым, что используются в программе. Это заметно упрощает проект: карта адресов не нужна вовсе.
Битовые области: входы и выходы, внутренние меркеры, указатели состояния, системные меркеры, таймеры, счётчики, точные таймеры, семафоры блоков и энергонезависимые аналоги перечисленного. Словные области: регистры данных, аналоговые входы и выходы, системные регистры, значения таймеров и счётчиков, энергонезависимые регистры, регистры внутренней флеш-памяти и специальный регистр безопасности.
Как адресуются модули расширения. Обозначение области дополняется цифрой, которая указывает, где стоит модуль: единица — правый модуль расширения, двойка — верхняя плата, тройка — левая плата. Дальше идёт номер канала. Правило одинаково работает и для дискретных входов-выходов, и для аналоговых.
Диапазоны в драйвере заданы с большим запасом: для дискретных областей это восьмеричная запись, для остальных — десятичная. Реальный предел определяется не драйвером, а самим контроллером и составом системы расширения.
Важное предупреждение из руководства: при обновлении версии программного обеспечения панели диапазоны адресов протокола частично меняются, и действительными следует считать те, что показаны в самой среде разработки, а не в документации. Поэтому после обновления среды пробегитесь по объектам проекта, обращающимся к дальним адресам.
Если панель работает через универсальный драйвер протокола обмена, а не через фирменный, вместо имён компонентов придётся подставлять числовые адреса из таблицы протокола.
Прикреплённая документация
Георгий Жуков
Ведущий инженер