Home - GerasimGerasimov/Tagger GitHub Wiki

Tagger

Tagger от слова tag (тег). Он знает всё о хостах, протоколах, привязке тегов параметров к регистрам

Как это работает?

Конфигурация довольно статична, в 100% наших случаев, мы взаимодействуем с заранее сконфигурированным оборудованием рассаженным по заранее известным физическим интерфейсам. Поэтому:

  1. В папке HOSTS лежат папки с названиями-именами (любое человеко-читаемое) хостов с которыми будет взаимодействовать Tagger. Имена хостов будут участвовать в тегах на первом месте.
  2. В папке хоста лежат:
    1. Файл config.json где указано:
      • какой физический интерфейс используется (COM или HTTP), и его настройки;
      • каким HTTP-портом и URL (не обязательно localhost:port) будет представлен интерфейс в системе (для поднятия сервиса Serial, например);
      • какие устройства (указаны имена ini-файлов, без ini) сидят на этом интерфейсе;
        • ini загружается полностью, поэтому Tagger знает всё о параметрах и их адресах;
        • по какому протоколу общается устройство (для перекодировки тегов в команды полевой шины и обратно с контролем соблюдения протокола)
        • какой адрес в сети занимает устройство
        • какой диапазон регистров читать (в последствии надо контролировать входит ли тег в диапазон) и с какой периодичностью, для организации очереди запросов в сервисе SlotsService;
    2. ini-файлы устройств подключенных к хосту. Если несколько одинаковых устройств, то достаточно одного ini-файла, значит нужен механизм, который не позволяет повторно парсить одинаковые ini-файлы