数控系统中PLC信息交换技术

来源: 作者:李攀峰 高云婷

点击:1346

A+ A-

所属频道:新闻中心

关键词:数控系统 PLC 开放式

      在数控系统中,CNC和PLC在逻辑上是相互独立的功能单元。其信息交换是以PLC为中心,在CNC、PLC和数控机床之间进行信息传递。CNC将各种功能代码M、S、T的信息,手动/自动方式信息,各种使能信息等发给PLC。而PLC将M、S、T功能的应答信号和各坐标轴对应机床参考点的信息等发给CNC。PLC又将控制机床的执行元件以及各种状态指示和故障诊断报警等信息发给机床。而机床将操纵面板上各开关、按钮等信号以及各运动部件的限位信息等发送给PLC。

    一、外置式PLC信息交换

      外置式PLC是一个通用型PLC,它完全独立于CNC装置,具备完善的硬件和软件,能够独立地完成逻辑顺序控制任务。CNC和PLC都有自己的开关量I/0接口电路,PLC的I/0点数和功能可根据数控机床辅助动作的复杂程度而定。

      在对某企业所使用的CK6150的数控车床系统置换时,采用原有FAGOR8025数控系统加外置西门子S7-200型PLC的维修方案。PLC采用CPU226(24V直流输/16继电器输出)为主单元,扩展EM221(8进)直流24V输进单元和EM222(8)继电器输出单元组成56点的可编程控制器[2]。

      CNC系统和PLC接口接线原理图如图1所示。图中KM1为液压电动机控制辅助触点,KM2、KM3为用于连锁控制的主电动机控制辅助触点,T1~T4为刀位检测开关,SQ1、SQ2、SQ4、SQ53为X轴、Z轴正负向限位开关。另外,M/S/T选通讯号、工作方式信号、NC急停信号和复位信号、辅助功能编码(MST01~MST20)信号分别由数控系统接至12.2~12.7、13.0~13.5。数控系统发出M、S、T辅助命令时,首先通过I/0口向PLC发出相应的M、S、T选通讯号,然后MST01~MST20发出相应编码信息,编码方式灵活多样。

      PLC输出分别用于控制主轴变速、冷却油泵、刀架电机、润滑电机、液压卡盘、液压尾座以及产生各种控制指示等功能。

    二、内置式PLC信息交换

      内装型PLC也称为内置型PLC,其全部功能置于CNC内部,与CNC集成于一体。PLC的硬件和软件作为CNC的基本功能同一设计,其性能指标也由CNC系统来确定。PLC与CNC其他装置之间的信号传递在系统内部进行,PLC开关量的输出通过CNC的I/0电路完成[3]。

      PLC既可与CNC之间共用CPU,也可分别设置专用的CPU。共用CPU固然可以充分利用CNC装置中微处理器的资源,但是当PLC的I/0点数太多时,会影响到CNC功能的处理速度,一般用于中低档的数控系统。采用专用CPU来完成PLC的功能,速度快,用于规模大、逻辑复杂、动作速度要求高的数控系统中。

      内部带PLC的FAGOR 8025/8030数控系统(图2),内部输进喻出点数为41/24点,采用PLC和CNC共用CPU和存储器的方式,其内部PLC与CNC之间信号交换如图2所示。I42~I104是CNC至PLC的内部逻辑开关量信号,O25~O64是PLC至CNC的内部开关量信号,分别通过内部公共存储单元实现CNC和PLC之间信息的相互传递。I1~I41是机床至PLC的外部开关量信号,O1~O24是PLC至机床的外部开关量信号。

      另外,PLC还可通过其中2047个标志器、203个寄存器等存储单元实现与CNC交换数据。PLC运行时,可通过置位标志位M 1801~M1899在CNC中产生1~99号相关报警、提示信息。其中前面25条为致命错误,当出现其中任何一条错误信息时,CNC将中断程序的执行。PLC遵循一定的规则还可对CNC装置中的寄存器进行修改。在执行M/S/T功能时,CNC直接将相应的功能代码,传送到PLC的相应寄存器中,供PLC进行后置处理。

      由于内置型PLC与CNC采用内部数据总线来处理信息,使得数据处理能力强,外部接线简单,可靠性高。

    三、开放式数控系统的PLC

      随着计算机技术戒速发展,大量先进的高性能计算机被直接用作数控系统的控制器。基于高性能产业控制计算机(IPC)为核心的开放式结构成为数控系统发展的主要方向。在保存传统数控系统的基础上,增加了更多的计算机系统的其他功能。其PLC常采用内置软PLC形式,PLC程序的开发一般使用高级语言。

      INCON-M40F数控系统是台湾智研科技公司生产开放体系结构的数控系统,为用户提供了使用C++语言的内置PLC开发工具和DOS实时操纵系统平台。其PLC作为CNC实时控制程序的一部分,执行动作的同时必须和NC模块交换控制信息。PLC与NC通过动态连接库中的文件“plc. h”共享主CPU的资源。

      数控系统在初始化时按照“plc.h”头文件的约定,在存储区专门为PLC定义了由NC向PLC传递的内部输进只读状态变量,以及由PLC发向NC的内部输出变量。这些状态变量是NC模块在运行过程中保存的数控系统和机床的运行状态,这些数据可以供NC模块在运行过程中使用和修改,假如PLC模块在运行中需要调用这些执行变量,则以只读方式进行。

      状态变量的存取格式在数控系统开发时约定,编写PLC程序时应按照约定格式进行。NCON-M40F数控系统提供的执行变量有60多个,完全满足了PLC和CNC之间的信息交换需要。例如状态变量sts.state0.bRun为1时表示机床处于自动运行状态;sts.state0.bMdi为1时表示机床处于MDI运行状态。NC向PLC传递的内部输进变量全部是关于伺服轴的状态信息,用于在PLC要控制某伺服轴动作时判定该伺服轴是否处于执行状态。如状态变量Plc.spi0.bit.xplmt用于判定X轴是否处于负限位。PLC向NC发送的内部输出变量主要是机床操纵面板的控制信号以及经过PLC逻辑计算后需要NC模块发出控制指令的信息。如伺服轴的进给率用P1c.vto0.fvov0-Plc.vto0.fvov3四个二进制位信号来表示16种进给速度。PLC同机床本体之间通过物理I/0口相互联系。

      某卧式加工中心PLC程序自动换刀模块中的C++程序片断如下:

      case 6:                 ∥自动换刀子程序
      if(!toolChangeDevice)         ∥假如无换刀装置
      1plc.mCode.finsh=l;           ∥置M代码结束
      Break;}
      switch(T_C_STEP)           ∥换刀过程
      {case 0:               ∥换刀第0步
      if(spindleSate! =SPOMDLE_ OFF)   ∥假如主轴不在停止状态
      {……}
      }

      由于采用高级语言编程,与传统的梯形图等编程方法相比固然增加了编程的复杂性,但是编程的灵活性大大增加,而且使得系统功能更加强大。在编制PLC控制程序时需仔细阅读数控系统关于PLC的具体说明[6]。

    四、结论

      传统的数控系统结构无论是内置式还是外置式PLC结构形式,都不同程度地存在程序兼容性差、硬件要求高等缺点,而开放式数控系统结构可以采用同一的数据结构和开放的外部接口,逻辑结构PLC和CNC之间的信息交换方便,信息量大。PLC控制功能扩充不依靠于具体的硬件,编程元件的数目、种类可根据需要动态添加,无需更改硬件,降低整个数控系统的本钱。

      在编制PLC程序时,无论是针对哪一种PLC信息交换结构,首先必须弄清CNC、PLC、机床三者之间的关系,公道的设计数控机床控制电路编制PLC控制程序,使三者构成有机的整体,控制数控机床有条不紊地下作。


    (审核编辑: 沧海一土)