西门子802D系统是近年来广泛应用于数控车、数控铣以及经济型加工中心上的数控系统,由PCU(面板控制单元)、MCP(机床控制面板)、NC键盘、伺服驱动功率模块及电源、I/O输入输出模块、电子手轮等基本单元组成。PCU作为802D数控系统的核心部件,将NCK(数控核心)、plc、hmi(人机界面)和通讯任务集成在一起,并用Profibus现场总线将各单元连接起来,组成一个可同时控制4个伺服进给轴和一个模拟主轴的数控系统。
802D数控系统各坐标轴的伺服控制由NCK装置完成,但机床逻辑控制则由PCU内嵌的PLC完成。机床外部输入输出信号经I/O模块PP72/48(72入48出)并通过Profibus现场总线实现与PLC的连接。802D系统最多可配两块PP72/48模块。
由于802D系统是一种通用的数控系统,将其应用于不同的数控机床时,机床的逻辑控制以及PLC的输入输出信号会不一样,因此,将802D系统应用于数控机床时,最重要的是要根据机床的逻辑控制要求设计和调试好系统PLC程序,才能使系统正常和安全地工作。本文结合802D系统在广西水利电力职业技术学院经济型数控铣床XK5036上的应用,介绍802D数控系统PLC的编程与应用方法。铣床的数控系统配置及系统连接如图1所示[1],两块611UE功率模块负责三个坐标轴的伺服进给控制,铣床的主轴电机则采用接触器控制,主轴转速由机械变速箱调整。
1 数控系统与PLC接口信号
从图1可看出,机床外部的输入输出信号主要包括机床控制面板(MCP)和机床电气控制信号。机电电气控制信号主要包括参考点以及各轴限位信号、各异步电机启停控制及过载信号、伺服驱动控制使能信号等,该部分信号通过PP72/48的X333插座连接。MCP上主要安装有急停开关、主轴转速和进给速度倍率开关、主轴控制按键、系统控制方式选择按键、各轴点动控制按键、NC控制按键以及用户选择键和LED指示灯等,并通过2条50芯的扁平电缆与PP72/48的X111、X222插座连接。由于MCP上全部为开关信号且通过I/O接口与PLC连接,因此,用户可选择西门子公司配套的MCP,也可以根据实际机床控制需要设计自己的机床控制面板。
作为数控系统的重要组成部分,系统内嵌的PLC采用接口变量V及相应的数据位的形式与NCK、HMI和MCP进行控制和状态信息的传送,并按照系统的工作状态和用户编写的控制程序完成机床逻辑控制任务。PLC、NCK、HMI、MCP相互间信息传送的路径和方向如图2所示,数控系统与PLC主要接口信号简要说明如表1所示,详细接口信号的说明请参阅西门子(中国)有限公司技术手册——SINUMERIK 802D 简明调试指南。
表1 数控系统与PLC主要接口信号简要说明
序号 |
变量地址范围 |
信息传送方向 |
传送主要内容 |
1 |
V10000000~V10000008 |
MCP→PLC |
将来自MCP上按键信号以数据位的形式送至PLC,包括系统控制方式选择键、NC控制键、各轴点动控制键、倍率开关、用户选择键等信号 |
2 |
V11000000~V11000007 |
PLC→MCP |
将PLC已确认的MCP按键信号(除倍率开关外)返回给MCP |
3 |
V16000000~V16000007 |
PLC→HMI |
将PLC程序所触发的用户报警号送至HMI,再由HMI根据已编好并下载到数控系统的报警文件将报警信息显示出来。 |
4 |
V16002000 |
HMI→PLC |
HMI将NC不能启动、系统急停等系统重要的有效报警响应送至PLC |
5 |
V17000000~V17000003 |
HMI→PLC |
将用户在HMI上选择的程序空运行、程序测试、程序跳段、快速进给倍率生效等状态信号送至PLC |
6 |
V25001000~V25001012 |
NCK→PLC |
将NC程序译码得出的辅助功能M信号送至PLC,包括M0~M99 |
7 |
V30000000~V30000002 |
PLC→NCK |
将PLC已确认的系统控制方式信号送NCK,包括AUTO、手动、MDA控制方式以及手轮脉冲进给增量 |
8 |
V31000000~V31000001 |
NCK→PLC |
将NCK确认的系统控制方式有效信号返回PLC |
下面以在AUTO状态下启动NC程序,来说明接口信号的传送和处理过程:
(1)按下MCP上的AUTO方式按键时,V10000000.0=1,实现MCP的按键信号向PLC传送,PLC可据此位数据可判断用户是否按下AUTO方式按钮。
(2) 系统处于AUTO方式后,V11000000.0=0,实现PLC向MCP回传系统已处于AUTO方式。
(3) 按下MCP上的NC启动按键时,V10000001.7=1,实现MCP向PLC传送用户的NC启动命令。
(4) PLC收到NC启动命令后,V11000001.7=1,由PLC向MCP回传NC已启动信号;同时,V32000007.1=1,由PLC向NCK传送NC启动命令。
(5) NCK开始执行用户已选定的NC加工程序,V33000003.0=1,并由NCK向PLC传送程序已处于运行状态的信息。
(6) NCK执行NC程序并通过伺服驱动模块控制各进给轴运动,当程序中执行到M3功能时,经NCK译码,V25001000.3=1,NCK向PLC传送主轴正转启动命令。
(7) PLC经PP72/48模块以及机床电气接口实现主轴正转启动和自保持控制,同时,V11000001.6=1,PLC向MCP传送主轴已正转信息。
(8) 在用户程序执行过程中,如果出现了主轴或冷却电机过载等机床电气故障,故障信号从PP72/48送入PLC并在PLC程序中触发用户报警,再由PLC以变量的形式将对应的报警号送至HMI。最后HMI根据已编好并下载到数控系统的报警文件将报警信息显示出来。
2 数控系统PLC程序编程
802D数控系统的plc编程使用专用的Programming tool PLC 802D工具软件,其编程环境和程序结构类似SIMATIC S7-200 PLC,由一个主程序和相关子程序组成,使用LAD(梯形图)作为编程语言,但所使用的通信接口和通信电缆与S7-200 PLC不同。
802D系统PLC程序的设计可参考西门子公司利用802D PLC子程序库编写的铣床PLC应用实例,并结合铣床具体的系统配置、I/O信号地址分布以及系统模块的连接方式,修改实例程序来获得铣床的PLC控制程序。
2.1 信号地址分布说明
根据图1的系统连接方式,MCP各按键的地址分布如表2所示,机床I/O信号接至X333后的I/O分布如表3所示,其中输出信号均为驱动24VDC中间继电器的开关信号,经中间继电器的触点实现对外部强电回路的控制[1]。
表2 MCP信号地址分布表
MCP |
对应的按键及其所占输入输出字节 |
PP72/48 |
X1201 |
输入字节IB0: 对应按键 #1 ~ #8 |
X111 |
输入字节IB1: 对应按键 #9 ~ #16 | ||
输入字节IB2:对应按键 #17 ~ #24 | ||
输出字节QB0:对应于用户定义键的6个发光二极管 | ||
X1202 |
输入字节IB3:对应按键 #25 ~ #27 |
X222 |
输入字节IB4:对应进给倍率开关 (5位格林码) | ||
输入字节IB5:对应主轴倍率开关 (5位格林码) | ||
输出字节QB1:保留 |
表3 机床I/O信号及地址分布表
PP72/48 X333 | ||||||
输入信号 |
输出信号 | |||||
针号 |
信号名称 |
信号地址 |
信号地址 |
信号名称 |
针号 | |
2 |
输入公共端 |
+24VDC |
Q4.0 |
急停输出 |
31 | |
3 |
急停输入 |
I6.0 |
Q4.1 |
控制使能 |
32 | |
4 |
主轴电机过载 |
I6.1 |
Q4.2 |
脉冲使能 |
33 | |
6 |
冷却电机过载 |
I6.3 |
Q4.3 |
启动接触器 |
34 | |
7 |
润滑泵电机过载 |
I6.4 |
Q4.4 |
主轴正转 |
35 | |
9 |
X轴参考点 |
I6.6 |
Q4.5 |
主轴制动 |
36 | |
10 |
Y轴参考点 |
I6.7 |
Q4.6 |
Z轴抱闸 |
37 | |
11 |
Z轴参考点 |
I7.0 |
Q4.7 |
主轴反转 |
38 | |
12 |
+X限位 |
I7.1 |
Q5.0 |
冷却控制 |
39 | |
13 |
-X限位 |
I7.2 |
+24VDC |
输出公共端 |
47 | |
14 |
+Y限位 |
I7.3 |
+24VDC |
输出公共端 |
48 | |
15 |
-Y限位 |
I7.4 |
+24VDC |
输出公共端 |
49 | |
16 |
+Z限位 |
I7.5 |
+24VDC |
输出公共端 |
50 | |
17 |
-Z限位 |
I7.6 |
||||
18 |
电源模块准备好 |
I7.7 |
||||
19 |
I2t或温度监控 |
I8.0 |
在MCP的用户选择键中,定义KT4键(#5)为伺服使能控制,定义KT5键(#6)为冷却控制键,各键上方的LED为对应状态指示灯。
2.2 PLC程序设计
结合铣床的系统配置,设计的PLC程序由一个主程序和七个子程序组成,具体如下:
2.2.1 主程序MAIN(OB1)
主程序MAIN是PLC在RUN状态下自动循环执行的程序,其主要作用:一是利用SM0.1接点在PLC第一个扫描周期调用PLC初始化子程序PLC_INI(SBR32),完成PLC的初始化工作;二是利用SM0.0接点在PLC每个扫描周期调用各子程序,完成相应的机床逻辑控制功能,主程序如图3所示。
2.2.2 PLC初始化子程序PLC_INI(SBR32)
PLC的初始化用于设置一些基本接口信号,包括设定V32000006.7=1,使NCK通道接口的进给倍率生效;设定各轴V380X0001.5=1和V380X0001.7=1,使各轴进给倍率生效和测量系统有效。
2.2.3 急停处理子程序EMG_STOP(SBR33)
EMG_STOP子程序主要处理急停操作以及对伺服电源模块的上电和下电时序进行控制。
当主轴电机和冷却电机同时过载时,利用Q4.0及外部中间继电器切断控制回路电源;当按下急停键、主轴电机过载、冷却电机过载、伺服电源模块未准备好或伺服电源模块I2t报警的任一条件满足时急停动作,由PLC→NCK发要求急停信号(V26000001.1=1),同时可触发相应的报警信号。
当NCK→PLC发急停有效(V27000000.1=1)信号时,PLC程序按伺服电源模块的下电时序依次断开模块的控制使能信号(端子64)、脉冲使能信号(端子63)、启动接触器信号(端子48)。当急停退出时,PLC则按相反时序完成伺服电源模块的上电。伺服电源模块的上下电时序如图4所示,图中t一般取200ms。
2.2.4 802D机床控制面板MCP信号传递子程序MCP_802D(SBR34)
MCP_802D子程序主要是将MCP上各按键的动作信号送至PLC,包括伺服使能、主轴控制、系统控制方式选择、NC 启停及复位、各轴点动控制、主轴及进给倍率、增量选择等信号,并将NCK已确认的增量值、NC启停等信息返回MCP。
2.2.5 MCP和HMI信号处理子程序MCP_NCK(SBR38)
MCP_NCK子程序主要将MCP上已选择并送到PLC的NC启停及复位、系统控制方式、增量值、主轴及进给倍率、各轴点动控制、快进以及HMI上所激活的空运行、快进倍率生效、程序跳段和测试等信息送NCK。各轴点动控制信息送NCK前应进行越限判断。
2.2.6 据HMI接口信号选择手轮子程序HANDWHL(SBR39)
由于系统中只安装了一个电子手轮(802D系统最多可安装三个电子手轮),因此在用手轮控制各轴进给时,需要在HMI中用软键选择要控制的轴号。HANDWHL子程序的作用:一是初始化手轮在机床坐标系中选择的轴号,二是判断和激活用户所选择的轴号并送NCK,由NCK根据手动控制方式下选择的增量实现对相应轴的手轮脉冲进给控制。
2.2.7 主轴和进给轴控制子程序AXIS_CTL(SBR40)
AXIS_CTL子程序用于主轴和进给轴控制。主轴的控制是根据MCP选择的主轴控制信号或NC程序译码得到的M代码实现主轴的启停及正反转控制。进给轴的控制首先根据伺服电源模块控制使能和脉冲使能启动信号,将各轴的伺服使能和脉冲使能信号送NCK,如电源模块的脉冲使能信号消失,则将各轴伺服使能复位信号送NCK;接着根据Z轴伺服电机的工作条件完成Z轴电机抱闸的控制;最后进行机床回参考点以及各轴点动进给的控制,并进行各轴进给的越限判断及处理,出现越限时禁止进给并触发相应的系统报警信息。
2.2.8 冷却泵控制子程序COOLING(SBR44)
PLC程序设计时在用户选择键中定义了一个冷却控制键KT5,COOLING子程序首先根据冷却泵的当前状态及KT5键的触发情况判断冷却泵的启动或停止控制触发信号,然后在手动方式下根据控制信号实现对冷却泵的控制,如是在AUTO或MDA方式下,则根据NC程序译码得到的M代码实现对冷却泵的控制。当急停、NC复位、程序测试有效、冷却泵电机过载、M2或M30指令任一信号有效时,均要停泵。
3 结束语
802D数控系统PLC的编程, 是在完成机床数控系统配置及电气控制设计回路设计的基础上,根据机床控制功能要求、系统连接方式和I/O地址分配,利用802D系统子程序库并参考和修改西门子公司提供的实例程序来完成的,不同的系统配置,不同的机床功能要求,系统的PLC程序会不一样,但编程的原理和方法是一致的。由于篇幅有限,具体的PLC程序以及程序的调试方法,读者可通过阅读和研究西门子公司相关资料来掌握。