本手册及样例包均为免费提供,仅供参考。所述版本、应用及案例可能与用户实际应用不符,请用户在使用前认真阅读相关使用说明,根据自身的应用环境及机床特点进行调整,并进行严格的测试,以规避可能存在的风险。对于在使用中发生的人员、财产等损失,由用户自行承担。
以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新恕不做另行通知。
在EMC行业中,使用扫码枪读取工件上的二维码,自动选择加工程序,从而节约加工准备时间,提高生产效率。
本应用适用于使用免驱的USB接口的扫码枪实现【扫码加工】。利用界面开发实现扫码读取和处理。
适用类型:
免驱(即插即用)的USB接口的扫码枪(有线,无线均可)
连接方式:USB连接
二维码内容:
程序名称(不含后缀名);前提:程序已经安装到零件程序,或子程序,或U盘,或用户CF卡,或网盘中。


主要由两个文件组成:
easyscreen.ini – 界面配置文件,定义入口软键,界面脚本
ma_auto.com – 界面脚本文件,使用代码实现界面
安装:
按照上述文件夹结构复制粘贴到/sinumerik/oem/或者/sinumerik/user/目录下。

更多信息可参考《SINUMERIK 840D sl SINUMERIK Integrate Run MyScreens(BE2)》手册。连接见文末。
1. 该案例基于库的概念,包含了所有可能的程序路径选项。真实应用中可以根据实际需要进行精简。
2. 本例只是提供一种界面开发解决方案,可以帮助客户拓展一下扫码枪的应用思路,目前,已有客户拓展到通过扫码枪进行用户管理等。
3. 真实应用中,如不进行精简,也可以完美使用,但要注意选择程序的路径和检查是否有重复的程序。
安装完成后,在Auto-加工界面可以看到软键入口:

点击【扫码】,弹出扫码输入窗口;

如果需要频繁扫码,可保留该窗口,不关闭。扫码完成后,点击【确认】即可,无需点击【返回】关闭该窗口。
各输入窗口含义:
这里,为了实现路径记录,使用了两个用户R变量:R97和R98.
如需调整,可在ma_auto.com中的如下代码中做调整。
DEF COMBO1={TYP="I",TGL="* 1=""MPF"",2=""SPF"",3=""USB"",4=""CF_CARD"",5=""NETWORK""",TXT_X=10,TXT_Y=0,X=20,Y=50,W=160,H=20,VAR="/NCK/CHANNEL/PARAMETER/R[97]"} DEF COMBO2={TYP="I",TGL="* 1=""*.MPF"",2=""*.SPF""",TXT_X=10,TXT_Y=0,X=20,Y=80,W=160,H=20,VAR="/NCK/CHANNEL/PARAMETER/R[98]"}
|
二维码说明:
二维码的信息只包含程序名称(不含后缀名);前提:程序已经安装到零件程序,或子程序,或U盘,或用户CF卡,或网盘中。

这里以零件程序文件夹中的程序为例:

用以上5个程序的名称生成5个二维码,扫码进行加工,如下:

当遇到程序未安装号,而扫码时,界面有防呆提醒功能。

此时如果执行加工程序启动,也有相应报警提示。

此时说明在‘零件程序’文件夹下没有CHENG4523.MPF文件,应先拷贝程序后再扫码。
此外,还有扫码检测提示:
输入为空时,提示

扫码成功且有对应程序时,提示:

正常的扫码操作:
1. 点击扫码;2.扫描二维码;3.点击【确认】;4.按下NC启动

[STARTFILES]
StartFile03 = area := AreaMachine, dialog := SlMachine, menu := SlMaAutoMenuHU, startfile := ma_auto.com
|
以下代码不过多讲解,有兴趣的朋友可以参考Run MyScreens编程手册,连接见文末。
//S(START)
HS6=("扫码")
PRESS(HS6) LM("PLC") END_PRESS
//END
//M(PLC/"请扫码"//350,220,220,174)
DEF VAR1={TYP="S",ST="",TXT_X=10,TXT_Y=0,X=20,Y=20,W=160,H=20,DT=6,wr=2} DEF COMBO1={TYP="I",TGL="* 1=""MPF"",2=""SPF"",3=""USB"",4=""CF_CARD"",5=""NETWORK""",TXT_X=10,TXT_Y=0,X=20,Y=50,W=160,H=20,VAR="/NCK/CHANNEL/PARAMETER/R[97]"} DEF COMBO2={TYP="I",TGL="* 1=""*.MPF"",2=""*.SPF""",TXT_X=10,TXT_Y=0,X=20,Y=80,W=160,H=20,VAR="/NCK/CHANNEL/PARAMETER/R[98]"} DEF VAR2={TYP="I",X=10,Y=100,VAR="/Channel/State/acStat[u1,1]",WR=4,W=10} DEF PATH1 DEF PATH2 DEF PATH3 DEF PATH4 DEF PATH5 DEF FULLNAME DEF V_ISFILE DEF FULLPATH DEF TT1
VS7=(SOFTKEY_OK) VS8=(SOFTKEY_NAV_BACK)
LOAD TT1 = 0 END_LOAD
OUTPUT(CODE1) ""PATH1""PATH2""VAR1""PATH4""PATH3"" "M30" END_OUTPUT
PRESS(VS7) FOC = 2 FOC = 1 END_PRESS
;按钮-退出 PRESS(VS8) EXIT END_PRESS
CHANGE(VAR1) IF(LEN(VAR1)==0) DLGL("请扫码") START_TIMER("MYTT1",2000) ELSE IF(VAR2<>0) DLGL("不在复位状态") START_TIMER("MYTT1",2000) ELSE CALL("MYTT2") ENDIF ENDIF END_CHANGE
;识别完整程序路径 SUB(GET_PATH) SWITCH(COMBO1) CASE 1 PATH1="CALL """ PATH2="/MPF.DIR/" PATH3=""" " PATH5="//NC/MPF.DIR/" CASE 2 PATH1="CALL """ PATH2="/SPF.DIR/" PATH3=""" " PATH5="//NC/SPF.DIR/" CASE 3 PATH1="EXTCALL(""" PATH2="USB:" PATH3=""")" PATH5="USB:/" CASE 4 PATH1="EXTCALL(""" PATH2="CF_CARD:" PATH3=""")" PATH5="CF_CARD:/" CASE 5 PATH1="EXTCALL(""" PATH2="//DEV6:/" PATH3=""")" PATH5="//DEV6:/" ;网盘地址随驱动器号变化,另,还可以使用IP地址,如: ;EXTCALL "//192.168.10.10/MINAAA/UTEST1.MPF" ;网盘IP地址:192.168.10.10;网盘共享文件夹名称:MINAAA; 程序名称:UTEST1.MPF DEFAULT PATH1="" PATH2="" PATH3="" PATH5="" END_SWITCH
;识别程序扩展名 SWITCH(COMBO2) CASE 1 PATH4="."<<"MPF" CASE 2 PATH4=".SPF" DEFAULT PATH4=".MPF" END_SWITCH
IF(LEN(VAR1)<>0) FULLPATH = PATH5<<VAR1<<PATH4 ENDIF END_SUB
;指向程序名称 SUB(SET_PROGNAME)
IF(RNP("/Channel/ProgramInfo/selectedWorkPProg[u1, 1]")=="/_N_WKS_DIR/_N_QRCODE_WPD/_N_QRCODE_MPF") FULLNAME="//NC/WKS.DIR/QRCODE.WPD/QRCODE1.MPF" ELSE FULLNAME="//NC/WKS.DIR/QRCODE.WPD/QRCODE.MPF" ENDIF
END_SUB
SUB(MYTT1) TT1 = TT1 + 1 IF(TT1 == 1) TT1 = 0 DLGL("") STOP_TIMER("MYTT1") ENDIF END_SUB
SUB(MYTT2) ;扫码获得加工程序路径 CALL("GET_PATH")
;生成加工程序 CALL("SET_PROGNAME") GC("CODE1",FULLNAME)
;选择加工程序 SP(FULLNAME)
;判断U盘程序文件是否存在 IF(COMBO1<>5) EP(FULLPATH,V_ISFILE)
IF(V_ISFILE==0) DLGL(VAR1<<PATH4<<" 已选择!") START_TIMER("MYTT1",2000) ;EXIT ELSE DLGL(FULLPATH<<" 程序不存在!") ENDIF ENDIF END_SUB
//END |
1. 《SINUMERIK 828D_840Dsl_手册_RunMyscreens应用手册_201906》,http://www.ad.siemens.com.cn/CNC4YOU/Home/Document/837
2. 《SINUMERIK 828D_840Dsl_工具_RunMyscreens_例程合集_201906》,http://www.ad.siemens.com.cn/CNC4YOU/Home/Document/838
3. 《SINUMERIK 828D SINUMERIK Integrate Run MyScreens》,10/2020
Cheng Fei
2021.9.10