IF (store_AI[NO] >= 0.0 AND store_AI[NO] <= 27648.0 AND NOT BIPOLAR[NO]) OR ( store_AI[NO] >= -27648.0 AND store_AI[NO] <= 27648.0 AND BIPOLAR[NO]) THEN
#singal_num := #singal_num_1; #fault_code := 16#0; #Fault_num := 0; #singal_fault := FALSE; FOR #singal_num := 1 TO 10 DO IF "several ai singal data".singal[#singal_num].bipolar AND ("several ai singal data".singal[#singal_num].input < -27648 OR "several ai singal data".singal[#singal_num].input > 27648) THEN // Statement section IF "several ai singal data".singal[#singal_num].singal_fault := 16#1; ELSIF NOT "several ai singal data".singal[#singal_num].bipolar AND ("several ai singal data".singal[#singal_num].input < 0 OR "several ai singal data".singal[#singal_num].input >27648) THEN "several ai singal data".singal[#singal_num].singal_fault := 16#1; ELSE "several ai singal data".singal[#singal_num].singal_fault := 16#0;
END_IF;
IF "several ai singal data".singal[#singal_num].bipolar THEN "several ai singal data".singal[#singal_num].input_limt := LIMIT(MN := -27648, IN := "several ai singal data".singal[#singal_num].input, MX := 27648); // Statement section IF ELSIF NOT "several ai singal data".singal[#singal_num].bipolar THEN "several ai singal data".singal[#singal_num].input_limt := LIMIT(MN := 0, IN := "several ai singal data".singal[#singal_num].input, MX := 27648); END_IF;
"several ai singal data".singal[#singal_num].ret_val := SCALE(IN := "several ai singal data".singal[#singal_num].input_limt, HI_LIM := "several ai singal data".singal[#singal_num].h_lim, LO_LIM := "several ai singal data".singal[#singal_num].l_lim, BIPOLAR := "several ai singal data".singal[#singal_num].bipolar, OUT => "several ai singal data".singal[#singal_num].out);
#fault_code := #fault_code + "several ai singal data".singal[#singal_num].singal_fault; IF "several ai singal data".singal[#singal_num].singal_fault > 16#0 THEN #singal_fault := TRUE; #Fault_num := #singal_num; // Statement section IF END_IF; END_FOR;