回复:10位格雷码转换成十进制,各位大侠看看这程序怎么写啊!

西门子PLC学员

  • 帖子

    686
  • 精华

    5
  • 被关注

    7

论坛等级:侠士

注册时间:2005-11-22

黄金 黄金 如何晋级?

发布于 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转便可。
学如逆水行舟,不进则退
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。