发布于 2011-03-31 15:32:10
3楼
看这样行吗?
FUNCTION_BLOCK Des_Erro
VAR_TEMP
ID : INT ; // Temporary Variables
END_VAR
VAR
Pr_Val : ARRAY [1..3] OF REAL ; // 工程值
SP_Val : ARRAY [1..3] OF REAL ; // 设定偏差报警值
HLM : ARRAY [1..3] OF REAL ; // 设定上偏差报警值
LLM : ARRAY [1..3] OF REAL ; // 设定下偏差报警值
QHLM : ARRAY [1..3] OF BOOL ; // 上偏差报警输出位
QLLM : ARRAY [1..3] OF BOOL ; // 下偏差报警输出位
EN_DE : ARRAY [1..3] OF BOOL ; // 使能偏差报警
END_VAR
FOR ID:= 1 TO 3 BY 1 DO
IF EN_DE[ID] THEN
QHLM := Pr_Val[ID] - SP_Val[ID] > HLM[ID] ; // Statement Section_IF
QLLM := SP_Val[ID] - Pr_Val[ID] > LLM[ID] ;
END_IF;
END_FOR;
END_FUNCTION_BLOCK