Руководство по программированию, создание бл оков дл я PCS 7
1-48 A5E00122559-01
THEN
IF (LMN > H_ALM) THEN // Если знач. регул. переменной превысило верх. авар. уставку
QH_ALM := 1; // Установить выход ошибки
QL_ALM := 0; // Сбросить выход ошибки
ELSIF (LMN < L_ALM) THEN // Если знач. регул. переменной меньше нижн. авар. уставки
QL_ALM := 1; // Установить выход ошибки
QH_ALM := 0; // Сбросить выход ошибки
ELSE
QH_ALM := 0; // Сбросить выходы ошибок
QL_ALM := 0;
END_IF;
ELSE
siRUNUPCNT := siRUNUPCNT - 1;
END_IF;
END_CASE;
//**************************************************************************************
// Сообщения ALARM_8P
//**************************************************************************************
// Переменные типа STRING не должны быть связаны с вспомог.значениями ALARM8_P
// и передаются как массив байт
FOR DUMMY := 1 TO 16
DO
sbyBA_NA[DUMMY] := 0; //Удаление массива по умолчанию
END_FOR;
DUMMY := BLKMOV (SRCBLK:= BA_NA,DSTBLK:=sbyBA_NA);
swSTEP_NO := STEP_NO; // Номер шага Batch (в соотв. с в/в вспом. знач. ALARM_8P)
sdBA_ID := BA_ID; // Batch ID (в соотв. с в/в вспом. знач. ALARM_8P)
ALARM_8P_1(EN_R := TRUE, // Обновить выход ACK_STATE
ID := 16#EEEE, // Канал данных для сообщений (всегда 16#EEEE)
EV_ID:= EV_ID, // Количество сообщений > 0
SIG_1:= M_SUP_AH AND QH_ALM, // Набл. сигнал 0 -> сообщ. верх. авар. уставки
SIG_2:= M_SUP_AL AND QL_ALM, // Набл. сигнал 1 -> сообщ. нижн. аварийной уставки
SIG_3:= 0, // Наблюдаемый сигнал 2 -> нет сообщений
SIG_4:= 0, // Наблюдаемый сигнал 3
SIG_5:= 0, // Наблюдаемый сигнал 4
SIG_6:= 0, // Наблюдаемый сигнал 5
SIG_7:= 0, // Наблюдаемый сигнал 6
SIG_8:= 0, // Наблюдаемый сигнал 7
SD_1 := sbyBA_NA, // Вспомогательное значение 1
SD_2 := swSTEP_NO, // Вспомогательное значение 2
SD_3 := sdBA_ID, // Вспомогательное значение 3
SD_4 := PV_IN, // Вспомогательное значение 4
SD_5 := AUX_PR05, // Вспомогательное значение 5
SD_6 := AUX_PR06, // Вспомогательное значение 6
SD_7 := AUX_PR07, // Вспомогательное значение 7
SD_8 := AUX_PR08, // Вспомогательное значение 8
SD_9 := AUX_PR09, // Вспомогательное значение 9
SD_10:= AUX_PR10); // Вспомогательное значение 10
QMSG_ERR := ALARM_8P_1.ERROR; // Параметр состояния ERROR
MSG_STAT := ALARM_8P_1.STATUS; // Параметр состояния STATUS
MSG_ACK := ALARM_8P_1.ACK_STATE; // Текущее состояние подтверждения ОС
END_FUNCTION_BLOCK