摘 要:本文扼要讲述了利用台达PLC为核心的控制系统在专用机床上的应用。重点讲述了PLC的位置控制问题,PLC与变频器的RS485通信问题和PLC与触摸屏的组态、编程。
关键词:专用机床 PLC 触摸屏 变频器 位置控制 通信控制
Abstract: This Papers briefly on the use of DELTA’s PLC control system on the Special Purpose Machine be applications. Focus on the PLC’s Position Control, PLC and Inverters on the RS485 communication ,the PLC and Touch Screen configuration, programming.
KEY WORD: Special Purpose Machine; PLC; Touch Screen; Inverters; Position Control; Communication Control
一,应用背景
本文讲述了DVP-EH2型PLC在我公司的双工位深孔钻机床上的应用。双工位深孔钻机床为我公司开发生产的重点产品,机床主要用于汽车刹车泵缸体的钻孔加工,在市场上具有很大的应用潜力。
机床加工的基本原理是:枪钻钻头动力头平置于机床工作台,加工件安放于竖直的滑台上的工件夹具内。滑台沿枪钻钻头旋转的垂直线上下运行。加工时,钻头高速旋转,滑台带动工件往下运行,对产品进行钻孔加工,加工尺寸到位后,滑台再往上运行,退出工件,关闭动力头。
传统的机床采用液压油缸驱动。当液压油缸行程到位后,利用行程开关控制液压电磁阀动作,使油缸返回。液压驱动的最大问题是加工孔深精度很难控制。运行速度调节也不是很方便。
机床采用伺服电机控制丝杆滑台上下运行定位,滑台往下运行时,对产品进行钻孔加工,加工完成后,滑台再住上运行,退出。与传统的液压油缸驱动相比较,由于利用伺服电机定位控制,可以很方便的进行加工速度设置,高精确地达到钻孔深度的控制。
双工位深孔钻机床是两个工位同时加工,互不干涉。一个机床操作员控制,可以同时进行两件工件的加工。是提高加工效益,减少投资的不二之举。
机床控制方案可以选用简易型数控控制系统(CNC)。当前市面上也有很多两轴的数控产品。数控系统有着标准的G代码编程,也能够很方便的进行伺服的定位控制。但是须要完成两轴相互独立,互不干扰的定位时,CNC在编程时遇到了制约。CNC的两轴或多轴G代码在编程时,不能做到同时执行两段独立的定位指令。当然,也可以采用两台单轴的CNC控制系统。但是,这样的控制过于冗杂,成本也过高,应用价值不高。
鉴于以上原因 ,实现此机床控制要求可以选用PLC进行控制。机床的定位动作并不复杂,只需要正向加工定位、反向退出定位两段位置控制指令。很多型式的PLC都带有高速脉冲输出功能,具有很方便的相对定位,绝对定位指令。不需要另加扩展模块,能够很方便的实现机床的运动控制。
二,控制概要
1,机床需要两轴脉冲输出,以分别控制两个工位的丝杆滑台运行。滑台的定位速度不小于6m/min。定位精度小于0.01mm。在电气控制设计上,一般都设计为0.001mm/P,即0.001mm每脉冲当量。 这样,方便进行运算,电子齿轮比也容易计算。机械制造上采用精密丝杆传动(双螺母滚珠丝杆),也比较容易就能达到0.01的定位精度。
2, 机床人机对话采用控制面板的开关按钮与触摸屏接合。工件的加工速度,加工尺寸在触摸屏上利用参数的形式进行设置。
触摸屏与PLC组态后,可以对PLC的一些关键内部数据时行监控,包括实时显示工件坐标、动力头电机电流。显示加工状态、关键的PLC内部数据或一些故障码、异常信号,方便进行机床的状态分析、故障疹断。
触摸屏与PLC可以很方便的实现通信。两者组态时,只要设置好两者之间的通信协议,触摸屏即可以读写PLC的D、M数据了。
3,枪钻的加工因为工件的材质不同、加工孔径的大小不一,枪钻钻头的转速也要求能够很方便的进行调节。因此,机床的动力头转速采用变频器进行调速控制。
机床控制系统,可以监视变频器的相应状态,包括输出频率,输出电压,负载电流。因此,可以将PLC与变频器进行RS485通信读取读据。同时,PLC对变频器的速度、运行、停机等可以通过RS485通信进行控制,方便变频器的控制接线。
4,机床加工还须要一定的外部辅助功能。如加工过程中的冷却液,工件装夹,防护门开关等等。
5,机床具有手动控制和自动控制两种工作方式。手动控制主要用于机床的调试和首件产品的试制,可以分别对辅助功能进行开关,手动控制工件滑台的上下运行。自动控制为自动进行一个工件的加工周期,人工装夹好工件后,操作人员按下起动按钮,机床即进行工件的钻孔加工,钻孔完成后,即行自动退出工件,加工过程中,自动注入冷却液,开关防护门等相关辅助动作。加工完成后,自动工件松开。完成一个工件的加工过程。
三,PLC在专用机床上的控制实现
根据机床控制要求,电气控制系统以PLC为控制核心、以触摸屏与控制面板按钮为人机对话界面,控制机床的各项辅助功能输出、控制双轴伺服定位、变频器调速。其中,PLC与触摸屏的通信为RS232通信;PLC与变频器的通信采用RS485;PLC对伺服驱动的定位控制采用脉冲+方向形式的脉冲输出方式。机床总体控制框架如下图所示:
机床电气控制总框图
1,PLC 在机床上的定位控制。
PLC的脉冲输出最高频率直接影响运动定位控制的速度和精度,是一项非常关键的技术指标。一般PLC都会带两路脉冲输出或四路脉冲输出。并且脉冲输出频率并不低,甚至比一般的CNC数控还要高,如台达的DVP-EH2系统的PLC最高输出达200KHz,有些甚至更高,如Omron公司的CP1H-Y系列的PLC还达到了1MHz。
脉冲定位速度为:
V=Fmax×δ×60 (式1)
其中,V为速度,单位:m/min(米/分钟);Fmax为最高脉冲频率,单位:Hz(赫兹);δ为脉冲当量,单位:mm/P 。
台达DVP-EH2型PLC共有四路高速脉冲输出,其中两组为AB相脉冲,两点为单脉冲输出端。四路脉冲输出端口分别为:CH0(Y0,Y1),CH1(Y2,Y3),CH2(Y4),CH3(Y6),输出频率都达到200KHz。如果采用0.001mm/P脉冲当量进行控制,那么,根据式1,PLC的定位速度最快为:
200000×0.001×60=12000mm/min=12m/min
即定位的最高速度为12米每分钟。完全可以达到机床的控制要求。
现在很多的微型机,或小型机都有内置高速脉冲输出功能。可以运用脉冲定位指令实现相对定位、绝对定位。台达PLC的相对定位指令[D]DRVI或绝对定位指令[D]DRVA。(指令前缀D为双字控制指令,最高定位区间可以达到232,即定位范围为-2147483648~+2147483647)。在机床控制中,当电气精度做到0.001mm时,则机床的定位范围在-2147483.648mm~+214748.367mm之间,完全可以满足机床的控制要求。
机床在定位控制中,需要用到单步方式、连续方式、自动加工定位。单步方式主要用于调试机床时的精确定位,即按动一次正向定位或反向定位的控制按钮,机床即进给一定量值(PLC发出指令数量的脉冲值)。单步方式一般采用脉冲相对定位指令[D]DRVI,脉冲定位数量可以在触摸屏人机界面中设置。相对定位指令格式如下:
[D]DRVI | S1 | S2 | D1 | D2 |
S1:脉冲输出数目;(定位量)
S2:脉冲输出频率;(定位速度)
D1:脉冲输出装置;(脉冲输出通道CH0,或CH1)
D2:定位方向输出装置;(脉冲正向定位/反向定位)
其中,EH2机型的脉冲输出通道D1可以指定为Y0(CH0)或Y2(CH1);定位方向输出D2可以指定其他任何输出端点,D2根据脉冲定位数量的正值/负值自动决定为ON/OFF。当S1为负值时,D2=OFF,当S1为正值时,D2=ON。
对于操作数S1,和S2 可以指定为数据寄存器D。通过触摸屏对寄存器D的访问,进行操作数的设定。
实现程序如下所示:
程序中,M17为触摸屏界面的触控按钮,X17为操作面板“滑台升”按钮,特殊辅助继电器M1029为CH0脉冲输出完毕标志,当按下X17(M17)时,定位脉冲输出端子即刻输出由D120指定的定位脉冲数,并因M21的自锁而持续输出,当定位脉冲数值完成时,脉冲输出完毕标志置ON,指令条件解除,须得由下一次按钮按下时再次起动。
机床在自动加工时,采用绝对定位指令[D]DRVA。使用[D]DRVA指令之前,需要先进行原点设定,也即在绝对定位指令前,须要将现在的脉冲输出当前值做出设定,否则绝对定位指令不能执行。原点设定可以在PLC上电的初始化中进行设置。一般使用PLC的启动正向脉冲对D1336进行数据传送。特殊数据寄存器D1336为CH0脉冲的现在值。
原点设定的实现程序如下所示:
当机床在定位时,PLC实时的读取当前的脉冲数,随时将D1336内的数值读出到D200进行保存。在机床再次起动时,再将D200内保存的数值送入到D1336中,这样,就可以在机床关机时,能保持机床的当前坐标。
绝对定位指令实现程序如下所示:
使用定位指令时,也可以指定定位起动时的加减速,设置脉冲输出的加减速一个作用是使机床能平稳地起动停止,另外一个用处是伺服电机驱动器对输入脉冲用一个响应频宽,如果送给伺服电机驱动器的定位脉冲是突变的,有可能会造成驱动器对定位脉冲的丢失。设置脉冲输出的加减速只要设置脉冲输出通道相应的加减速时间即可。CH0的加减速时间在特殊数据寄存器D1343中设置。EH系列PLC加减速不可低于10mS。若低于10mS或高于10000mS,则将以10mS输出。如果不对D1343进行设置,PLC会以出厂默认值100mS执行。
脉冲输出加减速实现程序如下所示:
D210内数据在触摸屏界面中进行设置,从而实现以参数的形式对定位加减速进行设置。
2,变频器通信程序的设计。
PLC与变频器的通信采用RS485 MODBUS通信协议进行通信。EH2系列PLC有内置的RS485通信接口。MODBUS通信协议包含三个层次:物理层,数据链路层和应用层。物理层和数据链路层采用了基于RS485的MODBUS通信协议,应用层即通过MODBUS之RTU模式对变频器的运行、停机控制和变频器参数的读写操作。
变频器的MODBUS通信为主从通信。上位机发送指令,变频器应答。
RTU帧格式如下:
从机地址(1type) | MODBUS功能号(1type) | 数据列(n-type) | CRC16(2type) |
MODBUS通信的RTU模式具有如下所列功能:
功能号 | 功能 | 功能说明 |
03 | 多地址读 | 批次读取从机连续的多个地址,最大字数50 |
16 | 多地址写 | 批次改写从机连续的多个地址,最大字数10 |
22 | 掩码写 | 对从机控制字的某一位或某几位进行改写 |
08 | 回路测试 | 对通信回路进行测试,如果响应异常,返回异常报文 |
循环冗余码校验(Cyclical Redundancy Check),简称CRC校验码。CRC-16码由两个字节构成,CRC码的生成如下:
在开始时设置CRC寄存器,并给其赋值FFFF(hex);
将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器;
CRC寄存器向右移一位,MSB(最高位元)补零,移出并检查LSB(最低有效位);
如果LSB为0,重复第三步,若LSB为1,CRC寄存器与多项式码相异或;
重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕;
重复第2至第5步直到所有数据全部处理完成;
最终CRC寄存器的内容即为CRC值。
台达DVP系列PLC有专门的MODBUS通信指令,只要设定好指令参数,然后触发指令,PLC会自行按照通信帧格式自动发送数据,指令发送完毕后,PLC会对回传的数据自动进行检查是否出错。如果出错,则会给出相应的状态标志,相应的特列辅助继电器有所动作。
MODBUS数据读取指令格式如下:
MODRD | S1 | S2 | n |
S1:从机地址;
S2:欲读取的数据的地址;
N:批量读取数据的长度。
MODBUS数据写入指令格式如下:
MODWR | S1 | S2 | n |
S1:从机地址;
S2:欲写入的数据的地址;
N:批量写入数据的长度。
通信指令各特殊寄存器说明:
D1120:通信协议设置;
D1129:通信超时时间设置;
D1130:MODBUS回传错误码记录;
D1070~1085:MODBUS回传信息数据缓存器;
D1050~1055:如果MODBUS通信格式为ASCLL码,则PLC自动会将回传的D1070~D1085内的ASCLL码转换为HEX格式,将存于D1050~1055寄存器内。
M1120:COM2端口(内置RS485端口)通讯设定保持,置ON后,D1120(通信协议)变更无效;
M1123:MODWR指令执行时回传数据接收完成标志;
M1127:MODRD指令执行时回传数据接收完成标志;
M1129:通信超时标志;
M1140:数据接收错误标志;
M1141:发送地址错误标志;
M1143:为0,通信为ASCLL格式,置ON,通信为RTU格式。
M1122:触发通信指令。
专用机床在做PLC与变频器的通信时,因为要读取变频器内部的状态信息,改写变变频器的参数。故可以采用步进指令STL。当第一个变频器内数据通信完成后,再与第二个数据进行通信。当第二个数据通信完成后,再与第三个数据进行通信,当最后一个数据通信完成后,再与第一个数据进行通信。通信程序节选如下所示:
以上省略若干行……
程序中,D240数据由触摸屏设置RS485的通信协议。D241数据由触摸屏设置通信超时时间。程序执行时,将D240的数据送入特殊寄存器D1120,D241数据送入特殊寄存器D1129,从而设定RS485的通信协议和设置通信超时时间。特殊寄存器数据设置好后,将M1120置ON,从而保持通信协议。再将M1143置ON,将MODBUS通信设定为RTU模式。
MODRD指令(数据读取)读取的信息存放在以D1070~D1085的特殊寄存器中。在使用RTU模式时,读取的目标地址内的数据只会存放于以D1073开始的低半位。程序中,如果设置D320的数值为3210H,即PLC访问变频器地址为3210H的内存数据,程序在由STL语句步进到S127状态时,会触发通信数据读取指令。数据在回传成功后,回传的数据会存放于D1070~D1085内,D1070~D1085数据内容如下所示:
寄存器数据说明
寄存器 | 数据 | 说明 |
D1070(下) | 01H | 访问的从机地址 |
D1071(下) | 03H | RTU通信功能号。03H(多地址读) |
D1072(下) | 02H | 接收的数据个数 |
D1073(下) | 57H | 地址3210H内的数据内容 |
D1074(下) | 00H | |
D1075(下) | 86H | CRC校验低字节 |
D1076(下) | 74H | CRC校验高字节 |
D1077(下) | 00H |
|
…… | …… |
|
D1085(下) | 00H |
|
从表中可以看出,数据内存分为高低两个半字节分别进行了存放(D1073、D1074),因此在数据处理时,须要将接收特殊寄存器的两个字节的低半字节数据送入到一个寄存器组合成一个整字节。半字节指令为SMOV。本程序中,分别用两条SMOV指令,将D1073的低半字节送入D320高半字节,将D1074的低半字节送入D320低半字节。从而使D320整合为从机地址为3210H的数据0057H。
SMOV(移位传送)在执行时,当控制位M1168为OFF时,数据传送为BCD码,当控制位M1168为ON时,数据传送为BIN值。本通信程序为传送BIN值码。因此在程序开始须将特殊辅助继电器M1168置ON。
程序执行时,若通信超时,则标志继电器M1129置ON,程序由M1129再次触发通信指令。
若通信时回传数据错误,则标志继电器M1140置ON,程序中由M1140再次触发通信指令。
若通信程序发送地址错误,则标志继电器M1141置ON,程序中由M1141再次触发通信指令。
通信程序若回传数据无误,则将接收的数据内容进行处理,然后再将M1129,M1140,M1141复位,并将接收完毕标志继电器M1123(MODWR通信接收完毕)或M1127(MODRD通信接收完毕)复位。然后再触发下一从机地址的通信指令。直到从机的所有通信地址访问完成后,再循环访问从机的第一个通信地址。
3,触摸屏人机界面的程序设计。
对于PLC的人机对话窗口,相对于计算机(IPC)的高成本和控制面板仪表元件的笨重复杂,触摸屏(HMI)是一个非常好的选择。通过人机界面的组态编程对PLC内存数据进行访问,可以读取改写数据寄存器内的数据,也可以对辅助继电器进行位控制,还可以对连续的位单元组合为字节进行处理。
如下图所示中,可以在人机界面中对机床外部辅助功能进行控制。也可以显示PLC的内部数据,如伺服电机的脉冲量,通过RS485读取的变频器参数。
只要设置好HMI与PLC的通信协议,两者之间即可以进行通信,不需要另外编制复杂的通信程序。在组态HMI的界面程序时,只要将画面元件访问地址设定为相应的PLC内的数据寄存器或继电器,两者即建立相关联系。
如果一个屏有若干画面,可以采用弹出式菜单。选择相应的画面,进入相关画面进行操作。
利用HMI方便的组态功能,可以对机床各保护信号进行显示,如果机床有报警发生,可以在HMI界面中显示出来,并提示相应的处理方法。还可以显示历史上出现的异常情况,为机床的检修提供相关依据。使机床做到最简便的操作。
另外,也可以对机床的基本操作在HMI上做一个简略的说明,从而使机床最大的做到操作界面友善。
四,总结
机床采用PLC作为主体控制,在实际使用过程中,性能稳定,操作使用方便简单,对于机床操作员来说直观易懂,不需要了解数控编程也可以很快的熟练机床的加工操作。因此,该方案在专用机床上的应用是比较成功的。
参考文献:
《DVP-PLC应用技术手册(程序篇)》
《SB70系列高性能矢量控制变频器用户手册》
《VFD-B使用手册》