APP下载

西门子数控系统远程切换NC程序方法研究

2018-01-23李楠楠曹智军刘国宁

制造业自动化 2017年12期
关键词:数控系统西门子上位

姚 鹏,李楠楠,曹智军,刘国宁,3

(1.郑州大学 机械工程学院,郑州 450001;2.河南职业技术学院,郑州 450007;3.郑州大学 工业物联网研究所,郑州 450000)

0 引言

在经历了三次工业革命之后的今天,全球制造业在德国工业4.0、美国工业互联网、中国“智能制造2025”的带领下,向着第四次工业革命大步迈进。“工业4.0”战略的核心环节是建立数字化车间,实现生产过程的自动化、柔性化、智能化、信息化。在工业数字化生产管理的发展要求中,实现数控机床的实时数据采集和远程监控是推进数字化车间发展的一个重要基础[1]。计算机技术的快速发展和数控机床智能化技术的不断进步,使得数控机床远程监控的需求实现可能。

本文以西门子数控系统为平台,在介绍了西门子数控系统结构及手动切换NC程序方法的基础上,提出了一种基于PLC数据通信的上位机管理程序实现远程切换NC程序的方案,并详细介绍了该方法的实现技术及应用实例。

1 SINUMERIK数控系统概述

目前,我国在普及型和高级型数控系统上基本依赖进口,我国引进的数控系统主要是FANUC,SIEMENS,MITSUBISHI等公司的产品[2]。SINUMERIK数控系统是西门子公司开发的数控系统产品,具有模块化设计良好、系统开放性强、结构统一紧凑和应用灵活的特点。无论是普及型数控机床,还是标准型机床,或者是模块化高端机床,SINUMERIK数控系统都为不同类型的机床提供了最佳解决方案[3]。

1.1 SINUMERIK 808D——普及型数控系统

SINUMERIK 808是一款基于操作面板的普及型数控系统。结构紧凑,使用方便,适用于车削和铣削应用。具有完美的基本特征:操作简便,调试维修方便,成本最优。

1.2 SINUMERIK 828D——紧凑型数控系统

SINUMERIK 828数控系统适用于大批量加工、模块化程度较低的标准机床。不论是 SINUMERIK 828D BASIC、SINUMERIK 828D还是SINUMERIK 828D ADVANCED,都是一款高性价比的数控系统,结构紧凑,数控性能高,便于调试。

1.3 SINUMERIK 840D sl——用于高端机床的开放性数控系统

SINUMERIK 840D sl具有极高的开放性和灵活性,是定制机床所用数控系统的最佳选择。SINUMERIK 840D sl BASIC基于SINAMICS S120 Combi驱动器,适用于具有模块化和灵活配置选择的六轴以内的高端机床。

西门子数控系统中均采用PLC作为逻辑控制单元,SINUMERIK 808D和SINUMERIK 828D数控系统采用的是西门子S7-200系列的PLC,SINUMERIK 840D sl采用的是西门子S7-300系列的PLC。作为数控系统的重要组成部分,PLC采用接口变量及相应的数据位的形式与NCK(数控核心)、MCP(控制面板)、HMI(人机界面)进行控制和状态信息的传送,并按照系统的工作状态和用户编写控制程序完成机床逻辑控制任务[4],PLC、NCK、HMI、MCP相互间信息传递的路径和方向如图1所示。

图1 SINUMERIK数控系统内部信号传递示意图

2 SINUMERIK数控系统切换NC程序方法

2.1 常规方法

SINUMERIK数控系统常规采用的是通过操作面板来选择NC程序,其步骤为:

1)选择操作区域“Program manager”(程序管理器),打开目录概览;

2)将光标定位至包含待选NC程序的目录上;

3)按下<input>键(或者按下<光标向右>键),显示目录内容;

4)将光标定位到所需的程序上;

5)按下软键“Select”(选择),选择程序。

成功选择了程序后会自动切换至“Machine”(加工)操作区,打开循环启动后,数控机床即可进入指定程序的自动加工。

2.2 PLC切换NC程序的方法

SINUMERIK数控系统提供了一种通过内置PLC控制数控系统切换NC程序的方法,可以实现快速切换NC程序,其工作流程如图2所示。用户通过PLC程序将正确的变量输入到数控机床PLC的对应的DB块中,PLC对信号进行分析处理,完成切换NC程序的任务。

图2 PLC切换NC程序的工作流程

SINUMERIK数控系统在初始状态时,PLC程序列表是隐藏的,需要通过修改机床通用数据参数,激活PLC程序列表。对于828D和840Dsl系统,激活PLC程序列表的三个参数是相同的,均为:

MD51041:激活USER(用户)区的PLC程序列表;

MD51042:激活INDIVIDUAL(个体)区的PLC程序列表;

MD51043:激活MANUFACTURER(厂商)区的PLC程序列表。

参数的数据类型为字节,值为1时有效。

PLC程序列表中最多可放置255个NC程序,分别对应以上三种权限的程序:USER(用户)区为1-100号程序,INDIVIDUAL(个体)区为101-200号程序,MANUFACTURER(厂商)区为201-255号程序。不同的程序列表中的NC程序在SINUMERIK Operate中是不同的控制文件,用户区访问级别为3,允许由用户编辑,控制文件索引号是1;个体区访问级别为2,控制文件索引号为2(840D sl的个体区列表未创建);厂商区访问级别为1,只允许由制造商编辑,控制文件索引号为3。在程序列表中的程序号为PLC选择NC程序文件的索引值。

3 SINUMERIK数控系统远程切换NC程序方法研究

在有机器人参与的自动化高度集成的柔性生产线中,遇到更换加工工件类型时,需要切换NC程序的操作,操作工使用操作面板手动切换NC程序的常规方式不能满足需求,需要一种能够通过上位机远程控制机床切换NC程序的方案。针对西门子数控系统的开发环境,通过上位机读写PLC变量实现切换NC程序的方法适应当前需求。

3.1 SINUMERIK 828D远程切换NC程序

通过PLC选择NC程序,首先需要把需要切换的NC程序添加到相应的程序列表中,例如:将AAA.MPF程序文件添加到用户区程序列表的1号程序,将BBB.MPF程序文件添加到个体区程序列表的101号程序。

对于828D数控系统,与PLC选择NC程序相关的DB接口信号如表1和表2所示[5]。

从上表可知:DB1700.DBB1000.7为程序选择信号,DB1700.DBB1001为选择程序的程序列表控制文件编号,即USER、INDIVIDUAL、MANUFACTURER,其各自的值分别是129、130、131。(注:第7位总是为1,举例MANUFACTURER区的索引为3,该字节用二进制表示即为10000011,二进制10000011转化成十进制即为131)。DB1700.DBB1002为选择程序号,即NC程序文件的索引值,如AAA.MPF即为1,BBB.MPF即为101。

DB1700.DBB2000为操作软件反馈给PLC的信号,表示程序处理的状态,第2位为1代表处理出错,程序切换失败。DB1700.DBB2001为错误代码。

表1 828D切换NC程序操作的PLC接口信号

表2 828D切换NC程序状态反馈的PLC接口信号

调试过程:PLC程序中先将要调用的程序列表号和程序号分别送到接口DB1700.DBB1001和DB1700.DBB1002,然后选择程序开始DB 1700.DBX1000.7即可。

通过查找实验设备的资料得知,机床操作面板上的预留功能按键1的输入信号地址为I118.1,预留功能按键2的输入信号地址为I118.2,实验目的:实现按下按键1切换到1号程序即AAA.MPF程序文件,按下按键2切换到101号程序即BBB.MPF程序文件,编写PLC控制切换NC程序的梯形图如图3所示。由于选择程序指令DB1700.DBX1000.7需要在程序号输入到DB1700.DBB1002后执行,因此在梯形图中加入一个计时器,使PLC在按下按键后,DB1700.DBX1000.7指令持续0.5s。

通过PLC执行添加的梯形图程序段,成功实现了按下按键快速切换到指定的NC程序,上位机通过向机床的PLC发送一个按键对应的模拟输入信号,可实现机床切换NC程序的远程控制。但是这种方式却并不能达到柔性自动化制造的需要,当有大量的NC程序需要实现快速切换功能时,操作面板上预留的功能键就不能满足我们的需求。

西门子数控系统提供了多种通信方式可供上位机与数控系统通信连接以实现数据交换,如OPC通信、WinCC等,但诸多功能需要专门授权和付费,且使用场景受限。SINUMERIK 808D、SINUMERIK 828D和SINUMERIK 840D sl均采用了西门子SIMATIC S7系列的PLC,这些类型的PLC均支持通过以太网接口,对存储区的数据进行直接读写。

图3 PLC切换程序梯形图

S7通信协议是一种在工业控制系统中应用的网络协议,是专门为西门子控制产品优化设计的通信协议,应用于西门子SIMATIC S7系列PLC[6]。当PLC做服务端时,上位机通过以太网通信与PLC 连接并通过S7协议发起请求,PLC作为服务端回复相应格式的数据,可实现读写整个PLC存储器(输入信号/输出信号/DB数据块/标志量/计时器/计数器),完成上传和下载数据块操作,控制PLC启停、设置安全等级等操作,如图4所示。

图4 PLC做服务器架构时与上位机通讯方式

S7.NET是一个针对.NET平台语言开发的S7系列PLC开源通信类库,遵循MIT license开源协议,采用C#语言编写,可支持S7-200/300/400系列PLC以及最新的S7-1200/1500系列型号,可以使用Socket与PLC进行连接和断开,可以通过给定起始地址和字节数对指定的存储区域读取和写入字节。S7.NET是开源的,MIT许可证允许在商业应用程序中使用它[7]。

本研究使用C#开发语言和S7.NET通信组件,编写上位机与西门子数控系统的PLC通讯的程序,实现了通过输入程序号快速切换到指定NC程序的目的。只需提前将想要切换的NC程序添加到程序列表中,即可远程切换到对应的程序,并开启循环启动。

本文实现远程切换NC程序的测试程序的关键代码如下:

3.2 SINUMERIK 840D sl远程切换NC程序

SINUMERIK 840D sl可通过与828D相同的方法实现

表3 840D sl切换NC程序操作的PLC接口信号

表4 840D sl切换NC程序操作的PLC接口信号

【】【】NC程序的快速切换,只在切换程序对应的PLC接口信号地址有区别,其对应的PLC接口信号如表3和表4所示[8]。

从上表可知:DB19.DBX13.7为程序选择信号,DB19.DBB16的值为选择程序的程序列表控制文件编号,即USER、MANUFACTURER,其对应的值分别是129、131。(注:SINUMERIK 840D sl系统未预置INDIVIDUAL列表的控制文件)。DB19.DBB17的值为选择程序号,即NC程序文件的索引值。DB19.DBB26为操作软件反馈给PLC的信号,表示程序处理的状态,第2位的值为1时表示处理出错,即程序切换失败,DB19.DBB27的值为错误代码。

3.3 程序测试验证

针对本文的研究需求,编写远程切换NC程序的上位机测试程序,程序运行流程如图5所示。使用测试程序在SINUMERIK 828D数控系统试验台和SINUMERIK 840D sl数控系统试验台上分别进行试验验证。验证结果证明,使用测试程序成功实现了NC程序的远程切换。

4 结束语

本文针对数控机床远程切换NC程序的需求,研究了西门子主流数控系统基于以太网通信和S7协议的远程切换NC程序的方法。实验结果表明,按照本文的研究方法,在控制端电脑上连接机床的PLC后,选择程序列表类型并输入程序号即可使机床端切换到指定的NC程序,操作简单,使用便捷。本文研究内容为西门子数控机床在自动化柔性制造中的应用,提供远程控制的基础。

图5 程序运行流程图

[1]刘涛.智能制造技术在工控自动化领域的应用[J].产业与科技论坛,2015(1):47-48.

[2]张宏帅.基于TCP/IP协议的FANUC-DNC系统研究与开发[D].郑州大学,2016.

[3]徐洁兰.西门子数控系统概述[J].制造技术与机床,2005(2):100-102.

[4]王文磊,徐汀荣.PLC和PC基于工业以太网通信研究与实现[J].微计算机信息,2006,22(13):43-45.

[5]SINUMERIK 828D NC变量和接口信号参数手册[Z].西门子,2015,10:924-925.

[6]朱津津,申屠浩,鲍可进.基于.NET上位机与PLC工业以太网通信的实现[J].电子科技,2016,29(11):115-117.

[7]Mesta Automation. Communication with Siemens S7 PLC with C#and S7.Net PLC driver[EB/OL].2015.www.mesta-automation.com.

[8]SINUMERIK 840D sl NC变量和接口信号参数手册[Z].西门子,2015,10:979-979.

猜你喜欢

数控系统西门子上位
中外高端数控系统差距分析及对策
西门子(中国)有限公司
基于FPGA的高性能电离层测高仪数控系统设计
西门子(中国)有限公司
基于西门子VCS的大型五轴机床空间误差补偿
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
特斯拉 风云之老阿姨上位
基于嵌入式Soft-PLC 的三轴数控系统设计
基于以太网的计算机与数控系统通信技术研究
基于ZigBee和VC上位机的教室智能监测管理系统