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

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

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

7.3 Команды управления

7.3.1 Команды выполнения программы

Эти команды запускают выполнение блоков программы, или влияют на ход ее выполнения. Команды #DO, #IF, #ELSE, #BLOCK, #LOOP, #CASE и #ON могут комбинироваться друг с другом. В целом, уровень вложения команд друг в друга может достигать 40.

Смотрите также команды #EXEC в разделе 7.3.2. Когда эти команды используется с командными процедурами, они запускают выполнение программ командных процедур.

#BLOCK
оператор
.....
оператор
#BLOCK_END

Составные операторы (блок).

'оператор' операторы SCIL.

Команда #BLOCK может заменять 'оператор' после команд #ON, #THEN и #ELSE и в циклах, смотрите ниже.

Пример:

#IF %A > %B #THEN #BLOCK

#IF %A - %B > 10 #THEN #BLOCK

!SHOW_WIN "ЗНАЧЕНИЕ СЛИШКОМ ВЕЛИКО"

#BLOCK_END

#ELSE !SHOW_WIN "ПРОВЕРЬТЕ!”

#BLOCK_END

#ELSE !SHOW_WIN "OK"

В случае обнаружения неправильно вложенных структурированных операторов выдается код состояния SCIL_INVALID_PROGRAM_STRUCTURE, например, в следующем случае:

#BLOCK

#LOOP_WITH I = 1 .. 10

#BLOCK_END ;Лишний #BLOCK_END, в #BLOCK

;#LOOP_END ;#LOOP_END теряется

;#BLOCK_END ;Соотв. #BLOCK_END теряется

#CASE expression
[#WHEN selector statement
...........
#WHEN selector statement]
[#OTHERWISE statement]
#CASE_END

Выполнение операторов выбора.

Команда выполняет различные операторы или блоки программы, в зависимости от значения выражения и количества операторов выбора.

'expression' Выражение целого, вещественного, текстового, булевого типа или типа времени.
'selector' Селектор может быть задан в соответствии с любым из следующих форматов:
1. Выражение целого, вещественного, текстового, булевого типа, типа времени, векторного типа.
2. Список целых, вещественных, текстовых, булевых, временных или векторных выражений, разделенных запятыми.
3. Интервал, заданный одним из следующих способов:
n1..n2 означает все значения в диапазоне n1 ... n2
n1.. означает все значения, большие n1
..n2 означает все значения, меньшие n2.
'n1' и 'n2' целые, вещественные или текстовые выражения.
Выражения должны быть заключены в круглые скобки.
'statement' Произвольный оператор SCIL или блок операторов, заданные #BLOCK .... #BLOCK_END

Значение выражения 'expression' сравнивается с каждым селектором 'selector' в командах #WHEN. Выполняется первый оператор #WHEN, в котором 'selector' (значение в списке или интервал) равен 'expression'. Другие операторы #WHEN игнорируются. Если ни один из операторов #WHEN не был выполнен, т.е. ни один из селекторов не соответствовал выражению, то выполняется (если имеется) оператор #OTHERWISE.

Если несколько селекторов соответствуют выражению, то выполняется только первый оператор #WHEN. Если ни один из операторов не выполняется, ошибка не выдается. В случае обнаружения неверно вложенных структурированных операторов выдается код состояния SCIL_INVALID_PROGRAM_STRUCTURE.

Примеры:

#CASE %D

#WHEN 0,3,6,8,9 @SHAPE = "ЗДЕСЬ НЕТ СЛЕДУЮЩИХ ДРУГ ЗА ДРУГОМ ЦИФР"
#WHEN 1,2,4..5,7 @SHAPE = "ЕСТЬ СЛЕДУЮЩИЕ ДРУГ ЗА ДРУГОМ ЦИФРЫ"
#WHEN .. -1 #BLOCK

@WISE_GUY = TRUE
@SHAPE = "НЕ ПЫТАЙСЯ ОБМАНЫВАТЬ МЕНЯ”

#BLOCK_END
#OTHERWISE @SHAPE = "ТОЛЬКО ОДНУ ЦИФРУ, ПОЖАЛУЙСТА"
#CASE_END

#CASE DATA_TYPE(%D)

#WHEN "INTEGER" @T = 1
#WHEN "REAL" @T = 2
#OTHERWISE !SHOW W –

"ОЖИДАЮТСЯ ПРОСТЫЕ ЧИСЛОВЫЕ ДАННЫЕ"

#CASE_END

#DO expression

Выполняет операторы SCIL.

'expression' Текстовое выражение или векторное выражение с текстовыми элементами. Тексты должны состоять из операторов SCIL.

Команда #DO выполняет оператор SCIL или программу, заданную 'выражением'. Программа управляется как подпрограмма вызывающей программы (программа, содержащая команду #DO). Команда #DO используется для повторного выполнения программных последовательностей.

Переменные, определенные в вызывающей программе, передаются в программу, представленную выражением 'expression', и наоборот.

В принципе, в выражении допускается использование всех типов команд SCIL и всех видов присвоения значений переменным. Однако команды, относящиеся к пользовательскому интерфейсу, не допускаются, когда команда #DO выполняется из командной процедуры. В отличие от команды #EXEC (раздел 7.3.2), команда #DO выполняет программу немедленно, т.е. нет никакой очереди.

Пример:

#DO READ_TEXT("ABC.TXT")
;Выполняется SCIL-программа файла ABC.SCL.
#DO ABC:C
;Выполняется программа командной процедуры ABC. (Атрибуты RT и OS
;командной процедуры не обновляются).

#IF condition1 # THEN statement1
#ELSE_IF condition2 #THEN statement2
#ELSE statement3

Условные операторы.

'condition1' выражения булевого типа
'condition2'
'statement1' Операторы SCIL. Каждый из операторов может быть заменен на #BLOCK, смотрите ниже.
'statement2'
'statement3'

Оператор 1 выполняется при условии, что условие 1 имеет значение TRUE. Иначе, если условие 2 равно TRUE, выполняется оператор 2. Если ни условие 1, ни условие 2 не имеют значение TRUE, будет выполняться оператор 3. При использовании команды #BLOCK может быть выполнена последовательность операторов (смотрите выше).

Операторы #ELSE_IF и/или #ELSE могут быть пропущены. То есть, если условие 1 равняется FALSE, оператор 1 не выполняется. Несколько операторов #ELSE_IF могут следовать один за другим.

Примеры:

#IF HOUR >=7 AND HOUR < 15 #THEN @SHIFT = “УТРО”
#ELSE_IF HOUR >= 15 AND HOUR < 23 #THEN @SHIFT = “ВЕЧЕР”
#ELSE @SHIFT = “НОЧЬ”

#LOOP [condition]
statement
...
statement
#LOOP_END [max]

Выполняет цикл.

'condition' Условное выражение, которое определяет, будет ли выполняться цикл.
   
'statement' Операторы SCIL.
'max' Максимальное количество итераций цикла. Целочисленное выражение. Значение по умолчанию: 1000.

Выполнение последовательности операторов (цикл) повторяется, пока сохраняется условие TRUE, или пока цикл не будет прерван по одной из следующих причин:

    • Достигнуто максимальное количество итераций цикла. В этом случае прерывание цикла вызывает состояние ошибки.
    • Самый внутренний цикл прерывается командой #LOOP_EXIT (смотрите ниже). Это не вызывает состояния ошибки.

Аварийное прерывание цикла извне может быть получено следующими способами:

    • Циклы в изображениях прерываются тройным нажатием на верхний левый угол или оператором:

    #SET MONn:BMS

где 'n' - номер монитора.

  • Циклы в командных процедурах прерываются оператором:

    #SET APLn:BRSm

где

'n' - номер приложения, 'm' - номер очереди процесса, который выполняет командную процедуру. Этот номер определяется следующим образом:
'm' = 1, если командная процедура не параллельна и запущена каналом времени
'm' = 2, если командная процедура не параллельна и запущена каналом событий или из изображения.
'm' = 3 или более, если командная процедура параллельна. Значение не может быть рассчитано как атрибут PQ командной процедуры + 2, если PQ = 0.
    • Циклы в изображениях формата прерываются оператором:

    #SET APLn:BPSm

где

'n' - номер приложения,
'm' = 1 для печати процесса и
'm' = 2 для печати отчетов.

Такие прерывания циклов генерируют состояние ошибки. При обнаружении неверно вложенных структурированных операторов выдается код состояния SCIL_INVALID_PROGRAM_STRUCTURE.

Пример:

#SEARCH 1 0 "P" "A"
@I = 0
@POBJ = NEXT(1)
#LOOP (POBJ:VIU >= 0 AND %I < 50)

@I = %I + 1
@NAME(%I) = POBJ:VLN
@POBJ = NEXT(1)

#LOOP_END
!SHOW OBJ %NAME
;Просматриваются объекты процесса, и имена записываются в векторную
;переменную. Затем они выводятся в окно с именем OBJ.

#LOOP_WITH var = low .. high
statement
...
statement
#LOOP_END

Выполняет цикл заданное количество раз.

'var' Имя переменной, которая будет содержать количество выполнений цикла (целое число).
'low' Номер первого выполнения цикла, заданный целочисленным выражением. Если оно задано как выражение, содержащее обозначения объектов и переменные, то должно быть окружено пробелами или заключено в скобки.
'high' Номер последнего выполнения цикла, заданный целочисленным выражением. Если оно задано как выражение, содержащее обозначения объектов и переменные, то должно быть окружено пробелами или заключено в скобки.
'statement' операторы SCIL.

Последовательность операторов (цикл) выполняется определенное количество раз, определяемое как 'high' - 'low' + 1. Каждый раз после завершения итерации, 'var' ('переменная') увеличивается на единицу.

Самый внутренний из вложенных циклов может быть прерван командой #LOOP_EXIT (смотрите ниже). Это не вызывает состояние ошибки. Информацию об аварийном прерывании цикла извне смотрите в описании команды #LOOP выше.

Код состояния SCIL_INVALID_PROGRAM_STRUCTURE выдается, если выполняются нелегально уплотненные структурированные операторы.

Пример:
#LOOP_WITH I = 1 . . LENGTH(%VECTOR)

!SHOW WIN'I' %VECTOR(%I)

#LOOP_END
;Каждый из элементов векторной переменной VECTOR выводится в отдельном окне.

#LOOP_EXIT

Прерывает цикл.

Команда прерывает самый внутренний из выполняющихся циклов. Она должна быть расположена в той же программе, в которой находится команда, запускающая цикл (#LOOP или #LOOP_WITH).

Пример:

#LOOP_WITH I = 1 .. 20

!SHOW LOOP_NR %I
.
.
!SHOW QUESTION "ПРОДОЛЖИТЬ?Д/Н"
!INPUT_VAR ANSWER ANSWER
#IF %ANSWER == "Н" #THEN #LOOP_EXIT

#LOOP_END

#ON event [statement]

Выполняет блок программы, если появляется событие.

'event' Обозначение объекта события.
'statement' Оператор SCIL (не обязателен). Используя команду #BLOCK (смотрите ниже), можно выполнить блок операторов.

Эта команда может использоваться только в изображениях. Она не имеет значения в диалогах и в командных процедурах. Фиксироваться могут только события из текущего приложения. Если предпринимается попытка фиксации события из другого приложения, выдается ошибка SCIL.

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

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

Команда #ON не используется в диалогах.

Примеры:

#ON TEMP:E1 !SHOW W TEMP:PAI1
;Когда объект событий TEMP:E активизируется, значение объекта процесса
;TEMP выводится в окне W.
#ON TEMP:E1
;Предыдущий оператор отменяется.

#ON SWITCH:E2 #BLOCK

!SHOW SWITCH SWITCH:PBO2
!SHOW TIME SWITCH:PRT2
#BLOCK_END

;Блок будет выполняться при активизации объекта событий SWITCH:E2.

#PAUSE interval

Определяет паузу.

'interval' Интервал времени в секундах, заданный как вещественное выражение.

Данная команда используется для того, чтобы на мгновение прервать выполнение программы. Например, после запуска DCP-NET требуется пауза, прежде чем начинать конфигурацию NET в оперативном режиме.

Будьте внимательны при использовании данной команды, особенно в командных процедурах! Команда #PAUSE в командной процедуре приведет к прекращению выполнения всех действий выполняющегося процесса на время, заданное этой командой.

Примеры:

#PAUSE 3.5
;Система ждет 3.5 секунды до выполнения следующего оператора.
#PAUSE %T
;Длительность паузы задается переменной T.

#RETURN [ expression ]

Останавливает выполнение программы и вычисляет выражение (‘expression’).

‘expression’ Любое выражение SCIL.

Если команда #RETURN встречается в именованной программе, методе или программе, выполняемой функцией DO (смотрите Главу 8), она останавливает выполнение программы и вычисляет выражение. Значение выражения заменяет вызов программы или функции, если он появляется в выражении.

Команда #RETURN может использоваться без 'expression' в любой программе SCIL (командные процедуры, блоки #ON, программы, выполняемые командой #DO) для выхода из программы.

Программы без команды #RETURN возвращают значение с типом данных "NONE".

Пример:

;Предположим, что имеются следующие именованные программы:
;Именованная программа ADD:
#RETURN ARGUMENT(1) + ARGUMENT(2)

;Именованная программа MULTI_ADD:
@TOTAL = 0
#LOOP_WITH I = 1 .. ARGUMENT_COUNT

@TOTAL = %TOTAL + ARGUMENT(%I)

#LOOP_END
#RETURN %TOTAL

;После следующих вызовов именованных программ:
@S = .ADD(1, 0.5)
@M = .MULTI_ADD(1, 2, 3, 4)
;S принимает значение 1.5, а М - 10.

7.3.2 Общие команды обработки объектов

#CREATE object [= expression]

Создает новый объект.

'object' Обозначение объекта без атрибутов. Допустимыми типами объектов являются объекты приложения P, C, D, A, T, X, V и F, а также объекты системы B. Индекс может использоваться только с объектами процесса предопределенных типов.
'expression' Выражение спискового типа данных. Если создаваемый объект является объектом переменной, выражение может быть пропущено.

Команда создает новый объект заданного типа, с заданными именем и индексом (объекты процесса), и присваивает его атрибутам значения выражения списка. Возможное появление имени (LN атрибут) и индекса (IX атрибут) в списке выражений игнорируется.

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

Выражение спискового типа может быть построено путем создания переменного объекта и присвоения ему необходимых атрибутов (смотрите примеры ниже). Чтобы скопировать новый объект из существующего объекта, используйте функции работы со списками FETCH, PHYS_FETCH, NEXT или PREV (Глава 8).

Если объект уже существует, либо если присваиваемые атрибуты (атрибуты для 'expression') не подходят для реального типа объекта, выдается сообщение об ошибке.

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

Пример:

@TMP = LIST(BI = 0, UN = 20, OA = 1, OB = 2)
#CREATE ABC:P1 = %TMP
;Создается объект процесса ABC, и ему присваиваются
;атрибуты переменного объекта V.

#CREATE SYS:B = LIST(SA = 192)
;Создается объект SYS:B, и ему присваивается атрибут адреса станции 192.

#DELETE object

Удаляет переменную, объект или объект переменной.

'object' Обозначение объекта типа P, C, D, A, T, X, V или F. Объекты процесса предопределенных типов могут иметь один индекс. Другие типы объектов могут быть неиндексированными. Обозначение объекта переменной может иметь атрибут.

Заданный объект удаляется. Если обозначение объекта переменной содержит атрибут, то удаляется именно атрибут, а не объект переменной.

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

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

Примеры:

@tmp=1
#delete tmp:v
;Удаляется переменная tmp.

#DELETE A:P1
;Удаляется объект процесса A с индексом 1.

#DELETE A:P
;Удаляется группа объектов процесса А (это возможно, только
;если нет объектов в группе).

#DELETE GHI:T
;Удаляется канал времени GHI (это возможно, только если нет
;объекта, связанного с ним).

#DELETE V:VAB
;Удаляется атрибут AB объекта переменной.

#EXEC object [(variable list)]

Выполняет объект.

'object' Обозначение объекта приложения типа D, C, T, А или E без атрибута. Индексироваться могут только обозначения объектов событий.
'variable list' Список присвоенных переменным значений, разделенных запятыми. Не обязателен.

Объект может быть объектом данных, командной процедурой, каналом времени, каналом событий или объектом событий:

  • Если объект является объектом данных, значение объекта (атрибут OV) рассчитывается и регистрируется в базе данных. В то же время, регистрируются атрибуты RT и OS.
  • Командная процедура запускается этой командой. Когда командная процедура подходит к завершению, регистрируются атрибуты RT и OS. Командная процедура не должна содержать команды изображения или графические команды.
  • Канал времени активизируется, т.е. выполняются объекты данных и командные процедуры, связанные с ним. При этом нет воздействия на другие функции канала времени, и атрибут RT канала времени не изменяется.
  • Канал событий активизируется, т.е. выполняется объект данных, командная процедура или канал времени, связанные с ним.
  • Объект событий активизируется, т.е. во всех изображениях на мониторе выполняются последовательности #ON, определенные для рассматриваемого объекта. Объект может иметь один индекс
Внутренне объекты событий исполняются процессом оператора изображений, а каналы событий - процессом канала событий. Для объектов данных и командных процедур могут быть различные процессы, которые управляют их выполнением. Следующие обстоятельства определяют, какой из процессов исполняет объект:
  • Если команда #EXEC находится в командной процедуре, и атрибут PE объекта равен 0, выполнение управляется процессом, который обрабатывает эту командную процедуру.
  • Если команда #EXEC поступает из изображения, и атрибут PE объекта равен 0, выполнение управляется процессом канала событий.
  • Если атрибут PE объекта равен 1, выполнение управляется параллельным процессом, который определяется PQ-атрибутом.
Операция не выполняется сразу, а запрос на ее выполнение помещается в очередь. Последующие операторы не должны предполагать, что задача оператора #EXEC была завершена.

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

Примеры:

#EXEC_AFTER 10 TASK:C (@LN = “DEFG”, @IX = 1)
;Запускается командная процедура TASK

#EXEC DATA:D (@A = %B + 2)
;Обновляется объект данных DATA.

#EXEC EVENT:E1
;Активизируется объект событий EVENT.

#EXEC_AFTER delay object [(variable list)]

Выполняет объект после выдержки времени.

'delay' Выдержка времени в секундах, заданная в виде целочисленного или вещественного выражения.
'object' Обозначение объекта типа D, C, T, A или E без атрибута. Индексироваться могут только обозначения объектов событий.
'variable list' Список присвоенных переменным значений, разделенных запятыми. Не обязателен.

Команда работает аналогично команде #EXEC, но выполнение задерживается на количество секунд 'delay'.

Если объект ('object') не существует или является неверным, то при его выполнении выдается ошибка, после задержки. Количество задержанных выполнений управляется атрибутами APL:BQU (4) и APL:BQM (4) (смотрите "Описание объектов", Глава 5). APL:BQU (4) - суммарное количество пока не запущенных задержанных выполнений, а APL:BQM (4) - максимальное количество таких выполнений. При достижении максимума выдается состояние ошибки (REPF_EXECUTION_QUEUE_FULL).

Пример:

#EXEC_AFTER 10 TASK:C (@LN DEFG,@IX=1)
;Через 10 секунд запускается командная процедура TASK.

#GET object

Обновляет значение объекта процесса.

'object' Обозначение объекта процесса или обозначение объекта системы STA с атрибутом ME.

Команда влечет за собой чтение значения объекта из станции и обновление базы данных процесса. Объект может быть индексирован. Для объектов процесса атрибут может быть пропущен. В этом случае он будет принят за OV. Команда допускается только для объектов процесса, соответствующих физическим объектам в станциях на ANSI-линиях.

Примеры:

#GET A:PBI
#GET B:PBI(1..4)
#GET STA1:SME1003^3
;Дискретный объект A, первые четыре индекса дискретного объекта B и
;3-ий бит адреса станции 1003 для станции 1 считываются из RTU и
;обновляются в базе данных процесса.

#MODIFY object = expression

Изменяет определение объекта.

'object' Обозначение объекта приложения без атрибута. Допустимыми типами объектов являются P, C, D, A, T, X, V и F. Объекты процесса могут иметь один индекс.
'expression' Выражение типа 'список'.

Объекту присваиваются атрибуты и значения атрибутов списка выражений. Значения атрибутов в выражении заменяют возможные предыдущие значения атрибутов объекта. Если объект имеет атрибуты, не включенные в выражение, то они не изменяются. Если атрибуты UN и OA устанавливаются равными 0, генерируется ошибка PROF_BIT_ADDRESS_NOT_ALLOWED.

Объекты масштаба, используемые объектами процесса, не могут быть переименованы.

Примеры:

#CREATE V:V
#SET V:VHR = 24
#SET V:VTC = "TC_1H"
#MODIFY DEF:D = %V
;Изменяются атрибуты HR и TC объекта данных DEF, но все остальные
;атрибуты не изменяются.

#MODIFY PROC:P = LIST(AE=1,AN="A_1")
;Объект процесса PROC связывается с каналом события A_1.

#SET object [= expression]

Присваивает значения объектам.

'object' Обозначение объекта типа P, D, S, C, T, A, X, V, B или F, включая устанавливаемый атрибут. Смотрите Главу 4.
'expression' Выражение того же типа данных, что и атрибут в обозначении объекта (не обязательно). Значение по умолчанию = 1.

Значение выражения присваивается атрибуту в обозначении объекта. Если 'expression' пропущено, объекту присваивается значение 1.

С помощью этой команды всем типам объектов системы и объектов приложения, за исключением объектов событий, могут быть присвоены значения через их атрибуты. Для вещественных объектов процесса выходного типа команда подразумевает управление процессом через NET. При установке объектов процесса, атрибуты объектов RT и RM (как входных, так и выходных объектов) устанавливаются в соответствии с системным временем.

В зависимости от типа объекта и от атрибута, обозначение объекта может быть индексировано одним индексом или диапазоном индексов. Объекты данных могут индексироваться до значения атрибута LR. Если обозначение объекта имеет диапазон индексов, то индексам будут присвоены значения ‘expression’. Если выражение ‘expression’ является простыми данными, всем индексам присваивается это значение.

Обозначения объектов данных и объектов процесса могут использоваться без атрибута. В этом случае предполагается атрибут OV.

Атрибуты, которые описаны как “только для чтения” (“read-only”) в описаниях атрибутов (руководства "Объекты приложения" и "Объекты системы"), не могут быть установлены командой #SET.

Примеры:

#SET SWITCH:PBO = 1
;Переключатель установлен в 1. Если объект находится в состоянии AUTO,
;порядок передается в процесс.

#SET STA3:SME(3121^0..3121^7) = 0
;Все сохраняемые биты в данном интервале устанавливаются в нуль.

#SET TASK:CIU = 1
;Командная процедура TASK вводится в использование.

#SET DATA:DOV5 = 10.0
;Пятая регистрация объекта данных устанавливается в 10.0.

#SET TC_1H:TIU = 0
;Канал времени TC_1H выводится из использования.

#SET A:AON = "B"
;Канал событий А связывается с объектом B.

#SET TMP:VATTRIBUTE1 = (1,2,3)
;Объекту переменной TMP присваивается атрибут с именем ATTRIBUTE1,
;которому присваивается векторное значение (1,2,3).

#SET PRI1:BLP = 72
;Для принтера 1 количество строк на странице устанавливается равным 72.

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


Оглавление

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