Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shporgalka_MPKvSU.docx
Скачиваний:
7
Добавлен:
01.05.2025
Размер:
6 Мб
Скачать
☆

29. Организация подпрограмм на языке stl

Функции и функциональные блоки по существу являются подпрограммами. Функции и функциональные блоки могут быть параметрируемые и непараметрируемые. Параметрируемые функции и функциональные блоки обмениваются данными с основной программой.

Непараметрируемые блоки просто выполняют одну и ту же процедуру не обмениваясь данными.

Отличие функции в том, что параметры функции сохраняются только во время ее выполнения и теряются после завершения ее в цикле. Обмен данными между основной программой и функцией осуществляется через интерфейс обмен функции. Для любого блока программы Step7 может быть назначен разный статус переменной интерфейса: Вход I 0.0, Выход Q, Временные переменные (TEMP), Статические переменные (STAT).

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

Специальное пространство внутри блока это локальные данные с обозначением адреса с буквы L. Помимо хранения переменных используется так же Stek. L stek в ОВ 1 для 300- тых контролеров имеет размет 256 байтов. Это значит , что доступными остаются 256количество вложении .

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

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

Команды вызова подпрограммы

Вызов параметрируемых подпрограмм по команде CALL

Вызов функции

Осуществляется следующими командами

  1. вызов функции без параметров

CALL FC1

  1. безусловный вызов функции без параметров

UC FC1

  1. вызов функции по условию , чтоRLO= 1

CC FC1

  1. вызов функции с параметрами

Call FC2

Param…

  1. вызов функционального блока без параметров без условии

UC FB1

  1. вызов функционального блока без параметров по условию , что RLO=1

СС FB1

  1. вызов функционального блока c параметрами

CALL FB 2, DB 3

Param..

Чтение аналогового сигнала

В библиотеки языка STL существуют стандартные функции и функциональные блоки. Функция чтения аналогового сигнала SCALE –функция FC105. Эта функция назначает каждому входному значению выходное. Сигналы функции: IN – входная безразмерная переменная. Параметру IN присваивается фактическое значение периферийного входа PIW 272.

HI_Lim – максимальное измеряемое значение.

LO_Lim – минимальное измеряемое значение

BIPOLAR – дискретный сигнал определяет будет ли сигнал униполярным либо биполярным.

OUT – выходная переменная.

Эта функция выполняет нормирование выходного значения по следующей формуле

UOT=[((FLOAT(IN)-K1(K2-K))*HI_LIM = LO_LIM)+LO_LIM

Здесь К1 и К2 наименьшее и наибольшее значение цифрового кода контроллера

Универсальная формула нормирования

Функция вывода аналогового сигнала

UNSCALE – функция FC 106 реализуется следующей формулой:

OUT=(((IN-LO_LIM)/(HI_LIM-LO_LIM))*(K2-K1)+K1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]