对于FANUC的PMC来说,其程序(梯形图)结构为:第1级程序—第2级程序—第3级程序(视PMC的种类不同而定)—子程序—结束,如图1所示。
图1 FANUC PMC程序结构
第1级程序(1st level)是每隔8ms进行读取的程序,主要处理急停、跳转、超程等紧急动作。第2级程序(2nd level)是普通的顺序(sequence)程序。因此,从程序的长度上讲,第1级程序很短,第2级程序则比较长,对应PMC扫描时间也随之有长短。
CNC上电后,CNC与PMC同时运行。对于FANUC 0i Mate-D内置的PMC/L,没有专用的CPU,与CNC共用一个CPU。图2为两者执行的时序图。
图2 CNC与PMC执行时序图
CNC一个工作周期为8ms,其中前1.25ms为执行PMC程序,执行完PMC 程序后的8ms 的剩余时间(即6.75ms)为CNC功能的处理时间(NC processing)。
在1.25ms时间里,首先执行全部的第1级程序,1.25ms 内剩下的时间内执行第2级程序的一部分,直至全部PMC 程序执行完毕。这样,第2级程序根据PMC程序的长短被自动分割成n等分(division),每8ms中扫描完第1级程序后,再依次扫描第2级程序,所以整个PMC的执行周期是n×8ms。然后又重头开始执行PMC程序,周而复始。
如图3所示,第2级程序有3个分割数(division),整个PMC程序的扫描周期就为3×8ms=24ms。
图3 PMC程序分割数
由此可见,由于第2级程序不能一次全部扫描,所以要将第2级程序分成若干段。如果第1级程序比较长,则分割数n就会增加,这样就使得整个PMC程序的扫描周期相应延长,因此,我们希望第1级程序越短越好。
子程序位于第2级程序之后,其是否执行扫描受第1、2级程序的控制,所以对一些控制较复杂的PMC程序,建议用子程序来编写,以减少PMC的扫描周期。
第1级程序为要求PMC紧急处理的事件,比如,急停、撞到限位开关等。紧急事件应是立即反应的,因此每8ms就执行一次,其他事件的反应时间就会大于8ms。因此第1级程序也称为高速程序、高级程序。
每一级程序结束由PMC功能指令END1、END2、END3实现。
PMC分割不当可能会导致机床出问题,戳“阅读原文”看看机床会出什么故障。
(文/汤彩萍)
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【微信公众号:机电双语学堂】,仅供大家学习交流,如侵权请联系站长删文。