Самопрограммируемый интерфейс

В данной статье разъясню создание самопрограммируемого интерфейса (параметрическое программирование), на основе проекта модернизации программного обеспечения для контраварийной площадки ДПС (см. перечень сданных объектов).

Self_programm_interface.jpg

Self_programm_interface1.jpg


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

Техническое задание

Мы видим действия, условия перехода, определенные шаги – то концептуальное решение, которое нужно выполнить. Сама программа может начать выполняться при нажатии на кнопку «Старт», может встать на паузу, может быть и свернута/завершена, не дойдя до конечного цикла.

Техническое задание

Техническое задание содержит определенные требования по визуализации, – оператор должен видеть, на каком шаге находится процедура. Кроме того, у оператора должна быть возможность вести с программой диалог «вопрос-ответ». Отвечая на вопросы диалога, он выбирает определенное действие или определенные условия.

Все вышеуказанные требования были реализованы на панели TP1900 Comfort. Создан набор из 26 программ, которые позволяют выбирать, корректировать, редактировать, переименовывать, сохранять, просматривать, выполнять.
Программа реализует человеко-машинный интерфейс подобно самостоятельному набору рычагов у шарманки (механический музыкальный инструмент), то есть задан циклический программный барабан. Оператор, выбирая из списка доступных условий и действий, подобно выбору ударных молоточков, назначает необходимые условия и действия оборудования. После того как барабан начинает крутиться, программа выполняет соответствующие действия (реализация рецептов).

Метод шарманки

Метод шарманки

Оператор выбирает из доступных условий таймер, назначает определенное количество секунд, выбирает условие следующего шага, например, пересечение линии «Старт». Далее, выбирает «Включение линии преград 1». Отвечает на вопрос (выбирает) включить или выключить устройство. Если выбрано «Включить», то в этом случае уже запрограммировано конкретное действие по включению насоса. То есть оператор ввел определенную последовательность действий, начнет выполняться после нажатия на кнопку «Старт».

Самопрограммируемый интерфейс

Самопрограммируемый интерфейс

Когда начинается работа процедуры, мы видим обратный отсчёт таймера – заливка поля пропорционально убывает, регистрируется убывающий отсчет в секундах. После окончания данного условия выполняется следующий шаг – эмуляция пересечения линии «Старт». Затем включается линия водных преград. Программа закончит свои действия когда выполнятся все запрограммированные оператором шаги. Все остальные (не выбранные) пустые шаги не выполняются (пропускаются). После выполнения заданной последовательности действий процедура становится в состояние «Стоп». Мы можем отсюда либо заново начать выполнять данную процедуру, либо выбрать другую процедуру, чтобы у нас появилась возможность выбора другого процесса.

Попробую разъяснить, как вообще всё это реализуется. У нас имеется оборудование Siemens, а именно контроллер S7-300 и панель визуализации TP1900 Comfort. Контроллер запрограммирован на программном обеспечении STEP7. В проекте исходный код по большей части написан на паскалеобразном языке SCL (в других программах называется ST).

SCL

SCL(структурированный текст)

При работе с SCL в STEP7 имеют место определённые нюансы (подвисания программы), но мы их обходим, используя Windows Task Manager. Программный код стараемся выполнять с комментариями, что позволяет делать программный продукт наследуемым для других пользователей, поскольку считаем это правильным стилем при производстве программ для АСУ ТП. Далее мы используем программный автомат состояний, оперируя которым мы заполняем по индексу необходимые массивы. Это нам нужно для реализации процедур. Скрипты (алгоритмы TIA Portal) выглядят следующим образом.

Скрипты TIA Portal

Скрипты TIA Portal

Данные скрипты нужны для реализации каждого выбранного поля, то есть в них заложены определенные свойства, которые, в зависимости от кода ПЛК, выводят необходимый текст в поле мнемосхемы.

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

Моя роль в данной задаче состояла в постановке задачи и приемке технического решения.


#Самопрограммируемый, #интерфейс, #Сименс, #Комфорт, #TP1900, #рецепты, #алгоритм

English version
Если Вы не нашли то, что искали, сообщите об этом в комментарии

Оставьте первый комментарий

Ваш комментарий добавлен


Возврат к списку