理论教育 脉冲量采集方法及实现

脉冲量采集方法及实现

时间:2023-07-01 理论教育 版权反馈
【摘要】:随着脉冲频率的不同,脉冲量,采集的方法也不同。如采集其生产线装酒的瓶数,若最高每秒通过20瓶,为确保脉冲不丢,可采用每25ms一次定时中断,执行采集中断子程序。图5-32所示为这个脉冲频率采集程序。

脉冲量采集方法及实现

随着脉冲频率的不同,脉冲量,采集的方法也不同。

1.较低频率脉冲量采集

如采集数据频率不高,其周期不要小于扫描周期的2倍,如扫描周期100ms,如脉冲的周期不能小于200ms,即每秒不大于5次,可用普通的输入点,可进行采集。

采集的办法用计数指令,也可用INC(加一指令)。但用后者时,一定要令其微分执行。否则,在脉冲的正半周,每扫描周期都将加一。

但是,如果频率高过此限制,则将丢失脉冲,或不能计数。图5-31所示为用FX2N进行有关采集测试程序。图5-31a为未运行时的状态,图5-31b为运行状态。

978-7-111-39745-8-Chapter06-44.jpg

图5-31 FX2N脉冲信号采集测试程序

从图5-31b可知,C0、D0在增1后不再增加,而C2、D2将增加。原因是调子程序的频率与M0变化的频率相等,而M2的频率为调子程序的频率的一半。前者不能反映出脉冲信号的ON、OFF变化,故不能正常计数;而后者能反映出脉冲信号的ON、OFF变化,故可以正常计数。

2.较高频率脉冲量采集

如脉冲周期小于PLC扫描周期的2倍,用普通输入点就不行了。但如不小于中断处理周期2倍,可使用中断方法采集。

如采集其生产线装酒的瓶数,若最高每秒通过20瓶,为确保脉冲不丢,可采用每25ms一次定时中断,执行采集中断子程序。而子程序,就是执行计数指令或微分执行INC指令。输入一个脉冲,计数器加一。下班时,计数器值转存到存储区,并清零。

再如脉冲油泵流量计,它发送脉冲的频率与通过它的流量成正比。如它的频率不是太高,也可用外中断采集脉冲,而用定时中断进行频率计算。

图5-32所示为这个脉冲频率采集程序。(www.daowen.com)

图5-32a为CPM1A机程序。从图知,它有一个主程序,两个子程序。主程序主要是进行中断初始化工作。这里“P_First…”是欧姆龙的特殊继电器,仅在扫描第一周期ON,其他周期均OFF,就是用它作外中断及定时中断初始化设定。

图中INT指令有3个操作数。第一个操作数是0,含义是允许输入中断;第二个操作数是0,

978-7-111-39745-8-Chapter06-45.jpg

图5-32 脉冲频率采集程序

默认值;第三个操作数是#E,含义是输入点0.03用作外中断(此外,还应把DM6628设为0001。这些也可用CXP软件在设定窗口上设),所调的中断子程序号是0。

STIM指令用以作定时中断设定。第一个操作数是3,含义是间隔定时中断开始执行;第二个操作数是DM1000,是低字地址,还有高字地址是DM1001。从图知,在执行STIM指令之前,已对DM1000、DM1001赋值,一个20,一个500,相乘为10000,含义是定时间隔时间为1s;第三个操作数是#23,指定调中断子程序号是23。

执行图5-32a程序的结果是,只要0.03点有脉冲信号输入,系统将调子程序0,使DM0加一,计脉冲。而每经历了一秒钟,系统将调子程序23,使DM0中的数传给DM1,DM0清零。显然,这里DM1中存的数即为每秒接收的脉冲数,即脉冲频率。

图5-32b为相应的S7-200机程序。图中SM0.1仅在PLC进入运行模式时ON一个扫描周期,用于进行初始化设定。本程序设定项目有I0.0外中断与中断子程序0(INT_0)关联、定时中断0与中断子程序1(INT_10)关联、并设定时中断时间间隔为250ms,最后是使中断允许。

然后就是两个中断子程序。INT_0执行,就是使VW0加1。INT_1执行就是把VW0的值乘4,并存于VW2中,同时VW0清零。可知,这里VW2存的即为加在输入点I0.0上的脉冲信号频率。

图5-32c为相应的FX2N机程序。图中先是使中断允许。然后就是两个中断子程序。I1为当X000 ON时调用的中断子程序。I680为间隔80ms定时中断子程序。执行I1,就是使D0加1。执行I680就是把D0的值乘25,并存于D2中,同时D0清零。可知,这里D2存的即为加在输入点X000上的脉冲信号频率。

3.更高频率或三相脉冲量采集

用PLC的高速计数功能或高速计数功能块采集。这在本书第4章已有介绍。这里略。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈