西门子串口通讯03-CP341在Step7环境做Modbus主站通讯

西门子串口通讯03-CP341在Step7环境做Modbus主站通讯

准备工作:
将Dongle插入CP341中,Dongle和插入Dongle前后的CP341如下图所示。
在这里插入图片描述
图1

组态和配置

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
4、从库中Libraries->CP PtP->CP341调用接收程序块FB7
P_RCV_RK,分配背景数据块DB7,将LADDR设为硬件组态中的输入起始逻辑地址256。
在这里插入图片描述
图12

5、创建接收数据块DB2。
在这里插入图片描述
图13

6、调用接收功能块,设置参数。
在这里插入图片描述
图14
设备连接

使用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,如下图。
在这里插入图片描述
图20

关----注V-X-公—众---号:工控自动化老王,获取更多工控技术文档及海量工控资源!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微信公众号:工控自动化老王

敲字不易,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值