Перейти к содержанию

RapidaDO🔗

Чтение/Запись данных модуля "Digital Output" - модуля цифровых выходов, значения на выходах дискретные значения - 'true/false'.

Топик чтения/записи🔗

Spread/{Topic_Type}/{Project_ID}/Hardware/RapidaDO/{MANAGER_ID}/RapidaDOChannel/{PROVIDER_ID}/{FUnit}

Параметры топика🔗

Параметр Значение
Topic_Type
  • Значение State — используется в запросах подписки (subscribe) для чтения значений выходов модуля.
  • Значение Set — для записи значений выходов модуля.
Project_ID ID проекта AWADA.
MANAGER_ID ID менеджера (модуля цифровых входов).
RapidaDOChannel ID провайдера RapidaDOChannel - объекта, реализующего интерфейс работы с выходами модуля цифровых дискретных выходов.
Property Свойство, текущий статус которого необходимо прочесть/записать. Возможные параметры:
  • channel — номер входа [1..8].
  • engineryUnits — список объектов-параметров (функциональных единиц).
    • name — имя параметра (функциональной единицы - FUnit).
    • reader — объект для наделения параметра функционалом State (чтение).
      • conversion - функция преобразования значения на выходе [0 - низкий уровень, 1 - высокий уровень, 2 - выход перегружен] в некоторое значение для публикации. Имеет вид выражения lambda функции python, относительно переменной x, сответствующей значеним на выбранном выходе модуля
    • writer — объект для наделения параметра функционалом Set(запись).
      • conversion - функция преобразования значения, переданного командой Set, в значение [true, false] для установки. Имеет вид выражения lambda функции python, относительно переменной x, сответствующей значеним на выбранном выходе модуля.

Примеры значений свойства 'reader conversion'🔗

   "bool(x)" - преобразование значения в логическое [true, false].
   "None if x == 2 else bool(x)" - условное преобразование.
   "{0: 'Off', 1: 'On', 2: 'Error'}[x]" - выбор соответствующего значения из словаря.

Примеры значений свойства 'writer conversion'🔗

   "{'On': True, 'Off': False}[x]" - выбор соответствующего значения из словаря.

Особенности работы:🔗

Установка состояния на цифровом выходе происходит без записи во флеш память.

При некорректной функции преобразования conversion у reader/writer или при ошибке во время преобразования, состояние/команда будет проигнорирована и значение в брокере не изменится. В логе менеджера будет ошибка "Convertion error".