回复:在S7-300程序中做一个类式电气的消声程序

冬日

  • 帖子

    3380
  • 精华

    56
  • 被关注

    45

论坛等级:奇侠

注册时间:2005-09-01

白金 白金 如何晋级?

发布于 2012-02-18 08:59:56

40楼

quote:以下是引用Zane在2012-02-18 07:02:17的发言:
TO : 冬日

给予封精,是对于你勇于交流的鼓励,但并不意味的的程序就是优秀或完美的。

1.你编程的语法有误,你是FC打开2个全局数据块,何来的OPN DI?虽然也能用,但来之无理。
2. L 0 是不能对双字LD 清零的。
3.间接寻址的编程也是极不合理,
4.关于程序,你实现的原理是依次读取故障位寄存器,并存入比较缓存;判断故障寄存器如果不为零则,有故障;如果和比较缓存的比较不一致,则有新报警。这在单一报警的情况下是正确的,但在多报警的情况下,如报警寄存器的值由1111 1111 1111 1111 变为 0111 1111 1111 1111时,依然会产生一个新报警,而这时应该是消除了一个报警。

解释一下:
1,不用DI我不知道该怎么同时打开两个DB进行操作
2,L 0我试验过,是可以清零的。实验方法很简单
L W#16#FFFF
T LD0
L 0
T LD0,然后检查LD0即可
3,这样的间接寻址或许看起来很难看,但是比起P#xx,Lar1等等指令,这是我根据指针的数据格式自己想的土办法,我这样的方法很容易理解,至少对我来说是这样的,能抓老鼠的就是好猫,适合自己的才是最好的。
4,确实有这个问题,得继续改进。
If anything can go wrong, it will.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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