您好,非常高兴为您解答。
说一下我自己的排故思路吧!
这是一个非常简单的问题,很常见。问的也非常好!
首先,我编写了一下你的程序。现象和你的一样。
心里不是慌了吗,别慌,打开诊断缓冲区,发现有如下错误。
编程错误,而且是bcd转换错误。如上你的所言,是自己按下了i32,就停机了。
所以就怀疑是计数器出问题了,鼠标点在计数器上,按下神键,"F1"
有如下解释,
这个键是把初始值赋值给计数器,就是所谓的
一看,数据类型是WORD型,不过mw也没什么事。
继续看下去,发现,
它输出的是bcd码,哦,原来是mw10转换成mw14的时候出问题了,所以报的错是“bcd码转换错误”。
那接下来的就简单了,只需要转换一下就行了,加个
然后一切就正常了。
请注意,mw10的数据从你的那里的16#000a转变成为了16#0010,这样就ok了。
总结一下,就是西门子300的计数器用法比较麻烦,所以我一般不怎么用,你会问,不然用什么,简单,直接用add或者sub,注意复位,就是赋值0就ok。
还要提出你的程序的一个问题,不要直接用输入接到那几个CU,CD,正确的做法就是要加个上升沿过渡,不然几个扫描周期下,瞬间会记满的。
哦,忘了,不光计数器会出现这样的问题,定时器也一样哦。
最后嘛,还是那句话,祝你早日成为工控达人,GOOD LUCKY!!!!
首先告诉你你用的仿真软件不是西门子公司造的。再告诉你一件事就是西门子的200PLC最早不是西门子公司的产品。是西门子公司收购了这家公司才取名为S7 200 PLC的。而那个所谓的仿真软件又是另外一家业余公司实验性的做出来想卖给西门子公司的,但是没做好。所以其实现在可以免费的发放到网络上。西门子200PLC官方是没有仿真软件的。这个软件只有一点功能。只能仿真PLC的简单逻辑和小程序。复杂逻辑和指令对它来说是无法识别的。再给你说清楚点嘛。除了,常开常闭,传送,置位,复位,和一部分定时器和计数器可以仿真以外,其他指令就不行了。所以你不用用它来验证你的程序了。到市场上或网上买个二手PLC也就不过600百元。加条USB转PPI的国产通讯线也就几十元钱。买了你就可以用实物练习了。想试什么都可以。200本身没有官方的仿真软件,无法和WINCC使用仿真连接。300有官方的仿真软件,可以通过仿真软件的模拟实现和WINCC的纯软件仿真。
这一点我深有体会。
这是肯定的,不要怀疑。
S7-200并没有官方的仿真软件。
现有的S7-200仿真软件是西班牙的一个爱好者提供的。
它只能实现很简单的逻辑仿真。
在S7-200平台,功能调试一般还是要用硬件仿真;
在西门子的产品线路图上,未来S7-200/200CN将被S7-1200和S7-200SMART所替代,它们将逐渐退市。博途平台上的S7-1200V4已经支持软件仿真功能。如果条件允许,建议考虑升级至S7-1200平台。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)