- •Федеральное агентство по образованию
- •Введение
- •1 Описание объекта информатизации
- •Назначение технологического агрегата
- •1.2 Основные конструктивные характеристики
- •2.3 Температура футеровки
- •2.4 Состав отходящих газов
- •1.3 Технологические параметры
- •2 Техническое обоснование контроля параметров технологического процесса
- •2.1 Расход топлива и воздуха
- •2.2 Давление воздуха
- •3 Выбор измерительных преобразователей и микропроцессорной техники
- •3.1 Измерение расхода
- •3.1.1 Измерение расхода мазута
- •3.1.2 Измерение расхода воздуха
- •3.2 Измерение давления
- •3.3 Измерение температуры
- •3.4 Измерение состава отходящих газов
- •3.5 Программируемый логический контроллер
- •3.6 Описание схемы сбора технологической информации
- •4 Описание программного продукта
- •4.1 Назначение программного продукта
- •4.2 Описание среды разработки программыWinCCv6.0
- •4.3 Основные этапы создания программного продукта
- •4.4 Структура и функции программного продукта
- •Заключение
- •Список литературы
- •Приложение а Структурная схема сбора информации
4.3 Основные этапы создания программного продукта
Для редактирования проекта WinCCиспользуется программа “WinCCExplorer” из которой можно получить доступ к основным редакторамWinCC:
TagManagement– управление тегами процесса
GraphicsDesigner– создание графических экранов для визуализации процесса
AlarmLogging– система архивирования событий (тревог)
TagLogging– система архивирования значений технологических параметров
GlobalScriptEditor– редактор сценариев на языкахAnsiС иVBA
Последовательность действий при создании программы:
1. Определение тегов процесса
В редакторе TagManagementзадаются основные теги процесса, соответствующие контролируемым технологическим параметрам (приведены в таблице 4.1). Для лучшего структурирования, теги СО и О2 объединяются в группу тегов (Gas). На рисунке 4.1 приведен экран редактораTagManagementсо списком созданных тегов.
Таблица 4.1 – Теги процесса
|
Название тега |
Тип данных |
Параметр |
|
Oil_Flow |
Floating point 32-bit |
Расход топлива |
|
Air_Flow |
Floating point 32-bit |
Расход воздуха |
|
Air_Pressure |
Floating point 32-bit |
Давление воздуха |
|
Temp |
Floating point 32-bit |
Температура футеровки |
|
Gas\CO |
Floating point 32-bit |
Содержание СО в отходящих газах |
|
Gas\O2 |
Floating point 32-bit |
Содержание О2в отходящих газах |
2. Настройка системы архивирования тегов
Редактор TagLoggingпозволяет настроить архивирование тегов процесса. В данной программе архивирование тегов производится по таймеру с периодичностью 5 секунд. На рисунке 4.2 представлено окно редактораTagLoggingна этапе настройки параметров архива.

Рисунок 4.1 – Окно редактора TagManagement

Рисунок 4.2 – Настройка системы архивирования тегов
3. Настройка системы сообщений
Настройка системы сообщений (тревог) осуществляется в редакторе AlarmLogging. Для контроля выхода параметров за допустимые пределы используется инструментAnalogAlarm. Для каждого тега задается максимальное и минимальное значение, и определяется номер сообщения.
Редактор AlarmLoggingпозволяет определить, какие текстовые блоки сообщений будут отображаться (дата, время, текст сообщения и т.п.), а также настроить параметры оформления (цвет, шрифт) для разных типов сообщений. В данной программе настроено отображение активных сообщений красным цветом, подтвержденных – желтым цветом, а прошедших – зеленым цветом. На рисунке 4.3 приведено окно редактораAlarmLogging.

Рисунок 4.3 – Окно редактора AlarmLogging
4. Создание графических экранов процесса
Графические экраны для визуализации процесса создаются в программе GraphicsDesigner. На рисунке 4.4 приведен главные экран процесса на этапе разработки.

Рисунок 4.4 – Мнемосхема процесса на этапе разработки
Графический редактор позволяет вставить в экран процесса как статические элементы (рисунки, надписи), так и различные элементы управления: поля ввода-вывода, кнопки, графики, таблицы. В данной работе создается несколько экранов процесса, подробнее они описаны в разделе «Структура и функции программного обеспечения». Главный экран используется для отображения значений технологических параметров в текущий момент времени на мнемосхеме процесса. Переход на другие экраны предусмотрен с помощью кнопок.
5. Настройка системы отчетов.
Программа ReportDesignerиспользуется для определения шаблонов отчетов и заданий принтера. В данной работе используются стандартные шаблоны отчетов, которые позволяют вывести на печать график, таблицу, или текущие активные сообщения тревог. Задания принтера настроены таким образом, что пользователь может выбрать принтер в диалоговом окне.
Написание сценариев на языке AnsiC.
Сценарии на языке С используются для расширения функциональности SCADA-системы, для выполнения различных служебных функций. Например, можно отображать разным цветом индикатор на графическом экране, в зависимости от режима процесса, что намного повышает наглядность представления технологической информации. Для редактирования сценариев используетсяGlobalScriptEditor(рисунок 4.5).

Рисунок 4.5 – Редактор сценариев на языке С.
Некоторые сценарии, используемые в программе, приведены ниже.
UpdateGas– функция, которая выводит в главном окне предупреждающий символ при превышении концентрации СО и О2 выше допустимого предела.
void UpdateGas()
{float CO=0.0f;
float O2=0.0f;
CO=GetTagFloat("gas_CO"); //Return-Type: float
O2=GetTagFloat("gas_O2"); //Return-Type: float
if(O2>2.0f||CO>0.05f){
SetVisible("furnace.Pdl","GasWarning",1); //Return-Type: BOOL
return;
}
SetVisible("furnace.Pdl","GasWarning",0); //Return-Type: BOOL
}
UpdateTemp– функция, которая включает красный цвет в индикаторе температуры (на главном экране), если она превышает заданный предел, иначе устанавливает зеленый цвет.
#define RGB(r,g,b)
((COLORREF) (((BYTE) (r)|((WORD)((BYTE)(g))<<8))| (((DWORD)(BYTE)(b))<<16)))
void UpdateTemp()
{
float t=0.0f;
t=GetTagFloat("Temp"); //Return-Type: float
if(t>1200.0f){
SetBackColor("furnace.Pdl","TempIndicator",RGB(255,0,0)); //Return-Type: BOOL
}
else{
SetBackColor("furnace.Pdl","TempIndicator",RGB(0,255,0));
}
}
ExitProgram– функция, осуществляющая выход из программы с запросом подтверждения пользователя.
#pragma code("user32.dll")
int MessageBox(HWND,LPTSTR,LPTSTR,int);
HWND GetForegroundWindow();
#define MB_YESNO 0x00000004L
#define MB_ICONQUESTION 0x00000020L
#define MB_SETFOREGROUND 0x00010000L
#define IDYES 6
#define IDNO 7
void ExitProgram()
{
int res;
res=MessageBox(GetForegroundWindow(),
"Вы действительно хотите выйти из программы WinCC?"
,"Подтверждение",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND);
if(res==IDYES){
ExitWinCC ();
}
}
7. Тестирование программы
Тестирование программы осуществляется с помощью встроенной утилиты WinCCTagSimulator. В ней задается определенная функция изменения для каждого параметра (синусоида, увеличение, уменьшение, случайное изменение т.п.). Окно программы с включенной симуляцией показано на рисунке 4.6.

Рисунок 4.6 – Окно программы WinCCTagSimulator
