[西门子] 太强大! XCNet兼容PLC以太网协议+ModbusTCP主从

[复制链接]
查看98 | 回复0 | 2024-4-16 09:09:39 | 显示全部楼层 |阅读模式
一、提出问题
MES系统工程师、IT软件工程师、PLC编程工程师以及SCADA组态的自动化工程师,在PLC项目实施过程中,可能会遇到这样那样的问题。比如,西门子S7-1200/1500/SMART S7-200、三菱FX5U、三菱Q06UDE/Q03UDV等自带网口的主流PLC,在做数据采集或二次开发的时候,存在: (1)IP地址无法修改;(2)PLC程序无法修改;(3)PLC网口协议无法匹配上位系统(SCADA、高级语言、数据库);(4)不同IP地址的PLC之间的数据交换。
那么,就让我们一起,认认真真的讨论在面对这三种PLC时,如何解决上述存在的问题。下文将要介绍的北辰以太网通讯处理器XCNet,适用于西门子、三菱PLC的数据采集和二次开发。您感到惊喜的是,XCNet无论在驾驭兼容西门子的S7TCP协议、三菱的MC协议,还是独特的ModbusTCP服务器和客户机的应用,都是游刃有余。XCNet根本不需要在原有的PLC上做任何软件修改和硬件配置,就可以轻松达到目的。二、解决问题

【XCNet-PN】用于西门子带以太网接口的PLC(S7-1200/1500、S7-300PN、S7200 SMART等)、西门子以太网模块(CP243-1、CP343-1等)的以太网数据采集。
XCNet-PN具备两个物理性接口,LAN1和LAN2口分别具备独立的局域网能力。其中LAN1为一个双RJ45接口,具备交换机功能,用于连接PLC;LAN2为单端口RJ45,主要用于上位机采集或者触摸屏的连接。
XCNet-PN的LAN1/LAN2具备跨网段功能,能将LAN1口的S7TCP协议转换成LAN2口的ModbusTCP协议和BCNetS7协议(S7TCP协议),LAN2支持ModbusTCP主从站通讯功能。

【XCNet-MIT】用于三菱Q03UDE、Q03UDV等网口PLC的以太网数据采集。
XCNet-MIT具备LAN1、LAN2两个物理性接口,可将LAN1口所连接PLC的IP地址和端口号,映射到LAN2口的任意IP和端口号。XCNet-MIT可将LAN1口的三菱MELSOFT协议自动映射成LAN2口的ModbusTCP协议和MC(3E帧)服务器。


【XCNet-FX5U】用于三菱MELSEC iQ-F(FX5U、FX5UJ和FX5UC)系列PLC的以太网数据采集。
XCNet-FX5U具备两个物理性接口,LAN1和LAN2口分别具备独立的局域网能力。其中LAN1为一个双RJ45接口,具备交换机功能,用于连接PLC;LAN2为单端口RJ45,主要用于上位机采集或者触摸屏的连接。
XCNet-FX5U可以实现NAT的地址转换的功能,即可将LAN1口所连接PLC的IP地址,映射到LAN2口任意IP地址。XCNet-FX5U的LAN1将自动与PLC建立连接,将FX5U映射成LAN2口的ModbusTCP和SLMP(MC3E)服务器。


三、应用案例

以西门子S7-1200/1500+XCNet-PN为例,S7-1200网口默认是Profinet协议。

需求:S7-1200的IP地址跨网段访问+ MODBUS TCP主站或从站通讯(PLC无须编程)。
通过搜索工具BCDevice设定XCNet-PN的LAN1口、LAN2口、转发端口号、所连接的PLC的IP地址后, XCNet-PN具有ModbusTCP服务器和客户机功能。设备运行诊断如下:

【ModbusTCP服务器功能】
1、XCNet-PN内置了默认地址映射表,映射规则为全区域映射(0~65535):线圈Coil(000001~)映射为PLC的Q区;输入Input(100001~)映射为PLC的I区;输入寄存器InputRegsiter映射为PLC的M区;保持寄存器HoldingRegsiter映射为PLC的DB1数据块。

2、除了默认的地址映射外,我们也可以自定义地址映射关系,我们推荐使用【自动分配映射关系(推荐)】来配置地址映射表,在此之前,我们需要手动删除默认的地址映射表。
1)选中映射块,点击【删除映射块】来删除映射块;

2)点击【自动分配映射地址(推荐)】,添加自定义映射块。

3)我们大致可以按照以下思路来完成自定义映射块的编辑:

4)映射表编辑完成后,可以通过地址查询确定对应关系,比如要查询DB1.DBW0对应的modbus地址:点击【映射地址查询】,按如下设置,点击【查询】按钮,可以查询到对应的Modbus映射地址。

【ModbusTCP客户机功能】
1)打开BCDevice,搜索到XCNet-PN后,选择【修改设备参数】;

2)配置本地参数;

【1】配置XCNet的LAN1网口IP地址、子网掩码等,要和所连的PLC的IP地址在同一网段;【2】配置要连接PLC的IP地址,此例中S7-1200的IP地址为192.168.0.1;【3】本地/远程TSAP
本地TSAP远程TSAP
任意01  00/01
任意02  00/01
任意03  00/01

3) 新建客户机;

【1】点击数据交换,右键创建新的客户机0;【2】选择ModbusTCP协议,用于连接远端的ModbusTCP从站设备,此例中为 FX5U的网口,默认FX5U已经支持ModbusTCP服务器功能,且PLC的数据和Modbus地址映射关系也已配置;【3】远程服务器的IP地址为FX5U的IP地址,这里设置为192.168.1.130;远程服务器的通讯端口号,默认为502;连接超时时间默认为5S;【4】点击确认,创建客户机。
4) 在客户机中配置数据交换命令;

【1】点击新建命令(S7-1200的DB1.DBW100读取FX5U的D0)【2】选择[远程→本地],传输1个字;传输超时设置层2S;【3】本地站点(S7-1200)设置,站点地址忽略,数据区域选择DB块,DB号为1,字节偏移为100,位偏移忽略;【4】远程站点(FX5U)的D0被映射成HoldingRegister的0地址;故数据区域选择HoldingRegsiter,偏移地址填0,单元号是ModbusTCP协议中的单元号,这边由于FX5U不是网关,故可忽略;【5】点击“检查”按钮可进行规则检查,点击“确认”按钮即可生成命令;
5)客户机监视;

点击客户机监视按钮,【错误信息】为无错误,且【正确】有数据跳动,说明通信成功。
本文由无锡市北辰自动化技术有限公司供稿




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则