您现在的位置是:首页 > 体坛时讯体坛时讯

开疆智能ModbusTCP转Canopen网关连接AGV地标传感器

查看 烟火之旅 的更多文章烟火之旅 2025-06-14 【体坛时讯】 5163人已围观

wKgZPGhJYViATsTPAAMImDEdCzw123.png

S7-300单站系统与Modbus Slave软件组态

打开TIA软件,新建一个工程项目文件,命名为“CP_MODBUS TCP Client”, 在项目下插入一个S7-300站,如下图1所示:

图1 新建S7-300 Station

打开设备视图,添加CP343-1,并设置CP343-1的IP地址,本例中将CP343-1的PN口IP地址设为192.168.0.221,如图所示:

wKgZPGhJYVmATVEPAABr5UkaAAw850.png

图2设备视图中设置CP343-1的IP地址

2.3 组态网络视图

使用CP343-1做MODBUS TCP通信前,首先要创建CP343-1和MODBUS TCP服务器的TCP连接

步骤①:添加TCP连接

图3 添加TCP连接

步骤②:设置通信伙伴方的IP地址

TCP连接属性---常规---填写伙伴方的IP地址(此处为MODBUS TCP服务器的IP地址)

wKgZPGhJYVqAdpDDAABisyJ7CeY915.png

图4 TCP连接参数设置

步骤③:设置本地ID

TCP连接属性---本地ID

此处的“本地ID” 和“ LADDR”,在之后的配置MODBUS TCP工艺对象时,对应连接设置中的“连接ID”和“梯级”

wKgZO2hJYVqAOlKEAAABWYwXUmU196.gif wKgZPGhJYVqAO8h7AABOLzMh_l8248.png

图5 TCP连接参数设置

步骤④:勾选“主动建立连接”

TCP连接属性---特殊连接属性,CP343-1做TCP的客户端时,需要勾选“主动建立连接”

wKgZO2hJYVuAB42nAABL27H6QSA086.png

图6 TCP连接参数设置

步骤⑤:CP343-1作为客户端和服务器TCP通信,必须要指定服务器的IP地址和端口号。

TCP连接属性---地址详细信息,设置伙伴方的IP地址和端口号

wKgZPGhJYVuAUu71AABM2VMPk7I122.png

图7 TCP连接参数设置

TCP连接属性---选项,默认设置

wKgZO2hJYVyAXa-lAABJjmxsAQk520.png

图8 TCP连接参数设置

2.4 组态工艺对象

配置完TCP连接后,接下来需要新增工艺对象,

步骤①:新增工艺对象

选择“Modbus”---"通信处理器"---“MODBUS_TCP”---"MB_CP_PARAM"。

wKgZO2hJYVyAS1pVAABMVs1l4yE894.png

图9 新增工艺对象

步骤②:设置“连接设置”

连接设置:连接ID,梯级这两个参数 查看2.3章节TCP连接参数中的“本地ID”

wKgZPGhJYVyAJLoUAACP-wnp9t8497.png

图10 组态工艺对象

步骤③:设置“Modbus设置”---“内部”

SIMATIC S7是服务器”选项默认不勾选;“单次写入”选项根据Modbus TCP 服务器对于功能代码的要求而定,默认情况下不勾选。

wKgZO2hJYV2AfYcaAAAzWbGI0R4661.png

图11 组态工艺对象

步骤④:设置“Modbus设置”---“数据区域”

Modbus 设置---数据区域:下图中设置了4个Modbus数据区域

wKgZPGhJYV2AKSWmAAA6r7Dee6U294.png

图12 组态工艺对象

2.5 根据工艺对象中创建的数据区域添加数据块

根据步骤3.4工艺对象中设置的数据区域,添加四个数据块,如下图所示

wKgZO2hJYV6AACiJAAAYCcTQXRY114.png

图13 创建数据块

wKgZPGhJYV6AR0RyAAAR8Vi6Ic0453.png

图14 创建存放MODBUS 线圈数据的数据块

wKgZO2hJYV-AXJSSAAARpcJBivU654.png

图15 创建存放MODBUS 数字量输入类型的数据块

wKgZPGhJYV-AKaYqAAAT0i8SKng538.png

图16 创建存放MODBUS 保持寄存器数据的数据块

wKgZO2hJYV-ADWkkAAATn_YDMho246.png

图17 创建存放MODBUS 输入寄存器据的数据块

2.6 创建具有可用于授权的注册表项的数据块

创建授权密钥数据块DB3(名称REG_KEY),选择类型为“全局DB”,打开该DB块,创建变量“REG_KEY”,数据类型为“String[17]”,如图所示:

wKgZPGhJYV-AB17JAAArnK3dJCI731.png

图18 创建存放授权码的数据块

2.7 调用OB121

由于在获取授权密钥前,“MODBUSCP”指令是无授权状态,会使CPU报错而停机。而为了读取CPU 的“IDENT_CODE”码,需要CPU运行起来,则必须添加编程错误组织块OB121,如下图所示:

wKgZO2hJYWCAKoIiAAAWAlRC4M0699.png

图19 OB121

下图为CPU诊断信息,若MODBUS TCP没有授权的情况下使用,会报错误“16#A090”和“读取时发生区域长度错误”,若调用了OB121,可避免CPU停机。

wKgZPGhJYWCAZXfzAAAkzN4u5jE130.png

图20 CPU诊断信息

2.8 调用通信指令

调用MODBUS TCP指令(通信---通信处理器---MODBUS TCP---MODBUSCP),填写参数。

为了在通信故障时查找原因,编写程序段2捕获错误代码。

wKgZPGhJYWGAcYZDAADi0Lmze3Y109.png

图21 调用“MODBUSCP”指令

2.9 初始化指令

创建启动组织块OB100(名称COMPLETE RESTART),语言为“STL”,打开该OB块,置位初始化位输入管脚寄存器,如下图所示:

wKgZO2hJYWGAWisqAAAlBarko4k929.png

图22 初始化“MODBUSCP”指令

配置完PLC组态后下载到PLC。

打开网关配置软件“CANopen Configuration Studio”进行配置

新建项目,选择MT-Canopen

wKgZPGhJYWGATAcaAADGMdqA_Hk527.png

设置网关与编码器通讯的Canopen参数,包括波特率及周期时间等.

wKgZO2hJYWKAegX-AABvEfebCbc900.png

设置网关在ModbusTCP一侧的IP地址,以及掉线后的数据处理方式。

wKgZPGhJYWKAV7M1AACJbYYIgp8756.png

添加地标传感器的EDS文件,可从官网下载。

wKgZO2hJYWKAFvMVAACGg-CyyA8853.png

选择对应的从站设备

wKgZPGhJYWOAQGK1AADMgP4Si9Y958.png

添加好从站进行配置。

wKgZO2hJYWOAO_FlAACvKZxrFS4453.png

分配好配置确认无误后,将配置下载进网关。

设置好Canopen从站的站地址后,将所有设备连接并上电。等所有设备指示灯正常后即可通过PLC对传感器进行操作。

审核编辑 黄宇

Tags: