19. Параметры блоков
19 - 14
Automating with STEP 7 in STL and SCL
Автоматизация посредством STEP 7
с использованием STL и SCL
Для статических данных обычно используется символьная адресация.
Если Вы используете абсолютную адресацию с указанием DI-регистра (DI-
адресация), то Вы должны обеспечить "корректность" в открытом блоке
данных с указанием DI-регистра при обращении к параметру блока (в
вызванном блоке).
Примечание: в связи с вышеизложенным надо заметить, что при
использовании вызываемых блоков как локальных экземпляров,
абсолютные адреса локальных (block-local - в нутриблочных) переменных
зависит от объявления локального экземпляра в вызванном блоке.
В качестве параметра блока типа BOOL Вы можете применять константу
TRUE (ИСТИНА - для состояния сигнала "1") или константу FALSE
(ЛОЖЬ - для состояния сигнала "0"). В качестве параметра блока
численных типов Вы можете применять любые константы, относящиеся к
численным типам. Инициализация посредством присвоения констант
имеет смысл только для входных параметров.
Вы можете также инициализировать параметры блока простых типов
посредством присвоения компонентов полей или структур при условии,
что компоненты полей или структур имеют соответствущий тип данных.
Инициализация параметров блоков сложных типов данных
Каждый параметр блока может быть сложного типа или
пользовательского (UDT) типа. Этим параметрам могут быть поставл ены
в соответствие адреса переменных соответствующи х типов, то есть, эти
переменные могут выступать как фактические параметры.
Вы можете для инициализации параметров блока типа DT и STRING
использвать отдельные переменные или компоненты полей или структур
при условии, что они имеют соответствущий тип данных. Инициализация
таких параметров не допустима в STL.
Если Вы инициализируете параметры функционального блока
переменной STRING, эта переменная должна иметь такую же длину как и
параметр блока STRING.
Когда создается переменная STRING во временных локальных данных,
предопределение ее значение невозможно, поэтому при этих условиях
содержимое данной переменной содержит "случайные" значения. При
использовании такой переменной в качестве фактического параметра для
IEC-функции Вы должны сначала определить ее соответствующим
корректным значением в программе (перед записью значения в STRING-
переменную IEC-функция проверяет его на соответствие типу
переменной).
Вы можете для инициализации параметров блока типа ARRAY и STRUCT
использвать переменные с точно такой же структурой как и параметры
блока.
Назначение параметров сложных типов описано в разделе 26.4 "Краткое
описание примера фрейма сообщения" в примерах "Создание фрейма
сообщения" и "Считывание времени суток (считывание данных TOD)".
Инициализация параметров блоков пользовательских типов данных
Для сложных и громоздких структур данных рекомендуется ввести и
использовать пользовательский (UDT) тип данны х. Сначала Вы должны
определить UDT-тип данных, затем - использовать его, например, для
создания переменной в блоке данных или для объявления параметра