【分享】踩到了自己埋的地雷

已锁定

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

【分享】踩到了自己埋的地雷

3361

34

2016-06-03 13:32:31

star

最近上课的时候,用我事先做好的项目来演示博途中S7-300和精简面板的仿真,然后演示这个项目编程和组态的过程。PLC仿真的时候出了问题,Time数据类型的预设时间值(MD8)在正、负24天之间不停的无规则的跳动。用交叉引用功能检查,只是在OB100中给它设置过初始值T#10S,别的地方没有改写它。程序很简单,没有使用间接寻址。到底是什么原因导致MD8的值变化,一时查不出来了。

半夜突然想起我在演示过程中,演示了将MB8组态为时钟存储器字节的方法。MB8是MD8的最高位字节,将它组态为时钟存储器字节后,它的各位不断周期性变化,导致MD8的大幅度变化,罪魁祸首就是它,我踩到自己埋的地雷了。

编程的时候最忌讳的是同一地址两用或多用。如果某个地址的值出现无规则的莫名其妙的变化,多半是同一地址两用造成的。检查方法如下:

1)用交叉引用功能检查该地址在PLC程序中和HMI中哪些地方被改写,是否同一地址两用。

2)如果程序中使用了间接寻址,需要检查该变量是否被间接寻址改写。

3)该变量是否因为通信被改写。

4)如果是M区,注意该地址或其中的一部分是否被设置为时钟存储器字节或S7-1200/S7-1500的系统存储器字节。


【分享】踩到了自己埋的地雷 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54620条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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