一种串行MODBUS扩展通信的方法.pdf

上传人:zhu****69 文档编号:4074201 上传时间:2018-08-14 格式:PDF 页数:18 大小:2.18MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410707374.7

申请日:

2014.11.27

公开号:

CN104486182A

公开日:

2015.04.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||专利申请权的转移IPC(主分类):H04L 12/40登记生效日:20180209变更事项:申请人变更前权利人:上海华冠电子设备有限责任公司变更后权利人:上海仪电楼宇科技有限公司变更事项:地址变更前权利人:200082 上海市虹口区唐山路760号变更后权利人:200041 上海市静安区南京西路1486号3号楼15楼|||实质审查的生效IPC(主分类):H04L 12/40申请日:20141127|||公开

IPC分类号:

H04L12/40; H04L1/22

主分类号:

H04L12/40

申请人:

上海华冠电子设备有限责任公司

发明人:

黄东

地址:

200082上海市虹口区唐山路760号

优先权:

专利代理机构:

上海光华专利事务所31219

代理人:

高园园

PDF下载: PDF下载
内容摘要

本发明提供一种串行Modbus扩展通信的方法,串行Modbus扩展通信支持的物理层与串行Modbus标准通信相同的物理层;设备在进入串行Modbus扩展通信模式后,采用64bit地址字段进行通信;串行Modbus扩展通信支持单播、广播无应答、广播有应答三种通信模式;从站进入串行Modbus扩展通信模式后,在未接收到新指令超时后自动退出串行Modbus扩展通信模式,或通过EXIT强制退出命令强制退出串行Modbus扩展通信模式。本发明的串行Modbus扩展通信的方法能够使得设备在Modbus地址未初始化或出现冲突时,还能与Modbus设备进行通信,可以枚举出无故障在线的所有从站,方便在线对串行Modbus网络进行故障诊断、安装、调试;可以方便设备的资产管理和问题跟踪。

权利要求书

权利要求书1.  一种串行Modbus扩展通信的方法,其特征在于,包括: 串行Modbus扩展通信支持的物理层与串行Modbus标准通信相同的物理层; 设备在进入串行Modbus扩展通信模式后,采用64bit地址字段进行通信; 串行Modbus扩展通信支持单播、广播无应答、广播有应答三种通信模式; 从站进入串行Modbus扩展通信模式后,在未接收到新指令超时后自动退出串行 Modbus扩展通信模式,或通过EXIT强制退出命令强制退出串行Modbus扩展通信模式。 2.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:串行链路的Modbus 帧的协议数据单元由地址字段、功能码、数据和校验域组成。 3.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:串行Modbus扩展通 信的地址字段为64bit,有效地址为0~0xFFFF FFFF FFFF FFF0,其中0为广播地址,其 余为保留地址。 4.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:地址字段由8bit的地 址长度和不定长度的地址组成;所述地址为出厂设置的全球唯一的地址或产品序列号。 5.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于: 所述单播模式下,主站寻址单个从站,从站接收并处理完请求之后,向主站返回一个 报文; 所述广播无应答模式下,主站向所有从站发送写请求,从站不应答; 所述广播有应答模式下,主站向所有从站发送读请求,每个从站都应答。 6.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:在Modbus扩展通信 模式下,不响应标准Modbus帧。 7.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:触发串行Modbus扩 展通信模式的方式为:主站按固定间隔发送两次串行模式初始化命令,如从站确认收到两 次初始化命令,并且中间无其它数据,则进入串行Modbus扩展通信模式,其中从站无应 答。 8.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:串行Modbus扩展通 信模式的自动退出方式为:在从站进入串行Modbus扩展通信模式后,从站自动开启一个 倒计时定时器;从站每次收到串行Modbus扩展通信指令时重置倒计时定时器;当倒计时 定时器的计时到达时,自动退出扩展通信模式,其中从站无应答。 9.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:所述广播有应答模式 包括以下内容: 主站向所有从站发送有应答的广播命令; 从站在接收到有应答的广播命令后,处于随机等待时间Trandom; 等待Trandom时间后,从站执行检测发言动作,检测总线是否空闲; 如从站检测到总线空闲则发送一个发言声明帧;从站再等待Tcheck时间用于确认总 线是否空闲;如Tcheck时间内总线空闲,则从站发送应答帧;如Tcheck时间内检测到数 据,则从站重新随机等待Trandom时间; 如从站未检测到总线空闲,则继续等待Trandom时间;如从站在等待Trandom时间 后检测到最近Tidle时间内总线被占用,则继续等待,直至Tidle时间内总线为空闲的,从 站再发送一个发言声明帧; 主站在总线空闲Ttimeout后可以发送下一条有应答的广播命令。 10.  根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:主站自动设置所 有从站的地址时,包括以下步骤: 步骤S71、主站发送进入串行Modbus扩展通信模式的初始化命令至从站; 步骤S72、主站等待Tdelay时间; 步骤S73、主站再次发送进入串行Modbus扩展通信模式的初始化命令至从站; 步骤S74、主站发送读取参数命令功能的枚举地址命令至从站; 步骤S75、主站循环读取从站的64bit地址; 步骤S76、主站等待Ttimeout时间,确保主站下次发送数据前,所有从站数据已发送 数据完毕,总线空闲; 步骤S77、主站按顺序设置从站Modbus地址; 步骤S78、主站发送EXIT强制退出命令退出串行Modbus扩展通信模式。

说明书

说明书一种串行Modbus扩展通信的方法
技术领域
本发明涉及通信的技术领域,特别是涉及一种串行Modbus扩展通信的方法。
背景技术
串行Modbus协议是国际标准的现场通信总线的一种。当在一Modbus网络上通信时,此 协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种 行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含 了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的 网络解决节地址、路由路径及错误检测的方法。
由于具有实现方式简单、实现成本较低、支持的厂商及设备多等优点,串行Modbus协 议在楼宇控制、工业现场控制等领域有着广泛的应用。
然而,串行Modbus协议本身具有一定的局限性,例如必须采用主从方式、寻址空间只 有8bit。这就要求一条总线上的设备具有唯一的8bit地址(实际只能使用0~247),否则会造 成通信异常。由于地址只有8bit,通常只能在现场设置,因此,串行Modbus协议具有设置不 便、容易冲突等缺陷。
现有技术中,地址设置方式通常采用以下方法:
(1)拨码开关的方法
该方法设计简单,但存在拨码开关本身质量不是很可靠的问题;同时,由于拨码开关需 要占用一定的PCB及外壳开窗,对一些小型化的产品不是很适用。
(2)独立编程的方法
该方法须采用电脑或专用的编程器,且只连接待设置的一个设备,并对其设置地址。不 足之处是需要设备脱离总线进行地址的设置。
3)选中编程的方法
该方法通常采用电脑作为主站连接待设置设备所在总线,电脑发送设置地址的广播指令, 只有被选中的设备才会响应。因此,通常采用设备上额外的按键设置设备处于选中状态。
综上所述,现有技术虽然已经可以解决初始安装时串行Modbus地址的设置问题,但在 运维过程中,对于诊断、定位和修复Modbus总线地址冲突等异常问题的解决还是比较繁琐 和低效的。例如在无法准确定位故障设备前,可能需要采用尝试法逐个将设备脱离总线来进 行定位和排除故障,从而导致操作繁琐,效率低下的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种串行Modbus扩展通信的方 法,能够实现串行Modbus总线出现异常时的故障诊断、定位和修复,也便于串行Modbus 总线安装时的地址等参数的初始化设置工作。
为实现上述目的及其他相关目的,本发明提供一种串行Modbus扩展通信的方法,串行 Modbus扩展通信支持的物理层与串行Modbus标准通信相同的物理层;设备在进入串行 Modbus扩展通信模式后,采用64bit地址字段进行通信;串行Modbus扩展通信支持单播、 广播无应答、广播有应答三种通信模式;从站进入串行Modbus扩展通信模式后,在未接收 到新指令超时后自动退出串行Modbus扩展通信模式,或通过EXIT强制退出命令强制退出串 行Modbus扩展通信模式。
根据上述的串行Modbus扩展通信的方法,其中:串行链路的Modbus帧的协议数据单元 由地址字段、功能码、数据和校验域组成。
根据上述的串行Modbus扩展通信的方法,其中:串行Modbus扩展通信的地址字段为 64bit,有效地址为0~0xFFFF FFFF FFFF FFF0,其中0为广播地址,其余为保留地址。
根据上述的串行Modbus扩展通信的方法,其中:地址字段由8bit的地址长度和不定长度 的地址组成;所述地址为出厂设置的全球唯一的地址或产品序列号。
根据上述的串行Modbus扩展通信的方法,其中:
所述单播模式下,主站寻址单个从站,从站接收并处理完请求之后,向主站返回一个报 文;
所述广播无应答模式下,主站向所有从站发送写请求,从站不应答;
所述广播有应答模式下,主站向所有从站发送读请求,每个从站都应答。
根据上述的串行Modbus扩展通信的方法,其中:在Modbus扩展通信模式下,不响应标 准Modbus帧。
根据上述的串行Modbus扩展通信的方法,其中:触发串行Modbus扩展通信模式的方式 为:主站按固定间隔发送两次串行模式初始化命令,如从站确认收到两次初始化命令,并且 中间无其它数据,则进入串行Modbus扩展通信模式,其中从站无应答。
根据上述的串行Modbus扩展通信的方法,其中:串行Modbus扩展通信模式的自动退出 方式为:在从站进入串行Modbus扩展通信模式后,从站自动开启一个倒计时定时器;从站 每次收到串行Modbus扩展通信指令时重置倒计时定时器;当倒计时定时器的计时到达时, 自动退出扩展通信模式,其中从站无应答。
根据上述的串行Modbus扩展通信的方法,其中:所述广播有应答模式包括以下内容:
主站向所有从站发送有应答的广播命令;
从站在接收到有应答的广播命令后,处于随机等待时间Trandom;
等待Trandom时间后,从站执行检测发言动作,检测总线是否空闲;
如从站检测到总线空闲则发送一个发言声明帧;从站再等待Tcheck时间用于确认总线是 否空闲;如Tcheck时间内总线空闲,则从站发送应答帧;如Tcheck时间内检测到数据,则 从站重新随机等待Trandom时间;
如从站未检测到总线空闲,则继续等待Trandom时间;如从站在等待Trandom时间后检 测到最近Tidle时间内总线被占用,则继续等待,直至Tidle时间内总线为空闲的,从站再发 送一个发言声明帧;
主站在总线空闲Ttimeout后可以发送下一条有应答的广播命令。
根据上述的串行Modbus扩展通信的方法,其中:主站自动设置所有从站的地址时,包括 以下步骤:
步骤S71、主站发送进入串行Modbus扩展通信模式的初始化命令至从站;
步骤S72、主站等待Tdelay时间;
步骤S73、主站再次发送进入串行Modbus扩展通信模式的初始化命令至从站;
步骤S74、主站发送读取参数命令功能的枚举地址命令至从站;
步骤S75、主站循环读取从站的64bit地址;
步骤S76、主站等待Ttimeout时间,确保主站下次发送数据前,所有从站数据已发送数 据完毕,总线空闲;
步骤S77、主站按顺序设置从站Modbus地址;
步骤S78、主站发送EXIT强制退出命令退出串行Modbus扩展通信模式。
如上所述,本发明的串行Modbus扩展通信的方法,具有以下有益效果:
(1)能够使得设备在Modbus地址未初始化或出现冲突时,还能与Modbus设备进行通 信,方便在线对串行Modbus网络进行故障诊断、安装、调试,无需物理上脱离网络;
(2)支持串行Modbus扩展通信模式的设备可以方便地将Modbus地址与设备全球唯一 的地址相对应,上层应用程序无需扩展地址;
(3)可以方便设备的资产管理和问题跟踪。
附图说明
图1显示为本发明的串行Modbus扩展通信系统的结构示意图;
图2显示为本发明的串行链路的Modbus帧中协议数据单元的结构示意图;
图3显示为本发明的串行Modbus扩展通信地址字段;
图4显示为本发明的单播模式的主/从站通信时序图;
图5显示为本发明的广播无应答模式的主/从站通信时序图;
图6显示为本发明的广播有应答模式的主/从站通信时序图;
图7显示为本发明的自动设置从站地址流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加 以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精 神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式 中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际 实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的串行Modbus扩展通信的方法包括以下内容:
(1)串行Modbus扩展通信支持的物理层与串行Modbus标准通信(GB/T 19582.2-2008) 相同的物理层。
具体地,串行Modbus扩展通信采用与串行Modbus标准通信相同的物理层,安装 EIA/TIA-485(也称RS485标准)进行电气接口。该RS485标准允许标准“两线配置”的点 对点和多点系统,此外一些设备可以实现“四线配置”RS485接口。
与串行Modbus标准系统一样,在串行Modbus扩展通信系统中,同一时间只能有一个主 站设备和一个或几个从站设备在一个无源串行链路上进行通信。每台设备可以直接接到干线 电缆上,或经分支电缆连接到一个无源分支器,或经专用电缆连接到一个有源分支器。典型 的串行Modbus扩展通信系统的拓扑图如图1所示。其中,Master为主站、Slave为从站、Passive  Tap为无源分支器、Active Tap为有源分支器。ITr为干线接口,以及级干线之间的接口。IDv 为分支接口,设备和无源分支器间的接口。AUI为附属单元接口,以及设备和有源分支器间 的接口。LT为终端匹配电阻。
串行Modbus扩展通信的通信帧格式与串行Modbus标准的通信帧格式类似。如图2所示, 串行Modbus扩展通信链路的Modbus帧的协议数据单元(PDU)由地址字段、功能码、数据、 校验域组成。
(2)设备在进入串行Modbus扩展通信模式后,采用64bit地址字段进行通信。
具体地,与串行Modbus标准通信只有8bit的地址字段不同,本发明的地址字段由8bit 的地址长度和不定长度的地址组成,如图3所示。优选地,串行Modbus扩展通信的地址字 段为64bit,有效地址为0~0xFFFF FFFF FFFF FFF0,其中0为广播地址,其余为保留地址。 其中,地址为出厂设置的全球唯一的地址或产品序列号
(3)串行Modbus扩展通信支持单播、广播无应答、广播有应答三种通信模式。
串行Modbus扩展通信在串行Modbus标准通信的单播模式和广播无应答模式外,还支持 广播有应答通信模式。下面详细介绍一下上述三种通信模式:
A、单播模式
主站寻址单个从站(地址1~0xFFFF FFFF FFFF FFF0),从站接收并处理完请求之后, 向主站返回一个报文(即一个“应答”)。其中,单播模式的主/从站通信时序图如图4所示。
B、广播无应答模式
主站向所有从站(地址为0)发送写请求,从站不应答。其中,广播无应答模式的主/从 站通信时序图如图5所示。
C、广播有应答模式
主站向所有从站(地址为0)发送读请求,每个从站都应答。在广播有应答模式下进行 通信时,为兼顾效率和解决通信冲突问题,本发明采用了如图6所示的载波侦听和冲突检测 通信机制发送应答数据。具体地,广播有应答模式包括以下内容:
1)主站向所有从站发送有应答的广播命令。
2)从站在接收到有应答的广播命令后,处于随机等待时间Trandom(例如,10-64个字 节的传输时间)。
3)等待Trandom时间后从站执行检测发言动作,检测总线是否空闲。
4)如从站检测到总线空闲则发送一个发言声明帧;从站再等待Tcheck时间(例如,3 个字节的传输时间)用于确认总线是否空闲;如Tcheck时间内总线空闲,则从站发送应答帧; 如Tcheck时间内检测到数据,则从站重新随机等待Trandom时间。
本发明的发言声明帧采用7个字节,主站无需回复,发言声明帧格式如表1所示。
其中,检测总线空闲类似于先进先出(FIFO)机制。假设有一个定时器,定时间隔为当 前通信速率下一个字节通信所需花费的时间。假设Tidle的时间为10个字节传输所需花费的 时间,定时器会定时刷新前10个时刻的总线状态。因此,Tidle的结束时间与Trandom的结 束时间相同。检测总线空闲就是查看在从Tramdon结束算起向前倒退Tidle时间内总线是否 空闲,只要查看定时器刷新的10个寄存器是否全为空闲即可。
表1、发言声明帧格式
内容 字节数 说明或示例 地址长度 1字节 固定为0x02 短地址 2字节 64位地址的低16位 功能码 1字节 固定为0x65 数据长度 1字节 固定为0x00 CRC 2字节  
5)如从站未检测到总线空闲,则继续等待Trandom时间;如从站在等待Trandom时间 后检测到最近Tidle时间内总线被占用,则继续等待,直至Tidle时间内总线为空闲的,从站 再发送一个发言声明帧。
6)主站在总线空闲Ttimeout(例如,74字节的传输时间)后可以发送下一条有应答的 广播命令。
(4)从站进入串行Modbus扩展通信模式后,在未接收到新指令超时后自动退出串行 Modbus扩展通信模式,或通过EXIT强制退出命令强制退出串行Modbus扩展通信模式。
在串行Modbus扩展通信模式下,不响应标准Modbus帧。
具体地,本发明的串行Modbus扩展通信模式是需要特殊指令触发的,从而避免偶然因 素触发而导致系统错误。本发明中,触发串行Modbus扩展通信模式的方式为:主站按固定 间隔Tdelay发送两次串行模式初始化命令INIT,如从站确认收到两次INIT命令,并且中间 无其它数据,则进入串行Modbus扩展通信模式,其中从站无应答。为便于现场识别,从站 可以用LED灯等方式指示进入串行Modbus扩展通信模式状态。需要说明的是,初始化命令 INIT为串行Modbus标准通信系统中诊断功能0x08的保留子功能码,其格式如表2所示。
表2、初始化命令INIT的Modbus帧格式
内容 字节数 说明或示例 地址 1字节 固定为0x00,广播地址 功能码 1字节 固定为0x08 功能子码 2字节 固定为0x30,无需响应
数据 0字节   CRC 2字节  
串行Modbus扩展通信模式的退出采用超时自动退出和EXIT强制退出命令强制退出两种 方式,以避免系统死锁在串行Modbus扩展通信模式,导致常规应用受影响。本发明中,串 行Modbus扩展通信模式的自动退出方式为:在从站进入串行Modbus扩展通信模式后,从站 自动开启一个时间为Texit的倒计时定时器;当到达Texit时,自动退出扩展通信模式,其中 从站无应答。在串行Modbus扩展通信模式下,从站每次接收到串行Modbus扩展通信命令, 就会重置该倒计时定时器,以避免在正常调试时需要反复重新进入串行Modbus扩展通信模 式。
在通过EXIT强制退出命令强制退出串行Modbus扩展通信模式时,从站不应答。需要说 明的是,EXIT强制退出命令帧格式如表3所示。
表3、强制退出命令EXIT帧格式

串行Modbus扩展通信设计了读取参数功能码0x66,该功能码支持单播及广播有应答两 种通信模式,主站发送的读取参数命令帧格式如下表4所示。
表4、读取参数命令的帧格式
内容 字节数 说明或示例 地址长度 1字节 固定为0x04 短地址 4字节 64位地址,0x00为广播地址 功能码 1字节 固定为0x66 功能子码 1字节   数据长度 1字节 值为N(0-255)
数据 Nx2字节 请求内容 CRC 2字节  
从站采用载波侦听和冲突检测通信机制进行应答,从站发送的读取参数的响应帧格式如 下表5所示。
表5、读取参数命令的响应帧格式
内容 字节数 说明或示例 地址长度 1字节 固定为0x04 短地址 4字节 64位地址,本机地址 功能码 1字节 固定为0x66 功能子码 1字节   数据长度 1字节 值为N(0-255) 数据 Nx2字节 返回内容 CRC 2字节  
从站的读取参数命令的错误响应帧格式格式如下表6所示。
表6、读取参数命令的错误响应帧格式
内容 字节数 说明或示例 地址长度 1字节 固定为0x04 短地址 4字节 64位地址,本机地址 功能码 1字节 固定为0xE6 功能子码 1字节   数据长度 1字节 固定为0x01 异常码 2字节 错误码 CRC 2字节  
本发明中,读取参数命令的子功能如表7所示。
表7、读取参数命令的的子功能


串行Modbus扩展通信设计了写参数功能码0x67,该功能码支持单播及广播无应答两种 通信模式。主站发送的写参数命令帧格式如下表8所示。
表8、写参数命令的帧格式

从站在单播模式下应答,写参数命令的响应帧格式如表9所示。
表9、写参数命令的响应帧格式
内容 字节数 说明或示例 地址长度 1字节 固定为0x04 短地址 4字节 64位地址,本机地址 功能码 1字节 固定为0x67 功能子码 1字节   数据长度 1字节 值为N(0-255) 数据 Nx2字节 返回内容
CRC 2字节  
从站的写参数命令的错误响应帧格式如表10所示。
表10、写参数命令的错误响应帧格式
内容 字节数 说明或示例 地址长度 1字节 固定为0x04 短地址 4字节 64位地址,本机地址 功能码 1字节 固定为0xE7 功能子码 1字节   数据长度 1字节 固定为0x01 异常码 2字节 错误码 CRC 2字节  
本发明中,写参数命令的子功能如表11所示。
表11、写参数命令的子功能

参照图7,在串行Modbus扩展通信系统中,主站自动设置所有从站的地址包括以下步骤:
步骤S71、主站发送进入串行Modbus扩展通信模式的初始化命令INIT至从站。
步骤S72、主站等待Tdelay时间,期间不执行任何操作。
步骤S73、主站再次发送进入串行Modbus扩展通信模式的初始化命令INIT至从站。
步骤S74、主站发送读取参数命令功能的枚举地址命令至从站。
步骤S75、主站循环读取从站的64bit地址。
步骤S76、主站等待Ttimeout时间,确保主站下次发送数据前,所有从站数据已发送数据 完毕,总线空闲。
步骤S77、主站按顺序设置从站Modbus地址。
步骤S78、主站发送EXIT强制退出命令退出串行Modbus扩展通信模式。
综上所述,本发明的串行Modbus扩展通信的方法能够使得设备在Modbus地址未初始化 或出现冲突时,还能与Modbus设备进行通信,可以枚举出无故障在线的所有从站,方便在 线对串行Modbus网络进行故障诊断、安装、调试,无需物理上脱离网络;支持串行Modbus 扩展通信模式的设备可以方便地将Modbus地址与设备全球唯一的地址相对应,上层应用程 序无需扩展地址;可以方便设备的资产管理和问题跟踪。所以,本发明有效克服了现有技术 中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技 术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡 所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等 效修饰或改变,仍应由本发明的权利要求所涵盖。

一种串行MODBUS扩展通信的方法.pdf_第1页
第1页 / 共18页
一种串行MODBUS扩展通信的方法.pdf_第2页
第2页 / 共18页
一种串行MODBUS扩展通信的方法.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种串行MODBUS扩展通信的方法.pdf》由会员分享,可在线阅读,更多相关《一种串行MODBUS扩展通信的方法.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410707374.7(22)申请日 2014.11.27H04L 12/40(2006.01)H04L 1/22(2006.01)(71)申请人 上海华冠电子设备有限责任公司地址 200082 上海市虹口区唐山路 760 号(72)发明人 黄东(74)专利代理机构 上海光华专利事务所 31219代理人 高园园(54) 发明名称一种串行 Modbus 扩展通信的方法(57) 摘要本发明提供一种串行 Modbus 扩展通信的方法,串行Modbus扩展通信支持的物理层与串行Modbus 标准通信相同的物理层 ;设备在进入串行Modbus。

2、 扩展通信模式后,采用 64bit 地址字段进行通信 ;串行 Modbus 扩展通信支持单播、广播无应答、广播有应答三种通信模式;从站进入串行Modbus 扩展通信模式后,在未接收到新指令超时后自动退出串行Modbus扩展通信模式,或通过EXIT 强制退出命令强制退出串行 Modbus 扩展通信模式。本发明的串行Modbus扩展通信的方法能够使得设备在 Modbus 地址未初始化或出现冲突时,还能与 Modbus 设备进行通信,可以枚举出无故障在线的所有从站,方便在线对串行 Modbus 网络进行故障诊断、安装、调试 ;可以方便设备的资产管理和问题跟踪。(51)Int.Cl.(19)中华人民共。

3、和国国家知识产权局(12)发明专利申请权利要求书2页 说明书11页 附图4页(10)申请公布号 CN 104486182 A(43)申请公布日 2015.04.01CN 104486182 A1/2 页21.一种串行 Modbus 扩展通信的方法,其特征在于,包括 :串行 Modbus 扩展通信支持的物理层与串行 Modbus 标准通信相同的物理层 ;设备在进入串行 Modbus 扩展通信模式后,采用 64bit 地址字段进行通信 ;串行 Modbus 扩展通信支持单播、广播无应答、广播有应答三种通信模式 ;从站进入串行Modbus扩展通信模式后,在未接收到新指令超时后自动退出串行Modbus。

4、 扩展通信模式,或通过 EXIT 强制退出命令强制退出串行 Modbus 扩展通信模式。2.根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于:串行链路的Modbus 帧的协议数据单元由地址字段、功能码、数据和校验域组成。3.根据权利要求 1 所述的串行 Modbus 扩展通信的方法,其特征在于 :串行 Modbus 扩展通信的地址字段为 64bit,有效地址为 0 0xFFFF FFFF FFFF FFF0,其中 0 为广播地址,其余为保留地址。4.根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于 :地址字段由8bit的地址长度和不定长度的地址组成 ;所述地址为出厂。

5、设置的全球唯一的地址或产品序列号。5.根据权利要求 1 所述的串行 Modbus 扩展通信的方法,其特征在于 :所述单播模式下,主站寻址单个从站,从站接收并处理完请求之后,向主站返回一个报文;所述广播无应答模式下,主站向所有从站发送写请求,从站不应答 ;所述广播有应答模式下,主站向所有从站发送读请求,每个从站都应答。6.根据权利要求 1 所述的串行 Modbus 扩展通信的方法,其特征在于 :在 Modbus 扩展通信模式下,不响应标准 Modbus 帧。7.根据权利要求1所述的串行Modbus扩展通信的方法,其特征在于 :触发串行Modbus扩展通信模式的方式为 :主站按固定间隔发送两次串行。

6、模式初始化命令,如从站确认收到两次初始化命令,并且中间无其它数据,则进入串行 Modbus 扩展通信模式,其中从站无应答。8.根据权利要求 1 所述的串行 Modbus 扩展通信的方法,其特征在于 :串行 Modbus 扩展通信模式的自动退出方式为 :在从站进入串行 Modbus 扩展通信模式后,从站自动开启一个倒计时定时器 ;从站每次收到串行 Modbus 扩展通信指令时重置倒计时定时器 ;当倒计时定时器的计时到达时,自动退出扩展通信模式,其中从站无应答。9.根据权利要求 1 所述的串行 Modbus 扩展通信的方法,其特征在于 :所述广播有应答模式包括以下内容 :主站向所有从站发送有应答的。

7、广播命令 ;从站在接收到有应答的广播命令后,处于随机等待时间 Trandom ;等待 Trandom 时间后,从站执行检测发言动作,检测总线是否空闲 ;如从站检测到总线空闲则发送一个发言声明帧 ;从站再等待 Tcheck 时间用于确认总线是否空闲 ;如 Tcheck 时间内总线空闲,则从站发送应答帧 ;如 Tcheck 时间内检测到数据,则从站重新随机等待 Trandom 时间 ;如从站未检测到总线空闲,则继续等待Trandom时间 ;如从站在等待Trandom时间后检测到最近 Tidle 时间内总线被占用,则继续等待,直至 Tidle 时间内总线为空闲的,从站再权 利 要 求 书CN 104。

8、486182 A2/2 页3发送一个发言声明帧 ;主站在总线空闲 Ttimeout 后可以发送下一条有应答的广播命令。10.根据权利要求 1 所述的串行 Modbus 扩展通信的方法,其特征在于 :主站自动设置所有从站的地址时,包括以下步骤 :步骤 S71、主站发送进入串行 Modbus 扩展通信模式的初始化命令至从站 ;步骤 S72、主站等待 Tdelay 时间 ;步骤 S73、主站再次发送进入串行 Modbus 扩展通信模式的初始化命令至从站 ;步骤 S74、主站发送读取参数命令功能的枚举地址命令至从站 ;步骤 S75、主站循环读取从站的 64bit 地址 ;步骤 S76、主站等待 Tti。

9、meout 时间,确保主站下次发送数据前,所有从站数据已发送数据完毕,总线空闲 ;步骤 S77、主站按顺序设置从站 Modbus 地址 ;步骤 S78、主站发送 EXIT 强制退出命令退出串行 Modbus 扩展通信模式。权 利 要 求 书CN 104486182 A1/11 页4一种串行 Modbus 扩展通信的方法技术领域0001 本发明涉及通信的技术领域,特别是涉及一种串行 Modbus 扩展通信的方法。背景技术0002 串行 Modbus 协议是国际标准的现场通信总线的一种。当在一 Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产。

10、生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了 Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。0003 由于具有实现方式简单、实现成本较低、支持的厂商及设备多等优点,串行 Modbus协议在楼宇控制、工业现场控制等领域有着广泛的应用。0004 然而,串行 Modbus 协议本身具有一定的局限性,例如必须采用主从方式、寻址空间只有8bit。这就要求一条总线上的设备具有唯一的8bit地址(实际只能使用0247),否则会造成通信异常。由于地址只有8bit,通常只能在现场设置,。

11、因此,串行Modbus协议具有设置不便、容易冲突等缺陷。0005 现有技术中,地址设置方式通常采用以下方法 :0006 (1) 拨码开关的方法0007 该方法设计简单,但存在拨码开关本身质量不是很可靠的问题 ;同时,由于拨码开关需要占用一定的 PCB 及外壳开窗,对一些小型化的产品不是很适用。0008 (2) 独立编程的方法0009 该方法须采用电脑或专用的编程器,且只连接待设置的一个设备,并对其设置地址。不足之处是需要设备脱离总线进行地址的设置。0010 3) 选中编程的方法0011 该方法通常采用电脑作为主站连接待设置设备所在总线,电脑发送设置地址的广播指令,只有被选中的设备才会响应。因此。

12、,通常采用设备上额外的按键设置设备处于选中状态。0012 综上所述,现有技术虽然已经可以解决初始安装时串行 Modbus 地址的设置问题,但在运维过程中,对于诊断、定位和修复 Modbus 总线地址冲突等异常问题的解决还是比较繁琐和低效的。例如在无法准确定位故障设备前,可能需要采用尝试法逐个将设备脱离总线来进行定位和排除故障,从而导致操作繁琐,效率低下的问题。发明内容0013 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种串行 Modbus 扩展通信的方法,能够实现串行 Modbus 总线出现异常时的故障诊断、定位和修复,也便于串行Modbus 总线安装时的地址等参数的初始化设置工作。0。

13、014 为实现上述目的及其他相关目的,本发明提供一种串行 Modbus 扩展通信的方法,说 明 书CN 104486182 A2/11 页5串行 Modbus 扩展通信支持的物理层与串行 Modbus 标准通信相同的物理层 ;设备在进入串行 Modbus 扩展通信模式后,采用 64bit 地址字段进行通信 ;串行 Modbus 扩展通信支持单播、广播无应答、广播有应答三种通信模式 ;从站进入串行 Modbus 扩展通信模式后,在未接收到新指令超时后自动退出串行 Modbus 扩展通信模式,或通过 EXIT 强制退出命令强制退出串行 Modbus 扩展通信模式。0015 根据上述的串行Modbu。

14、s扩展通信的方法,其中 :串行链路的Modbus帧的协议数据单元由地址字段、功能码、数据和校验域组成。0016 根据上述的串行Modbus扩展通信的方法,其中 :串行Modbus扩展通信的地址字段为 64bit,有效地址为 0 0xFFFF FFFF FFFF FFF0,其中 0 为广播地址,其余为保留地址。0017 根据上述的串行Modbus扩展通信的方法,其中 :地址字段由8bit的地址长度和不定长度的地址组成 ;所述地址为出厂设置的全球唯一的地址或产品序列号。0018 根据上述的串行 Modbus 扩展通信的方法,其中 :0019 所述单播模式下,主站寻址单个从站,从站接收并处理完请求之。

15、后,向主站返回一个报文 ;0020 所述广播无应答模式下,主站向所有从站发送写请求,从站不应答 ;0021 所述广播有应答模式下,主站向所有从站发送读请求,每个从站都应答。0022 根据上述的串行 Modbus 扩展通信的方法,其中 :在 Modbus 扩展通信模式下,不响应标准 Modbus 帧。0023 根据上述的串行Modbus扩展通信的方法,其中 :触发串行Modbus扩展通信模式的方式为 :主站按固定间隔发送两次串行模式初始化命令,如从站确认收到两次初始化命令,并且中间无其它数据,则进入串行 Modbus 扩展通信模式,其中从站无应答。0024 根据上述的串行Modbus扩展通信的方。

16、法,其中 :串行Modbus扩展通信模式的自动退出方式为 :在从站进入串行 Modbus 扩展通信模式后,从站自动开启一个倒计时定时器 ;从站每次收到串行 Modbus 扩展通信指令时重置倒计时定时器 ;当倒计时定时器的计时到达时,自动退出扩展通信模式,其中从站无应答。0025 根据上述的串行 Modbus 扩展通信的方法,其中 :所述广播有应答模式包括以下内容:0026 主站向所有从站发送有应答的广播命令 ;0027 从站在接收到有应答的广播命令后,处于随机等待时间 Trandom ;0028 等待 Trandom 时间后,从站执行检测发言动作,检测总线是否空闲 ;0029 如从站检测到总线。

17、空闲则发送一个发言声明帧 ;从站再等待 Tcheck 时间用于确认总线是否空闲 ;如 Tcheck 时间内总线空闲,则从站发送应答帧 ;如 Tcheck 时间内检测到数据,则从站重新随机等待 Trandom 时间 ;0030 如从站未检测到总线空闲,则继续等待Trandom时间 ;如从站在等待Trandom时间后检测到最近 Tidle 时间内总线被占用,则继续等待,直至 Tidle 时间内总线为空闲的,从站再发送一个发言声明帧 ;0031 主站在总线空闲 Ttimeout 后可以发送下一条有应答的广播命令。0032 根据上述的串行 Modbus 扩展通信的方法,其中 :主站自动设置所有从站的地。

18、址时,包括以下步骤 :说 明 书CN 104486182 A3/11 页60033 步骤 S71、主站发送进入串行 Modbus 扩展通信模式的初始化命令至从站 ;0034 步骤 S72、主站等待 Tdelay 时间 ;0035 步骤 S73、主站再次发送进入串行 Modbus 扩展通信模式的初始化命令至从站 ;0036 步骤 S74、主站发送读取参数命令功能的枚举地址命令至从站 ;0037 步骤 S75、主站循环读取从站的 64bit 地址 ;0038 步骤 S76、主站等待 Ttimeout 时间,确保主站下次发送数据前,所有从站数据已发送数据完毕,总线空闲 ;0039 步骤 S77、主站。

19、按顺序设置从站 Modbus 地址 ;0040 步骤 S78、主站发送 EXIT 强制退出命令退出串行 Modbus 扩展通信模式。0041 如上所述,本发明的串行 Modbus 扩展通信的方法,具有以下有益效果 :0042 (1)能够使得设备在Modbus地址未初始化或出现冲突时,还能与Modbus设备进行通信,方便在线对串行 Modbus 网络进行故障诊断、安装、调试,无需物理上脱离网络 ;0043 (2) 支持串行 Modbus 扩展通信模式的设备可以方便地将 Modbus 地址与设备全球唯一的地址相对应,上层应用程序无需扩展地址 ;0044 (3) 可以方便设备的资产管理和问题跟踪。附。

20、图说明0045 图 1 显示为本发明的串行 Modbus 扩展通信系统的结构示意图 ;0046 图 2 显示为本发明的串行链路的 Modbus 帧中协议数据单元的结构示意图 ;0047 图 3 显示为本发明的串行 Modbus 扩展通信地址字段 ;0048 图 4 显示为本发明的单播模式的主 / 从站通信时序图 ;0049 图 5 显示为本发明的广播无应答模式的主 / 从站通信时序图 ;0050 图 6 显示为本发明的广播有应答模式的主 / 从站通信时序图 ;0051 图 7 显示为本发明的自动设置从站地址流程图。具体实施方式0052 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员。

21、可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。0053 需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。0054 本发明的串行 Modbus 扩展通信的方法包括以下内容 :0055 (1) 串 行 Modbus 扩 展 通 信 支 持 的 物 理 层 与。

22、 串 行 Modbus 标 准 通 信 (GB/T 19582.2-2008) 相同的物理层。0056 具体地,串行 Modbus 扩展通信采用与串行 Modbus 标准通信相同的物理层,安装EIA/TIA-485( 也称 RS485 标准 ) 进行电气接口。该 RS485 标准允许标准“两线配置”的点说 明 书CN 104486182 A4/11 页7对点和多点系统,此外一些设备可以实现“四线配置”RS485 接口。0057 与串行Modbus标准系统一样,在串行Modbus扩展通信系统中,同一时间只能有一个主站设备和一个或几个从站设备在一个无源串行链路上进行通信。每台设备可以直接接到干线电。

23、缆上,或经分支电缆连接到一个无源分支器,或经专用电缆连接到一个有源分支器。典型的串行 Modbus 扩展通信系统的拓扑图如图 1 所示。其中,Master 为主站、Slave为从站、Passive Tap 为无源分支器、Active Tap 为有源分支器。ITr 为干线接口,以及级干线之间的接口。IDv 为分支接口,设备和无源分支器间的接口。AUI 为附属单元接口,以及设备和有源分支器间的接口。LT 为终端匹配电阻。0058 串行 Modbus 扩展通信的通信帧格式与串行 Modbus 标准的通信帧格式类似。如图2所示,串行Modbus扩展通信链路的Modbus帧的协议数据单元(PDU)由地址。

24、字段、功能码、数据、校验域组成。0059 (2) 设备在进入串行 Modbus 扩展通信模式后,采用 64bit 地址字段进行通信。0060 具体地,与串行Modbus标准通信只有8bit的地址字段不同,本发明的地址字段由8bit 的地址长度和不定长度的地址组成,如图 3 所示。优选地,串行 Modbus 扩展通信的地址字段为 64bit,有效地址为 0 0xFFFF FFFF FFFF FFF0,其中 0 为广播地址,其余为保留地址。其中,地址为出厂设置的全球唯一的地址或产品序列号0061 (3) 串行 Modbus 扩展通信支持单播、广播无应答、广播有应答三种通信模式。0062 串行 Mo。

25、dbus 扩展通信在串行 Modbus 标准通信的单播模式和广播无应答模式外,还支持广播有应答通信模式。下面详细介绍一下上述三种通信模式 :0063 A、单播模式0064 主站寻址单个从站 ( 地址 1 0xFFFF FFFF FFFF FFF0),从站接收并处理完请求之后,向主站返回一个报文 ( 即一个“应答”)。其中,单播模式的主 / 从站通信时序图如图4 所示。0065 B、广播无应答模式0066 主站向所有从站 ( 地址为 0) 发送写请求,从站不应答。其中,广播无应答模式的主 / 从站通信时序图如图 5 所示。0067 C、广播有应答模式0068 主站向所有从站 ( 地址为 0) 发。

26、送读请求,每个从站都应答。在广播有应答模式下进行通信时,为兼顾效率和解决通信冲突问题,本发明采用了如图 6 所示的载波侦听和冲突检测通信机制发送应答数据。具体地,广播有应答模式包括以下内容 :0069 1) 主站向所有从站发送有应答的广播命令。0070 2) 从站在接收到有应答的广播命令后,处于随机等待时间 Trandom( 例如,10-64个字节的传输时间 )。0071 3) 等待 Trandom 时间后从站执行检测发言动作,检测总线是否空闲。0072 4) 如从站检测到总线空闲则发送一个发言声明帧 ;从站再等待 Tcheck 时间 ( 例如,3 个字节的传输时间 ) 用于确认总线是否空闲 。

27、;如 Tcheck 时间内总线空闲,则从站发送应答帧 ;如 Tcheck 时间内检测到数据,则从站重新随机等待 Trandom 时间。0073 本发明的发言声明帧采用 7 个字节,主站无需回复,发言声明帧格式如表 1 所示。0074 其中,检测总线空闲类似于先进先出 (FIFO) 机制。假设有一个定时器,定时间隔说 明 书CN 104486182 A5/11 页8为当前通信速率下一个字节通信所需花费的时间。假设 Tidle 的时间为 10 个字节传输所需花费的时间,定时器会定时刷新前 10 个时刻的总线状态。因此,Tidle 的结束时间与Trandom 的结束时间相同。检测总线空闲就是查看在从。

28、 Tramdon 结束算起向前倒退 Tidle时间内总线是否空闲,只要查看定时器刷新的 10 个寄存器是否全为空闲即可。0075 表 1、发言声明帧格式0076 内容 字节数 说明或示例地址长度 1 字节 固定为 0x02短地址 2 字节 64 位地址的低 16 位功能码 1 字节 固定为 0x65数据长度 1 字节 固定为 0x00CRC 2 字节 0077 5) 如从站未检测到总线空闲,则继续等待 Trandom 时间 ;如从站在等待 Trandom时间后检测到最近 Tidle 时间内总线被占用,则继续等待,直至 Tidle 时间内总线为空闲的,从站再发送一个发言声明帧。0078 6) 主。

29、站在总线空闲 Ttimeout( 例如,74 字节的传输时间 ) 后可以发送下一条有应答的广播命令。0079 (4) 从站进入串行 Modbus 扩展通信模式后,在未接收到新指令超时后自动退出串行 Modbus 扩展通信模式,或通过 EXIT 强制退出命令强制退出串行 Modbus 扩展通信模式。0080 在串行 Modbus 扩展通信模式下,不响应标准 Modbus 帧。0081 具体地,本发明的串行 Modbus 扩展通信模式是需要特殊指令触发的,从而避免偶然因素触发而导致系统错误。本发明中,触发串行 Modbus 扩展通信模式的方式为 :主站按固定间隔 Tdelay 发送两次串行模式初始。

30、化命令 INIT,如从站确认收到两次 INIT 命令,并且中间无其它数据,则进入串行 Modbus 扩展通信模式,其中从站无应答。为便于现场识别,从站可以用 LED 灯等方式指示进入串行 Modbus 扩展通信模式状态。需要说明的是,初始化命令 INIT 为串行 Modbus 标准通信系统中诊断功能 0x08 的保留子功能码,其格式如表 2 所示。0082 表 2、初始化命令 INIT 的 Modbus 帧格式0083 内容 字节数 说明或示例地址 1 字节 固定为 0x00,广播地址功能码 1 字节 固定为 0x08功能子码 2 字节 固定为 0x30,无需响应说 明 书CN 1044861。

31、82 A6/11 页90084 数据 0 字节 CRC 2 字节 0085 串行Modbus扩展通信模式的退出采用超时自动退出和EXIT强制退出命令强制退出两种方式,以避免系统死锁在串行 Modbus 扩展通信模式,导致常规应用受影响。本发明中,串行 Modbus 扩展通信模式的自动退出方式为 :在从站进入串行 Modbus 扩展通信模式后,从站自动开启一个时间为 Texit 的倒计时定时器 ;当到达 Texit 时,自动退出扩展通信模式,其中从站无应答。在串行 Modbus 扩展通信模式下,从站每次接收到串行 Modbus 扩展通信命令,就会重置该倒计时定时器,以避免在正常调试时需要反复重新。

32、进入串行 Modbus扩展通信模式。0086 在通过EXIT强制退出命令强制退出串行Modbus扩展通信模式时,从站不应答。需要说明的是,EXIT 强制退出命令帧格式如表 3 所示。0087 表 3、强制退出命令 EXIT 帧格式0088 0089 串行 Modbus 扩展通信设计了读取参数功能码 0x66,该功能码支持单播及广播有应答两种通信模式,主站发送的读取参数命令帧格式如下表 4 所示。0090 表 4、读取参数命令的帧格式0091 内容 字节数 说明或示例地址长度 1 字节 固定为 0x04短地址 4 字节 64 位地址 ,0x00 为广播地址功能码 1 字节 固定为 0x66功能子。

33、码 1 字节 数据长度 1 字节 值为 N(0-255)说 明 书CN 104486182 A7/11 页100092 数据 Nx2 字节 请求内容CRC 2 字节 0093 从站采用载波侦听和冲突检测通信机制进行应答,从站发送的读取参数的响应帧格式如下表 5 所示。0094 表 5、读取参数命令的响应帧格式0095 内容 字节数 说明或示例地址长度 1 字节 固定为 0x04短地址 4 字节 64 位地址 , 本机地址功能码 1 字节 固定为 0x66功能子码 1 字节 数据长度 1 字节 值为 N(0-255)数据 Nx2 字节 返回内容CRC 2 字节 0096 从站的读取参数命令的错误响应帧格式格式如下表 6 所示。0097 表 6、读取参数命令的错误响应帧格式0098 内容 字节数 说明或示例地址长度 1 字节 固定为 0x04短地址 4 字节 64 位地址 , 本机地址功能码 1 字节 固定为 0xE6功能子码 1 字节 数据长度 1 字节 固定为 0x01异常码 2 字节 错误码CRC 2 字节 0099 本发明中,读取参数命令的子功能如表 7 所示。0100 表 7、读取参数命令的的子功能说 明 书CN 104486182 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1