PLC为224xp,脉冲信号为5v,频率为1KHz,接入M和 I0.0.
程序采用两种:
第一种:参考资料:http://blog.sina.com.cn/s/blog_6f0944f20100mqy6.html
编程时使用“向导”中高速计数器指令向 导,选“HC0”计数器,选模式6,“PV”设置10000(如每秒脉冲数比它大可加大此数由实际情况而定),“CV”设置0;在子程序中选中断事件 “21”(定时器 T32 CT=PT 中断)。按此程序,每秒开始计数,在一秒的最后1ms(999ms)把计的数存入VD90,再把1ms的计量数存 入VD94,VD90+VD94的数(即1秒钟流量计所计的ML数)存入VD100。第二秒再从新开始计数;如此不间断循环。您就可以把s7200存储器 VD100的数据送到触摸屏相应画面中,实时显示出流量计每秒流过的ML数。我在检测流量、速度时都用过此类程序,只要根据实际物理量纲加以统一即可。具 体程序如下:
主程序
网络1
LD SM0.1
CALL HSC_INIT:SBR1 //调用并初始化子程序HSC_INIT
网络2
LD SM0.0
LPS
AN M0.0
TON T32, 1000 //设置秒脉冲发生器
LRD
A T32
= M0.0
LPP
AW>= T32, 999
AW< T32, 1000
MOVD HC0, VD90
*D 2, VD90 //把999ms流量计所计量的ML数存入D90存储器
LRD
MOVR VD90, VD94
*R 0.001, VD94 //1ms流量计的ML数
LPP
+R VD94, VD100 //1秒钟流量计所计量的ML数存入D100
子程序:HSC_INIT
网络1 HSC 指令向导
LD SM0.0
MOVB 16#F8, SMB37 //设置控制位:增计数;已使能;
MOVD +0, SMD38 //装载 CV
MOVD +10000, SMD42 //装载 PV
HDEF 0, 6
ATCH INT_0:INT0, 21 //定时器T32=1000ms时调用中断程序INT_0:INT0
ENI
HSC 0 //使能高速计数器HC0
中断程序:INT_0:INT0
网络1 HSC 指令向导
LD SM0.0
MOVB 16#C8, SMB37 //设置控制位:改变计数值;
MOVD +0, SMD38 //每秒复位高位计数器当前值
HSC 0 //使能高速计数器HC0
其结果还是不能计数,图形图也报错


第二种参考资料https://support.industry.siemens.com/cs/document/27864874/%E5%A6%82%E4%BD%95%E6%B5%8B%E5%AE%9A%E9%AB%98%E9%80%9F%E8%84%89%E5%86%B2%E4%B8%B2%E7%9A%84%E9%A2%91%E7%8E%87%E5%92%8C%E9%80%9F%E5%BA%A6%EF%BC%9F?dti=0&lc=zh-CN
结果也是不能测试脉冲

是不是I0.0输入必须大于12V啊!
请各位老师指导下,给个程序给我能用就好。QQ:306281981@qq.com,谢谢!