资源描述
西门子S7_200PLC和组态王无线通信Modbus方案
西门子S7_200PLC和组态王无线通信Modbus方案
在这里介绍一个PLCMODBUS无线组态通信实现方法。本方案能够作为西门子PLC和组态王通信实例。
在工业现场可能会碰到这么情况,分布在不一样地方(车间、控制室场所等)PLC需要和总控中心组态王软件进行远程通信,通常情况是采取有线RS485总线敷设电缆,经过MODBUS协议完成此功效。假如现场布线不方便话,也能够采取无线方法进行通信。本方案中采取了专门用于无线通信智能数据终端DTD433M。
l 有线MODBUS网络:S7-200S7-200STEP 7S7-200PG/PC9.6kbps,8,N,1人机界面
组态软件
l S7-200STEP 7PG/PCRS485
9.6 kbps人机界面
组态软件DTD433DTD433RS485
9.6 kbpsS7-200RS485
9.6 kbpsDTD433无线MODBUS网络:
在实际系统中,人机界面和PLC不在一起,中心计算机通常放置在控制室,而PLC安装在现场车间,二者之间距离往往从几十米到几千米。假如布线话,需要挖沟施工,比较麻烦,这种情况下比较适合采取无线通信方法。
一、PLC和组态王Modbus通信
1. 下载S7_200程序
需要向 PLC中下载对应初始化程序(KVmoddbus.mwp),由亚控企业提供。此程序默认PLC通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中 VB8,SMB30 进行修改);
2.设备选择
选择以下两个设备全部能够。
3. 演示程序界面
打开组态王演示工程文件
二、满足西门子PLCMODBUS通信协议专用无线数据终端
为了满足西门子PLC和组态王MODBUS通信协议,对无线数据终端含有以下要求:
适合于RS232/RS485串口连接,能够直接替换有线RS485网
DTD433M提供标准RS232/RS485口。DTD433M接口波特率为9600bps,8 N 1。
含有独特软件无线电技术,确保高抗干扰能力和低误码率
基于FSK调制方法,采取高效前向纠错信道编码技术,提升了数据抗突发干扰和随机干扰能力。大量应用于高压强干扰电力系统监控。
能够提供多个产品规格适应于不一样传输距离
在空旷环境,天线安装位置离地面高度大于2米情况下,DTD433MA可靠传输距离可达300m,DTD433MB可靠传输距离可达1500m,DTD433MC可靠传输距离可达3000m。
自动完成智能数据控制,用户无需编制多出程序
即使是半双工通信,用户也无需编制多出程序,只要从接口收/发数据即可,其它如空中收/发转换,控制等操作,DTD433M自动完成。
无线数据终端选择标准
l 直线空旷距离在300米以内能够选择DTD433MA_S9600
l 直线空旷距离在1000米左右能够选择DTD433MB_S9600
l 直线空旷距离在米左右能够选择DTD433MC_S9600
三、试验设备及其接线
l 组态软件:组态王6.53
l S7-200型号:CPU224XP CN,1台
l 无线数据终端:DTD433MB_S9600
PC电脑和无线数据终端DTD433M连接RS-232连线
电脑RS232串口
DTD433M
DTD433M设置
RXD
DB9-Pin2 Rx
DB9-Pin2 Tx
K1: 1,2,3 OFF
4 ON
K2: 1,2,3,4 OFF
TXD
DB9-Pin3 TX
DB9-Pin3 Rx
GND
DB9-Pin5 GND
DB9-Pin5 GND
S7-200和无线数据终端DTD433M连接RS-485连线
S7-200 Port0
DTD433M
DTD433M设置
RS485+ A
DB9-Pin3 B
RS485+ A
K1: 1,2,3 ON
4 OFF
K2: 1,2,3,4 OFF
RS485- B
DB9-Pin8 A
RS485- B
四、实物图片
五、方案附件
l 组态王测试程序
l S7-200测试程序
l 组态软件和西门子PLC无线MODBUS通信方案.pdf
六、西门子提供Modbus设备地址
1. Modbus主设备寻址
Modbus地址通常写作包含数据类型和偏移量5个字符数值。第一个字符决定数据类型,最终四个字符在数据类型中选择合适数值。然后,Modbus主设备指令将地址映射至正确功效,方便发送到从站。Modbus主设备指令支持下列Modbus地址:
00001至09999是离散输出(线圈)
10001至19999是离散输入(触点)
30001至39999是输入寄存器(通常是模拟量输入)
40001至49999是保持寄存器
全部Modbus地址均以1为基位,表示第一个数据值从地址1开始。有效地址范围将取决于从站。不一样从站将支持不一样数据类型和地址范围。
2. Modbus 从站寻址
Modbus地址通常被写为包含数据类型和偏移量5个字符数值。第一个字符决定数据类型,最终四个字符在数据类型中选择合适数值。然后,Modbus主设备将地址映射至正确功效。Modbus从站指令支持下列地址:
00001至00128是映射至Q0.0 - Q15.7离散输出
10001至10128是映射至I0.0 - I15.7离散输入
30001至30032是映射至AIW0至AIW62模拟输入寄存器
40001至4xxxx是映射至V存放器保持寄存器。
全部Modbus地址均以1为基位。下表显示映射至S7-200地址Modbus地址。
3. Modbus地址S7-200
00001 Q0.0
00002 Q0.1
00003 Q0.2
... ...
00127 Q15.6
00128 Q15.7
10001 I0.0
10002 I0.1
10003 I0.2
... ...
10127 I15.6
10128 I15.7
30001 AIW0
30002 AIW2
30003 AIW4
... ...
30032 AIW62
40001 Hold Start
40002 HoldStart+2
40003 HoldStart+4
... ...
4xxxx HoldStart+2 x (xxxx-1)
Modbus从站协议许可您限制Modbus主设备可存取输入、输出、模拟输入和保持寄存器(V存放器)数量。
MBUS_INIT指令MaxIQ参数指定Modbus主设备许可存取离散输入或输出(I或Q)最大数目。
MBUS_INIT指令MaxAI参数指定Modbus主设备许可存取输入寄存器(AIW)最大数目。
MBUS_INIT指令MaxHold参数指定Modbus主设备许可存取保持寄存器(V存放器字)最大数目。
请参阅MBUS_INIT指令说明,了解相关为Modbus从站设定存放器限制深入详情。
七、MODBUS常见问题解答
1. 我设备支持 modbus设备,能否直接和组态王软件连接?
只要设备是标准 modbus 协议设备,即可使用组态王设备列表下 PLC-->莫迪康
-->MODBUSRTU(或 ACSII 码)进行通信。但具体寄存器地址对照表必需从设备厂家
索取。
2. 我支持 modbus 协议串口设备,能否和多个上位软件(比如组态王软件和某品
牌触摸屏)同时通讯?
因为 modbus 串口协议不支持多主站,所以不能多个软件同时和 modbus 设备同时通
信。
3. 在组态王工程中建立多个 modbusTCPIPserver 设备定义, 分别使用两台用户端对其
访问,只有站点高那个 server 通讯 ok,站点低通讯失败,为何?
这是因为在组态王软件中只支持建立一个 modbusTCPIPserver,当建立多个 server
时,组态王用户端则会自动和站点高server进行通讯,所以会造成站点低通讯失败。
4. 怎样实现组态王数据经过串口或以太网驱动方法传送到其它组态软件或应用程
序中?
假如其它组态软件或应用程序支持 modbus 协议,则能够经过组态王提供
modRTUserver 或 modbusTCPserver 驱动来实现。
5. 组态王和支持 Modbus协议设备进行通讯时, 组态王画面上显示数据不正确常有
哪些原因?
引发数据不正确原因关键有以下几点:
1)组态王中定义寄存器地址跟实际设备不一致造成。比如一些使用 modbus 协议
通讯设备数据地址是从 0 开始,而组态王 modbus 协议驱动寄存器地址是从 1 开
始,所以碰到此种情况时在组态王中定义变量时,寄存器地址要进行加1 处理;
2)数据词典中最大原始值和最大值定义不不妥;比如最大原始值和最大值不一样会
造成画面看到数据和实际设备不一致;
3)组态王读取 FLOAT 和 LONG 类型数据时,没有使用提供 SwapF 和 SwapL
寄存器来调整FLOAT 型和 LONG型数据字节次序;
4)LONG 或 FLOAT 型双字数据,没有根据间隔隔地址方法定义;因为 modbus
协议所对应参数地址通常根据字为基础单位进行分地址排序。
6. 组态王和西门子 200plc自由口协议经过modem 通讯,硬件接线怎样实现?
设备上插标准 PPI 电缆,modem9 针口经过一个标准 232 交叉线接到 PPI 电缆上即
可,232交叉线 modem侧需要 1 4 6 短接,7 和 8 短接。
7. 西门子200plc经过modbus协议和组态王通讯时, 组态王中定义寄存器地址和plc
地址是怎样对应?
映射关系以下:
0-Q,1-I,3、4、8、9-V;
3,4,8,9 dd 号和 PLC中 V寄存器偏移地址(实际地址-1000)对应关系:
组态王中(寄存器dd 号-1)*2=PLC中 V寄存器偏移地址。组态王中 40031
对应 PLC:VW1060 (组态王中寄存器 4 表示SHORT 型变量)组态王中 90640 对应 PLC:
VD2278 (组态王中寄存器9 表示 FLOAT型变量)。
注:上面对应关系是针对用户使用是亚控企业提供了PLC(MODBUS)通讯初
始化程序,假如用户是自己编程写初始化程序,则依据实际程序要求 modbus 对应
地址定义变量。
8. 西门子 200plc经过 modbus协议和组态王通讯,需要注意哪些事项?
需要注意以下几点:
1)需要向 PLC中下载对应初始化程序(KVmoddbus.mwp),由亚控提供。此程
序默认 plc 通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程
SBR0 中 VB8,SMB30 进行修改);
2)因为 PLCModbus 协议程序占用 V1000及以前地址,所以用户在编写逻辑控制
程序中用到寄存器不能和亚控提供协议中所占用 V区地址冲突;
3)西门子 S7200PLC 和经过 modbus 协议和组态王通讯时,CPU上开关必需拨在
RUN状态,不然 PLC中 modbus 通讯程序没有处于运行状态,组态王和设备经过自由
口协议肯定通讯失败;
9. 西门子 200plc经过 GPRS链路和组态王通讯,使用哪种协议方法比很好?
推荐使用自由口/modbusRTu协议。
ppi 协议实际上也支持经过GPRS 链路和组态王通讯,但因为PPI 协议特殊性,
GPRS方法下通讯效果不是很好,所以不推荐用户使用。
10. 组态王提供 ModbusRTUServer 和 ModbusRTU驱动寄存器是怎样对应?
ModbusRTUServer B寄存器对应ModbusRTU 0 寄存器;
ModbusRTUServer R寄存器对应ModbusRTU 4 寄存器。
展开阅读全文