在这里介绍一种采用GPRS透明数据终端和PLC的MODBUS无线组态通信的实现方法。本方案可以作为西门子PLC与组态王远程无线通信的实例。
在工业现场可能会遇到这样的情况,分布在不同地方(车间、控制室场所等)的PLC需要与总控中心的组态王软件进行远程通信,通常情况是采用有线RS485总线敷设电缆,通过MODBUS协议完成此功能。如果现场距离总控中心距离非常远,布线不可能话,就可以采用GPRS方式进行无线通信。本方案中采用了专门用于无线远程GPRS通信的智能数据终端DTP_S09F。
l 有线MODBUS网络:
l 远程无线MODBUS网络:
在实际系统中,人机界面与PLC不在一个地区,中心计算机一般放置在办公室,而PLC安装在现场车间,二者之间距离可能往往从几十米到几千米甚至几千公里。如果在厂区几公里范围内的话可以采用无线电方案,要是距离再远的话就可以采用移动GPRS网络,这样的话就没有距离限制了,这种情况下比较适合远程无线通信。
一、PLC与组态王的Modbus通信
1. 下载S7_200程序
需要向 PLC中下载对应的初始化程序(KVmoddbus.mwp),由亚控公司提供。此程序默认的PLC通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改);
2.设备选择
选择以下两个设备都可以。
3.修改虚拟设备
必须注意配置DTU设备标识信息与图中一致,端口号根据用户的设定。
4. 演示程序界面
打开组态王演示工程文件
二、满足西门子PLC的MODBUS通信协议的专用GPRS数据终端
为了满足西门子PLC和组态王的MODBUS通信协议,对GPRS数据终端具有以下要求:
◆ 适合于RS232/RS485串口连接,可以直接代替有线的RS485网;
◆ 无需修改用户软件,无需二次开发;
◆ 全透明传输,永远在线,自动重连;
◆ 支持域名和IP两种连接方式;
◆ 双看门狗,永不死机;
◆ 工作温度:-35~ +75℃;
◆ 工业标准设计,能工作于各种恶劣环境;
◆ 提供力控、杰控及组态王等组态例程。
三、试验设备及其接线
l 组态软件:组态王6.53
l S7-200型号:CPU224XP CN,1台
l GPRS数据终端:DTP_S09F
S7-200与无线数据终端DTP_S09F连接
RS-485连线 | S7-200 Port0 | DTP_S09F |
RS485+ A | DB9-Pin3 B | DB9_5 A |
RS485- B | DB9-Pin8 A | DB9_3 B |
四、实物图片
五、方案附件
l 组态王测试程序
l S7-200测试程序
l 组态软件MODBUS与西门子PLC的无线远程GPRS通信方案.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
00001Q0.0
00002Q0.1
00003Q0.2
......
00127Q15.6
00128Q15.7
10001I0.0
10002I0.1
10003I0.2
......
10127I15.6
10128I15.7
30001AIW0
30002AIW2
30003AIW4
......
30032AIW62
40001Hold Start
40002HoldStart+2
40003HoldStart+4
......
4xxxxHoldStart+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从站设定存储器限制的进一步详情。
在这里介绍一种采用GPRS透明数据终端和PLC的MODBUS无线组态通信的实现方法。本方案可以作为西门子PLC与组态王远程无线通信的实例。
在工业现场可能会遇到这样的情况,分布在不同地方(车间、控制室场所等)的PLC需要与总控中心的组态王软件进行远程通信,通常情况是采用有线RS485总线敷设电缆,通过MODBUS协议完成此功能。如果现场距离总控中心距离非常远,布线不可能话,就可以采用GPRS方式进行无线通信。本方案中采用了专门用于无线远程GPRS通信的智能数据终端DTP_S09F。
l 有线MODBUS网络:
l 远程无线MODBUS网络:
在实际系统中,人机界面与PLC不在一个地区,中心计算机一般放置在办公室,而PLC安装在现场车间,二者之间距离可能往往从几十米到几千米甚至几千公里。如果在厂区几公里范围内的话可以采用无线电方案,要是距离再远的话就可以采用移动GPRS网络,这样的话就没有距离限制了,这种情况下比较适合远程无线通信。
一、PLC与组态王的Modbus通信
1. 下载S7_200程序
需要向 PLC中下载对应的初始化程序(KVmoddbus.mwp),由亚控公司提供。此程序默认的PLC通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改);
2.设备选择
选择以下两个设备都可以。
3.修改虚拟设备
必须注意配置DTU设备标识信息与图中一致,端口号根据用户的设定。
4. 演示程序界面
打开组态王演示工程文件
二、满足西门子PLC的MODBUS通信协议的专用GPRS数据终端
为了满足西门子PLC和组态王的MODBUS通信协议,对GPRS数据终端具有以下要求:
◆ 适合于RS232/RS485串口连接,可以直接代替有线的RS485网;
◆ 无需修改用户软件,无需二次开发;
◆ 全透明传输,永远在线,自动重连;
◆ 支持域名和IP两种连接方式;
◆ 双看门狗,永不死机;
◆ 工作温度:-35~ +75℃;
◆ 工业标准设计,能工作于各种恶劣环境;
◆ 提供力控、杰控及组态王等组态例程。
三、试验设备及其接线
l 组态软件:组态王6.53
l S7-200型号:CPU224XP CN,1台
l GPRS数据终端:DTP_S09F
S7-200与无线数据终端DTP_S09F连接
RS-485连线 | S7-200 Port0 | DTP_S09F |
RS485+ A | DB9-Pin3 B | DB9_5 A |
RS485- B | DB9-Pin8 A | DB9_3 B |
四、实物图片
五、方案附件
l 组态王测试程序
l S7-200测试程序
l 组态软件MODBUS与西门子PLC的无线远程GPRS通信方案.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
00001Q0.0
00002Q0.1
00003Q0.2
......
00127Q15.6
00128Q15.7
10001I0.0
10002I0.1
10003I0.2
......
10127I15.6
10128I15.7
30001AIW0
30002AIW2
30003AIW4
......
30032AIW62
40001Hold Start
40002HoldStart+2
40003HoldStart+4
......
4xxxxHoldStart+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从站设定存储器限制的进一步详情。