刘文涛, 颉鹏奎
(宝鸡机床集团有限公司,陕西 宝鸡 721013)
随着《中国制造2025》国策的提出,工业生产中的柔性自动线已成为广泛热议的话题,随之利用自动线来代替人工操作机床的情况也越来越多。由于种类繁多,需求多样,数控车床作为自动线具体的末端操作对象,必须从实际出发对其进行PLC控制编程,所以在数控车床中所使用的PLC控制逻辑也是各种各样,而且也必须按照每个具体情况进行控制编程,如果不是同一个项目中的同一个工序,就不能达到完全一样,虽然在此方面的控制思路多种多样,但是整体来讲,其通用的控制逻辑还是相同的。而国内研究文献对概念性的框架阐述较多,但对具体操作和实际的控制处理方法描述的还是较少。所以,本文旨在对通用的控制部分进行研究整理,以便于供相关人员进行借鉴,进而提高设计调试效率,并对初接触者的掌握理解提供帮助,为最终的操作和维修人员提供参考。
数控车床与自动线的信号交互可以通过以CCLINK、PROFIBUS等通信协议为基础的总线方式进行,也可以使用简单有效的继电器方式来进行。当以总线方式进行时,一般只需使用一根通信线缆即可,方便快速,但需要设备两侧满足同一种通信协议,并设置准确,对设备的通信要求较高。当使用IO模块的信号点来进行时,设备直接之间几乎是硬件连接,简单明了,但需要说明的是,一般使用这种IO高低电平直接来进行交互的方式时,必须使用继电器等方式进行信号隔离,防止双方电路出现故障时互相影响。
在这里,定义出通用的交互信号(具体地址可以自由定义),这些信号一般是双方的基础交互信号和常用控制信号,如表1所示。
表1 交互信号地址定义表
在自动线命令车床启动机床加工程序时,一是通过触发PLC中的启动信号直接启动,与车床上循环启动按钮功能相同(在FANUC系统中即是利用触发G7.2信号[1]),这种启动方式简单直接,但缺点是和车床循环启动按钮隔离性不好,易误操作和误触发导致机床误启动和机器人动作,而发生未预期的动作,在安全措施得当、规范性好的场合,如果要求启动灵活,可以使用这种方式。
另外一种是通过满足加工程序中正在执行的等待条件来启动,当条件满足时,执行接下来的加工程序。这种方法不存在上述不足,而且也符合条件满足时执行的要求,另外这种方式下自动线所监控的车床一直是自动允许中,不存在状态切换,易于监控人员判断,是常用的也是推荐使用的方法。本文使用这种方式,也就是利用M代码的方式来实现这种功能,例如:M90为允许机器人上料,M91为允许机器人卸料。
图1为整个自动加工的流程图,需要说明的是,利用M99循环程序,系统会默认的是一直在执行当前程序,从未结束,所以如果要实现工件计数功能,则可以将其功能添加到工业机器人的计数功能中去,或者对车床的控制再进行特殊处理。一般在自动线开机上料加工时,第一件工件需要人工手动完成加工,以检测自动线初始化是否正常,而上述流程图也满足这种要求。
图1 对车床的控制流程图
首先当自动线接收到车床发出的允许服务信号时,才允许机械手进入车床进行操作。允许服务也可称为安全信号[4],是车床与机器人进行实际交互的基础,所以此信号需由各种安全要素组成。一般包括以下内容:1)在自动方式下;2)机床没有报警;3)自动门开到位;4)机床刀塔回到安全位置,这里可以选取第二参考点作为标志,将第二参考点设在安全位置[2];5)机床处于程序中交换零件状态,即在M90/M91状态;6)若刀具有影响,则需要在条件里面加入刀号条件,限制在只有某号刀时才允许服务;7)其它还需要根据实际情况设定的条件,如主轴定向完成。
上述条件满足时向自动线发出允许服务信号。
这里需要指出的是,所有的状态信号必须有实际的反馈信号作为支撑,以切实反映已达到此状态的事实,不能仅仅利用命令加延时等这种不可靠的方式来确定机床的状态,而且需要指出的是,使用实际线缆传递信号时,必须考虑有断线情况发生时对状态的影响。
因为自动线加工中多是大批量的一种零件,所以只用内卡或只用外卡,为了保证安全可靠,应当按照一种方式(比如内卡)来确定好卡盘状态。利用卡盘夹紧工件为常见的方式,常见还有胀套等,但原理相同。
车床输出卡盘松开。检测到松开信号已到达无误后,向自动线输出卡盘已松开信号。
车床输出卡盘夹紧。检测到夹紧信号已到达无误后,向自动线输出卡盘已夹紧信号。
允许机器人服务信号输出时,在卡盘已松开状态下,程序已等待在M90状态时,向自动线输出允许机器人上料信号。
允许机器人服务信号输出时,在卡盘已夹紧状态下,程序已等待在M91状态时,向自动线输出允许机器人卸料信号。
允许机器人上料、卸料也是车床与机器人开始实际动作的具体表现,此时执行的过程除紧急情况一般不要人为停止自动线的运行,否则在恢复正常状态时操作步骤较多,提升操作难度,若需要,可以在此步骤开始前或结束后进行停止。
在车床发生报警时直接向自动线输出车床报警信号。
在车床主轴定向完成时直接向自动线输出主轴定向完成信号。
在车床接收到自动线的命令信号时,如果车床的状态满足命令信号执行的条件,则立即执行。如果条件不满足,此信号经过一个PLC扫描周期后[1],虽然信号仍然存在,但需要拒绝执行(或者延时1 s后再拒绝执行),以此来防止不安全现象发生。总结一句话:当前命令,立即执行;当前已过,拒绝命令。
当接收到车床的允许上料信号时,机械手进入到车床内部向车床装工件,安装工件到位后向车床发送卡盘夹紧信号,接收到卡盘已夹紧信号后,回到安全位置,向车床发送上料完成、启动加工信号,车床启动,加工开始。
当接收到车床的允许卸料信号后,机械手进入到车床内部,抓好工件后,向车床发送卡盘松开信号,接收到卡盘已松开信号后,回到安全位置后发送卸料完成信号。
在卸料完成、机械手回到安全位置后,向车床发送车床清洗信号,车床启动清洗功能,然后车床完成自身的初始化等准备工作,就转入等待机器人上料状态。
PLC的处理主要以满足上述论述逻辑为主,此处根据上述论述进行举例,如图2~图4所示。
图2 车床对机器人的状态输出
图3 卡盘夹紧控制命令
图4 卡盘放松控制命令
加工程序是自动加工的重要组成部分,和PLC的处理逻辑是成一体的,通用的固定格式如下所示:
G28 U0 W0[3]//回到参考点(也可设置第二参考点),或回到安全位置
其主要步骤一般为:刀塔等到达固定的安全位置,刀架为固定刀位,不会和机械手发生干涉,然后执行辅助动作,如主轴定向,然后就可以执行上下工件动作,执行之后就可以开始加工,如此往复。
在加工程序中也可以根据实际情况增加测头等功能,增加宏变量[5]等内容,以实现更好的加工和更好的信号传递,但加工程序一旦正常运行,一般就固定了,需做好保护措施。
自动线与车床联机的情况多样,但是对于起媒介作用的交互信号的处理方法基本类似,而且自动线的控制逻辑一般固定好之后,变化较小,可以通用,能够快速地复制到其它自动线中。通过本文介绍的方法,对于一般的自动线可以实现自动线与车床的联机,对于特殊类型的自动线,加以调整,也可以很好地使用,本文介绍的逻辑也可以适用到西门子、广数等数控系统中,对实际的各样自动线PLC处理逻辑也起到借鉴作用,具有较高的实践意义。