Функции Рецептов в панелях оператора и SCADA системах.

   Работа со структурами технологических параметров, чаще именуемых Рецептами (Recipes, Batch control), является важным инструментом автоматизации технологических и производственных процессов. Чем более сложным является автоматизируемый процесс, чем выше гибкость создаваемого оборудование и степень его автоматизации, тем больше требований предъявляется к особенностям реализации и функциям Рецептов. Особенно важны Рецепты при автоматизации таких процессов как приготовление напитков, молочной продукции, строительных смесей, бытовой химии, краски, термообработки материалов (печей) и других.
                                          Производство медикаментов (фармацевтика) схематичноПищевое производство схематично
   Рецепты являются неотъемлемой частью человек-машинного интерфейса и изначально присутствовали в SCADA системах, но с развитием техники стали доступны и в панелях оператора.

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

  Хранение рецептов.

  В первую очередь важно обратить внимание на особенности, связанные с хранение рецептов:
  - Что мы можем хранить в Рецепте:
      a) переменные могут быть только одного формат данных, например, только 16 бит Integer;     
            Один из устаревших методов задания рецептов
      b) переменные могут быть разного формата, но ограничены 32 бит. Например, в одном рецепте могут быть переменные формата long integer и real;
      c) переменные могут быть разного форматов одиночных данных: Bool, Byte, Integer, Long Integer, Real, Double Real, String;
            Рецепты в панелях оператора NS OMRON
      d) переменные входящие в рецепт также могут быть массивами (структурами).
            Формат переменных в HMI ESA

    Понятно, что первые два варианта существенно усложняют работу разработчика и ограничивают возможности системы управления. Они так же демонстрируют ограниченные возможности «железа» и архаичную архитектуру ПО HMI.
    Также важным является возможность создания и работы с несколькими разными по структуре рецептами, например, если с одного HMI ведется работа и с СИП-мойкой, и с непосредственно установкой приготовления напитка или, в случае управления зданием, один рецепт для системы управления отоплением\кондиционированием, другой для управления освещением.

   - Где мы храним Рецепты:
       a) фиксированные области памяти фиксированного объема (характерно для устаревших решений);
       b) динамически выделяемая память, ограниченная долговременным накопителем АРМ (современные решения).
    Фиксированные объемы памяти влияют как количество переменных в рецепте, так и на их количество, что создает проблемы как при разработке проекта, так и при эксплуатации.

   - Как мы храним Рецепты:
       a) процесс сохранения и идентификации рецепта полностью формируется разработчиком обычно при помощи скриптов и формирования интерфейса при помощи полей ввода и кнопок;
       b) процесс сохранения и идентификации рецепта автоматизирован и представлен в виде объекта «Браузера Рецептов» в котором Рецепт сохраняется с именем, с комментарием и фиксируется дата последнего изменения.
    Обычно в этом случае доступны функции загрузки и выгрузки рецептов на внешние носители для хранения и редактирования их в офисных приложениях или системе управления производством. Более современные системы HMI также позволяют производить поиск рецептов по признакам.

    Редактирование рецептов.

    Редактирование рецептов очень тесно связано с технологией, которую нужно автоматизировать. Явное решение представить все переменные в виде списка подходит для не сложных рецептов с небольшим количеством параметров. Для более сложных рецептов, особенно включающих в себя массивы и структуры, необходимо иметь возможность создавать более индивидуальные интерфейсы, включающие в том числе и мнемосхемы – переключение клапанов удобнее задавать нажатием его изображение, а не вводом единицы в поле таблицы.
          ESA рецепт в виде схемы
    Не мало важным при редактировании рецепта и заполнение дополнительной информации о нем: имени рецепта и комментария, желательно на родном языке оператора.  
          

   Загрузка рецептов в управляющие устройства.

    Казалось бы, простая операция - передача данных, какие могут быть особенности?
    Особенность заключается в контроле пакетной передачи данных из панели оператора или ПК со SCADA системой в контроллер или несколько контроллеров, регуляторов и других устройств. Обычно, к сожалению, контроль за передачей данных возложен на стандартный драйвер протокола связи, что может приводить к неприятным последствиям, особенно, если данные распределяются между несколькими устройствами.
    Необходимо, что бы система HMI возвращала данные о ходе процесса загрузки Рецепта (выполняется загрузка данных, данные загружены, данные не загружены\ошибка) для исключения не однозначных ситуаций. 
                                                   Структура системы сбора данных при использовании IPC и web-панелей ESA, коммутаторов и модулей ввода\вывода

    Пример реализации инструмента Рецепты в панелях оператора ESA EW100 и SCADA CREW PC.

    В Рецептах ESA могут использоваться переменные с различным типом данных (Boolean, Char, Byte, Integer, UIteger, Long, ULong, Real, Double (64 bit), String), а также массивы на основе этих типов данных. Стоит обратить внимание, что в свойствах переменных предусмотрена возможность масштабирования и конвертации данных, а также привязка переменной к физической размерности (Units: кг, м, В, А и т.п.), которая будет отображаться в полях ввода.
         Формат переменных в HMI ESA
   В одном проекте может использоваться несколько различных по структуре рецептов c различными типами данных. Память для рецептов выделяется динамически в зависимости от их структуры и типов данных. Созданные рецепты храниться или в внутренней памяти панели оператора (3 Гб), или на жестком диске ПК (IPC) со SCADA CREW PC.
        ESA структура рецепта
   Для отображения и управления сохранёнными рецептами имеется браузер Рецептов (Recipe List).
        ESA браузер (список) рецептов
   Рецепт сохраняется под именем, в том числе написанным и на кириллице, дополнительно можно заполнить комментарий. Время и дата последнего изменения фиксируются автоматически.
   Браузер позволяет производить сортировку рецептов по имени, комментарию и времени изменения, для этого достаточно нажать соответствующий заголовок столбца. Так же возможна фильтрация списка рецепта по заданным признакам: например, наличию сочетания «50 кг» в столбце Комментарий. Для вызова окна фильтрации нужно нажать на заголовок столбца и удерживать его в течении 2 секунд.
   В браузере имеется встроенное редактируемое меню для управления сохраненными рецептами: переименовать рецепт, удалить рецепт, загрузить для редактирования, загрузить в контроллер, импорт и экспорт одиночного рецепта или всех рецептов (csv формат), распечатать на принтер. Так же в место меню можно использовать пользовательские кнопки и назначить им большинство данных функций.
   Доступ к функциям браузера может быть ограничен благодаря системе управления пользователями используемой в HMI ESA.

   Редактор рецепта в представлен в виде стандартного списка параметров, но также есть инструментарий для создания пользовательских форм редактирования рецептов.
        ESA стандартный редактор рецептовESA пользовательский редактор рецептов
                                                
   Контроль загрузки рецепта возможен в 2 вариантах: в виде контрольного слова, привязанного в переменной (например, в контроллере), и в виде системных событий среды HMI.
       ESA события для работы с рецептамиESA контрольное слово управления рецептами

   Дополнительно предусмотрено предварительно создание рецептов непосредственно в проекте.
      ESA создание рецептов в проекте 
   Как видно из краткого описания инструмента Рецептов, используемого в HMI ESA, он соответствует современным требованиям и учитывает будущие тенденции. Дополненный инструментарием Планировщика задач, Управления пользователями, блоками сбора и регистрации данных (History Alarms & Events, DataLog), он превращает панели оператора EW100AA, панельные контроллеры EW100AB\EW100AC и SCADA CREW PC в надежное решение задач Batch Control: последовательных и периодических производственных процессов, в которых одно и то же технологическое оборудование используется для выпуска различных видов и сортов продукции в различной последовательности.