最佳答案:计数器应该说也是每种PLC中都存在的一个指令目录,以西门子PLC来说的话,计数器指令目录下边有,增计数器、减计数器、增减计数器以及高速计数器。高速计数一般需要特殊的点位或者专用的计数模块来实现高速计数
计数器应该说也是每种PLC中都存在的一个指令目录,以西门子PLC来说的话,计数器指令目录下边有,增计数器、减计数器、增减计数器以及高速计数器。
高速计数一般需要特殊的点位或者专用的计数模块来实现高速计数功能,因此并没有增/减计数器这样的计数器常用,因此我就以增计数器在PLC在编程中的使用方法和注意事项来答题吧。
我还是以西门子200Micro/win 软件来说,请看下图:
这个图片上可以看到C255=1了,因为C1第一次等于60的时候,使得网络3处的V0.0接通了一次,V0.0又触发了C255进行了一次计数,就由0变为了1。这里V0.0就变成了一个1分钟的脉冲标记位了,因为SM0.5是1s的脉冲,它触发计数器计数60次就自动复位,这样V0.0就等于60s的脉冲了。这样的时间和计数器配合,来达到自己想要的时钟信号,在PLC编程中是非常常用的编程方法。
在这个图片上看到C1=27,那是第二次计数到27;而网络2处的C100=87的原因是R引脚的复位点是M0.1,我没有让M0.1接通,所以C100就一直在计数。当C100计数到60的时候,它的节点其实也是接通了的,且目前C100=87的时候它的节点还是接通的。---这里就说明了第④个注意事项,计数器的当前值大于等于PV预设值之后,计数器的节点指令就是一直接通的,它会一直计数到32767就没法再继续向上计数了,所以在编程的时候一定要注意对计数器的复位!
这里的32767,我在很多的答题中都反复的说过了,这是16位字长整数在有符号情况下的最大表示值,因此C计数器,它本身就是一个16位的指令,也因此PV处的变量也必须是整形变量,如下图: