本案例是通过CClinkIE转ModbusTCP网关,连接傲博机器人的配置案例
PLC配置
打开三菱PLC组态软件GXWORK3设置CClinkIE一侧的参数配置,首先设置PLC的IP地址
双击详细设置进入CClinkIE配置
添加通用从站IP地址以及占用点数
设置好分配的软元件,确认无误后下载到PLC。
TwinCAT做Server端
当TwinCAT作为ModbusTCP Server工作时,PLC不需要编写任何通讯的程序。在安装了TwinCAT Modbus TCP Server的控制器上,只要TwinCAT PLC启动并运行,该服务就会自动运行,可以随时接受Modbus TCP Client发来的Modbus指令并做出应答响应。此时对于Modbus TCP Client端而言,只要知道PLC地址与Modbus Register的地址映射规则就可以根据这个规则访问到需要的PLC地址信息。
(1)PLC与Modbus Register的地址对应关系
在倍福官方文档中我们可以查到PLC地址与Modbus Register的地址映射默认关系如下表:
通过此表的信息可以看出Modbus TCP地址与PLC的变量的映射关系中M区有两种(可以同时使用)方式可以访问,使用PLC内存中的绝对地址和PLC中的变量名,I区和Q区就只能通过变量名进行访问。需要注意的是我们看表格里划出来的起始地址是0x8000,但当我们用Modscan做测试的时候,实际地址应该是0x8000+1=32769以及他们往后的255个地址。
因此测试得出:
GVL.mb_Input_Coils 起始地址对应 02:input status的32769
GVL.mb_Output_Coils 起始地址对应 01:coil status的32769
GVL.mb_Input_Registers 起始地址对应 04:input register的32769
GVL.mb_Output_Registers 起始地址对应 03:holding register的32769
PLC Memory area 为MW0起始地址对应 03:holding register的12289
Data area 待测试
(2)通过PLC变量名访问
a、新建ModbusTCP测试程序,添加全局变量表GVL,在全局变量表中添加MoubusTCP通讯变量,用于测试通过变量名进行访问的方式。
mb_Input_Coils : ARRAY [0..255] OF BOOL;
mb_Output_Coils : ARRAY [0..255] OF BOOL;
mb_Input_Registers : ARRAY [0..255] OF WORD;
mb_Output_Registers : ARRAY [0..255] OF WORD;
b、打开ModScan软件,点击Connection-Connect,弹出对话框中选择Remote modbusTCP Server,输入所要连接的控制器IP Address,Service Port,服务端口默认502即可。
首先测试mb_Input_Coils,在ModScan中Modbus Point Type选项选择:02:INPUT STATUS,Adress地址填写32769(上文中已讲述说明)。Lenth长度代表所要监控的数据长度,这个根据需要随意填写。TwinCAT程序中修改变量数值,可以ModScan中对应的地址也在变化,通讯测试成功。
测试mb_Output_Coils,在ModScan中Modbus Point Type选项选择:01:COIL STATUS,Adress地址填写32769。TwinCAT程序中修改变量数值,可以ModScan中对应的地址也在变化,通讯测试成功。
测试mb_Input_Registers,在ModScan中Modbus Point Type选项选择:04:INPUT REGISTER,Adress地址填写32769。TwinCAT程序中修改变量数值,可以ModScan中对应的地址也在变化,通讯测试成功。
测试mb_Output_Registers,在ModScan中Modbus Point Type选项选择:03:HOLDING REGISTER,Adress地址填写32769。TwinCAT程序中修改变量数值,可以ModScan中对应的地址也在变化,修改ModScan中的数值,同样PLC中对应的变量也在变化,通讯测试成功。
打开网关配置软件“Gateway Configuration Studio”,新建项目选择CCLinkIE-MTC
先设置CCLinkIE一侧的参数,设置IP地址
设置网关的占用逻辑数
设置ModbusTCP参数。首先设置网关本身在ModbusTCP中的IP地址。
添加Node从站,填写ModbusTCP从站的IP地址
添加对应的功能码,从图上可知支持03/04功能码
填写读取的寄存器地址与数据长度(寄存器数量)和ModScan保持一致,但寄存器地址减1
确定好配置后将配置下载进网关,然后将所有设备上电,看指示灯正常后即可正常通讯。