当前位置:
工控论坛
> >
产品
>
PLC
>
西门子(Siemens)PLC
我要发帖
siemens 高手急救
点击:
665
| 回复:
6
二子
关注
私信
精华:4帖
求助:0帖
帖子:218帖 | 191回
年度积分:0
历史总积分:1036
注册:2004年4月08日
发表于:2007-09-20 13:50:00
楼主
别人程序中用SHL_W命令, IN连的是DB51.DBW0, N连的是W#16#1,OUT连的是DB51.DBW0。
我不知道W#16#1是啥意思?DB51.DBW0会怎样移?我直接用1代替W#16#1,会不会对DB51.DBW0产生不同的作用?谢谢
分享到:
收藏
邀请回答
回复楼主
举报
yuanle
关注
私信
精华:0帖
求助:0帖
帖子:9帖 | 10208回
年度积分:2747
历史总积分:48332
注册:2005年4月22日
发表于:2007-09-20 13:55:00
1楼
W#16#1 代表的意思是无符号整形数据且为16进制的1
DB51.DBW0 会首先放入ACCU1,然后向左移动一位,最高位丢失,低位补0.
直接用1来替代不会产生不同的作用。
回复
引用
举报
二子
关注
私信
精华:4帖
求助:0帖
帖子:218帖 | 191回
年度积分:0
历史总积分:1036
注册:2004年4月08日
发表于:2007-09-20 14:14:00
2楼
谢谢,因为DB51.DBW0在程序中作为shift register, 每执行一步,就要左移一位。
我现在看的程序中, 刚开始把256用MOVE移入DB51.DBW0。然后再执行SHL_W命令, 我就怪了,他为啥刚开始把256用MOVE移入DB51.DBW0,因为真正用到就只有4步,256移一步,就是512,低四位还是0,根本起不到shift register的作用。
望有经验的朋友猜想一下, 这有可能是啥原因?因为只要涉及到shift register, 都是这样,谢谢
回复
引用
举报
苦学
关注
私信
精华:0帖
求助:0帖
帖子:28帖 | 1034回
年度积分:2
历史总积分:2430
注册:2005年3月13日
发表于:2007-09-20 15:17:00
3楼
学习
回复
引用
举报
linknw
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 4回
年度积分:0
历史总积分:20
注册:2004年4月28日
发表于:2009-05-13 14:08:08
4楼
wincc 打开图形时出现 error while opening document 怎么办
回复
引用
举报
九灭重生
关注
私信
精华:0帖
求助:0帖
帖子:14帖 | 175回
年度积分:0
历史总积分:130
注册:2007年4月04日
发表于:2009-05-14 17:00:52
5楼
晕了,你好好看看SHL指令就明白了.
回复
引用
举报
长征三号
关注
私信
精华:0帖
求助:1帖
帖子:54帖 | 910回
年度积分:0
历史总积分:1121
注册:2008年6月16日
发表于:2009-05-15 22:35:53
6楼
你把256转换成二进制数,再移位四位,再把二位数转换成十进数,你看看是多少吧就明白了
回复
引用
举报
热门招聘
相关主题
什么PLC支持C语言编程?
[26465]
SQLSERVERR2000SP3FORWINCC下...
[11493]
世界最小 國產PLC
[8955]
三菱PLC只有输入信号没有输出...
[13818]
三菱编程专门解码软件(本人花...
[11882]
西门子200/200SMART催缴尾款...
[11733]
从零开始学plc
[7692]
从零开始学习GE PAC proficy...
[21641]
PLC的2005发展趋势回顾
[7165]
为什么一接地线,漏电保护器就...
[11659]
官方公众号
智造工程师
客服
小程序
公众号