随着现在车间机加工对自动化、生产线流程化水平的要求越来越高,数控机床自动选择加工程序的功能应用需求也越来越多。SINUMERIK828D系统有着丰富的选择加工程序功能,这里简述通过PLC选择程序、通过RunMyscreen界面选择程序以及通过OPCUA通讯协议选择程序三种方法。
一、通过PLC选择加工程序
828D系统的 PLC用户接口由 PLC 固件创建,用于对 PLC 和 NC/HMI 之间的所有信号和数据交换进行组织。用户接口由数据接口和功能接口组成,数据接口用于循环交换,功能接口用于功能或位置相关的数据交换。
PLC-HMI接口循环数据属于PLC功能接口之一,它包括通过列表选择程序、SMS短信功能、维护计划、操作区域/屏幕窗口编号以及HMI监视器信号等。
(一).参数设置
借助 PLC/HMI 接口可选择预设程序/工件,以通过 NC 执行。预设通过文件中的程序/工件记录实现,即所谓的 PLC 程序列表(*.ppl)。使用前提需要我们使能HMI任务,并设定保护级别口令,具体参数设置如下:
MD9106 $MM_SERVE_EXTCALL_PROGRAMS=1 使能HMI任务
MD51041 $MN_ENABLE_PROGLIST_USER = 1 设置user用户级别
MD51043 $MN_ENABLE_PROGLIST_MANUFACT = 1 设置oem制造商级别
如下图所示
(二).填写程序列表
1.程序列表
程序列表是一个文本文件,其每行包含的信息如下:
<程序号> <程序路径><程序名称> [CH=<通道号>]
其中:
(1)程序号
程序列表中可使用的程序号取决于区域:
– 用户(user): 1 - 100
– 个人(oem_i):101 - 200
– 制造商(oem):201 - 255
(2)程序路径
程序路径须以绝对方式完整设定。
(3)通道号
通道号“CH=<通道号>”为可选设定,仅在 NC 有多条通道时才需要设定。
举例:
程序列表:plc_proglist_user.ppl
1 //DEV2:/MPFDir/PROG_01.MPF CH=1
2 //DEV2:/MPFDir/PROG_01.MPF CH=2
2.列表操作
(1)在“用户”级别口令下,在操作区域“程序管理器”>“ETC 键(“>”)”>“程序列表”出现“程序列表”软键按钮;

(2)在“制造商”级别口令下,在操作区域“调试”>“系统数据”>“ETC 键(“>”)”>“程序列表”出现“程序列表”软键按钮,分别下图所示

分别通过“选择程序”软键进行列表程序的选择,如下图所示

(4)最后,用户列表和制造商列表选择程序如下

(三)PLC-HMI接口信号及PLC程序编写
1.PLC任务接口表:

其中我们需要处理:
DB1700.DBB2000 = 0 ;HMI 应答了前一个任务
DB1700.DBB1001 = 129/131 ;程序列表代号,129代表用户,131代表制造商
DB1700.DBB1002 = <1-255> ;程序号
DB1700.DBX1000.7 = 1 ;请求程序选择
DB1700.DBX2000.7 = 1 ;选择已识别
DB1700.DBX2000.3 = 1 ;正在执行程序选择
DB1700.DBX2000.2 = 1 ;程序选择中出错
DB1700.DBX2000.1 = 1 ;任务已完成
DB1700.DBB2001 = <错误标识> ;错误标识
2.任务流程
(1)检查应答字节:DB1700.DBB2000 == 0
若该应答字节不为 0,则表示上一个任务尚未完成。
(2)设定程序列表:DB1700.DBB1001
(3)设定程序编号:DB1700.DBB1002
(4)置位以请求程序选择:DB1700.DBX1000.7 = 1
(5)分析应答接口和故障接口:DB1700.DBB2000 和 DBB2001
只要DB1700.DBX2000.3 = 1(生效),便表示任务在 HMI侧尚未完成
下面两个信号均置位时,任务在 HMI 侧完成:
- DB1700.DBX2000.1 = 1 (任务已完成)
- DB1700.DBX2000.2 = 1(错误)
(6)为了完成任务,必须复位程序选择请求:
DB1700.DBX1000.7 = 0
(7)HMI 通过复位应答字节提示可接受新任务:
DB1700.DBB2000 = 0
3.PLC程序编写举例
根据以上,我们编写如下PLC程序



4.测试
在AUTO模式、“加工”画面下,分别按下I118.5,I118.4按键后,程序选择成功,如下图所示

在AUTO模式、“加工”画面下,分别按下I118.2,I118.1按键后,程序选择成功,如下图所示

二、通过RunMyscreen界面选择加工程序
SINUMERIK Operate提供了RunMyscreen用户界面开发工具,其中支持对加工程序的复制、删除、检查、移动、选择等功能操作
1.程序选择功能使用句法
功能名称 | 功能说明 | 句法 | 示例 |
SP | 选择程序 | SP(“文件“,返回值) 路径:NC | SP("//NC/MPF.DIR/MYPROG.MPF",VAR1) |
2.举例
以某用户立加对刀仪自动对刀界面功能为例,其自定义界面程序内容如下
//M(basic/"对刀仪设定")
DEF title1=(S///,"对刀设定",,/wr0///15,15,120/140,15,120/)
DEF var10=(I///,"基准刀具","",""/wr2,ac7,al0,fs1,li3//"_BTOOL"/50,40,120/120,40,60/)
DEF var11=(I///,"当前刀具","",""/wr2,ac7,al0,fs1,li3//"_ATC"/50,65,100/120,65,60/)
DEF var13=(R4///,"断刀误差","","mm"/wr2,ac7,al0,fs1,li3//"_BROKENTOOL"/50,140,100/120,140,110/)
VS3=("执行")
VS7=("退出"
Press(VS3)
SP("\CMA.DIR\TOOLSET.SPF")
end_press
Press(VS7)
EXIT
end_press
//END
对应界面显示如下

当按下“执行”软键后,用户子程序”TOOLSET.SPF“被选中,切换到”加工“画面以及”AUTO”模式下,可以看到程序已经被选中为当前程序,这时只需按下“CYCLE START”循环启动按键即可执行对刀仪程序。

三.上位机客户端通过OPCUA协议选择机床加工程序
当下MES等自动化生产线越来越普及,作为基本加工单元的机床,自然是其中重要的执行环节,SINUMERIK 从V4.8版本开始搭载的OPCUA功能更加丰富,支持上位机在线对机床程序进行上传、下载、删除、选中等NC程序管理功能的操作。
下面以西门子官方提供的OpcUaClient_ver2.2样例客户端为例,介绍其对用户权限的增加,然后对NC程序进行选择操作
1. 增加用户权限

第一步:点击User List按钮,在下方会出现相应的用户列表,选择相应的用户
第二步:点击增加用户权限按钮,

第三步:勾选所需的权限。一般选择SinuReadAll和SinuWriteAll即可。
第四步:勾选完成后,点击Call按钮

2. 选择加工程序
第一步:选择程序文件,如图示“TEST.MPF”
第二步:点击选择按钮“Select Program”

此时828D系统在”加工“画面以及”AUTO”模式下,可以看到程序已经被选中为当前程序,如下图所示

附:
1.参考文献
1.《SINUMERIK 828D 简明调试手册》06/2019
2.《SINUMERIK 840D sl/828D功能手册_基本功能》08/2018
3.《SINUMERIK 828D开机调试手册》08/2018
4.《828D_840Dsl_手册_SINUMERIK OPC UA 2.2 配置及样例使用说明_201906》