1 引言
现代化的工厂中,plc系统作为工业控制的基础设备已经非常普及。在很多工厂应用中,需要对现场采集过来的脉冲信号进行计数。如果使用专用脉冲计数模块,可以采集到高速脉冲信号。但是脉冲模块价格昂贵,在一些采集低速脉冲信号的场合其实可以使用普通的开关量输入模块代替脉冲计数模块。这样可以降低系统成套费用和系统的复杂程度,也提高了系统的可维护性。如果使用普通开关量输入模块代替脉冲计数模块,就存在一个问题:普通开关量输入模块采集脉冲信号的速度的极限是多少?存在哪些制约条件?以下将以ab公司的controllogix1756系列plc系统为基础,就这个问题谈一些分析。
2 模块响应速度的制约
开关量输入模块要检测到一个脉冲信号,必须能完整地采集到脉冲产生的整个过程,如图1所示,开关量输入模块检测脉冲信号的过程可以分解为三个过程。
从图1可以看出,开关量输入模块能检测到的脉冲信号至少必须满足以下条件:
(1) 脉冲宽度 t1》t1;
(2) 脉冲周期 t0》t1+t3;
(3) 脉冲间隔 t2》t3。
以ab公司1756-ib16d开关量输入模块为例,其on时间 =1,2,or3ms;其off时间=4,5,13,or22ms。其不同的on/off时间可以由系统进行配置。在配置最快的on/off时间的条件下,可以计算出,1756-ib16d开关量输入模块最快可以检测出脉冲宽度为1ms,脉冲周期为5ms的脉冲。如果脉冲宽度增加几个毫秒,脉冲周期就相应增加几个毫秒。结论如下:最理想的情况下,1756-ib16d开关量输入模块可以分辨速度低于200个/秒、脉冲宽度大于1ms的脉冲信号。
3 plc系统扫描时间的制约
plc的工作原理是分时扫描,plc的一个完整扫描周期包括全部i/o更新一次的时间和plc程序执行一次的时间。plc系统的扫描时间和系统网络情况、远程站的数量以及plc的cpu模块信号有关。如果现场开关量输入模块检测出的脉冲信号在一个plc扫描周期内大于1个,plc系统将不能正确反映现场脉冲的数量。
plc系统对开关量输入模块检测信号判断的详细分析如图2。
plc系统通过扫描更新i/o信息,假设在时刻0、t1、t2、t3,plc系统扫描到信号源处,由图2可以看出:
(1) 对于脉冲信号1,plc系统没有检测到任何脉冲信号。可以得到结论:如果脉冲信号脉冲周期t1
(2) 对于脉冲信号2, plc系统同样没有检测到任何脉冲信号。这是因为脉冲信号2的脉冲宽度t0
(3) 对于脉冲信号3,脉冲信号的脉冲宽度t0》plc扫描周期t,脉冲周期t1-脉冲宽度t0
(4)对于脉冲信号4,脉冲信号脉冲周期t1》plc扫描周期t,脉冲周期t1-脉冲宽度t0》plc扫描周期t,plc系统能检测出正确的脉冲数量。
对于一个使用ab公司的controllogix1756-l55系列的cpu模块,远程i/o通讯模块选用controlnet模块1756-cnbr,系统i/o总点数为2000点,远程i/o站数量为6个的中型系统来讲,一个plc扫描周期约为40~70ms。因此对于本系统来讲,能可靠检测的脉冲信号脉冲宽度应大于70ms,第一个脉冲信号结束至第二个脉冲信号发出的最小时间间隔应大于70ms。
4 结束语
综上所述,如果使用普通开关量输入模块代替脉冲计数模块,对脉冲输入信号的制约条件主要是plc系统的系统扫描时间。对于ab公司的plc系统来讲,对于脉冲宽度》70ms,第一个脉冲信号结束至第二个脉冲信号发出的最小时间间隔大于70ms的脉冲信号是可以可靠接收的。对于其他品牌的plc系统来讲,其基本工作方式与ab公司的plc系统是一致的,因此,这个结论也同样适用。对于不满足上述条件的脉冲信号,就必须考虑专用脉冲计数模块了。