MapCreator
Данный материал описывает внешний модуль MapCreator — генератор Modbus-карты.
Ожидаемый результат: пользователь понимает роль модуля в цепочке генерации, какие настройки влияют на результат и зачем карта нужна другим модулям.
Введение
Section titled “Введение”Внешний модуль MapCreator (библиотека StandardModules.dll) строит Modbus-карту по выбранным инстансам ПЛК.
Адреса в карте рассчитываются по алгоритму из модели ПЛК и OBJTYPE — см. Алгоритм присвоения адресов Modbus. Настройка «Использовать округление в адресах» соответствует опции «Округление при адресации» в ПЛК Конфигураторе.
Модуль не изменяет проект DevStudio — он формирует карту в памяти Uniplant Atomix и (по настройке) сохраняет её в CSV.
Внешний вид модуля в Uniplant Atomix
Section titled “Внешний вид модуля в Uniplant Atomix”
Карточка внешнего модуля «MapCreator» в Uniplant Atomix
Как работает модуль
Section titled “Как работает модуль”Подготовка к работе
Section titled “Подготовка к работе”Перед первым запуском модуль инициализируется по текущей модели ПЛК (PlcOptionsModel).
Перед каждым следующим запуском, если предыдущий прогон завершился с ошибкой или система запросила перезагрузку данных, настройки ПЛК и внутреннее состояние модуля перечитываются заново.
Алгоритм работы при вызове из цепочки генерации
Section titled “Алгоритм работы при вызове из цепочки генерации”- Проверяется, что задан контекст парсера модели ПЛК. Если нет — модуль останавливается с сообщением в логе.
- Проверяется инициализация настроек. При ошибке модуль останавливается.
- Если пересчёт не требуется (предыдущий успешный прогон ещё актуален) — модуль не пересобирает карту и отдаёт результат прошлого запуска. Это ускоряет повторную генерацию зависимых модулей.
- Иначе:
- загружаются обновлённые инстансы ПЛК;
- выполняется построение карты с учётом настройки «Использовать округление в адресах»;
- при включённой настройке «Сохранять карту адресов в CSV» карта выгружается в файл (см. ниже);
- готовая карта становится доступной для других модулей в цепочке генерации.
Сохранение CSV (опционально)
Section titled “Сохранение CSV (опционально)”Шаг выполняется только при включённой галке «Сохранять карту адресов в CSV».
| Ситуация | Поведение |
|---|---|
| Путь для сохранения не задан | Предупреждение в логе, CSV не создаётся |
| Путь задан | В указанную папку сохраняется файл ModbusMap.csv |
Результат работы модуля
Section titled “Результат работы модуля”После успешного запуска в Uniplant Atomix доступны:
- Modbus-карта — список моделей адресов Modbus;
- модели карты — внутреннее представление для расчётов;
- калькулятор адресов — для согласования адресов с другими модулями;
- узлы карты — формируются по запросу зависимых модулей (например, при догенерации данных для Unimod).
Сам MapCreator эти узлы по умолчанию не заполняет — это делают модули, которые используют его результат.
Настройки модуля
Section titled “Настройки модуля”| Параметр | По умолчанию | Назначение |
|---|---|---|
| Использовать округление в адресах | включено | Выравнивание адресов при построении карты |
| Сохранять карту адресов в CSV | выключено | Выгрузка ModbusMap.csv после построения |
| Путь для сохранения CSV карты адресов | — | Папка для ModbusMap.csv; учитывается только при включённой предыдущей галке |
Модули, которые вызывают MapCreator
Section titled “Модули, которые вызывают MapCreator”Примеры внешних модулей, в цепочке которых участвует MapCreator:
Точный перечень зависимых модулей зависит от конфигурации проекта и подключённых библиотек; актуальный список виден в окне «Настройка ExternalModules» для StandardModules.dll.
Связанные разделы
Section titled “Связанные разделы”- Внешние модули — обзор внешних модулей Uniplant Atomix
- Внутренние модули — встроенные модули, которые также могут инициировать цепочку генерации
- Генерация Modbus обвязки для ПЛК