开疆智能ModbusTCP转Devicenet网关连接三菱PLC与ABB机器人配置案例
本案例是三菱PLC通过开疆智能ModbusTCP转Devicenet网关连接ABB机器人的配置案例,具体分为三部分设置,分别为三菱PLC设置,ModbusTCP转Devicenet网关的配置以及
ABB机器人的配置部分。
配置过程:
一、机器人配置
1. 机器人选项
2. 修改机器人地址
3. 修改输入输出字节
4. 获取PLC组态的机器人EDS描述文件
1. 机器人选项
1.1 机器人DeviceNet设备可用于:
DeviceNet内部从设备与主设备共享地址和物理连接器。1.2 要使用机器人DeviceNet做从站,必须使用选项:709-1 DeviceNet Master / Slave 。
1.3 在DeviceNet网络上机器人做从站,既要配置机器人参数,也要在PLC上组态设置参数。
2. 修改机器人地址
第一步,在示教器菜单目录中,进入控制面板-配置-Industrial Network - DeviceNet,如下图。
第二步,我们可以根据实致需要修改机器人的DeviceNet地址,该地址不应使用与网络上另一台I / O设备相同的地址。这里我们就直接用机器人的DeviceNet地址的默认值2,允许值为0到63之间的整数。
2.1 DeviceNet通信速度:
对于DeviceNet工业网络是强制性的,并决定DeviceNet主设备和内部从设备与DeviceNet网络上的其他设备进行通信所使用的通信速度(波特率)。波特率是通信的信号速度,它确定串行通道中数据传输的最大速度。波特率越高,通信越快。使用DeviceNet Communication Speed时,同一物理网络上的所有设备必须使用相同的波特率。默认值为500,允许的值为125、250和500,以Kbps(千比特/秒)为单位指定波特率。
3. 修改输入输出字节
第一步,在示教器菜单目录中,进入控制面板-配置-I/0 System-DeviceNet Internal Device(机器人做从站),如下图。
当使用DeviceNet主/从选件安装机器人系统时,系统启动时会创建一个预定义的内部从站设备,名称为DN_Internal_Device。
第二步,进入DN_Internal_Device,根据需要修改输入输出字节数。
第三步,创建信号时,所在设备选择DN_Internal_Device。
二、网关配置:
打开网关配置软件“Gateway Configuration Studio”新建项目选择TCP-DevicenetM
首先设置网关的ModbusTCP一侧的IP地址以及数据长度。并设置网关短线后的数据处理方式以及字节交换顺序
设置网关的Devicenet节点地址以及波特率,与机器人配置保持一致。
填写从站参数站地址,数据长度等和从站保持一致。
VendCode,ProdType及ProdCode三个参数可在从站eds文件中找到
到此,网关与机器人配置结束,开始配置三菱PLC
一、PLC本体的IP地址设置
首先需要确认一个概念:PLC本体网口只有一个IP,无论使用什么功能都是共用一个IP。
二、ModbusTCP主站功能
三菱的PLC做ModbusTCP主站功能一般通过程序实现,需要用到“通信协议支持功能”。
1)在对象设备连接配置设置中添加“Active连接设备”选择“通信协议”,需要填写本机的端口号,对方IP以及对方端口号(图4)。其中本机端口号需要注意不要使用系统默认已经分配的端口。(图5)
active设备是指主动发起连接的设备
【记得点击“反应设置并关闭”】
2)打开“通信协议支持功能”,选择CPU(以太网),并新建,添加协议,选择ModbsuTCP,选择功能码。(图6-图7)
3)红色字“变量未设置”意思为:没有对这个连接协议分配对应的软元件用来写参数和数据存储用。可以右键“软元件批量设置”,占用其实软元件后一部分用作通讯协议用。(图7)
4)分配好后可以点进去看分配的每个软元件对应的定义,现在以03功能码D400做起始地址,对主要用到的寄存器做说明,后面一些储存报错信息的寄存器可以点开变量设置查看。(图8)
D400:握手ID,如果是本体以太网口,握手ID就是0,模块就不是0
D401:从站站号
D402:03功能码对应就是读取的寄存器起始Modbus地址
D403:读取的点数(寄存器数)
D406~D531:储存读取到的数据(注意!,D406保存的是数据的个数(数据长度),D407开始才是数据内容)
5)编辑好后通过在线、写入模块,将这部分内容写入PLC
(这部分通信协议编辑,保存的时候是一个独立的文件,与Works3文件独立,需要注意关闭这个窗口前记得保存)
6)在程序中建立连接、调用通信协议。
①建立连接,使用SP.SOCOPEN指令,对应关闭连接使用SP.SOCCLOSE指令
SP.SOCOPEN的第一个操作数没有实际意义,按照说明填写“U0”即可;
S1:连接编号对应图4中的连接编号;
S2:对应OPEN指令的一些参数占用10个寄存器,其中如果我们在图4中做了参数设置,我们只需要把参数首地址置位0,就可以调用设置好的参数。
其中,SD10680,SD10681是通信打开和请求标志位,在这两个标志位都没有导通的情况下我们才执行建立连接的动作。
②通过SP.ECPRTCL指令调用预先设置好的通讯协议。
其中
S1 的连接编号是指图4中的连接编号
S2 连续执行的协议数是指中S3+2开始的“执行协议编号指定”,如果只有1个就写K1,并且给S3+2赋值需要执行的协议,对应的是图8中的协议编号。
下面是通信协议触发示例
SP.ECPRTCL的第三个操作数为k1,对D202赋值1,表示执行且只执行通信协议1。
D402赋值k10,D403赋值K4,表示从 从站保持寄存器的10地址开始读取,读取4个寄存器。
在触发后,我们可以在D407开始的4个寄存器看到读取到的值。
点击工具-通信协议支持功能
选择好模块类型
设置好连接变量后下载到PLC
到此,全部配置结束,全部设备上电后,指示灯正常亮起即代表通讯正常。