|
UniSet 2.45.1
|

Директории | |
| tests | |
Файлы | |
| Element.h | |
| LProcessor.h | |
| PassiveLProcessor.h | |
| Schema.h | |
| TA2D.h | |
| TDelay.h | |
Логический процессор работает по принципу PLC-контроллеров, выполняя бесконечный цикл: опрос входов, шаг алгоритма, выставление выходов. Логика формируется из простых элементов: AND, OR, NOT, Delay, A2D, SEL_R, RS.
Схема соединений задаётся XML-файлом. Существуют два варианта процесса:
Пример схемы (schema.xml):
Типы соединений:
PassiveLProcessor предоставляет HTTP API для получения текущего состояния схемы. API доступен по базовому пути /api/v2/{ObjectName}/ (требует сборку без DISABLE_REST_API).
| Путь | Описание |
|---|---|
| schema | Сводка: имя файла схемы, количество элементов/входов/выходов/связей |
| schema/elements | Все элементы с текущими значениями выходов |
| schema/inputs | Внешние входы с привязкой к датчикам |
| schema/outputs | Внешние выходы с привязкой к датчикам |
| schema/connections | Внутренние связи между элементами |
Сводная информация о загруженной схеме.
Список всех элементов схемы с текущим состоянием.
| Поле | Тип | Описание |
|---|---|---|
| id | string | Идентификатор элемента |
| type | string | Тип: OR, AND, NOT, Delay, A2D, SEL_R, RS |
| out | long | Текущее значение выхода |
| inCount | int | Количество входов |
| outCount | int | Количество выходов |
Внешние входы - привязка датчиков к входам элементов.
| Поле | Тип | Описание |
|---|---|---|
| sid | long | ObjectId датчика |
| value | long | Текущее значение датчика |
| elementId | string | ID целевого элемента |
| numInput | int | Номер входа элемента |
Внешние выходы - привязка элементов к выходным датчикам.
| Поле | Тип | Описание |
|---|---|---|
| sid | long | ObjectId выходного датчика |
| elementId | string | ID элемента-источника |
| outputValue | long | Текущее значение выхода элемента |
Внутренние связи между элементами.
| Поле | Тип | Описание |
|---|---|---|
| from | string | ID элемента-источника |
| to | string | ID элемента-приёмника |
| toInput | int | Номер входа приёмника |
HTTP API возвращает "best-effort snapshot" текущего состояния. Значения элементов (out, value, outputValue) читаются без блокировок и могут быть неконсистентны между собой в рамках одного ответа.