UniSet  2.6.0
Логический процессор
@section sec_lpCommon Общее описание
    Логический процессор представляет из себя процесс, который работает по принципу
PLC-контроллеров, выполняя бесконечный цикл:
@code 
    1. опрос входов
    2. шаг алгоритма
    3. выставление выходов
\endcode

    При этом "логика" формируется из простых логических элементов:

-# \b "И" \b (AND)
-# \b "ИЛИ" \b (OR)
-# \b "Задержка" \b (Delay)
-# \b "Отрицание" \b (NOT)

@section sec_lpShema Конфигурирование
    Конфигурирование процесса осуществляется при помощи xml-файла задающего
"схему соединения" элементов. Например
@code 

<Schema>

<text-view>

1 –| | 2 –|TOR1|—| 1 --— | | |-—| | -— 2 | |–| |-—|TAND3| | -— | | | | | | | --— | 1 –|TOR2| | | 1 -— ----— 2 –| |— | -— —| | | | out | | | 1 | | 2 |TOR5|--—| Delay |-— -— |—|TOR4|--—| | | | 2 -—| | | | | |


</text-view> <elements> </elements>

<connections> </connections> </Schema>

Блок \b <elements> содержит список элементов участвующих в "логике", каждому из

которых присвоен уникальный id, а также характеристики каждого элемента. В секции <connections> задаютcя собственно соединения.

Тэги:
  • type="ext" - Соединение связанное с внешним датчиком, задаваемым по имени.
  • type="int" - Внутреннее соединение элементов между собой.
  • type="out" - Замыкание на "внешний" датчик.
  • from=".." - задаёт идентификатор элемента ("откуда"). Для type="ext", сюда пишется ID датчика.
  • to=".." - задаёт идентификатор элемента("куда"), к которому происходит подключение.
  • toInput=".." - В качестве значения указывается номер "входа" элемента на который подаётся "сигнал".

В текущей реализации в качестве датчиков разрешено использовать только типы DO или DI.

Заметки
Следует иметь ввиду, что схема не обязательно должна быть "СВЯЗАННОЙ" (все элементы связанны между собой). В файле может содержаться несколько схем внтури тэга <Schema>. Логика исполняется в порядке следования в файле, сверху вниз (в порядке считывания из файла).