Реферат SCADA-системы. Введение асу тп и диспетчерское управление
Скачать 0.68 Mb.
|
Скрипты в InTouchСкрипты в InTouch – это программные фрагменты, активизируемые по событиям (по нажатию клавиши, кнопки, открытию окна, изменению значения переменной и т. д.).
В InTouch различают несколько типов скриптов:
Диалоги редактора, открываемые при создании скриптов различных типов, имеют небольшие отличия. Вызов диалога редактора скриптов в окне WindowMaker осуществляется командой Special/Scripts с последующим выбором типа создаваемого или редактируемого скрипта. Для этого можно также воспользоваться окном Application Explorer, выбрав папку Scripts. Редактор скриптов InTouch поддерживает два типа скриптов: простые и сложные. Простые скрипты - это скрипты, содержащие операторы присваивания, сравнения, простые математические функции и т. д. Сложные скрипты позволяют выполнять различные логические операции типа IF - THEN - ELSE, а также могут включать циклы типа FOR - NEXT.
В пакете InTouch имеется набор встроенных функций, которые могут быть связаны с командами или использованы в скриптах для выполнения самых различных задач. Все встроенные функции разбиты на четыре группы:
Вызов списка функций группы осуществляется нажатием соответствующей клавиши. Например, щелчок по клавише String... редактора скриптов вызывает появление диалога Choose function (выбор функции) со списком строковых функций [5]. Описание некоторых функций этого списка приведено в таблице 3. Таблица 3 – Некоторые встроенные функции группы String
Каждая строковая функция имеет один или несколько аргументов (до 6). Например, синтаксис функции StringFromReal выглядит следующим образом: StringFromReal(Number,Precision,Type);
Например:
Функция Text имеет два аргумента: Text(Analog_Tag, "Format_Text"); где Analog_Tag – вещественное или целое число, Format_Text – формат преобразования. Если указанный формат функции Text - "#0.00", то:
Щелчок по клавише Math... вызывает появление диалога Choose function (выбор функции) со списком математических функций. Математические функции работают с целыми и вещественными аргументами, выдавая целый или вещественный результат. В левой части оператора присваивания допускается указывать и целые переменные. Однако необходимо иметь ввиду, что преобразование вещественного значения в целое может привести к усечению результата. Системные функции делятся на две категории: файловые (File) и для работы с Windows-приложениями (Info). Файловые функции предназначены для считывания и записи информации в файлы. У всех файловых функций есть два общих аргумента – Filename и FillOffset. Аргумент Filename (имя файла) хранит имя файла, из которого должна быть считана или в который должна быть записана информация (имя также должно включать и путь к файлу). Аргумент FillOffset (смещение в файле) задает относительную позицию в файле, начиная с которой будут читаться или записываться данные. Смещение задается в байтах от начала файла. Первый байт файла имеет смещение 0. После завершения каждая функция возвращает следующее доступное смещение в файле. Например, если функция читает 5 байтов данных, начиная с 10-го байта, то после завершения функция возвратит 15. Некоторые встроенные функции группы System приведены в таблице 4. Таблица 4 – Некоторые встроенные функции группы System
Продолжение таблицы 4
Остальные аргументы файловых функций не поддаются типизации и различны для каждой функции. Например, функция FileReadFields имеет четыре аргумента и следующий синтаксис: FileReadFields(Filename,FileOffset,StartTag,NumberOfFields); где StartTag - идентифицирует первый элемент в имени InTouch-переменной, NumberOfFields - идентифицирует число полей для чтения [5]. Группа функций Miscellaneous (клавиша Misc...) включает функции для работы с алармами распределенных систем, трендами, печатью и др. В этой широкой (с точки зрения назначения функций) группе можно выделить несколько более узко специализированных подгрупп. Функции, название которых начинается с alm, используются только в распределенных системах алармов. Некоторые из них приведены в таблице 5. Таблица 5 – Некоторые функции, используемые в системах алармов
Первым аргументом всех встроенных функций алармов является ObjectName (имя объекта алармов). Часто в роли одного из аргументов выступает Comment (комментарий). Например, функция almAckSelect имеет следующий синтаксис: almAckDisplay(ObjectName,Comment);. Функции, название которых начинается с HT, используются только с архивными трендами. Примеры таких встроенных функций приведены в таблице 6. Таблица 6 – Некоторые функции для работы с архивными трендами
Встроенные функции для работы с архивными трендами также могут иметь несколько аргументов (до четырех). Функции, приведенные в таблице 6, имеют следующий синтаксис:
Первый аргумент всех встроенных функций для работы с трендами - Hist_Tag (имя тренда). Из других аргументов следует отметить PenNum (номер пера тренда), ValType_Text (строка, указывающая тип возвращаемого значения), Tagname (новое имя пера). Функции, название которых начинается с wc (таблица 7), используются с управляющими объектами окна (простые списки, текстовые окна, ниспадающие списки и т.д.) Таблица 7 – Некоторые функции для работы с управляющими объектами окна
Функции этой подгруппы также могут иметь до четырех аргументов:
Первый аргумент всех встроенных функций этой подгруппы Таблица 6 – Некоторые функции для работы с архивными трендами ControlName (имя управляемого окна). Часто в качестве аргумента используются ItemIndex (номер, соответствующий позиции элемента), MessageTag (строковое сообщение), Filrename (имя файла в формате ASCII) [5]. Вставка встроенных функций в скрипт производится щелчком по выбранной функции в списке функций. Она вместе со своими аргументами будет автоматически вставлена в текст скрипта в точку, указанную курсором. После этого можно отредактировать список аргументов. По окончании редактирования скрипта следует нажать кнопку Ok. При обнаружении в скрипте каких-либо ошибок на экран будет выведено соответствующее сообщение. В большинстве случаев курсор установится в ту позицию, которая привела к появлению ошибки. Прежде чем скрипт будет сохранен, все ошибки должны быть исправлены. |