6.ИСПОЛЬЗОВАНИЕ СИСТЕМНЫХ ФУНКЦИЙ
ИСКРИПТОВ
Для решения общих задач при разработке проекта в WinCC flexible существует ряд готовых системных функций. Использование этих функций для выполнения ряда действий в режиме исполнения не требует специальных навыков программирования. Примерами таких функций могут быть:
•функции вычислений, например, увеличение значения тега на определенную постоянную или переменную величину.
•функции, связанные с журналами, например, запуск процедуры записи в журнал значений процесса.
•функции установки бита в PLC.
•функции генерирования сообщений, например, после смены пользователя.
В WinCC flexible можно использовать только те системные функции, которые поддерживаются выбранным устройством HMI. Поэтому только такие функции можно вносить в список функций (рис. 6.1).
Рис. 6.1. Выбор системной функции
56
Для решения более сложных задач среды исполнения проекта можно использовать скрипты. Для доступа к проектным данным в режиме исполнения используется программный интерфейс подготовки скриптов среды исполнения. Создание скриптов среды исполнения выполняется на языке программи-
рования VBScript..
Вы можете сохранить код, написанный на языке VB script в виде скрипта. Этот скрипт может использоваться в проекте так же как системная функция. В скрипте вы можете обращаться к тегам проекта и объектной модели среды исполнения WinCC flexible. Кроме того, в скрипте можно использовать все стандартные функции VBS. В скрипте могут вызываться другие скрипты и системные функции. Если вы используете в скрипте системные функции, которые не установлены в системе операторского устройства, будет выведено предупреждающее сообщение. Кроме того, в скрипте соответствующая системная функция будет выделена волнистой голубой линией.
Скрипты следует создавать в тех случаях, когда в режиме исполнения проекта необходимы дополнительные функциональные возможности, например:
•Преобразование значений. Скрипты можно использовать для преобразования величин, например, из одних единиц измерения в другие.
•Автоматизация управления последовательностью технологических операций. С помощью скрипта можно управлять последовательностью выполнения технологических операций путем передачи производственных данных в PLC. По значениям, возвращаемым процессом, в скрипте проверяется состояние процесса и, при необходимости, принимаются соответствующие меры.
При создании скрипта определяется его тип и передаваемые параметры. Скрипты типа "Function [Функция]" всегда возвращают некоторое значение. Скрипты типа "Sub [Подпрограмма]" относятся к процедурам и не возвращают никаких значений.
57
Скрипты хранятся в базе данных проекта. Имеющиеся в проекте скрипты перечислены в окне проекта под элементом Scripts [Скрипты]. Если вы хотите включить скрипт в список функций, его можно найти в списке выбора под элементом
Scripts [Скрипты].
На панели инструментов редактора скриптов представлены команды для синхронизации объектов и тегов, а также для проверки синтаксиса скриптов.
Свойства скриптов определяются в окне свойств. Здесь, в частности, определяется, является ли скрипт процедурой или функцией. Более того, здесь вы можете объявить параметры скрипта.
Скрипты создаются и редактируются в рабочей области. Создание скриптов упрощается благодаря проверке синтаксиса и интеллектуальным средствам программирования. Интеллектуальные средства программирования облегчают процедуру создания скрипта при обращении к объектам, функциям и свойствам моделей объектов VBS. В редакторе скриптов ключевые или зарезервированные слова выделяются различными цветами. Объекты, распознаваемые редактором скриптов, выделяются жирным шрифтом. Неизвестные слова подчеркиваются красной волнистой линией.
В скрипте вы можете обращаться к внутренним и внешним тегам, определенным в проекте. При этом в режиме исполнение значение тега, используемого в скрипте может быть считано по соответствующему адресу или изменено.
Если имя тега в проекте удовлетворяет правилам именования переменных в VBS, этот тег можно использовать непосредственно в скрипте без ключевого слова SmartTags:
If Value1 > 20 Then Value2 = Value2 + 5
End If
Если имя тега не удовлетворяет правилам, принятым в VBS (например, содержит пробелы), к нему нужно обращаться через список "SmartTags":
58
Tag_2 = SmartTags("Tag 1")/100
Локальные теги могут быть определены в скрипте с помощью оператора Dim. Локальные теги могут использоваться только в пределах данного скрипта. Поэтому в редакторе тегов локальные теги не отображаются.
В скрипте можно вызывать системные функции и другие скрипты. Вызов в скрипте системной функции или скрипта без возвращаемого значения (без выходного параметра) (тип "Sub") выполняется следующим образом
<Function name> [Parameter1], [Parameter2], [...]
Вызов системной функции или скрипта с возвращаемым значение (выходным параметром) (тип "Function") выполняется путем присвоения этой функции некоторому выражению:
<Expression> = <Function name> ([Parameter1, Parameter2,...
[Parameter N])
Если вы не собираетесь использовать возвращаемое скриптом значение, используйте вариант вызова системной функции или скрипта без возвращаемого значения.
В скрипте можно использовать объекты модели среды исполнения с соответствующими свойствами и методами. В режиме исполнения можно читать и редактировать свойства объектов.
Обращаться к объектам в скрипте следует через соответствующий список. Укажите имя объекта или номер его позиции в списке. Обратиться к первому объекту экрана "Main screen" можно с помощью следующих операторов:
Dim Obj
HMIRuntime.BaseScreenName = "MainScreen"
Set Obj = HMIRuntime.Screens(1).ScreenItems(1)
Обращение к объекту по имени и изменение его свойств можно выполнить с помощью следующих ниже операторов:
59
для этого при определении объекта на экране необходимо указать его имя:
Dim objCircle
HMIRuntime.BaseScreenName = "MainScreen" Set objCircle = HMIRutime.Screens(1).ScreenItems("Circle_01") objCircle.BackColor = vbGreen
При изменении свойства экранного объекта в режиме исполнения проекта с помощью VBS это изменение действует только в течение того времени, пока экран остается активным. Как только вы переходите к другому экрану или перезагружаете этот же экран, будут вновь отображены свойства, указанные в проектных данных.
Для поиска ошибок в скриптах проектов WinCC flexible необходимо установить отладчик скриптов. Установленный отладчик будет запускаться автоматически при возникновении ошибки среды исполнения в скрипте или вручную с помощью команды "Start runtime system with script debugger [Запустить среду исполнения с отладчиком скриптов]".
В режиме исполнения проекта в данный момент времени может выполняться только один скрипт. Если редактирования ожидают несколько скриптов, формируется очередь скриптов и скрипты выполняются один за другим. WinCC flexible позволяет использовать максимально количество вложений, равное восьми.
Выполнение списка функций и скриптов в режиме исполнения начинается тогда, когда возникает определенное событие. Наступление события может быть вызвано оператором, например, при нажатии функциональной клавиши на операторском устройстве. Событие может быть также сгенерировано системой, например, в том случае, если значение процесса выходит за границы допустимого диапазона.
Событием для активации скриптов, реализующих автоматический режим вашей установки может служить событие тега: "Change Value [Изменение значения]". Создайте внутрен-
60
ний тег, например, с именем "Tik" целого типа (Int). В окне свойств тега на закладке "Events [События]" событие "Change Value" свяжите с вызовом вашего скрипта. Запустите Runtime c
симулятором тегов, кликнув на иконке . Выберите в списке тегов имя "Tik", задайте функцию изменения величины тега по случайному закону. По умолчанию дискретность по времени функции изменения значения тега составляет 1 сек, следовательно и ваш скрипт будет вызываться 1 раз в секунду. Это обстоятельство примите во внимание при формировании временных интервалов алгоритма функционирования установки в автоматическом режиме.
61
7. ЛАБОРАТОРНЫЙ ПРАКТИКУМ ОБЩИЕ ТРЕБОВАНИЯ
Цель цикла лабораторных работ в создании проекта системы визуализации и управления технологическим процессом с использованием панелей оператора семейства SIMATIC.
Вариант технологической схемы и тип используемой панели оператора определяется преподавателем. Варианты схем технологических процессов представлены на рис. 7.1 – 7.13. Под рисунком для каждой технологической схемы приведено описание алгоритма работы оборудования в автоматическом режиме. Ниже перечислены общие требования к циклу лабораторных работ.
Необходимо предусмотреть возможность работы оборудования как в ручном, так и в автоматическом режимах. Смена режима осуществляется переключателем ”Авто / Ручной”.
Вручном режиме оператор произвольно управляет исполнительными механизмами, кликнув на экране на изображении соответствующего механизма (клапаны, насосы и т.п.).
Вавтоматическом режиме при нажатии кнопки ”Пуск” циклически выполняется пошаговый алгоритм согласно варианту задания.
При нажатии кнопки ”Стоп” клапаны закрываются, моторы останавливаются, установка
переходит в ручной режим.
Управление механизмами в ручном режиме доступно только авторизованным пользователям (введен пароль и уровень доступа достаточен).
В автоматическом режиме оборудование управляется в соответствии с заданным алгоритмом, реализованным с помощью скриптов на языке Visual Basic.
Модель процесса (возможное имя скрипта – “Process”) и алгоритм автоматического режима (например, скрипт “Auto”) описать раздельно.
62
Числовые значения параметров технологического процесса согласуйте с преподавателем. Желательно набор этих параметров оформить в виде рецептур.
На мнемосхемах изобразите зеленым цветом отрытые клапаны, насосы в работе, включенные моторы мешалок. Неисправные механизмы изобразите мигающим красным цветом.
Предусмотрите аварийные сообщения оператору о возможных неисправностях оборудования.
В проекте необходимо сконфигурировать несколько экранов, продумайте переходы между ними:
•экран "Overview" (верхняя часть всех экранов) содержит поле вывода даты и времени, окно текущих аварийных сообщений;
•стартовый экран с указанием разработчиков проекта (ФИО, группа), номер варианта, название установки;
•экран общего вида установки (процесса);
•экран просмотра графиков аналоговых величин;
•экран просмотра текущих и архивных сообщений;
•экран ввода рецептур;
•экран авторизации пользователей.
Отчет по работе должен содержать:
1.Техническое задание на проектирование.
2.Скриншоты (копии экранов) сконфигурированных экранов: Опишите основные свойства динамических объектов ваших экранов (поля ввода/вывода, столбиковые диаграммы, текстовые и графические списки и т.п.).
3.Скриншоты рабочих окон редакторов: соединений, тегов, дискретных и аналоговых сообщений. Опишите механизм формирования и квитирования дискретных и аналоговых сообщений.
4.Приведите тексты скриптов, реализующих автоматический режим работы вашей установки.
63
Вариант № 1
Рис. 7.1. Вариант № 1 Алгоритм автоматического режима:
1.Из емкости W1 в емкость W3 поступает ”продукт A” до уровня срабатывания датчика D2. В работе клапан V1.
2.Из емкости W2 в емкость W3 добавляется ”продукт B” до уровня срабатывания датчика D3. В работе клапан V2.
3.На время t = 15 сек. в нагреватель подается горячая вода. В работе клапан V3.
4.Пауза 5 сек.
5.Слив ”продукта C” из емкости W3 до уровня срабатывания датчика D1.
64
Вариант № 2
Рис. 7.2. Вариант № 2 Алгоритм автоматического режима:
1.В емкость W1 по транспортеру поступает ”продукт A”
втечении времени t = 10 сек. В работе мотор M1.
2.В емкость W1 добавляется ”продукт B” до уровня срабатывания датчика D2. В работе клапан V1.
3.На время t = 8 сек. включается миксер M2 .
4.Выгрузка продукта из емкости W1 до уровня срабатывания датчика D1. В работе шибер V2.
65
Вариант № 3
Рис. 7.3. Вариант № 3 Алгоритм автоматического режима:
1.Из емкости W2 в емкость W3 поступает ”продукт A” до уровня срабатывания датчика D2. В работе клапан V2.
2.Из емкости W1 в емкость W3 добавляется ”продукт B” до уровня срабатывания датчика D3. В работе клапан V1.
3.На время t = 18 сек. включается миксер M1.
4.Слив ”продукта C” из емкости W3 до уровня срабатывания датчика D1.
66
Вариант № 4
Рис. 7.4. Вариант № 4 Алгоритм автоматического режима:
1.В емкость W1 поступает ”продукт A” до уровня срабатывания датчика D2. В работе клапан V1. Одновременно в емкость W2 поступает ”продукт B” до уровня срабатывания датчика D4. В работе клапан V2.
2.Из емкостей W1 и W2 в емкость W3 одновременно сливаются продукты A и B до уровня срабатывания датчиков D1 и D3 соответственно. В работе клапаны V3 и V4.
3.На время t = 10 сек. включается миксер M1.
4.Слив ”продукта C” из емкости W3 до уровня срабатывания датчика D5. В работе клапан V5.
67
Вариант № 5
Рис. 7.5. Вариант № 5 Алгоритм автоматического режима:
1.Емкость W1 наполняется водой до уровня срабатывания датчика D3. В работе насос M1.
2.На время t = 10 сек. включается миксер M2.
3.В сточные воды сливается все содержимое емкости W1. В работе клапан V3.
4.Емкость W1 наполняется ”продуктом A” до уровня срабатывания датчика D2. В работе клапан V1.
5.Пауза 15 с.
6.Слив содержимого емкости W1 до уровня срабатывания датчика D1.
68
Вариант № 6
Рис. 7.6. Вариант № 6
Капиллярный вискозиметр, предназначен для измерения условной вязкости. Исследуемая жидкость заливается в резервуар, время ее истечения через калибровочное сопло замеряется с помощью секундомера. Время истечения, выраженное в секундах, принимается за условную вязкость.
1.Прибор наполняется жидкостью до уровня срабатывания датчика D2. В работе клапан V1.
2.Время слива жидкости до уровня D1 контролируется секундомером. В работе клапан V2.
3.По времени истечения вычислите вязкость. Коэффициент уточните у преподавателя.
69
Вариант № 7
Рис. 7.7. Вариант № 7
В теплообменник поступает вода с температурой T1. Желаемая температура воды у потребителя T2.
Алгоритм автоматического режима:
1.Если T1 < T2 исходную воду надо нагревать. В работе клапаны V2, V4.
2.Если T1 > T2 воду надо охлаждать. В работе клапаны
V1, V3.
3.Задвижкой V5 регулируется интенсивность нагре-
ва/охлаждения. Это пропорциональный регулятор, выход которого изменяется в пределах 5…100 %/
70
Вариант № 8
Рис. 7.8. Вариант № 8
В закрытом помещении установлена аппаратура синтеза нового вещества под давлением. Сырьем является взрывоопасный газ. Для обнаружения утечки газа в помещении установлены сигнализаторы D1, D2 и D3.
1.При срабатывании двух из трех сигнализаторов включается предупредительная световая и звуковая сигнализация.
2.При срабатывании всех трех сигнализаторов перекрывается поступление газа (клапан V1) на установку и открывается клапан V2 для сброса остатка газа на факел.
Предусмотреть контроль работоспособности схемы путем выдачи на панель оператора соответствующих сообщений.
71
Вариант № 9
Рис. 7.9. Вариант № 9 Алгоритм автоматического режима:
1.При нажатии кнопки ”Пуск” первым включается конвейер № 3, затем № 2, последним № 1.
2.При нажатии кнопки ”Стоп” первым выключается конвейер № 1, затем № 2, последним № 3.
3.Если неисправен хотя бы один конвейер, вся линия не запускается.
Имитировать перемещение груза при работающем конвейере.
Кнопки с цифрами включают/выключают конвейер только в ручном режиме линии.
72
Вариант № 10
Рис. 7.10. Вариант № 10 Алгоритм автоматического режима:
1.Емкость W1 наполняется, если уровень ниже отметки D2. В работе клапан V1.
2.Насос M1 качает воду потребителям, если уровень в W1 выше отметки D1.
3.При работающем насосе M1 и открывании кранов V2 или V3 уровень в W1 уменьшается.
73
Вариант № 11
Рис. 7.11. Вариант № 11
С обеих сторон проезжей части установлены светофоры для автомобилей и для пешеходов (по два). Если режим регулирования не включен – мигают лампы желтого цвета для автомобилей, лампы светофоров для пешеходов выключены.
Шаги алгоритма автоматического режима: 0 - не регулируется, мигает желтый для авто; 1- зеленый авто, красный пешеходам; 2 - желтый авто, красный пешеходам; 3 - красный авто, зеленый пешеходам;
4 - красный авто, мигает зеленый пешеходам; 5 - желтый с красным для авто, красный пешеходам.
74
Вариант № 12
Рис. 7.12. Вариант № 12
Робот-манипулятор оснащен двумя следящим электроприводами, позволяющими осуществлять его перемещения по координатам X и Y между технологическими позициями “1”, “2”, ”3” и “4”. В ручном режиме положение робота задается ползунковыми регуляторами (слайдерами) X и Y.
В автоматическом режиме робот движется по замкнутой траектории, останавливаясь в каждой позиции на заданное время для выполнения некой технологической операции. Траекторию движения и времена для технологических операций (паузы) уточните у преподавателя.
Пример шагов алгоритма автоматического режима:
0 – исходная позиция “1”, разрешено начать движение при нажатии кнопки “Пуск”;
1- движение по координате X до позиции “2”, пауза 3 с; 2 - движение по координате Y до позиции “4”, пауза 5 с; 3 – одновременное движение по координатам X и Y до
позиции “1”, пауза 6 с; переход на шаг 1.
75
Вариант № 13
Рис. 7.13. Вариант № 13
Автоматические ворота пропускают на территорию предприятия автомобили, оснащенные транспондерами беспрепятственно. При приближении автомобиля к зоне действия датчика “1” ворота открываются. Как только автомобиль оказывается вне зоны действия датчика “2”, ворота закрываются.
В ручном режиме ворота управляются только с пульта охраны.
76