李 付
(北京首钢股份有限公司质量检验部,河北 迁安 064404)
工业机器人在实际应用中单机工作较少,更多需要与其他工业机器人或PLC等外部设备组建自动化控制系统。系统中不同设备之间信息交互的控制方式包括I/O点对点、工业现场总线以及工业以太网等。以一个风动接收站和一台机器人为例,通过介绍西门子S7-300 PLC与安川工业机器人DX100控制柜之间的Profibus-DP通信,描述PLC与机器人控制系统的信号交互过程[1]。
西门子S7-300 PLC控制的样品传输系统将样品装入样盒,并通过风动管道送到化验室接收站,由另一台S7-300 PLC向机器人DX100控制柜下发搬运启动信号,然后机器人开始执行搬运任务。任务完成后,机器人向PLC返回一个完成信号,以便PLC进行下一个循环控制。
西门子S7-300是一款紧凑型、模块化的PLC,具有集成Profinet接口,支持Profibus和Profinet等多种通信协议。安川工业机器人DX100控制器可利用自身I/O单元与外部设备进行通信,也可以通过工业现场总线扩展卡进行Profibus和CC-link等多种通信连接。通常来说,PLC给安川机器人的输出信号包括启动信号、停止信号、允许机器人取件信号以及远程启动机器人信号。安川机器人给PLC的输出信号包括状态信号、取件完成信号、报警信号以及复位完成信号等。文中主要阐述PLC与机器人通信的两个交互信号,一个是样盒到达接收站后PLC作为主站向机器人从站发送的搬运启动信号,另一个是搬运任务完成后机器人作为从站向PLC主站返回的工作完成信号[2]。
西门子S7-300 PLC作为主站,可以对从站进行读写操作。硬件和网络组态在西门子组态软件Step7中完成。硬件组态配置中,各个模块的位置及含义如图1左半图所示。1号插槽为电源PS 307(5 A)模块;2号插槽为CPU 317-2DP,用以实现Profibus-DP通信;3号插槽为空;4号和5号插槽分别为DI 16/DO 16×24 V/0.5 A的输入模块和输出模块;6号插槽为CP343-1通信模块,用以实现与其他设备的Profinet通信。硬件组态完成后,双击机架插槽中的DP,将其设为主站,地址设为2。点击新建生成一个DP网络,点击属性按钮设置网络参数,将传输速率设为1.5 Mb/s,行规选择DP,点击确定,完成主站组建[3]。完整的组态图如图1所示。
图1 DP组态图
实现PLC 300与机器人的主从通信除了需要具有Profibus接口的PLC外,还需要安装机器人GSD文件,而PLC用这个文件来识别安川机器人。在硬件组态界面,点击选项下拉菜单,选择安装GSD,找到GSD安装目录文件。安装完成后点击右侧硬件目录窗口,添加第三方组件。点击general,在DP网络中添加Anybus-S DP-V1机器人从站,双击设置从站地址、传输速率以及波特率。选择添加Universal module硬件,分配I/O起始地址和字节长度后保存编译。组态全部完成后下载到PLC,便可实现PLC与机器人的主从通信[4]。
系统主站的型号为CPU 317-2 DP,西门子的型号为S7-300 PLC。安川机器人作为从站,用来完成样盒的搬运、放置以及倒样等工作。以DP网络中地址12为例,它的输入输出均为20 Byte,I/O地址范围输入为IB60~IB79,输出地址范围为QB60~QB79。
DX100控制柜安装的通信扩展板卡位于控制柜下方,柜内有2个PCI插槽。正确安装后,长按示教器主菜单键重启控制柜,将机器人改到维护模式。在板卡设置选项里选择AB3601,设置I/O大小为20 Byte,分配输入范围为20070~20267,输出范围为30070~30267。节点地址设置成组态时的对应地址,波特率选默认,点击确认。此时,显示板卡信息如图2所示。
图2 机器人板卡信息
首先,PLC的输出信号通过Profibus总线转换给机器人端的外部输入;其次,外部输入信号通过配置好的并行I/O程序进行关联给到通用输入;最后,将通用输入信号映射给机器人主程序Main。当触发主程序Main调用的IN#()信号后,机器人进行对应工位的样品搬运。机器人执行搬运任务时输出OT#()信号,OT#()信号的打开和关闭代表机器人的运行状态。机器人输出信号先是映射到通用输出,再由通用输出通过并行I/O与外部输出进行关联,最后将外部输出信号通过Profibus总线返回给PLC输入端。信号交互原理如图3所示。
图3 信号交互原理图
PLC和机器人的程序编写完成后,需要实现两者的信号地址映射。安川机器人编程语言中,OT#()代表输出,IN#()代表输入。机器人的输入输出与PLC的输入输出信号转换,主要通过Prifibus总线和并行I/O两部分进行。映射点位表如图4所示。
以站13为例,当样盒到达时,PLC Q 63.4主站信号触发,PLC将输出信号通过Profibus总线发送到机器人,从站外部输入20104接口。触发后,通过机器人自身的并行I/O与机器人程序中的通用输入信号00074进行关联,触发机器人程序的IN(53)程序逻辑信号,从而实现PLC主站与机器人从站的信号转换,告知机器人样盒已到达可以搬运。
图4 映射点位表
当机器人程序搬运结束时,会关闭OT(53)信号。机器人通用输出信号10074通过并行I/O关联到外部输出信号30104,外部输出信号30104再通过Profibus总线将信号发送到PLC端I63.4,从而实现机器人从站信号与PLC主站的信号转换,告知PLC搬运任务已完成。
并行I/O程序是指机器人运动程序与控制柜逻辑转换程序完全独立,两者可同时进行但不会相互干涉。并行I/O程序是安川机器人自带的,与PLC程序类似,是循环周期扫描运行,用来实现机器人外部输入和通用输入、通用输出和外部输出的转换,实现机器人运动和逻辑转换的同时进行。外部输入与通用输入转换如图5所示。
图5 外部输入与通用输入转换
STR类似于PLC中连接母线的一个常开触点,OUT代表输出线圈,GSTR代表一个字节的8个位组输入触点,GOUT代表一个字节的8个位组输出线圈。例如,GSTR 20100代表的是外部输入组信号20100~20107,GOUT 00070代表通用输入组信号00070~00077,两者通过并行I/O指令GSTR和GOUT前后关联起来,且具有一一对应关系,实现外部输入与通用输入信号的转换,从而实现PLC主站下发搬运任务信号给机器人从站的映射。同理,10070为通用输出信号,30100为外部输出信号,两者通过指令GSTR和GOUT前后关联起来,实现通用输出与外部输出信号的转换,从而实现机器人从站向PLC主站返回完成信号的映射[5]。至此,单一接收站PLC与机器人所需要的两个交互信号已经全部构建完成。
技术不断发展,工业机器人应用场合越来越多。在与外部设备的信息交互控制中,工业机器人应根据交互数量的实际要求选择相适应的控制方式。数据量少可通过I/O点对点控制,数据量多则应选择网络通信。合理的控制方式能减少工作量和降低成本。工业机器人通过Profibus-DP总线通信方式与PLC主站连接,相比较传统I/O点对点通信,不再有杂乱无章的电缆布线,减少了电缆数量,节省空间且不易发生故障。这种通信方式简单方便,且明显提高了生产稳定性和生产效率。