Работа со структурами технологических параметров, чаще именуемых Рецептами (Recipes, Batch control), является важным инструментом автоматизации технологических и производственных процессов. Чем более сложным является автоматизируемый процесс, чем выше гибкость создаваемого оборудование и степень его автоматизации, тем больше требований предъявляется к особенностям реализации и функциям Рецептов. Особенно важны Рецепты при автоматизации таких процессов как приготовление напитков, молочной продукции, строительных смесей, бытовой химии, краски, термообработки материалов (печей) и других.
Рецепты являются неотъемлемой частью человек-машинного интерфейса и изначально присутствовали в SCADA системах, но с развитием техники стали доступны и в панелях оператора.
Рассмотрим различные подходы к реализации Рецептов. В основе инструмента Рецептов лежит возможность хранить, редактировать и загружать несколько наборов параметров работы в контроллер по выбору оператора или по реакции самой системы управления (например, по расписанию).
Хранение рецептов
В первую очередь важно обратить внимание на особенности, связанные с хранение рецептов: - Что мы можем хранить в Рецепте:
a) переменные могут быть только одного формат данных, например, только 16 бит Integer;
b) переменные могут быть разного формата, но ограничены 32 бит. Например, в одном рецепте могут быть переменные формата long integer и real;
c) переменные могут быть разного форматов одиночных данных: Bool, Byte, Integer, Long Integer, Real, Double Real, String;
d) переменные входящие в рецепт также могут быть массивами (структурами).
Понятно, что первые два варианта существенно усложняют работу разработчика и ограничивают возможности системы управления. Они так же демонстрируют ограниченные возможности «железа» и архаичную архитектуру ПО HMI.
Также важным является возможность создания и работы с несколькими разными по структуре рецептами, например, если с одного HMI ведется работа и с СИП-мойкой, и с непосредственно установкой приготовления напитка или, в случае управления зданием, один рецепт для системы управления отоплением или кондиционированием, другой для управления освещением.
- Где мы храним Рецепты:
a) фиксированные области памяти фиксированного объема (характерно для устаревших решений);
b) динамически выделяемая память, ограниченная долговременным накопителем АРМ (современные решения).
Фиксированные объемы памяти влияют как количество переменных в рецепте, так и на количество самих рецептов, что создает проблемы как при разработке проекта, так и при эксплуатации.
- Как мы храним Рецепты:
a) процесс сохранения и идентификации рецепта полностью формируется разработчиком обычно при помощи скриптов и формирования интерфейса при помощи полей ввода и кнопок;
b) процесс сохранения и идентификации рецепта автоматизирован и представлен в виде объекта «Браузера Рецептов» в котором каждый Рецепт сохраняется с именем, с комментарием и фиксируется дата последнего изменения.
Обычно в этом случае доступны функции загрузки и выгрузки рецептов на внешние носители для хранения и редактирования их в офисных приложениях или системе управления производством. Более современные системы HMI также позволяют производить поиск рецептов по признакам.
Редактирование рецептов
Редактирование рецептов очень тесно связано с технологией, которую нужно автоматизировать. Явное решение представить все переменные в виде списка подходит для не сложных рецептов с небольшим количеством параметров. Для более сложных рецептов, особенно включающих в себя массивы и структуры, необходимо иметь возможность создавать более индивидуальные интерфейсы, включающие в том числе и мнемосхемы – переключение клапанов удобнее задавать нажатием его изображение, а не вводом единицы в поле таблицы.
Не мало важным при редактировании рецепта и заполнение дополнительной информации о нем: имени рецепта и комментария, желательно на родном языке оператора.
Загрузка рецептов в управляющие устройства
Казалось бы, простая операция - передача данных, какие могут быть особенности?
Особенность заключается в контроле пакетной передачи данных из панели оператора или ПК со SCADA системой в контроллер или несколько контроллеров, регуляторов и других устройств. Обычно, к сожалению, контроль за передачей данных возложен на стандартный драйвер протокола связи, что может приводить к неприятным последствиям, особенно, если данные распределяются между несколькими устройствами.
Необходимо, что бы система HMI возвращала данные о ходе процесса загрузки Рецепта (выполняется загрузка данных, данные загружены, данные не загружены\ошибка) для исключения не однозначных ситуаций.
В Рецептах ESA могут использоваться переменные с различным типом данных (Boolean, Char, Byte, Integer, UIteger, Long, ULong, Real, Double (64 bit), String), а также массивы на основе этих типов данных. Стоит обратить внимание, что в свойствах переменных предусмотрена возможность масштабирования и конвертации данных, а также привязка переменной к физической размерности (Units: кг, м, В, А и т.п.), которая будет отображаться в полях ввода.
В одном проекте может использоваться несколько различных по структуре рецептов c различными типами данных. Память для рецептов выделяется динамически в зависимости от их структуры и типов данных. Созданные рецепты храниться или в внутренней памяти панели оператора (3 Гб), или на жестком диске ПК (IPC) со SCADA CREW PC.
Для отображения и управления сохранёнными рецептами имеется браузер Рецептов (Recipe List).
Рецепт сохраняется под именем, в том числе написанным и на кириллице, дополнительно можно заполнить комментарий. Время и дата последнего изменения фиксируются автоматически.
Браузер позволяет производить сортировку рецептов по имени, комментарию и времени изменения, для этого достаточно нажать соответствующий заголовок столбца. Так же возможна фильтрация списка рецепта по заданным признакам: например, наличию сочетания «50 кг» в столбце Комментарий. Для вызова окна фильтрации нужно нажать на заголовок столбца и удерживать его в течении 2 секунд.
В браузере имеется встроенное редактируемое меню для управления сохраненными рецептами: переименовать рецепт, удалить рецепт, загрузить для редактирования, загрузить в контроллер, импорт и экспорт одиночного рецепта или всех рецептов (csv формат), распечатать на принтер. Так же в место меню можно использовать пользовательские кнопки и назначить им большинство данных функций.
Доступ к функциям браузера может быть ограничен благодаря системе управления пользователями используемой в HMI ESA.
Редактор рецепта в представлен в виде стандартного списка параметров, но также есть инструментарий для создания пользовательских форм редактирования рецептов.
Контроль загрузки рецепта возможен в 2 вариантах: в виде контрольного слова, привязанного в переменной (например, в контроллере), и в виде системных событий среды HMI.
Дополнительно предусмотрено предварительно создание рецептов непосредственно в проекте.
Как видно из краткого описания инструмента Рецептов, используемого в HMI ESA, он соответствует современным требованиям и учитывает будущие тенденции. Дополненный инструментарием Планировщика задач, Управления пользователями, блоками сбора и регистрации данных (History Alarms & Events, DataLog), он превращает панели оператора EW100AA, панельные контроллеры EW100AB\EW100AC и SCADA CREW PC в надежное решение задач Batch Control: последовательных и периодических производственных процессов, в которых одно и то же технологическое оборудование используется для выпуска различных видов и сортов продукции в различной последовательности.