FUNCTION fc1:VOID
VAR_INPUT
AI_start_ID,AI_end_ID,DB_No_S,S_start_ID,DB_No_R,R_start_ID:INT;
END_VAR
VAR
temp_val:REAL;
tp_AI_S,tp_AI_E,tp_S_S,tp_R_S,tp_int:INT;
BEGIN
tp_AI_S:=AI_start_ID;
tp_S_S:=S_start_ID;
tp_R_S:=R_start_ID;
FOR tp_int:=AI_start_ID TO AI_end_ID BY 2 DO
temp_val:=WORD_TO_INT(iw[tp_AI_S]) / 2.7648e4 *
(DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No_S)).DD[tp_S_S + 4]) -
DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No_S)).DD[tp_S_S])) +
DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No_S)).DD[tp_S_S]) +
DWORD_TO_REAL(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No_S)).DD[tp_S_S + 8]);
WORD_TO_BLOCK_DB(INT_TO_WORD(DB_No_R)).DD[tp_R_S]:=REAL_TO_DWORD(temp_val);
tp_AI_S:=tp_AI_S + 2;
tp_S_S:=tp_S_S + 12;
tp_R_S:=tp_R_S + 4;
END_FOR;
END_FUNCTION
编程厉害的帮忙注释一下不胜感激 。
来自:微星嵌入式培训中心