Skip to content

MapCreator

Данный материал описывает внешний модуль MapCreator — генератор Modbus-карты.

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

Внешний модуль MapCreator (библиотека StandardModules.dll) строит Modbus-карту по выбранным инстансам ПЛК.

Адреса в карте рассчитываются по алгоритму из модели ПЛК и OBJTYPE — см. Алгоритм присвоения адресов Modbus. Настройка «Использовать округление в адресах» соответствует опции «Округление при адресации» в ПЛК Конфигураторе.

Модуль не изменяет проект DevStudio — он формирует карту в памяти Uniplant Atomix и (по настройке) сохраняет её в CSV.

Внешний вид модуля в Uniplant Atomix

Section titled “Внешний вид модуля в Uniplant Atomix”

Внешний вид модуля MapCreator в Uniplant Atomix

Карточка внешнего модуля «MapCreator» в Uniplant Atomix

Перед первым запуском модуль инициализируется по текущей модели ПЛК (PlcOptionsModel).

Перед каждым следующим запуском, если предыдущий прогон завершился с ошибкой или система запросила перезагрузку данных, настройки ПЛК и внутреннее состояние модуля перечитываются заново.

Алгоритм работы при вызове из цепочки генерации

Section titled “Алгоритм работы при вызове из цепочки генерации”
  1. Проверяется, что задан контекст парсера модели ПЛК. Если нет — модуль останавливается с сообщением в логе.
  2. Проверяется инициализация настроек. При ошибке модуль останавливается.
  3. Если пересчёт не требуется (предыдущий успешный прогон ещё актуален) — модуль не пересобирает карту и отдаёт результат прошлого запуска. Это ускоряет повторную генерацию зависимых модулей.
  4. Иначе:
    • загружаются обновлённые инстансы ПЛК;
    • выполняется построение карты с учётом настройки «Использовать округление в адресах»;
    • при включённой настройке «Сохранять карту адресов в CSV» карта выгружается в файл (см. ниже);
    • готовая карта становится доступной для других модулей в цепочке генерации.

Сохранение CSV (опционально)

Section titled “Сохранение CSV (опционально)”

Шаг выполняется только при включённой галке «Сохранять карту адресов в CSV».

СитуацияПоведение
Путь для сохранения не заданПредупреждение в логе, CSV не создаётся
Путь заданВ указанную папку сохраняется файл ModbusMap.csv

Результат работы модуля

Section titled “Результат работы модуля”

После успешного запуска в Uniplant Atomix доступны:

  • Modbus-карта — список моделей адресов Modbus;
  • модели карты — внутреннее представление для расчётов;
  • калькулятор адресов — для согласования адресов с другими модулями;
  • узлы карты — формируются по запросу зависимых модулей (например, при догенерации данных для Unimod).

Сам MapCreator эти узлы по умолчанию не заполняет — это делают модули, которые используют его результат.

ПараметрПо умолчаниюНазначение
Использовать округление в адресахвключеноВыравнивание адресов при построении карты
Сохранять карту адресов в CSVвыключеноВыгрузка ModbusMap.csv после построения
Путь для сохранения CSV карты адресовПапка для ModbusMap.csv; учитывается только при включённой предыдущей галке

Модули, которые вызывают MapCreator

Section titled “Модули, которые вызывают MapCreator”

Примеры внешних модулей, в цепочке которых участвует MapCreator:

Точный перечень зависимых модулей зависит от конфигурации проекта и подключённых библиотек; актуальный список виден в окне «Настройка ExternalModules» для StandardModules.dll.