回复:指针间接寻址错误(经验共享)

芳季

西门子1847工业学习平台

  • 帖子

    15504
  • 精华

    101
  • 被关注

    960

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2011-03-05 09:07:17

5楼

我不知道是不是这样:
外部写的话是“中断”方式插入数据的。当一个指针要经过不止一条的指令建立的时候。而且建立过程重复使用了原变量地址。而且指针建立的可变变量是从外部通讯获得的。 那么有机会在执行每条指令之间被通讯刷新了原变量。
我在使用TD200的时候明显发生过这个现象。
例如vw0由外界写入。程序如下。
LD SM0.0
MOVW VW0, VW2
MOVW VW2, VW4
INCW VW4
MOVW VW0, VW12
MOVW VW12, VW14
INCW VW14
假如输入0。理所当然VW4等于VW14。但是当你修改人机,使得值变成10。而这个写入状态偏偏在第一个INCW指令之后更新。那么MOV之后的值只能是11了。并不是大家希望的12。程序产生了vw4<>vw14。虽然这个不等的值只出现了一个周期。
不知道是不是说这回事呢?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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