发布于 2011-10-26 17:00:35
3楼
FUNCTION FC1 : INT
//FC1为格雷码转二进制
VAR_INPUT
INPUT:DWORD; //输入变量类型为DWORD
END_VAR
VAR_IN_OUT
OUT:DWORD;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
TEMP:DWORD; //局部变量类型为DWORD
SHILETEMP:DWORD; //局部变量类型为DWORD
END_VAR
FC1:=100;
TEMP:=INPUT;
SHILETEMP:=SHR(IN:=temp,N:=1);
out:=SHILETEMP XOR INPUT;
END_FUNCTION
FUNCTION FC2 : INT //FC2为和二进制转换到格雷码
VAR_INPUT
input:DWORD;
END_VAR
VAR_IN_OUT
GRAY_TO_BIN:DWORD;
End_var
VAR_TEMP
TEMP:DWORD; //局部变量类型为DWORD
INPUT1:DWORD; //局部变量类型为DWORD
END_VAR
FC2:=100;
TEMP:=INPUT;
INPUT1:=INPUT;
IF TEMP=DWORD#0 THEN
INPUT1:=DWORD#0;
GRAY_TO_BIN:=INPUT1;
RETURN;
ELSE
WHILE TEMP<>DWORD#1 DO
TEMP:=SHR(in:=TEMP,N:=1);
INPUT1:=TEMP XOR INPUT1;
END_WHILE;
END_IF;
GRAY_TO_BIN:=INPUT1;
END_FUNCTION
此语言为SCL语言,该FC1,FC2已通过仿真测试
我爱西门子