Изучение SCADA-системы InTouch 10 (на примере разработки верхнего уровня АСУ ТП выпаривания метанола в водном реакторе), страница 29

IF CoilCurrent == 0 AND five < 5 THEN

    CoilStep1 = 1;

    CoilStep2 = 0;

    CoilStep3 = 0;

    CoilStep4 = 0;

    CoilCurrent = 1;

ELSE

    IF CoilCurrent == 1 AND five < 5 THEN

    CoilStep1 = 0;

    CoilStep2 = 1;

    CoilStep3 = 0;

    CoilStep4 = 0;

    CoilCurrent = 2;

ELSE IF CoilCurrent == 2 AND five < 5 THEN

    CoilStep1 = 0;

    CoilStep2 = 0;

    CoilStep3 = 1;

    CoilStep4 = 0;

    CoilCurrent = 3;

ELSE IF CoilCurrent == 3 AND five < 5 THEN

    CoilStep1 = 0;

    CoilStep2 = 0;

    CoilStep3 = 0;

    CoilStep4 = 1;

    CoilCurrent = 0;

ELSE IF five == 5 THEN

    CoilStep1 = 0;

    CoilStep2 = 0;

    CoilStep3 = 0;

    CoilStep4 = 0;

ENDIF;

ENDIF;

ENDIF;

ENDIF;

ENDIF;

IF speedControl == 0 THEN

    five = 5;

ELSE

five = 0;

ENDIF;

Окно Application Script показано на рисунке 32. Нажмите Validate, если появится сообщение с запросом на подтверждение создания нового тега (CoilCurrent), нажмите ОК. Объявите тег CoilCurrent. Задайте тип Memory Real, группу тревог CoilCoke и значения от 0 до 10. Программа выдаст сообщение о том, что нужно объявить тег speedControl, задайте тегу тип Memory Integer, группу тревог CoilCoke, начальное значение 1 и диапазон изменения 0-20. После этого нажмите ОК и запустите проект (кнопка Runtime ! в правой верхней части экрана). Пронаблюдайте работу анимации угля. Вернитесь в режим разработки (кнопка Development). Размножьте цепочку угольных изображений, разместите полученные объекты в произвольном порядке. Поменяйте место расположения отдельных объектов. После этого скопируйте одну из таких цепочек, уменьшите размер составляющих объектов и создайте анимацию потока коксовой крупки из измельчителя в прокалочную печь, из печи в холодильник и из холодильника в приемный бункер. Интерфейс редактора Application Script показан на рисунке Б4.12.

Рисунок Б4.12 – Редактор сценариев Application Script (общие сценарии приложения)

Для создания колес измельчителя применены объекты … → Mining → Mining Tool . Разместите в рабочем окне два таких колеса. Преобразуйте их в обычные объекты. Далее колесам задается анимация вращения (Orientation), задайте параметры анимации в соответствии с рисунком Б4.13.

Рисунок Б4.13 – Задание анимации вращения колес измельчителя

Нажмите ОК. Повторите процедуру для второго колеса. Но введите в поле Expression формулу:

ArcSin(Sin($Msec/27.7*coke_supply – 180))

Разместите колеса рядом с конвейером. Переменная coke_supply определяет скорость вращения колес. Для задания скорости вращения колес применены кнопки инкремента/декремента – Wizards → Buttons → Incr/Decr Buttons Plus/Minus 2 . Разместите данные кнопки в рабочем окне. Нажмите правой кнопкой мыши на объекте и выберите Properties. В появившемся окне укажите в поле Tagname тег coke_supply и в поле Increment/Decrement by – 1. Нажмите ОК. Для отображения текущей скорости применен объект …InTouch Objects: Interface → small 7-segment animated display . Разместите дисплей над кнопками. Нажмите правой кнопкой на объекте, выберите Substitute → Substitute Tags… введите в появившемся окне имя тега coke_supply, см рисунок Б4.14.

Рисунок Б4.14 – Привязка к тегу объекта Small Display

Помимо дискретной анимации в проекте применяется анимация, построенная на аналоговых величинах. Например, анимация факела горелки выполнена сразу по нескольким параметрам: высоте, ширине и вертикальному положению. см рисунок Б4.15.

Рисунок Б4.15 – Настройка анимации факела

Анимации по высоте и ширине предназначены для придания факелу эффекта пульсации. InTouch поддерживает алгебраические выражения при описании анимации. Настройки анимации показаны на рисунке Б4.16. Аргументом функции является аналоговая системная переменная $Msec (миллисекунды, системный счетчик миллисекунд, целочисленный тип, значения от 0 до 999).

Рисунок Б4.16 – Настройка анимации изменения высоты факела

Указаны численные значения выражения для крайних отклонений, отклонения высоты, в % и направление отклонений (Middle).

Анимация по высоте обеспечивает передвижение факела вместе с соплом горелки.