第37章MODBUSTCP/IP网关功能EasyBuilderProV4.00.01111111137.MODBUSTCP/IP网关功能本章节说明如何使用MODBUSTCP/IP网关功能并建立地址对应表。37.MODBUSTCP/IP网关功能..................................................................................................137.1.概要........................................................................................................................237.2.如何建立一个地址对应表............................................................................................237.3.地址对应设定须知......................................................................................................5第37章MODBUSTCP/IP网关功能EasyBuilderProV4.00.01222222237.1.概要以往若要使用SCADA(SupervisoryControlandDataAcquisition)软件去存取与触摸屏连接的PLC数据时,需通过数据传输先将PLC数据传送至触摸屏的本地地址,再于电脑上使用MODBUSTCP/IP通讯协议去读取触摸屏的本地地址将PLC数据取回。现在用户可以通过EasyBuilder提供的MODBUSTCP/IP网关功能,将MODBUS与PLC的地址预先设定对应后,即可以直接利用MODBUSTCP/IP通讯协议存取PLC上的数据。37.2.如何建立一个地址对应表新增一个地址对应表,请依照下列步骤:1.于“系统参数设定\设备清单”新增欲监控的PLC设备。(以FATEKFBSeries为例)2.新增一个MODBUSServer(以太网),并启用“MODBUSTCP/IP网关”,如下图:第37章MODBUSTCP/IP网关功能EasyBuilderProV4.00.0133333333.点选“地址对应表”按钮后,会显示预设的对应表,用户可以依需求修改并新增其它对应表。4.假设,SCADA需存取FATEKFBSeriesPLC的D0寄存器开始的连续50个地址,设定如下:第37章MODBUSTCP/IP网关功能EasyBuilderProV4.00.014444444第37章MODBUSTCP/IP网关功能EasyBuilderProV4.00.015555555(1)设定欲对应的寄存器类型,此范例为“字符”。(2)设定欲对应的寄存器之存取模式,此范例为“读/写”。(3)设定欲对应的MODBUS起始地址,此范例为“4x1”。(4)设定欲对应的PLC起始地址,此范例为“D0”。(5)设定欲对应地址的范围大小,此范例为“50”。(6)选择是否要高/低字节或高/低字符组转换。上图的设定内容说明MODBUSServer4x1~4x50地址对应到FATEKFBSeriesPLC的D0~D49地址。5.完成以上设定后,SCADA只需利用MODBUSTCP/IP协议,发送读/写4x1~4x50地址的命令,即可以直接存取FATEKFBSeriesPLC的D0~D49地址。37.3.地址对应设定须知“MODBUSTCP/IP网关”功能不支持使用UDP。只支持使用MODBUSServer(以太网)接口。系统提供寄存器LW-9288,可用来指示此功能数据传送是否正常。各错误码表示如下:数值定义0正常1读取或写入未定义在地址对应表中的寄存器2读取或写入的地址范围超出单一地址对应表所定义的数据长度(或是读取/写入跨表格的寄存器)3命令格式未遵循MODBUSTCP/IP通讯协议4修改只允许读取的寄存器5读取只允许写入的寄存器6在设定的时间内无法得到PLC的正确响应7使用了MODBUSServer不支持的功能码各个对应表间定义的寄存器之地址范围不可重复。启用“MODBUSTCP/IP网关”功能后,EasyBuilder将取消MODBUSServer与触摸屏地址间原有的对应关系,包含:(1)0x,1x对应到LB第37章MODBUSTCP/IP网关功能EasyBuilderProV4.00.016666666(2)3x,4x对应到LW,RW因此如需通过0x,1x,3x,4x的命令来存取LB或LW的数据,仍需先将地址对应关系重新设定于“地址对应表”中,可参考下列设定内容。SCADA一次只能读取/写入一个对应表内的寄存器,即无法使用同一个MODBUS命令存取不同表格中的寄存器。以上图为例,于“对应表1”设定MODBUS4x1对应到D200地址,长度为99;于“对应表2”设定MODBUS4x100对应到R0地址,长度为100,若此时SCADA发出一道命令要一次读取4x1~4x199长度为199的地址,因已经跨表格存取,此命令将不被触摸屏接受,应将命令分为两道分别存取4x1~4x99和4x100~4x199。如下图: