profibus-modbus详细说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Profibus_DP转Modbus总线桥
使用说明V2.0
产品基本参数
三格电子的Profibus_DP转Modbus总线桥模块支持标准的profibus协议,可接入多种组态软件和PLC中。
可以将支持标准modbus协议的设备(主机/从机)接入profibus总线系统中。
产品工作电压范围DC7-DC30V。
内置隔离和浪涌保护电路,可长时间运行于工控现场。
Profibus接口波特率自适应,最高支持12Mbps。
主要参数如下表:
硬件接口说明
(1)、模块地址设置
模块内置有8位拨码开关(低7位有效),用于设置本模块Profibus地址。
每一位拨到ON位置表示1,拨到OFF位置表示0。
地址用二进制数表示。
例如模块地址设置为9,则第一位和第四位拨到ON 其他位拨到OFF。
如下图拨码开关所示:
模块出厂默认地址设置为8.
组态参数设置说明
本模块modbus接口可以工作在主机模式或从机模式,两种模式分别有相应的GSD文件。
主机模式GSD文件名为:MDP_01.GSD。
从机模式GSD文件名为:SDP_01.GSD。
对于两种不同工作模式的组态以下分别介绍
一、模块modbus接口工作在主机模式
Modbus主机模式下可以支持的命令为01、02、03、04、05、06、15、16。
Modbus主机工作模式下,模块可以访问多台modbus从机,模块通过命令轮询访问的方式与各个从机通信。
如模块发送3号请求数据命令,到从机应答完成,这样一个命令周期称为一个命令组,模块可以最大支持15个这样的命令组,每组命令的具体参数在下面会具体讲解。
在组态产品前需要先安装对应的MDP_01.GSD文件。
安装完后可以在总线中添加模块Modbus_M-Profibus DP。
如图(1)。
图(1)
添加后可以按需要选择数据交换的长度,如不确定可选择128 byte in 128 byte out。
如图(2)
图(2)
选择完成后点击确定会弹出如下图(3)对话框,注意修改模块地址和拨码开关地址一致。
点击确定完成组态步骤。
图(3)
添加完模块后进入模块的设备专用参数设置页面,如图(4),页面主要对MODBUS通信参数和命令组参数进行设置。
下面进行具体说明
图(4)
(1)MODBUS基本参数设置
ModBus Timeout(x10ms):设置从机超时时间,设置值为10进制,实际超时时间为设置值x10ms。
模块modbus端口发送完一帧命令间隔此时间后仍然没有从机应答,认为应答超时。
ModBus ScanInterval(x10ms):设置模块每组命令间执行间隔,设置值为10进制,实际时间为设置值x10ms。
模块modbus工作在轮询状态,每组命令间隔时间为此设置时间。
MODBUS Communicate Para:设置modbus通信接口参数,波特率和奇偶校验。
(2)命令组参数
通过设置这些参数可以实现本模块的modbus端与多个modbus从设备通信。
1#~15#表示第几组命令。
每组命令可完成一次和对应从modbus设备的数据通信(读或写)。
1# ModBus Slave Address 第一组命令要访问的从机地址
1# ModBus Command 第一组命令的功能码
1# ModBus Reg StartAdd H 第一组命令要访问的从机寄存器起始地址高字节
1# ModBus Reg StartAdd L 第一组命令要访问的从机寄存器起始地址低字节
1# ModBus R/W Length 第一组命令要访问的从机寄存器(线圈)个数
1# Profibus Reg 第一组命令modbus寄存器起始地址映射到profibus (IN 或OUT)寄存器的地址。
其他组命令参数与此相同,如该组没有命令请求需要可以将ModBus Command 设置为NULL。
例1:
用3号命令读取8号从机起始地址为02的8个寄存器,将读到的数据放到profibus input寄存器中从PIWx+6地址开始的区域。
其中PIWx为profibus分配给本模块输入寄存器的首地址。
参数设置如下:
1# ModBus Slave Address Set 8
1# ModBus Command 3
1# ModBus Reg StartAdd H 0
1# ModBus Reg StartAdd L 2
1# ModBus R/W Length 8
1# Profibus Reg PIWx+6
本模块首先发出命令为 08 03 00 02 00 08 E5 55 的读寄存器请求帧等待从机应答,当从机应答后本模块会将数据存储到profibus input寄存器中从PIW+6地址开始的区域。
例2:
用16号命令将profibus output寄存器中从PQWx+6地址开始的2个寄存器
数据(4个字节)写入到8号从机起始地址为02的寄存器中。
其中PQWx为组态软件分配给本模块profibus端输出数据寄存器的首地址。
参数设置如下:
2# ModBus Slave Address Set 8
2# ModBus Command 16
2# ModBus Reg StartAdd H 0
2# ModBus Reg StartAdd L 2
2# ModBus R/W Length 2
2# Profibus Reg PQWx+6
当以上命令组1完成后模块会等待ModBus ScanInterval(x10ms)时间在执行此第二组命令。
(即等待每组命令间隔时间后执行下组命令)。
本模块首先发出命令为 08 10 00 02 00 02 04 F1 F2 F3 F4 8A 92 的写寄存器请求帧,其中F1-F4是profibus output寄存器中从PQWx+6到PQWx+9地址空间内的数据。
二、模块modbus接口工作在从机模式
Modbus从机模式下可以支持的命令为03、04、06、16。
支持modbus主站对本模块的读写。
同样在组态产品前需要先安装对应的SDP_01.GSD文件。
安装完后可以在总线中添加模块Modbus_S-Profibus DP。
如下图(5)。
其余步骤同主站模式组态相同(注意修改模块地址和拨码开关地址一致)。
图(5)
添加完模块后进入模块的设备专用参数设置页面,如图(6),页面主要对MODBUS通信参数和寄存器参数进行配置。
图(6)
(1)MODBUS基本参数设置
MODBUS Communicate Para: 设置modbus通信接口参数,波特率和奇偶校验。
ModBus Slave Address Set: 设置本模块modbus端地址。
(2)寄存器参数设置
通过设置这些参数可以实现本模块的modbus端与profibus端寄存器的映射关系。
Input reg in DP :表示本模块modbus端从首地址开始的寄存器数据映射到profibus input从PIWx+N地址开始的区域。
PIWx为profibus分配给本模块的input区域首地址,N为设置的值(单位为字节)。
Input reg number:表示本模块从modbus端映射到profibus input端寄存器个数。
例:
Modbus寄存器首地址为40000,profibus input首地址为256(即PIWx为256)。
设置Input reg in DP值为PIWx+8,设置Input reg number为4。
则地址映射关系为:Modbus端从40000~40007地址区域8个字节(4个寄存器)的数据映射到profibus input寄存器从264~272的地址区域(264为首地址256偏移8个字节到264)。
output reg in DP:表示本模块modbus端从首地址开始的寄存器数据映射到profibus output从PQWx+N地址开始的区域。
PQWx为profibus分配给本模块的output区域首地址,N为设置的值(单位为字节)。
output reg number:表示本模块modbus端从首地址开始映射到profibus 从PQWx+N开始的寄存器个数。
例:
Modbus寄存器首地址为40000,profibus output首地址为256(即PQWx为256)。
设置Output reg in DP值为PQWx+8,设置Output reg number为4。
则地址映射关系为:Modbus端从40000~40007地址区域8个字节(4个寄存器)的数据映射到profibus output寄存器从264~272的地址区域(264为首地址256偏移8个字节到264)。
特殊说明
当模块工作在modbus主机模式下,对于5、6、15、16号modbus写寄存器命令,默认采用的是周期性轮询发送方式。
对于需要仅当数据有变化在发送的情况要做如下配置:
如下图所示,分配参数页中的分配十六进制参数下第4个字节改成如下91即可。