基于西门子S7-1200FC PLC与松下机器人Profinet通信实现机器人外部自动控制应用
⒈训练主题
通过西门子S7-1200 PLC与松下机器人Profinet通信实现机器人的外部自动化控制,应用中程序的调配采用二进制方式,同时PLC需要采集机器人安全作业原点(Home点),保证机器人安全作业,通过PLC的编程调试和机器人的配置实现上述功能。
⒉软硬件配置
⑴硬件配置
①机器人控制系统:TM1800G3机器人:YA-1VAR81;机器人连接电缆:TSMWU894LM;电缆单元:TSMWU600;200V/380V变压器:TSMTR010HGG;RT轴焊丝盘架(刚用):TSMYU204;校枪尺:AXU01727T;机器人通信装置(Profinet):TSMYU965,产品实物如下图。

②西门子PLC:CPU 1214FC DC/DC/RLY,型号:6ES7 214-1HF40-0XB0。
③按钮:若干。
④调试电脑1台,注意电脑IP地址在同一个网段(IP:192.168.0.***),子网掩码为:255.255.255.0。
⑵软件配置
①博途软件:TIA Portal V15,版本:V15
②松下机器人GSD说明文件:GSDML-V2.3-HMS-ABSPRT-20160826.xml
⒊PLC组态和配置
本应用设置8byte输组态入/输出共计各64位。
⑴加载松下机器人GSD说明文件
点击“选项(N)-管理通用站描述文件(GSD)(D)”,如下图加载松下机器人GSD文件(图示已加载)。

⑵组态西门子PLC(CPU 1214FC)和松下机器人说明文件
在“设备和网络”界面,添加PLC模块(此处添加方法不赘述),将如下图所示将“RT Migration”拖入设备网络视图界面。

拖住PLC端口连接松下机器人通信端口,创建通信连接如下图。

⑶对机器人RT Migration模块分配设备名称
右击RT Migration模块通信区域选择“分配设备名称”,如下图点击“更新列表”,博途通过网络检索机器人并显示相关信息(注意:如果不能分配名称,需先根据后文机器人示教器设置机器人Profinet通信IP地址),点击“分配名称”即完成机器人设备名称分配。

⑷分配机器人I/O地址
双击ABS-PRT(机器人RT Migration模块),如下图在“设备视图”将右侧“模块-InputOutput 0008 bytes”拖入插槽1中,并将“I地址”和“Q地址”均改为“70…77”。

⑸PLC及松下机器人IP地址及设备名称分配
如下图所示为PLC的IP地址和设备名称的分配。

如下图所示为机器人的IP地址和设备名称(机器人示教器不含设备名称分配,由PLC通过IP地址分配)的分配。

⑹编译和下载配置
如下图右击PLC主体(此处为“PLC1_1[CPU 1214FC DC/DC/RLY]”),选择“编译-硬件和软件(仅更改)”进行程序下载前的编译。
再次右击PLC主体(此处为“PLC1_1[CPU 1214FC DC/DC/RLY]”),选择“下载到设备(L)-硬件和软件(仅更改)”进行程序下载。


⒋松下机器人配置
⑴将机器人Profinet通信板卡安装到如下图示位置,并用提供的螺母固定。如下图右侧用导线将状态输入第1个端子“STATUS IN 1”与输出的第1个端子(OUT 1)连接。

⑵首次登录及密码
如下图在顺序菜单选择“设定-扩展设定-用户ID”在弹出“登录”界面,“用户ID”在“浏览”中选择“robot”,“密码”首次使用时为“0000”。

⑶配置Profinet通信IP地址及设置
如下图在菜单栏点击“设定-管理设定-系统-PROFINET-编辑”依次弹出如下界面。





在上图界面,点击“设定”,在弹出界面如下图设置机器人IP地址和子网掩码,注意IP地址和子网掩码需与PLC组态设置的松下机器人IP地址和子网掩码相一致,之后根据提示选择“OK”等直至退出设置。

说明:对Profinet设置界面配置很关键,部分参数说明如下:
①“状态IO”-“分配”选择“结束”,表示将通信的8byte的最后1个字节8位用于“状态IO”此设置可节约机器人通用IO用于控制其它设备如清枪器等;
②“通用I/O分配”“输入”和“输出”分别为“1-56”;
③“伺服ON输出”为“1”,与上图“用导线将状态输入第1个端子“STATUS IN 1”与输出的第1个端子(OUT 1)连接”的位置相一致。
⑷机器人以二进制方式外部自动调用焊接程序配置
如下图在菜单栏点击“设定-基本设定-程序启动方式”依次弹出如下界面并按图示设置。



由于机器人输入/输出前8位被用于“状态输入”和“状态输出”,本文采用“二进制”方式调用焊接程序,通用输入/输出均从第9位开始且分配8位共计可调用255个焊接程序,也即“通用输入009-通用输入 0016”和“通用输出009-通用输出 0016”。分配根据提示进行,同时将“通用输入0017”和“通用输出 0017”分配为“选通”,分配完成显示的“程序选择启动”和对应的“输入端子”如下图所示。

显示的“程序选择应答”和对应的“输出端子”如下图所示。

点击“OK”,之后根据提示退出配置。
⒌PLC与松下机器人联调
根据上文叙述,建立PLC与松下机器人映射的关联地址如下表所示。
西门子S7-1200FC PLC与松下机器人profinet通信地址映射 | |||||||
PLC输入-机器人输出 | PLC输出-机器人输入 | ||||||
序号 | S7-1200FC地址输入 | 松下机器人输出 | 备注 | 序号 | S7-1200FC地址输出 | 松下机器人输入 | 备注 |
1 | I70.0 | 机器人外部IO空出备用(如控制清枪器输入信号等) | 1 | Q70.0 | 机器人外部IO空出备用(如控制清枪器控制信号等) | ||
2 | I70.1 | 2 | Q70.1 | ||||
3 | I70.2 | 3 | Q70.2 | ||||
4 | I70.3 | 4 | Q70.3 | ||||
5 | I70.4 | 5 | Q70.4 | ||||
6 | I70.5 | 6 | Q70.5 | ||||
7 | I70.6 | 7 | Q70.6 | ||||
8 | I70.7 | 8 | Q70.7 | ||||
9 | I71.0 | 通用输出9 | 机器人反馈PLC选择的二进制焊接程序 | 9 | Q71.0 | 通用输入9 | PLC(QB71)控制机器人以二进制方式调用焊接程序 |
10 | I71.1 | 通用输出10 | 10 | Q71.1 | 通用输入10 | ||
11 | I71.2 | 通用输出11 | 11 | Q71.2 | 通用输入11 | ||
12 | I71.3 | 通用输出12 | 12 | Q71.3 | 通用输入12 | ||
13 | I71.4 | 通用输出13 | 13 | Q71.4 | 通用输入13 | ||
14 | I71.5 | 通用输出14 | 14 | Q71.5 | 通用输入14 | ||
15 | I71.6 | 通用输出15 | 15 | Q71.6 | 通用输入15 | ||
16 | I71.7 | 通用输出16 | 16 | Q71.7 | 通用输入16 | ||
17 | I72.0 | 通用输出17 | 选通信号 | 17 | Q72.0 | 通用输入17 | 选通信号 |
18 | I72.1 | 通用输出18 | 机器人位于HOME点 | 18 | Q72.1 | ||
19 | I72.2 | 19 | Q72.2 | ||||
20 | I72.3 | 20 | Q72.3 | ||||
21 | I72.4 | 21 | Q72.4 | ||||
22 | I72.5 | 22 | Q72.5 | ||||
23 | I72.6 | 23 | Q72.6 | ||||
24 | I72.7 | 24 | Q72.7 | ||||
… | … | … | … | … | … | … | … |
49 | I76.0 | 49 | Q76.0 | ||||
50 | I76.1 | 50 | Q76.1 | ||||
51 | I76.2 | 51 | Q76.2 | ||||
52 | I76.3 | 52 | Q76.3 | ||||
53 | I76.4 | 53 | Q76.4 | ||||
54 | I76.5 | 54 | Q76.5 | ||||
55 | I76.6 | 55 | Q76.6 | ||||
56 | I76.7 | 56 | Q76.7 | ||||
57 | I77.0 | 通用输出001 | 报警输出 | 57 | Q77.0 | 通用输入001 | 外部伺服ON输入 |
58 | I77.1 | 通用输出002 | 错误输出 | 58 | Q77.1 | 通用输入002 | 运行确认输入 |
59 | I77.2 | 通用输出003 | 运行模式输出 | 59 | Q77.2 | 通用输入003 | 运行模式输入 |
60 | I77.3 | 通用输出004 | 示教模式输出 | 60 | Q77.3 | 通用输入004 | 示教模式输入 |
61 | I77.4 | 通用输出005 | 预备输出 | 61 | Q77.4 | 通用输入005 | (备用) |
62 | I77.5 | 通用输出006 | 伺服电源ON输出 | 62 | Q77.5 | 通用输入006 | 错误解除输入 |
63 | I77.6 | 通用输出007 | 启动过程输出 | 63 | Q77.6 | 通用输入007 | 启动输入 |
64 | I77.7 | 通用输出008 | 停止时输出 | 64 | Q77.7 | 通用输入008 | 停止输入 |
⑴松下机器人采用二进制调用焊接程序实现自动化焊接的控制时序图如下图所示。
其中注意:
①程序编号“Prog0ZZZ.prg”的“0ZZZ”为程序号,受机器人“通用输入009-通用输入016”(对应PLC为QB71)信号控制,为避免输入程序号超限,应限制PLC信号QB71的输入范围,要求1≤QB≤256,即可以调用焊接程序范围从“Prog0001.prg”到“Prog0256.prg”。
②除“I72.1/通用输出18/机器人位于HOME点”仅设置输入信号外,其它信号均设置输入和对应输出信号,PLC编程时对于驱动信号可以采集相应的反馈信号进行确认。
③PLC的IB70和QB70空置,对应松下机器人外部接线端子有效,此部分接线端子可用于机器人控制清枪器等设备使用。
④机器人调用焊接程序实现自动化焊接的控制要件有:调用程序号、输入选通、启动输入(启动按钮)、外部伺服ON输入、错误解除输入(复位按钮)、停止输入(停止按钮)和急停。其中PLC依次输出“调用程序号”、“输入选通”、“外部伺服ON输入”和“启动输入”,相互间隔200ms,机器人急停除通过软件控制外部伺服ON输入外,还受硬件急停接线控制如下图所示,“外部安全开关输入”端子的“23-24”和“25-26”受硬件接线控制。

⑤“I72.1/通用输出18/机器人位于HOME点”为机器人安全作业原点监测,是机器人外部自动化控制中确保机器人安全的重要信号之一。
⑵PLC编程调试样例(部分)


⑶松下机器人编程
创建机器人焊接程序如下:

⑷联调运行状态显示
如下图是PLC和机器人正常运行的部分状态显示:
下图一:博途组态通信正常;
下图二:自动模式下示教器接通状态;
下图三:自动调用焊接程序运行状态。



附注:设置松下机器人作业原点(Home)方法
⑴在示教器菜单栏“查看-切换显示-显示位置-XYZ表示”把XYZ显示的数字手抄下来如下图所示。

⑵在示教器菜单栏“设定-扩展设定-范围监测-块监测-选择一个CUBE01(或者其它的也可以)”,然后把刚才手抄的XYZ的数字输入下图,注意点1基于上图对应数据加10mm写入,点2基于上图对应数据减10mm写入。此外根据上文叙述,机器人在作业原点时对应“通用输出0018”供PLC采集该信号。

完成上述设置后,点击“OK”并根据提示退出配置,至此机器人“作业原点(Home)”设置完成。