Типы скриптов

Типы скриптов. В InTouch различают несколько типов скриптов Application Scripts скрипты уровня приложения относятся ко всему приложению и используются для запуска других приложений, имитации технологических процессов, вычисления значений переменных и т.д. Window Scripts скрипты уровня окна связываются с конкретным окном.

Key Scripts клавишные скрипты привязываются к какой-либо клавише или комбинации клавиш клавиатуры.

Это может быть полезным при создании каких-либо глобальных для всего приложения функций возврат в главное окно, окончание сеанса работы с приложением и т. д Touch Pushbutton Action Scripts скрипты, запускаемые кнопками очень похожи на клавишные скрипты и связываются с объектами, которые будут использоваться в качестве исполнительных кнопок.

Эти скрипты запускаются при каждом нажатии на объект-кнопку. Condition Scripts скрипты по изменению логического выражения связываются с логической переменной или выражением, которое будет принимать значения либо истина, либо ложь. Логические скрипты могут содержать в себе и аналоговые переменные. Data Change Scripts скрипты по изменению данных связываются либо с переменной, либо с полем переменной.

Эти скрипты исполняются только один раз, когда значение переменной либо поля меняется на величину, превышающую значение допуска, заданного в словаре переменных. ActiveX Event скрипты событий ActiveX предназначены для поддержки механизма реакции на события в ActiveX - объектах. С каждым событием может быть связан один скрипт типа ActiveX Event, запускающийся в WindowViewer во время исполнения приложения. Quick Function - скрипты, которые могут вызываться из других скриптов и использоваться в выражениях при определении динамических свойств объектов.

Диалоги редактора, открываемые при создании скриптов различных типов, имеют небольшие отличия. Вызов диалога редактора скриптов в окне WindowMaker осуществляется командой Special Scripts с последующим выбором типа создаваемого или редактируемого скрипта. Для этого можно также воспользоваться окном Application Explorer, выбрав папку Scripts. На рис. 5.1.1 приведен диалог Application Scripts скрипты уровня приложения. Редактор скриптов InTouch поддерживает два типа скриптов простые и сложные.

Простые скрипты - это скрипты, содержащие операторы присваивания, сравнения, простые математические функции и т. д. Сложные скрипты позволяют выполнять различные логические операции типа IF - THEN - ELSE, а также могут включать циклы типа FOR - NEXT. Справа, в поле Functions, размещены клавиши вызова списков различных групп встроенных функций. Доступ к спискам встроенных функций возможен также командой Insert Functions с последующим выбором группы функций см. рис. 5.1.1 . Встроенные функцииВ пакете InTouch имеется набор встроенных функций, которые могут быть связаны с командами или использованы в скриптах для выполнения самых различных задач.

Все встроенные функции разбиты на четыре группы - String - для обработки различных символьных строк и переменных - Math - математические функции - System - системные функции - Misc - функции для работы с алармами распределенных систем, трендами, печатью и др. Вызов списка функций группы осуществляется нажатием соответствующей клавиши.

Например, щелчок по клавише String редактора скриптов вызывает появление диалога Choose function выбор функции со списком строковых функций. Описание некоторых функций этого списка приведено в табл. 5.1. Функция Описание StringFromIntg Возвращает символьное представление целого аргумента в указанной системе счисления StringFromReal Возвращает символьное представление вещественной величины либо в формате с плавающей запятой, либо в экспоненциальном формате StringLen Возвращает длину указанной строки StringToIntg Преобразует символьное представление целого числа во внутренний формат StringUpper Преобразует все символы исходной строки в нижнем регистре в верхний регистр Text Осуществляет форматированный вывод указанной целой или вещественной переменной в соответствии со строкой форматирования Таблица 5.1. Каждая строковая функция имеет один или несколько аргументов до 6 . Например, синтаксис функции StringFromReal выглядит следующим образом StringFromReal Number,Precision,Type - Number - конвертируемая вещественная величина - Precision - количество десятичных знаков - Type - тип формата f, e , E . Например, функция StringFromReal 263.365, 2, f возвращает 263.36 функция StringFromReal 263.365, 2, e возвращает 2.63e2 функция StringFromReal 263.55, 3, E возвращает 2.636E2 . Функция Text имеет два аргумента Text Analog Tag, Format Text - Analog Tag - вещественное или целое число - Format Text - формат преобразования.

Если указанный формат функции Text - 0.00 , то - при Analog Tag 66 функция возвращает 66.00 - при Analog Tag 22.269 функция возвращает 22.27 - при Analog Tag 9.999 функция возвращает 10.00. Щелчок по клавише Math вызывает появление диалога Choose function выбор функции со списком математических функций.

Математические функции работают с целыми и вещественными аргументами, выдавая целый или вещественный результат.

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

Системные функции делятся на две категории файловые File и для работы с Windows - приложениями Info. Файловые функции предназначены для считывания и записи информации в файлы. У всех файловых функций есть два общих аргумента - Filename и FillOffset. Аргумент Filename имя файла хранит имя файла, из которого должна быть считана или в который должна быть записана информация имя также должно включать и путь к файлу. Аргумент FillOffset смещение в файле задает относительную позицию в файле, начиная с которой будут читаться или записываться данные.

Смещение задается в байтах от начала файла. Первый байт файла имеет смещение 0. После завершения каждая функция возвращает следующее доступное смещение в файле. Например, если функция читает 5 байтов данных, начиная с 10-го байта, то после завершения функция возвратит 15. Некоторые встроенные функции группы System приведены в табл. 5.2. Функция Описание FileCopy Копирует исходный файл в файл-приемник FileReadFields Возвращает очередную запись данных из CSV - файла FileReadMessage Возвращает указанное количество байтов или всю строку из указанного файла FileWriteFields Сохраняет в CSV - файле запись данных, состоящую из разделенных запятыми величин InfoDisk Возвращает информацию об указанном локальном или сетевом диске InfoFile Возвращает информацию об указанном файле или подкаталоге компьютера или сетевого устройства InfoTouchAppDir Возвращает имя текущего каталога InTouch - приложения Таблица 5.1. Остальные аргументы файловых функций не поддаются типизации и различны для каждой функции. Например, функция FileReadFields имеет четыре аргумента и следующий синтаксис FileReadFields Filename,FileOffset,StartTag,NumberOfFie lds - StartTag - идентифицирует первый элемент в имени InTouch-переменной - NumberOfFields - идентифицирует число полей для чтения.

Группа функций Miscellaneous клавиша Misc включает функции для работы с алармами распределенных систем, трендами, печатью и др. В этой широкой с точки зрения назначения функций группе можно выделить несколько более узко специализированных подгрупп.

Функции, название которых начинается с alm, используются только в распределенных системах алармов.

Некоторые из них приведены в табл.5.3.1. Функция Описание almAckDisplay Подтверждает только те алармы, которые в текущий момент видны в окне отображения алармов almAckSelect Подтверждает алармы, отмеченные оператором в окне отображения алармов almShowStats Выводит панель статистики объекта отображения алармов Таблица 5.3.1. Первым аргументом всех встроенных функций алармов является ObjectName имя объекта алармов. Часто в роли одного из аргументов выступает Comment комментарий. Например, функция almAckSelect имеет следующий синтаксис almAckDisplay ObjectName,Comment. Функции, название которых начинается с HT, используются только с архивными трендами.

Примеры таких встроенных функций - в табл.5.3.2. Функция Описание HTGetPenName Возвращает имя переменной, связанной в текущий момент с указанным пером указанного тренда HTGetValue Возвращает значение указанного типа, вычисляемого для указанного пера в пределах всего тренда HTScrollLeft Устанавливает в качестве начала графика более раннее время.

Визуально происходит прокрутка тренда влево HTSetPenName Связывает перо тренда с указанной переменной HTZoomIn Масштабирует существующий тренд путем задания новых времени начала и охватываемого интервала времени Таблица 5.3.2. Встроенные функции для работы с архивными трендами также могут иметь несколько аргументов до четырех. Функции, приведенные в табл. 5.3.2, имеют следующий синтаксис - HTGetPenName Hist Tag, UpdateCount, PenNum - HTGetValue Hist Tag,UpdateCount,PenNum,ValType Text - HTScrollLeft Hist Tag,Percent - HTSetPenName Hist Tag,PenNum,Tagname - HTZoomIn Hist Tag,LockString. Первый аргумент всех встроенных функций для работы с трендами - Hist Tag имя тренда. Из других аргументов следует отметить PenNum номер пера тренда , ValType Text строка, указывающая тип возвращаемого значения , Tagname новое имя пера. Функции, название которых начинается с wc табл.5.3.3 , используются с управляющими объектами окна простые списки, текстовые окна, ниспадающие списки и т. д. Функция Описание wcDeleteItem Уничтожает элемент с заданным порядковым номером как в простом, так и в ниспадающем списке wcInsertItem Вставляет указанное сообщение в список wcLoadText Заменяет содержимое текстового окна на новую информацию Таблица 5.3.3. Функции этой подгруппы также могут иметь до четырех аргументов - wcDeleteItem ControlName , ItemIndex - wcInsertItem ControlName , ItemIndex, MessageTag - wcLoadText ControlName , Filrename. Первый аргумент всех встроенных функций этой подгруппы - ControlName имя управляемого окна. Часто в качестве аргумента используются ItemIndex номер, соответствующий позиции элемента , MessageTag строковое сообщение , Filrename имя файла в формате ASCII . В рассматриваемой группе функций Miscellaneous следует отметить функцию PrintWindow, i?aaiacia?aiioю для печати окна. Ее синтаксис выглядит следующим образом PrintWindow Window ,Left,Top,Width,Height,Options, где - Window - имя окна - Left - число дюймов от левого края - Top - число дюймов от верхнего края - Width - ширина распечатываемого окна - Height - высота распечатываемого окна - Options - дискретные значения 0 или 1. Вставка встроенных функций в скрипт производится щелчком по выбранной функции в списке функций.

Она вместе со своими аргументами будет автоматически вставлена в текст скрипта в точку, указанную курсором. После этого можно отредактировать список аргументов.

По окончании редактирования скрипта следует нажать кнопку Ok. При обнаружении в скрипте каких-либо ошибок на экран будет выведено соответствующее сообщение.

В большинстве случаев курсор установится в ту позицию, которая привела к появлению ошибки.

Прежде чем скрипт будет сохранен, все ошибки должны быть исправлены.