Приветствую Вас, Гость · Вход · Регистрация

Главная » Файлы » MicroSCADA » Scil

7. Команды SCIL часть 3.3
[ ] 31.12.2008, 21:25

7.3.6 Команды пути

#PATH name [dir, .., dir]
#PATH name + dir, .., dir,
#PATH name - [dir, ... , dir]

Определяет имя логического пути.

'Имя' Имя логического пути. Имя должно добавляться в соответствии с правилами, описанными в Главе 2.
'dir' Реальное имя директории, включая полный путь в формате операционной системы. Если начинается с ‘\’, значит путь директории начинается из директории sc. Замыкающая "\" может быть пропущена, то есть путь может быть записан либо с ней, либо без нее. Допускается использование до 255 директорий в команде. Если директория не существует, она будет создана автоматически. Однако если в список директории включено слово NO_CREATE, последующие директории не создаются. Если они не существуют, возникнет ошибка FILE_DIRECTORY_DOES_NOT_EXIST. Директория по умолчанию: директория, из которой была запущена основная программа.

Имена логических путей могут использоваться во всех командах, где файлы вызываются по имени, например, с именами изображений. Каждое имя пути может соответствовать нескольким директориям, которые даны в порядке приоритетов и разделяются запятыми. Если файл запрошен с указанным именем пути, он сначала разыскивается в первой директории пути, затем в следующей и т.д. Если имя пути используется при создании нового файла (например, изображение), новый файл будет сохранен в первой директории имени пути.

Команда #PATH без знаков определяет "глобальный" путь. Такое определение пути специфично для монитора, при выполнении в изображении или диалоге. При выполнении в командной процедуре, оно применяется ко всем командным процедурам. При выполнении в изображении печати, оно применяется ко всем изображениям, печатаемым посредством #PRINT. Если список директорий пропущен, все директории имени пути удаляются, но имя пути остается.

Команда #PATH со знаками ‘+’ или ‘-‘ определяет "локальные" и временные пути путем добавления директорий или удаления их из определения пути. Знак ‘+’ означает, что директории добавляются в начало списка директорий имени пути. Знак ‘–‘ означает, что директории удаляются из списка директорий. Если список директорий пропущен, знак ‘-‘ удаляет из имени пути все директории, локально определенные. (Примечание: знак ‘-‘в качестве завершающего означает, что оператор продолжается на следующей строке, и в этом случае должны быть напечатаны два последовательные знака "-", сопровождаемые пустой строкой, смотрите пример ниже).

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

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

Действительным является последнее определение. Следовательно, определяя пути локально (с + и -), Вы гарантируете, что унаследованные определения не заменят необходимые определения путей.

Следующие автоматически определенные имена путей используются как пути по умолчанию:

SCS_ \SCS\ACTIVE\SCS_
LAN_ \LAN\ACTIVE\LAN_
SYSF \LAN\ACTIVE\SYSF
SYSO \LAN\ACTIVE\SYSO
PICG \LAN\ACTIVE\PICG
PICL \LAN\ACTIVE\PICL
PROD \LAN\ACTIVE\PROD
PROL \LAN\ACTIVE\PROL
REPC \LAN\ACTIVE\REPC
REPL \LAN\ACTIVE\REPL
SYS_ \SYS\ACTIVE\SYS_
APL_ \APL\application\APL_
FORM \APL\application\FORM
PICT \APL\application\PICT

Эти имена путей, задаваемые по умолчанию, действительны везде, хотя соответствующие директории могут быть изменены глобально или локально. Файл, вызываемый без указания имени пути, будет разыскиваться или сохранятся в директории (директориях), определенных заданным по умолчанию именем пути, у которых первые четыре символа совпадают с первыми четырьмя символами в имени файла. Если никакое другое имя пути не подходит, используется PICT. Основные диалоги Visual SCIL являются в данном случае исключением. Это описывается в руководстве "Разработка пользовательского интерфейса Visual SCIL".

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

Заданные пути могут быть считаны с помощью функций пути, смотрите Главу 8.

Пример:

#PATH PROCESS /APL/APPL1/PICT, NO_CREATE, /APL/APPL2/PICT
;Создается логический путь с именем PROCESS. Если директория /APL/APPL1/PICT
;не существует, то она создается, но если не существует директория
;/APL/APPL2/PICT, она не создается.

!NEW_PIC PROCESS/PICTURE
;Изображение с именем PICTURE, ищется сначала в ветви приложения APPL1,
;затем в ветви приложения APPL2.

#PATH PROCESS +/APL/APPL3/PICT
;Изображение с именем PICTURE, ищется сначала в ветви приложения APPL3,
;затем - в APPL1 и APPL2.

#PATH PROCESS - -
;пустая строка
;Удаляются определения локальных путей (/APL/APPL3/PICT).

#REP_LIB library [file, ...,file]
#REP_LIB library + [file, ...file]
#REP_LIB library - [file, ...file]

Определяет логическое имя библиотеки представления.

'library' Логическое имя библиотеки. Имя должно соответствовать правилам в Главе 2.
'file' Файл библиотеки представления, заданный любым из следующих двух способов:
1. [path/]file_name
Где 'path' - имя логического пути, и 'file_name' - имя файла, включая расширение. Если 'path' пропущен, используются имена путей, заданные по умолчанию (смотрите команду #PATH выше).
2. file_name
где 'file_name' - имя файла, включая полный путь в формате операционной системы (максимально 14 символов).
В команду могут быть включены до десяти файлов библиотеки представления.

Логические имена библиотек могут использоваться везде, где запрашиваются библиотечные представления. Каждое библиотечное имя может соответствовать нескольким библиотечным файлам, заданным в порядке приоритетов и разделенным запятыми. При запросе библиотечного представления, оно сначала ищется в первой библиотеке, затем в следующей и т.д. Если имя библиотеки используется при создании нового библиотечного представления, новое представление будет сохранено в первом файле, относящемся к имени библиотеки.

Команда #REP_LIB без каких-либо знаков определяет "глобальный" путь. Такое имя специфично для монитора, при выполнении в изображении или диалоге. При выполнении в изображении печати, оно применяется ко всем изображениям, печатаемым посредством команды #PRINT. Если список файлов пропущен, все файлы, определенные для имени библиотеки, удаляются, но имя библиотеки остается.

Команда #REP_LIB со знаками ‘+’ или ‘-‘ определяет "локальные" и временные библиотечные имена путем добавления файлов или удаления их из заданного библиотечного имени. Знак ‘+’ означает, что файлы добавляются в начало списка файлов библиотечных имен. Знак ‘–‘ означает, что файлы удаляются из списка имен. Если список файлов в команде пропущен, знак ‘-‘ удаляет все локально добавленные файлы из имени. (Примечание: знак ‘-‘ в качестве завершающего означает, что оператор продолжается на следующей строке, и в этом случае необходимо вводить два последовательных знака "-", сопровождая их пустой строкой, смотрите пример ниже.)

Локальные определения специфичны для изображений и изображений печати. Если локальные определения выполняются в изображении, они действительны все время, пока изображение находится на экране или сохраняется как быстрое изображение. В изображении печати они действительны, пока изображение печатается. Локальные определения имеют превосходство над глобальными. Если печать запускается из изображения, распечатываемое изображение наследует все глобальные и локальные определения библиотечных имен как локальные определения. Действительным является последнее определение библиотечных имен. Следовательно, определяя имена библиотек локально (с + и -), Вы гарантируете, что “унаследованные” определения не заменят необходимые определения библиотечных имен.

Если имя библиотеки не задано, представление разыскивается в библиотеке с именем DEFAULT. Если не производилось изменений командой #REP_LIB, библиотечное имя DEFAULT соответствует файлам:

    1. /APL/application/APL_STAND.PIR
    2. /LAN/ACTIVE/LAN_/LAN_STAND.PIR

в соответствующем порядке.

Если используется несуществующее или пустое логическое имя библиотеки, то выдается ошибка.

Определения логических библиотечных имен, за исключением DEFAULT, удаляются при завершении работы системы или при закрытии приложения. Если логическое имя представления определено или переопределено командой #REP_LIB, а реальный файл не существует, логическое имя удаляется.

Библиотечные имена могут читаться функциями replib, смотрите Главу 8.

Пример:

#PATH PATH /APL/APPL2
#REP_LIB PROCESS PATH/MYLIB
!WIN_REP WINDOW PROCESS/MYREP
;Библиотечное представление MYREP, которое должно быть показано
;в окне WINDOW, найдено из файла MYLIB в приложении APPL2.

7.3.7 Команды обработки файлов

#CLOSE_FILE n

Закрывает ключевой файл.

'n' Номер файла. Номер, присвоенный файлу при открытии командами #OPEN_FILE или #CREATE_FILE. Целочисленное выражение, 1…10.

Закрывает файл, указанный 'n'. Эта команда должна всегда присутствовать для завершения операций с открытым файлом.

Пример:

#CLOSE_FILE 2
;Закрывается файл, открытый с номером 2 в изображении или в
;командной процедуре.

#CREATE_FILE n apl file keylength

Создает и открывает новый ключевой файл.

'n' Номер файла. Порядковый номер, который идентифицирует файл внутри изображения, командной процедуры или системы диалогов, в которых выполняется команда #CREATE_FILE. Целочисленное выражение, 1...10.
'apl' Логический номер приложения, целочисленное выражение 0...99. 0 - текущее приложение. Приложение должно быть локальным.
'file' Текстовое выражение. Создаваемый файл задается одним из следующих способов:
1. [path/]file_name
где 'path' - имя логического пути, и 'file_name' - имя файла, включая расширение. Если 'path' пропущен, используются имена путей, заданные по умолчанию (смотрите команду #PATH, описанную ранее).
2. file_name
где 'file_name' - имя файла, включая полный путь в формате операционной системы (максимально 14 символов).
'keylength' Длина ключа. Целочисленное выражение.

Команда создает файл с характеристиками, заданными в виде аргументов, и открывает его. После завершения операций над этим файлом, он должен быть закрыт командой #CLOSE_FILE (смотрите выше).

Пример:

#CREATE_FILE 3 0 "RTU5" 5
;Файл с именем RTU5 и длиной ключа 5 создается и открывается
;в текущем приложении.

#DELETE_FILE apl file

Удаляет файл.

'apl' Логический номер приложения. Целочисленное выражение, 0... 99. 0 = текущее приложение. Приложение должно быть локальным.
'file' Текстовое выражение. Файл, который должен быть удален, задается одним из следующих способов:
1. [path /]file_name
где 'path' - имя логического пути, и 'file_name' - имя файла, включая расширение. Если 'path' пропущен, используются имена путей, заданные по умолчанию (смотрите команду #PATH, описанную ранее).
2. file_name
где 'file_name' - имя файла, включая полный путь в формате операционной системы (максимально 14 символов).

Команда удаляет указанный файл в заданном приложении. Необходимо соблюдать осторожность при использовании этой команды. Удаленный файл восстановить невозможно.

Пример:

#DELETE_FILE 3 "RTU52"
;Файл RTU5 в приложении 3 удаляется.

#OPEN_FILE n apl file keylength

Открывает ключевой файл.

'n' Номер файла. Порядковый номер, который идентифицирует файл внутри изображения, командной процедуры или системы диалогов, в которых выполняется команда #OPEN_FILE. Целочисленное выражение, 1...10.
'apl' Номер приложения, целочисленное выражение 0...99. 0 - текущее приложение. Приложение должно быть локальным.
'file' Текстовое выражение. ASCII-файл, из которого считываются текстовые строки. Файл может быть задан одним из следующих способов:
1. [path/]file_name
где 'path' - имя логического пути, и 'file_name' - имя файла, возможно включая расширение. Если 'path' пропущен, используются имена путей, заданные по умолчанию (смотрите команду #PATH, описанную ранее).
2. file_name
где 'file_name' - имя файла, включая полный путь в формате операционной системы (максимально 14 символов).
'keylength' Имя переменной.

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

Переменная 'keylength' получает значение длины ключа (целое число), используемое в файле.

После завершения операций над открытым файлом, он должен быть закрыт командой #CLOSE_FILE, смотрите ниже.

Пример:

#OPEN_FILE 2 1 "RTU3" %L
;Открывается файл RTU3 в приложении 1. Переменная %L будет
;содержать длину ключа.

#READ n key result1 [result2]

Считывает ключевую запись в открытом файле.

'n' Номер файла. Номер, присвоенный файлу при открытии его командами #OPEN_FILE или #CREATE_FILE (смотрите выше). Целочисленное выражение, 1...10.
'key' Ключ записи, которая должна быть считана. Текстовое выражение, содержащее 'keylength' символов (смотрите команду #OPEN_FILE выше).
'result1' Имена переменных.
'result2'  

Команда считывает содержимое записи, определенной ключом 'key', и размещает его в виде текста в одну или две переменные, 'result1' (до 255 символов) и 'result2' (остальное содержимое, если запись включает более 255 символов).

Пример:

#READ 2 RTU_KEY(X:POA1) V1 V2
;Считывается запись, соответствующая объекту процесса X в открытом файле
;с номером 2. Функция RTU_KEY описана в Главе 8.

#READ_KEYS n vector [key1 [key2]]

Считывает ключи открытого файла.

'n' Номер файла. Номер, присвоенный файлу при открытии командами #OPEN_FILE или #CREATE_FILE (смотрите выше). Целочисленное выражение, 1...10.
‘vector' Имя переменной.
'key1' Первый ключ, который необходимо считать. Текстовое выражение, содержащее 'keylength' символов (смотрите команду #OPEN_FILE выше). Не обязательно.
'key2' Последний считываемый ключ. Текстовое выражение, содержащее 'keylength' символов. Не обязателен.

Команда считывает ключи заданного файла 'n' и сохраняет их в переменной 'vector'. Могут считываться до 10000 ключей, начиная с 'key1' и заканчивая 'key2'. Если 'key2' пропущен, ключи читаются до конца файла или до заполнения вектора (10000 ключей). Если опущены и 'key1' и 'key2', читаются ключи всего файла (до 10000).

Пример:

#READ_KEYS 2 V
;Ключи в файле 2 считываются и сохраняются в переменной V (до 10000).

#READ_NEXT n key result1 [result2]

Считывает ключевую запись.

'n' Номер файла. Номер, присвоенный файлу при открытии командами #OPEN_FILE или #CREATE_FILE (смотрите выше). Целочисленное выражение, 1...10.
'key' Ключ записи, предшествующей считываемой записи. Текстовое выражение.
'result1' Имена переменных.
'result2'  

Команда считывает содержимое записи, которая следует за записью, определенной ключом 'key', и сохраняет его в виде текста в одной или двух переменных, 'result1' (до 255 символов) и 'result2' (оставшаяся часть, если запись превышает 255 символов).

Пример:

#READ_NEXT 2 RTU_KEY(A:POA1) V1 V2
;Считывается запись следующего объекта процесса A1. Функция RTU_KEY описана в ;Главе 8.

#READ_PREV n key result1 [result2]

Считывает ключевую запись.

'n' Номер файла. Номер, присвоенный файлу при открытии командами #OPEN_FILE или #CREATE_FILE (смотрите выше). Целочисленное выражение, 1...10.
'key' Ключ записи, следующей за считываемой записью. Текстовое выражение.
'result1' Имена переменных.
'result2'  

Команда считывает запись, которая предшествует записи, определенной ключом 'key', и сохраняет ее в виде текста в одной или двух переменных, 'result1' (до 255 символов) и 'result2' (оставшаяся часть, если запись превышает 255 символов).

Пример:

#READ_PREV 2 RTU_KEY(A:POA1) V1 V2
;Считывается запись, предшествующая объекту процесса A1. Функция RTU_KEY
;описана в главе 8.

#REMOVE n key

Удаляет ключевую запись.

'n' Номер файла. Номер, присвоенный файлу при открытии командами #OPEN_FILE или #CREATE_FILE (смотрите выше). Целочисленное выражение, 1...10.
'key'  

Ключ записи, которая должна быть удалена. Текстовое выражение, содержащее 'keylength' символов (смотрите команду #OPEN_FILE выше).

Команда удаляет выбранную запись. Удаленную запись восстановить невозможно.

Пример:

#REMOVE 2 RTU_KEY(D:POA5)
;Запись, конфигурирующая объект процесса D, удаляется.

#RENAME_FILE apl old new

Переименовывает файл.

'apl' Логический номер приложения. Целочисленное выражение 0...99. 0 - текущее приложение. Приложение должно быть локальным.
'old' Текстовое выражение. Файл, который должен быть переименован, задается одним из следующих способов:
1. [path/]file_name
где 'path' - имя логического пути, и 'file_name' - имя файла, возможно включая расширение. Если 'path' пропущен, используются имена путей, заданные по умолчанию (смотрите команду #PATH, описанную ранее).
2. file_name
где 'file_name' - имя файла, включая полный путь в формате операционной системы (максимально 14 символов).
'new' Текстовое выражение. Новый файл, заданный таким же образом, как и 'old'.
  Команда переименовывает файл 'old' в 'new'. Если 'new' уже существует, выдается сообщение ошибки.
Пример:

#RENAME_FILE 0 "W89" "W90"
;Файл W89 в текущем приложении переименовывается в W90.

#WRITE n data1 [data2]

Сохраняет ключевую запись в открытом файле.

'n' Номер файла. Номер, присвоенный файлу при открытии командами #OPEN_FILE или #CREATE_FILE (смотрите выше). Целочисленное выражение, 1...10.
'data1' Два текстовые выражения, содержащие записываемые данные.
'data2'  

Команда сохраняет запись в файле 'n'. 'data1' содержит как ключ записи, так и записываемые данные, до 255 символов. Остальная часть данных находится в 'data2'. Ключ включается в качестве первых символов в 'data1'.

Любые предыдущие данные в записи будут перезаписаны.

Пример:

#WRITE 2 %V1 %V2
;Данные из переменных %V1 и %V2 записываются в файл, открытый под номером 2.

7.3.8 Прочие команды

#SET_TIME time

Устанавливает системное время.

Команда устанавливает время системных часов (как часов операционной системы, так и физических часов). Если компьютер имеет внешние часы, команда не имеет смысла.

'time' Время, заданное в формате ГГ-ММ-ДД ЧЧ:MM:СС (если SYS:BTF = 0) или ДД-MM-ГГ ЧЧ:MM:ЧЧ (если SYS:BTF = 1). Секунды могут быть пропущены.
Пример:

#SET_TIME 90-04-25 12:00

Читать дальше


Оглавление

По материалам © ABB
Категория: Scil | Добавил: RAZ
Просмотров: 1127 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]