Первый сегмент FB имеет особый формат. В нем находится заголовок блока, содержащий перечень имен и типов формальных параметров с указанием входных (INPUT) и выходных (OUTPUT) параметров.
Заголовок имеет следующий формат:
INPUT
<имя формального параметра>: <тип параметра>
..........................................................................................
OUTPUT
<имя формального параметра>: <тип параметра>
..........................................................................................
Ниже ключевого слова INPUT располагаются строки описания входных параметров. Они завершаются ключевым словом OUTPUT, после которого начинаются строки описания выходных параметров. Имя формального параметра - это алфавитно-цифровая последовательность длиной не более 5 знаков, начинающаяся с буквы. За двоеточием указывается тип параметра.
Допустимые типы параметров для INPUT и OUTPUT:
- ВI – битные переменные типа E, A, M; константы типа KX, KB;
- BY – байтные переменные типа EB, AB, MB, DL, DR; константы типа KX, KB, KC;
- W – слова типа EW, AW, MW, DW; константы типа KH, KF, KU, KT, KZ, KY, KC;
|
|
- G – слова типа EG, AG, MG, DG; константы типа KG;
- Т – таймеры;
- Z – счётчики;
- Q – байты расширенной периферии QB;
- BL – блоки OB, PB, FB (без формальных параметров);
- DB – блоки данных DB.
Константы могут назначаться только в качестве входных параметров.
Последующие сегменты содержат непосредственно программу. Переход в следующий сегмент может осуществляться одновременным нажатием клавиш <Ctrl> и <Page Down>, возврат - <Ctrl> и <Page Up>.
Формальные параметры используются в теле функционального блока в качестве операндов ряда команд. Имени формального параметра при этом должен предшествовать символ “=” без пробела между ними.
Формат безусловного вызова функционального блока:
SPA FВ номер
<имя формального параметра>=<реальный операнд>
....................................................................................................
Формат условного вызова функционального блока:
SPB FB номер
<имя формального параметра>=<реальный операнд>
....................................................................................................
При вызове FB назначение формальных параметров должно располагаться в той же последовательности, что и при описании формальных параметров в первом сегменте FB. Пустые строки или строки комментариев между вызовом блока и строками назначения формальных параметров не допустимы.
Несмотря на то, что присвоение параметров записывается в программе после команды вызова SPA (или SPB), выполнение вызова происходит в последовательности, приведённой на рис. 9.
Рис. 9. Последовательность выполнения вызова FB.