发布于 2011-09-20 16:14:10
1楼
发STL源文件你供参考
FUNCTION FC 4 : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
GrayCode_In : WORD ;
END_VAR
VAR_OUTPUT
BinCode_Out : WORD ;
END_VAR
VAR_TEMP
Adress_temp1 : DWORD ;
Adress_temp2 : DWORD ;
Adress_temp3 : DWORD ;
Data_Temp : WORD ;
Loop_Numbers : INT ;
END_VAR
BEGIN
NETWORK
TITLE =
//格雷码转二进制
L P##Data_Temp;
T #Adress_temp1;
L #GrayCode_In;
AW W#16#FF03;
T #Data_Temp;
L 9;
M001: T #Loop_Numbers;
ITD ;
L #Adress_temp1;
+D ;
T #Adress_temp2;
L L#1;
-D ;
T #Adress_temp3;
X L [#Adress_temp2];
X L [#Adress_temp3];
= L [#Adress_temp3];
L #Loop_Numbers;
LOOP M001;
L #Data_Temp;
CAW ;
T #BinCode_Out;
END_FUNCTION
调用时在输入管脚填IW0,输出填你想存储的变量地址(字类型),输出是标准二进制,不知你想要的十进制是什么?如是BCD码,则用ITB转便可。
学如逆水行舟,不进则退