工控网首页
>

应用设计

>

巧用中断——PLC扩展AB相高速计数的方法

巧用中断——PLC扩展AB相高速计数的方法

2012/1/3 16:13:07

一、引言:PLC可编程序控制器,是一种工业上广泛应用的通用控制器,但是在应用实践中,不少情况是应用的要求,略为超出了PLC的资源,通常是IO端口的不匹配,最遗憾的是,有时只差1、2个端口,就要选购大一级点数规格的PLC,所以很多学者研究了不增加成本的情况下扩展IO端口的方法。但AB两相高速计数器不够用而扩展的,恐怕大多数人认为,只能购买昂贵的高速计数器特殊模块了。但如果满足特定条件时,也可以用PLC基本单元作少量增加,以下以三菱FX系列PLC基本单元为例扩展1路AB相高速计数器。

二、问题背景:某机械设备设计制造公司要设计制造一种液压机械,机器需要用到3把AB相光栅尺,其中1把连接到液压缸驱动的进给机构,以作为定位之用,运动速度高;另外2把连接到一个平面上的X轴、Y轴两个方向的调节机构,该2个调节机构进给速度相对前者稍慢。公司计划采用三菱FX1N系列PLC基本单元作为控制器,由于三菱FX1N系列PLC基本单元最多只能同时接入2个AB相高速计数器,于是将其分配接入2把AB相光栅尺,完成X轴、Y轴调节机构的功能,另购置1个高速计数器特殊功能模块,完成进给机构高速定位功能。但是,PLC特殊功能模块的价格是比较昂贵的,如果机器的生产数量是比较多的话,就削弱了产品的竞争力。

三、FX1N系列PLC内部高速计数器和外部中断简介:

内部21点高速计数器C235—C255共用PLC特定的8个输入端X0—X7,某一高速计数器输入端都有其对应的输入端口,不同类型的高速计数器可以同时使用,但是它们的输入端不能冲突。其中AB相高速计数器与端口的对应关系如表—1:

 

端口

AB相高速计数器

C251

C252

C253

C254

C255

X000

A

A

 

A

 

X001

B

B

 

B

 

X002

 

R

 

R

 

X003

 

 

A

 

A

X004

 

 

B

 

B

X005

 

 

R

 

R

X006

 

 

 

S

 

X007

 

 

 

 

S

   因此,最多只能同时使用2个AB相高速计数器。

   FX1N系列PLC有6个外部中断输入端X0—X5,分别对应中断指针I0□,同一输入中断源只能使用上升沿触发或下降沿触发,不能同时是上升沿和下降沿触发。用于中断的输入点不能与已经用于高速计数器的输入点冲突。

四、问题的解决:回到问题的背景,如何可以在不改变硬件和增加成本的情况下,使FX1N基本单元具有3路AB相高速计数器功能呢?答案是,用PLC本身的中断机制。经过核算,3个光栅尺产生的脉冲频率,都在三菱FX1N系列PLC中断所能处理的频率之内。

使用PLC内部高速计数器C251,对应端子X0、X1,分别连接到由液压缸驱动的进给机构上的光栅尺的AB相;X轴定位机构上的光栅尺AB相分别连接到PLC端子X2、X3,Y轴定位机构上的光栅尺AB相分别连接到PLC端子X4、X5。3把光栅尺读数的复位或清除,由其他端子控制。

以下是AB相光栅尺的时序,如图:

定义X2、X3端子为脉冲上升沿中断触发方式,则其数字滤波器时间自动设置为0(不含RC滤波器时间常数)。当光栅尺正方向运动时,在t1时刻,X2产生脉冲上升沿中断,此时中断程序刷新X3的输入映像寄存器、如果检测X3到是OFF,则中断程序对PLC内部继电器M1置位,表示A相超前B相,光栅尺正向移动。光栅尺继续移动,到达时刻t2,X3产生脉冲上升沿中断,该中断服务程序检测M1,如果M1=1,则对PLC内部数据寄存器D1加1,然后复位M1。

当光栅尺反方向运动时,在t4时刻,X3产生脉冲上升沿中断,此时中断程序刷新X2的输入映像寄存器、如果检测到X2是OFF,则中断程序对PLC内部继电器M2置位,表示B相超前A相,光栅尺反向移动。光栅尺继续移动,到达时刻t3,X2产生脉冲上升沿中断,该中断服务程序检测M2,如果M2=1,则对数据寄存器D1减1,然后复位M2。

数据寄存器D1的值就是这个由中断机制构造出来的高速计数器的当前值。

语句表:

EI               //开中断

………

I201   LD  M8000

   REF  X0  K8     //刷新X0—X7输入映像寄存器

   LDI  X3         // 读X3实时值,如果是OFF

   SET  M1        //置位M1

   LD   M2

   SUB  D0  K1  D0

   RST  M2

IRET

I301   LD  M8000

      REF   X0   K8

      LDI   X2

      SET   M2

      LD    M1

      ADD  D0  K1  D0

      RST   M1

      IRET

END

为什么不只使用X2上升沿中断,直接读取X3输入映像,根据X3输入映像,判断光栅尺运动方向,从而对D1进行加减?如果这样,当光栅尺停在t1点所对应位置附近时,如果连接光栅尺的机构没有减震的措施,很容易受到机器运行的震动影响在该点来回抖动,这时将不断产生X2上升沿中断。

五、结语

外部端口中断的使用是很灵活的,还可以实现很多功能,例如捕获窄脉冲信号、计算脉冲宽度、实现高精度定时器,甚至可以实现简单的串行通信功能。

投诉建议

提交

查看更多评论
其他资讯

查看更多

顺序控制系统安全编程与状态链模式