34272999
级别: 略有小成
精华主题: 0
发帖数量: 63 个
工控威望: 243 点
下载积分: 630 分
在线时间: 20(小时)
注册时间: 2007-08-12
最后登录: 2017-06-06
查看34272999的 主题 / 回贴
楼主  发表于: 2009-05-14 21:21
无意中发现,s7-200 传送指令MOV_W 传送数据的时候,不能把数据传送到连续的字里面(例如VW1,VW2)以下是我的测试程序
  LD     SM0.0
MOVW   1, VW1
MOVW   1, VW2


LDW=   VW1, 1
=      Q0.0


LDW=   VW2 1
=      Q0.2


这个程序我在CPU226上测试过,结果Q0.2动作,但是Q0.1不动作,但是换成不连续的字的时候,例如(VW0和VW2或者VW1和VW3)结果两个输出都能动作!

一直想不通这是为什么?求教!!谢谢!!
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6778 个
工控威望: 38381 点
下载积分: 4486 分
在线时间: 9541(小时)
注册时间: 2006-09-13
最后登录: 2024-12-29
查看cvlsam的 主题 / 回贴
1楼  发表于: 2009-05-14 21:48
从理论上来说,VW1包括,VB1和VB2,而VW2包括VB2,VB3,因此,当你使用LDW的时候,造成了地址重叠。

请注意,仅仅是理论上来讲,实际在常规应用中,一般字的存储空间地址符号以偶数开始,如VW0,VW2,VW4。

因此,如果你使用VW0和VW2,是没有问题的,因为地址没有重叠。

Regards