怎样在最短的时间内学会西门子PLC中计数器的使用?

在西门子PLC编程中,不能正确使用计数器进行计数,不能计数,在一个程序中计数器不。起任何作用

S7-300的计数器都是16位的,因此每个计数器占用该区域2个字节空间,用来存储计数值。不同的CPU模板,用于计数器的存储区域也不同,最多允许使用64~512个计数器。计数器的地址编号:C0~C511。计数值的范围为0至999。
S_CUD(加/减计数器)
S_CU(加计数器)
S_CD(减计数器)
计数器线圈指令

可以在S7编程软件中,选如上指令同时按F1,出现各种计数器的使用方法与解释说明。
自己看吧,就这几种。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-28
计数器要在OB1里定义,需要脉冲触发,不要在功能或功能块里直接使用。如果在功能或功能块里直接使用计数器,在重复调用时会因冲突出错。
第2个回答  2012-05-26
参考梯形图编程手册,西门子又模拟软件可以模拟的,还有计数器有最大限制,好像最大计到999
第3个回答  2012-05-28
以双向计数器S_CUD 为例
参数
CU BOOL I、Q、M、L、D 升值计数输入
CD BOOL I、Q、M、L、D 降值计数输入
S BOOL I、Q、M、L、D 为预设计数器设置输入
PV WORD I、Q、M、L、D
或常数 将计数器值以"C#<值>"的格式输入(范围0至999)
PV WORD I、Q、M、L、D 预设计数器的值
R BOOL I、Q、M、L、D 复位输入
CV WORD I、Q、M、L、D 当前计数器值,十六进制数字
CV_BCD WORD I、Q、M、L、D 当前计数器值,BCD码
Q BOOL I、Q、M、L、D 计数器状态
描述

如果输入S有上升沿,S_CUD(双向计数器)预置为输入PV的值。如果输入R为1,则计数器复位,并将计数值设置为零。如果输入CU的信号状态从"0"切换为"1",并且计数器的值小于"999",则计数器的值增1。如果输入CD有上升沿,并且计数器的值大于"0",则计数器的值减1。

如果两个计数输入都有上升沿,则执行两个指令,并且计数值保持不变。

如果已设置计数器并且输入CU/CD为RLO = 1,则即使没有从上升沿到下降沿或下降沿到上升沿的变化,计数器也会在下一个扫描周期进行相应的计数。

如果计数值大于等于零("0"),则输出Q的信号状态为"1"。

状态字

BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - x x x 1
注意避免在多个程序点使用同一计数器(可能出现计数出错)。

安装一个S7-PLCSim 就可以模拟实验了
相似回答