PLC与组态王之间Modbus无线通讯的从站设置

本文详细描述了如何在多台西门子S7-300PLC与组态王通过DTD434MC无线终端实现ModbusRTU通讯,涉及硬件组态、波特率设置、Modbus驱动下载、从站编程和功能码配置等步骤。

本方案主要详述了在多台西门子300PLC与组态王之间Modbus无线通讯中如何设置从站。方案中所用到的无线通讯终端是DTD434MC——欧美系PLC专用无线通讯终端。

一、方案概述

无线Modbus网络组成如下:

二、测试背景

● PC端组态软件版本:组态王6.55

● 默认参数:9600、8、N、1

● PLC型号:西门子S7-300 PLC×3台

● 通讯协议:Modbus_RTU

● 欧美系PLC专用无线通讯终端:DTD434MC

● RS485串口延长线

三、从站的通讯设置

1.CP341 做Modbus 从站的硬件组态硬件组态

CP341的逻辑地址是256 

S7-300侧硬件组态

2.MODBUS通讯参数设置

按照上述操作设置参数,从上图可以看出,本例中的传输波特率9.6Kb/s,1位起始位,8位数据位,偶校验位,1位停止位,从站站地址是3,主从通讯设备的字符帧格式和波特率等参数设置需要一致。

RS422/485接口只能一个有效,接口的选择只需要组态而不需要在硬件上短接。

3.Modbus驱动的下载 

当配置好Modbus通信的参数后,保存前需要向CP341下载Modbus Slave的驱动,一旦下载完成后无需再次下载。

需要注意的是,在下载驱动时(可以在无Dongle情况下下载),需要将CPU停机,然后下载,操作过程如下所示

下载时需要PLC停机

4.从站编程:

从Step7 软件下的EXAMPLE目录中,找到项目名“zXX21_05_PtP_Com_MODSL”的项目,打开,然后将Modbus通讯模块FB80传递到用户项目中,打开路径如下所示。

打开从站示例程序

OB1中调用FB80编程如下

FB80程序块调用

CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK为1信号,否则CP_START_ERROR为1,同时可以从ERROR_NR察看错误信息,也可以在硬件组态中在线后的CP341的诊断缓冲区察看详细的错误信息,错误信息对照和处理方式可以参考《S7-300以用于PtP CP Modbus 协议RTU格式S7的可装载驱动程序为从站》的手册。

FB80各个参数说明如下表所示

5.从站各个功能码设置参考

这里FC01、05、15设置代表MODBUS地址从00001—00008对应的S7-300PLC的M10.0-M10.7

同时00009-00017对应的是S7-300PLC的Q0.0-Q0.7。

### 三菱PLC组态王之间的通信参数配置方法 当三菱FX系列PLC通过RS232接口计算机上的组态王软件进行通信时,需完成以下几方面的设置: #### 1. **硬件连接** 为了实现三菱PLC计算机的通信,需要使用一根编程电缆将两者相连。这种电缆通常用于串口通信场景。 #### 2. **串口通信参数设置** 在串口通信模式下,具体的参数配置如下: - 波特率:9600[^1] - 数据位长度:7 - 停止位长度:1 - 奇偶校验位:偶校验 这些参数必须严格匹配,才能确保数据传输过程中的稳定性准确性。 #### 3. **组态王设备定义** 在组态王软件中定义设备时,应按照以下步骤操作: - 设备类型选择:`PLC\三菱\FX2N\编程口` - 地址范围设定:组态王的设备地址需PLC的实际地址保持一致(范围为0~15) 以上设置完成后,即可建立基本的通信链路。 #### 4. **其他注意事项** 如果采用更高级别的网络通信方式(如以太网),则可参考类似的通信教程文档[^2]。对于特定型号的PLC(如西门子S7-1200),还可以考虑引入无线Modbus协议来扩展功能[^3]。 ```python # 示例代码展示如何初始化串口通信参数(Python伪代码) import serial ser = serial.Serial( port='COM1', # 替换为实际使用的串口号 baudrate=9600, # 波特率为9600 bytesize=serial.SEVENBITS, # 数据位长度为7 parity=serial.PARITY_EVEN, # 使用偶校验 stopbits=serial.STOPBITS_ONE # 停止位长度为1 ) if ser.is_open: print("串口已成功打开") else: print("串口未正常开启,请检查设置") ``` 上述代码片段展示了基于Python语言的串口初始化逻辑,供开发者参考。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值