加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595

SIEMENS江西省西门子中国授权代理商-西门子变频器-西门子技术服务|西门子PLC模块

更新时间
2025-01-19 09:10:00
价格
请来电询价
变频器
西门子代理商
触摸屏
西门子一级代理
伺服电机
西门子一级总代理
联系电话
18126392341
联系手机
15267534595
联系人
梁涛
立即询价

详细介绍
CP341作主站(Master)的Modbus RTU通讯(STEP7)

图片 硬件及软件列表

图片 组态和配置

图片 编写通信程序

图片 设备连接

图片 通信测试

图片 手册下载

硬件及软件列表

设备名称

设备型号

PS 307

6ES7 307-1EA00-0AA0

CPU 315-2DP

6ES7 315-2AG10-0AB0

MMC

6ES7 953-8LG11-0AA0

CP341

6ES7 341-1AH01-0AE0

Dongle

6ES7 870-1AA01-0YA0

将Dongle插入CP341中,Dongle和插入Dongle前后的CP341如下图所示。

图片

图1

图片注意:STEP7 V5.X软件上,必须安装如下软件包才可进行后续的组态配置。

PTP协议软件包:SIMATIC S7-CP PtP Param V5.1+SP14

MODBUS主站驱动

MODBUS从站驱动

组态和配置

1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择Insert New Object-> SIMATIC 300 Station,更改站的名称为CP341 Modbus-M。

图片

图2

2、双击Hardware进入硬件配置画面,插入RACK、CPU315-2DP、CP341。

图片

图3

3、 双击CP341模板,点击Parameter...,配置CP341参数。在Protocol选项中选择MODBUS Master。

图片

图4

4、双击Protocol下的信封图标,配置Modbus Master参数,点击Modbus-Master按钮,设置通讯波特率等参数。

图片

图5

5、配置完成后保存时会提示是否装载驱动。

图片

图6

6、此时必须连接到实际的PLC,点击Yes按钮装载驱动,或点击Load Drivers装载,装载时CPU必须为STOP模式。

图片

图7

7、装载完成后,如果再次装载,Step7会提示Driver already exists。配置完成后点击下载按钮保存编译硬件组态,并确认没有错误。

图片

图8

编写通信程序

1、双击OB1,打开OB1编程画面,从库Libraries->CP PtP->CP341中调用发送程序块FB8 P_SND_RK,分配背景数据块DB8,将参数LADDR设为硬件组态中的输入起始逻辑地址256。

图片

图9

2、创建发送数据块DB1,从站地址为2,功能码为3,起始地址为0,读4个寄存器数据,具体功能码3 的使用参见Modbus Master手册 5.3 Function Code 03 - Read Output Registers部分的说明。

图片

图10

3、调用发送功能块,设置参数。

图片

图11

FB8 P_SND_RK的参数设置见下表:

SF

‘S’为发送,此处必须为大写的‘S’

LADDR

硬件组态中的起始逻辑地址,本例中为256

REQ

发送数据触发位,上升沿触发,本例中为M0.0

DB_NO

发送数据块号,本例中为1(DB1)

DBB_NO

发送数据的起始地址,本例中为0(DB1.DBB0)

LEN

发送数据的长度,本例中为6

R_TYP

‘X’为扩展的数据块,此处必须为大写的‘X’

R

取消通讯,本例中不用

DONE

发送完成位,发送完成后为TRUE,同时没有错误

ERROR

错误位,为TRUE说明有错误

STATUS

状态字,标识错误代码,查看Modbus Master手册第7章获得相应的说明

其它参数

本例中不用

 

4、从库中Libraries->CP PtP->CP341调用接收程序块FB7 P_RCV_RK,分配背景数据块DB7,将LADDR设为硬件组态中的输入起始逻辑地址256。

图片

图12

5、创建接收数据块DB2。

图片

图13

6、调用接收功能块,设置参数。

图片

图14

FB7 P_RCV_RK的参数设置见下表:

LADDR

硬件组态中的起始逻辑地址,本例中为256

DB_NO

发送数据块号,本例中为2(DB2)

DBB_NO

发送数据的起始地址,本例中为0(DB2.DBB0)

LEN

接收数据的长度,本例中为MW4,只有在接收到数据的当前周期,此值不为0,可以查看MW8的值来确认接收到数据的长度

EN_R

使能接收位,本例中为M0.3

R

取消通讯,本例中不用

NDR

接收完成位,接收完成后为TRUE,同时没有错误

ERROR

错误位,为TRUE说明有错误

STATUS

状态字,标识错误代码,查看Modbus Master手册第7章获得相应的说明

其它参数

本例中不用

设备连接

本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口.

图片 具体的电缆连接方法请查看:串口接线

如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器(需要选购第三方设备)。

通信测试

前面使用Step7 V5.5软件已经将通信CP341的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件modbus slave软件来测试CP341和计算机的通信,步骤如下

1、安装Modbus Slave测试软件,安装完成后,在桌面上生成一图标,双击此图标,打开modbus slave测试软件,如图。

图片

图15

2、点击Register later按钮,不注册此软件,可以使用30天,但每次只能使用15分钟,网上下载的软件,没有注册码。然后点击菜单Connection->connect配置串口参数,要和CP341的参数相同。

图片

图16

3、点击OK按钮,然后选择菜单Setup->Slave Definition...设定通讯数据,因为CP341使用的是功能码3,所以选择03 Holding Register,CP341访问的从站地址为2,Slave ID设为2,起始地址从1开始,画面如下。

图片

图17

4、然后设置地址1到4 的数据分别为111 到444,然后在Step7变量表中设置M0.3为TRUE,使能接收,然后将M0.0置成 TRUE(上升沿触发,想再发送需要将M0.0从TRUE置成FALSE,然后再置成TRUE),可以监控到DB1.DBW0到DB1.DBW4的值为111 到444,如下图。

图片

图18

5、如果想读取浮点数,必须设置数据格式,点击菜单Display->Float Inverse。

图片

图19

6、设置地址1和3的值分别为1.234 和5.678,触发M0.0发送,可以看到接收到的数据为1.234 和5.678,如下图。

图片


相关产品

联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595