




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要:在FANUC数控系统中,C执行器、Macro执行器、FanucPicture等都是PMC的外设,但是PMC跟这些外设通讯不是通过X和 Y地址信号,而是直接读写R、E或D地址等信号。因为PMC处理X信号和R、E、D信号的方法不同,如果忽略了这一点,编写的PMC程序就很容易 出现漏洞,运行时可能会产生竞争冒险。详细介绍一个维修PMC和C执行器联合应用的案例。关键字:PMC C执行器 梯形图 循环周期 扫描周期 分割段1 概述一台使用FANUC160C数控系统的进口卧式加工中心,投产后不久偶尔出现完成备刀后既不动作、也不报警的“死机” 现象,大约每周出现二次,复位和急停操作都无法恢复,只能关
2、机。该机床使用了C执行器(CEXE)。发生故障时CNC在执行的M661代码(备刀命 令),等待M功能结束。后来查出故障原因是PMC与CEXE配合使用时,因为忽略了PMC分割段运行机理,程序出现了漏洞导致竞争冒险。下面按照分析故障的过程进行叙述。2 分析故障2.1 逆向追踪机床备刀过程是将主轴上换下来的旧刀从待刀位送回刀库,再把下一把刀从刀库转移到待刀位;在这个过程中,刀具数据信息(刀具号、刀具寿命等)也要同步转移;因为刀具数据管理由CEXE处理,所以在执行备刀命令M661过程中,根据实际步骤CEXE也要同步运行。从M661功能没有结束开始追踪,文中箭头所指方向为程序逻辑执行方向。M661结束M
3、661FN=0M06等待M06WAT=1未执行备刀第8步TCF08=0 未执行备刀第7步TCF07=0刀具检索未完成TSROK=0未执行备刀第4步TCF04=0未执行备刀第3步 TCF03=0CEXE相关CEXBSY=1,CEXFIN=1。由于CEXBSY和CEXFIN信号比较复杂,停止逆向追踪。CEXBSY信号是PMC向CEXE发出的任务请求信号,梯形图中有10处置位和10处复位CEXBSY信号。CEXFIN信号是CEXE向PMC发出的CEXE的任务完成信号,梯形图中没有写这个信号。确定目标:焦点是CEXBSY0和CEXFIN0;方向是PMC的10项任务和CEXE。2.2 梳理10项任务任务
4、1:WORKDATARESETJOB;任务2:TOOLDATARESETJOB;任务3:TOOLCALLINGSTEP3;任务4:WORKCOUNTERUPDATESTEP1;任务5:CYCCLETIMEMONITORSTEP1;任务6:SLFLAGSETSTEP2;任务7:TLCOUNTUPSTEP1;任务8:M034ACTIONSTEP1;任务9:BTFLAGRESETJOBSTEP2;任务10:SETDATATRIGGER;10项任务与CEXE的应答方式是相同的。2.3 使用排除法,缩小目标范围依次检查10项任务,寻找不同之处:9项任务的触发信号都是“0”,所以这9项任务都不会向CEXE
5、发出任务请求。只有任务3的触发信号TCF02是“1”,但是因为条件不满足,所以任务3的任务选通信号TCF3没有接通。与2.1节的追踪结果“会合”了,怀疑是任务3有问题。分析任务3的梯型图(图1):(1)在Net4上,因为TCF03=0,所以不能置位CEXBSY信号。(2)假设一:当时正在执行任务3,TCF03信号曾经是“1”,当时置位了CEXBSY信号,然后关断TCF03信号。因为Net1中TCF03信号是自锁的,如果要关断它,则需要上一次循环时Net8TSROK=1,因此Net5TCF04=1;既然TCF04=1,那么Net6就能够复位CEXBSY了;这与实际状态CEXBSY=1不符,所以假
6、设一不成立。(3)假设二:当时在等待执行任务3,即CEXB-SY=1是由其他任务置位的。因为其他任务还没有完成,所以CEXBSY=1;当其他任务完成后,使CEXBSY=0,CEXFIN=0成立,就可以执行任务3了,符合逻辑,证明假设二成立,所以不是任务3出的问题。更新目标:焦点是CEXBSY0和CEXFIN0;方向是PMC的9项任务和CEXE。至此,我们需要先研究PMC和CEXE的联合应用。3 学习PMC和C执行器联合应用3.1 分析PMC接口程序(图1)Net1Step1:在没有其他任务时(CEXBSY=0,CEXFIN=0),处于任务使能状态,如果有触发信号(TCF02=1),则
7、任务选通(TCF03=1)并且自锁。Net2,3Step2:如果任务选通,就一次性传送任务数据到CEXE(CEDT00、CEDT04、);到下一个循环周期时CEXBSY=1,就不再传送了。Net4Step3:如果任务选通,就置位CEXBSY信号(向CEXE发出任务请求命令)Net5Step6:收到CEXE任务完成信号(CEXFIN=1)后,就发出PMC的任务完成命令(TCF04=1)。Net6Step7:收到PMC的任务完成命令,就复位CEXBSY信号(通知CEXE任务结束)。Net7,8Step9:如果CEXE的返回代码CEDT02是“0”,就发出PMC的任务结束命令(TSR-COK=1);
8、Net1Step10:到下一个循环周期时,由PMC的任务结束命令(TSRCOK=1)关断任务选通信号(TCF03=0),结束任务;当收到CEXE发出的允许接收新任务命令(CEXFIN=0)后,则再次处于任务使能状态(其它任务也处于使能状态)。图1 节选任务3梯形图3.2 分析CEXE接口程序(图2)A:如果成功获取CEXBSY和CEXFIN的状态则向下运行,执行B和C。B:如果状态为CEXBSY=1,CEXFIN=0(收到PMC的任务请求命令CEXBSY=1,对应Net4),则向下运行,执行D;否则执行C。CStep8:如果状态为CEXBSY=0,CEXFIN=1(收到PMC的任务结束命令CE
9、XBSY=0时,对应Net6);则置CEXFIN=0(通知PMC允许接收新任务,对应Net1Step10);DStep4:如果成功获取任务数据(组)CEDT00、,则向下运行,执行E和F。EStep4:执行PMC请求的任务。(根据CEDT00的任务代码,选择执行相应的函数;完成任务后把返回代码写入CEDT02中,对应Net7)。FStep5:完成PMC请求的任务后,如果仍然CEXBSY=1,则置CEXFIN=1(通知PMC任务完成,对应Net5)。图2 节选C-EXE接口程序整个PMC和CEXE的应答关系如表1所示。表1 PMC与C-EXE应答关系顺序表小结:在C中,只要CEXBSY=0,CE
10、XE就会置CEXFIN=0;所以排除了CEXFIN0的因素。更新目标:焦点CEXBSY0;方向是PMC的9项任务。3.3 设置“痕迹标识位”缩小目标为了确定到底是哪个任务出了问题,采用设置痕迹标识位的方法,具体方法如下:修改梯形图,分别为各项任务设置“痕迹标识位”(R20.0R21.1);在每项任务“置位”和“复位”CEX-BSY的同时也“置位”和“复位”各自的“痕迹标识位”。在出现“死机”时,如果哪一个“痕迹标识位”还是“1”,则就是哪一项任务出了问题。增加标识位后,再次出现“死机”时,R20.6=1;说明是任务7出了状况。锁定目标:任务7没有复位CEXBSY!3.4 检查任务7的梯形图(图
11、3)(1)根据锁定目标,Net14没有复位CEXBSY;当时状态是CEXBSY=1,CEXFIN=1;(2)逆向追踪:箭头所指方向为程序逻辑执行方向。Net14CEXBSY0Net9TLCU1=0上一循环周期Net16TLCUFN=1TLCU1=1,CEXFIN=1。说明在上一循环周期时TLCU1=1,CEXFIN=1是成立的。那么,为什么排在前面的Net14没有执行而后面的Net16却执行了?分析:顺序程序没有逻辑错误,猜测是PMC运行时发生了冲突。图3 节选任务-7梯形图4 回顾PMC的运行原理,寻求突破4.1 从基础原理出发回顾PMC程序的执行原理,梳理相关概念(参考图4,图5
12、)。(1)扫描周期:8ms。(2)扫描PMC时间:5ms(FS160C);即在8ms内有5ms执行PMC程序,3ms由NC使用。(3)5ms分为两部分:处理高级段:执行Level1程序,每个扫描周期都要执行一次;处理低级段:剩余时间执行Level2程序,每个扫描周期只能执行一部分。(4)分割段:Level2程序按分配的时间分割成n个段,每个扫描周期执行一个段。(5)运行方式:循环执行。(6)循环周期:8×nms,执行一遍PMC程序的时间。图4 顺序程序的结构图5 顺序程序的执行次序4.2 发现突破口:是分割段问题假设:两个分割段的“接缝”在Net14和Net15之间(见图6);在执行
13、Net14后和Net15之前这段时间内,CEXE把CEXFIN由“0”变为“1”。分析如下:(1)在执行Net14时,因为TLCU1=1,CEXFIN=0,所以没有复位CEXBSY,保持CEXBSY=1,此时结束了当前分隔段。(2)接着执行3ms“NC处理”(参考图5),然后开始下一个扫描周期,首先执行高级段,在这段间内CEXE把CEXFIN信号变为“1”。(3)再从下一分割段起点Net15开始执行;因为此时TLCU1=1,CEXFIN=1,如果CEDT02=0,则Net16置TLCUFN=1。(4)下一个循环周期,执行到Net9时就会关断任务选通信号(TLCU1=0)。(5)再次执行到Net
14、14时,因为TLCU1=0,CEXFIN=1,则还是不能复位CEXBSY。;上述推理符合PMC运行原理,此假设成立!小结:由于CEXFIN信号在一个循环周期内能够发生变化,且这个变化又导致在复位CEXBSY之前关断了它的复位条件,所以就再无法复位CEXBSY了。图6 不适当的分割段“接缝”4.3 整改措施参见图7,增加一个CEXFIN信号的同步信号CFIN_B,用CFIN_B替代原来所有的CEXFIN信号;因为CFIN_B信号在一个循环周期内不会有变化,所以就不会发生冲突了。经过长期使用没有再出现状况,证明整改有效。图7 整改任务7梯形图5 探讨5.1 PMC是如何处理X信号和R、E、D信号的
15、?(1)PMC对X信号进行两种缓冲处理扫描缓冲处理:每隔2ms,扫描机床X信号传送到X信号存储器一次;Level1程序使用的X信号来自X信号存储器。同步缓冲处理:每次开始执行Level2时,同步X信号存储器传送到X信号同步存储器一次;Level2程序使用的X信号来自X信号同步存储器,且在Level2扫描周期中对信号进行锁存。因此,Level2程序中的X信号要比Level1程序中的X信号滞后,最多时可能滞后一个循环周期。(2)PMC直接使用R、E、D信号,不进行缓冲处理R、E、D信号是内部存储器信号,它们的状态源于PMC顺序程序,只要符合顺序逻辑就不会发生冲突。5.2 单独使用PMC控制就不会有这种冲突吗?也会有的,因为每隔8ms就要刷新一次Level1程序;假设在Level1程序中写的一个R信号,且这个信号在Level2程序中多次引用;这 个R信号在一个循环周期(8×nms)内状态是会发生变化的,如果该变化发生在引用这个R信号的两个分割段之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消费者行为变化对产业竞争治理的影响
- 软件开发过程与方法论知识点梳理
- 秋游山间的美景作文12篇
- 桌上的那盆绿植讲述一盆植物的成长故事(7篇)
- 统编人教版三年级语文下册《清明》示范课教学课件
- 策划方案安全生产三项行动实施方案
- 氧化工艺证考试题库及答案
- 劳务合同模板(纯人工)
- 办公用品采购及管理办法
- 领导力核心要素解析
- 车辆收费及管理制度
- 电梯维保转让合同范本
- 父爱如山父亲节感恩主题班会课件179
- T/ZGM 001-2021家用和类似用途饮用水净化装置用纳滤膜元件
- T/CAS 612-2022碳中和管理体系要求
- 2025-2030中国显微镜行业市场深度调研及发展趋势与投资战略研究报告
- 平台合伙人合同协议书
- 2025中国储备粮管理集团有限公司贵州分公司招聘22人笔试参考题库附带答案详解
- 物业设施设备管理
- 运维安全保密措施
- 《智能驾驶技术解析》课件
评论
0/150
提交评论