- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
巧用中扩展PLC扩展AB相高速计数器方法.
巧用中断扩展PLC AB相高速计数的方法
杨敬东
(广东佛山 菜鸟控制实验室)
摘要:本文介绍了利用可变程序控制器PLC的中断机制,扩展PLC中的AB两相高速计数器的方法。
一、引言: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,分别对应中断指针I□0□,同一输入中断源只能使用上升沿触发或下降沿触发,不能同时是上升沿和下降沿触发。用于中断的输入点不能与已经用于高速计数器的输入点冲突。
四、问题的解决:回到问题的背景,如何可以在不改变硬件和增加成本的情况下,使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
文档评论(0)