Пример 1: ТРМ101 - управление бойлером(на основе универсального базового компонента)
Задача: Реализовать систему авт. управления(САУ) накопительным электро-бойлером, с парой ТЕН(слабой и мощной).

В качестве основы САУ можно было-бы использовать ТРМ101 имеющий один аналоговый(датчик температуры), один дискретный вход(датчик протока) и два дискретных выхода(ТЭНы).

В качестве базового компонента - "простой регулятор температуры с таймером" содержащий:

Параметры:
sensor_type - тип датчика
filter_passband - полоса пропускания фильтра
additional_screen_mode - режим дополнительного индикатора
... и т.д.
timeout - параметр таймера

Входы-выходы:
temperature - значение датчика температуры
set_temperature - заданная пользователем температура
switch closed/open - дискретный вход
on/off Q1 - первый дискретный выход
on/off Q2 - втрой дискретный выход

Дополнительные функции:
start/stop timer - управление таймером.
time_is_up - событие: "время вышло"

Программа выглядела бы примерно так:
Код:
     simple_temperature_controller_with_timer                  //Заглавие 
     Parametrs:
       sensor_type = THK
       timeout = 60 min                                        //Задержка до перехода в режим ожыдания
     In-Out:
       temperature: boilerT
       set_temperature: setT
       switch: flow_sensor 
       Q1: powerfulHE
       Q2: faintHE
     Definitions:
       mode = stand-by/work                                    //Переменная
       off_all() = off faintHE and off powerfulHE              //Функция
     Program:
       //Управление режимом ожедание/работа
       mode := work and stop timer if flow_sensor has closed   //Прейти в режим "работа" и остановить таймер если датчик протока замкнулся.
       start timer if flow_sensor has open                     //Запустить таймер если датчик протока разомкнулся.
       mode := stand-by if time_is_up                          //Перейти в режим "ожидание" если время вышло.
       //Управление ТЕНами
       on  faintHE    if mode = work and boilerT < (setT - 1)  //Включить слабую ТЭНу если режим - работа и температура в бойлере меньше на градус чем заданная.
       off faintHE    if mode = work and boilerT > (setT + 2)  //Отключить слабую ТЭНу если режим - работа и температура в бойлере превысила на два градуса заданную.
       on  powerfulHE if mode = work and boilerT < (setT - 3)  //Включить сильную ТЭНу если режим - работа и температура в бойлере меньше на три градуса чем заданная.
       off powerfulHE if mode = work and boilerT > setT        //Отключить сильную ТЭНу если режим - работа и температура в бойлере больше заданной.
       off_all if mode has stand-by                            //Отключить обе ТЭНы если был выполнен переход в спящий режим.

Пример 2: программируемое реле(ПР) - управление деаэратором(на основе специализированого базового компонента)
(!)На ПР нету аналоговых входов, но здесь допустим что есть(лично я надеюсь когда ни будь появятся ).

Задача: Реализовать САУ управления деаэратором с аварийной сигнализацией(деаэратор это такая бочка с водой хитрой конструкции, где нужно поддерживать температуру 102-107*С и уровень 80-90%). Д. подогревается паром и, обычно давление пара используют для регулирования температуры, т.к. эти параметры взаимозависимы, но стабильное давление поддерживать проще(ввиду малой инерции параметра).

В качестве основы САУ можно было-бы использовать ПР имеющий три аналоговых входа(температура, давление пара и уровень), один дискретный(кнопка сброса аварии) и пять дискретных выходов(открыть-закрыть регулятор подачи воды, открыть-закрыть для пара и сигнал "авария").

В качестве базового компонента - "контроллер деаэратора". Этот компонент уже содержит измеритель температуры и пару ПИД-регуляторов заточенных для управления деаэратором, остаётся только задать параметры и реализовать логику аварийной сигнализации:
Код:
     deaerator_cottroller                                                             //Заглавие 
     Parametrs:
       level_sensor_type = 4_20                                                        
       pressure_sensor_type = 4_20                                                     
       tank_volume = 3                                                                
       level_valve_stroke_time = 60                                                    
       pressure_valve_stroke_time = 90                                                
       level_increase_speed = 0.03                                                    
       pressure_increase_speed = 0.2                                                  
     In-Out:
       reset closed/open                                                              //Добавление одного дискретного входа
       on/of alarm                                                                    //и одного д. вызода.
     Program:
       on alarm if temperature < 102 or temperature > 107 or level < 80 or level > 90 //Включить тревожный выход если какой-то параметр вне допустимого диапазона.
       off alarm if reset has closed                                                  //Выключить если был замкнут вход "сброс".
Так как у ПР(в отличии от локальных регуляторов) входы-выходы не специализированы, дополнительно(в OWEN Logic) нужно будет связать их с входами-выходами готового компонента(программы).


PS
Идея очень сырая, но надеюсь, общий смысл будет понятен, если нет спрашивайте.
Как вы(коллеги и разработчики ОВЕН) считаете, нужна ли подобная фича? Если нет/да почему?
Спасибо.