西门子S7-300计数器的仿真问题

西门子S7-300计数器的仿真问题,第1张

您好,非常高兴为您解答。

说一下我自己的排故思路吧!

这是一个非常简单的问题,很常见。问的也非常好!

首先,我编写了一下你的程序。现象和你的一样。

心里不是慌了吗,别慌,打开诊断缓冲区,发现有如下错误

编程错误,而且是bcd转换错误。如上你的所言,是自己按下了i32,就停机了。

所以就怀疑是计数器出问题了,鼠标点在计数器上,按下神键,"F1"

有如下解释,

这个键是把初始值赋值给计数器,就是所谓的

一看,数据类型是WORD型,不过mw也没什么事。

继续看下去,发现,

它输出的是bcd码,哦,原来是mw10转换成mw14的时候出问题了,所以报的错是“bcd码转换错误”。

那接下来的就简单了,只需要转换一下就行了,加个

然后一切就正常了。

请注意,mw10的数据从你的那里的16#000a转变成为了16#0010,这样就ok了。

总结一下,就是西门子300的计数器用法比较麻烦,所以我一般不怎么用,你会问,不然用什么,简单,直接用add或者sub,注意复位,就是赋值0就ok。

还要提出你的程序的一个问题,不要直接用输入接到那几个CU,CD,正确的做法就是要加个上升沿过渡,不然几个扫描周期下,瞬间会记满的。

哦,忘了,不光计数器会出现这样的问题,定时器也一样哦。

最后嘛,还是那句话,祝你早日成为工控达人,GOOD LUCKY!!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13255463.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-27
下一篇 2023-06-27

发表评论

登录后才能评论

评论列表(0条)

保存