CN104065545B - 基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统 - Google Patents

基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统 Download PDF

Info

Publication number
CN104065545B
CN104065545B CN201410301602.0A CN201410301602A CN104065545B CN 104065545 B CN104065545 B CN 104065545B CN 201410301602 A CN201410301602 A CN 201410301602A CN 104065545 B CN104065545 B CN 104065545B
Authority
CN
China
Prior art keywords
control
frame
controller
response frame
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410301602.0A
Other languages
English (en)
Other versions
CN104065545A (zh
Inventor
陈国柱
徐群伟
王异凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Haipuke Electric Co ltd
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201410301602.0A priority Critical patent/CN104065545B/zh
Publication of CN104065545A publication Critical patent/CN104065545A/zh
Application granted granted Critical
Publication of CN104065545B publication Critical patent/CN104065545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统,该电力电子系统中主控制器和从控制之间通过基于Modbus协议的RS485总线方法通讯进行通信,该RS485总线通讯方法中通过定义控制器生成的通讯帧的结构,通过通讯程序的结构化设计,定义合理的通讯帧及处理逻辑,提高通讯效率和RS485总线通讯系统的利用率,加快数据的响应速度,大大降低了传输延时,且采用该RS485总线通信系统通讯可靠性强,成本较低,易于实现,适合在大规模电力电子系统中应用。

Description

基于Modbus协议的RS485总线通讯方法及基于该通讯方法的 电力电子系统
技术领域
本发明属于电力电子应用技术领域,具体涉及一种基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统。
背景技术
电力电子技术的日益发展成熟和电力自动化设备的广泛应用有力地推进了工业生产力发展和电气自动化水平的提高,但是由于单台电力电子装置的容量限制问题,使其在大功率应用领域受到制约。
利用现有的小容量电力电子装置的成熟技术,通过模块化并联组合的方式实现大容量场合的应用成为研究的热点。同时在某些情况下,需要将不同种类的电力电子装置(电力电子模块)组合在一起实现系统功能。实现这些应用的关键性问题之一是如何解决好不同电力电子装置之间的通讯协作问题,由此促使了大规模电力电子系统通讯总线体系的出现和发展。
随着各种编码、接口技术的发展和系统规模的不断扩大,出现了各种不同数据格式和接口的电力电子通讯系统和高速总线。
张怀晟等人在标题为大容量变换器的光纤CAN通信总线定时方案(清华大学学报:自然科学版.2007,47(1):17-20)中提出了一种物理层运用光纤的高速CAN总线通讯方法,实现了强电磁干扰环境下的高波特率和高可靠性。但是CAN总线的使用基于实现协议的芯片,成本较高,特别是在PC机上实现CAN时使用的CAN插卡,比其他总线如RS485所使用的接口转换电路成本要高很多。特别对于大规模电力电子系统,由于模块数众多,需要的光纤数量也极为庞大,一方面造成成本上升,另一方面,由于连接关系复杂,导致通信可靠性降低,极大的限制其在大规模电力电子系统中的应用。
穆斌等人在标题为RS-485总线网络应用中的安全与可靠性(光学精密工程.2003(02):193-197)中通过分析和改进RS485总线的硬件电路,保证总线网络的安全性,提高了通讯的可靠性,且成本低。但是由于RS485总线对应的应用层没有标准的协议,而通讯协议的构建及其逻辑处理的效率很大程度上会影响RS485总线通讯的利用率和传输延时。而模块数众多的大规模电力电子系统需要进行多机通讯,且对数据传输的实时性要求较高,因此,RS485总线通讯在大规模电力电子系统的应用也受到了严重限制。
发明内容
针对现有技术中存在的不足,本发明提供了一种基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统。
一种基于Modbus协议的RS485总线通讯方法,实施于包括一个主控制器和若干个从控制器的RS485总线多机通信系统,所述的RS485总线通讯方法包括:
(1)主控制器根据用户输入的读写指令或者状态查询指令生成相应的控制指令,并将所述的控制指令封装成控制帧后发送到RS485总线上;
(2)从控制器侦听RS485总线,当侦听到控制帧到达后开始接收并处理侦听到的控制帧形成相应的响应帧,并将形成的响应帧发送到RS485总线上;
(3)主控制器通过侦听RS485总线接收响应帧,并判断接收到的响应帧是否正确:
若主控制器在设定的时间间隔内未接收到响应帧或接收到的响应帧不正确,则重新发送该控制帧,直至接收到正确的响应帧或连续发送M次都未接收到正确的响应帧后停止发送该控制帧,并结束侦听RS485总线,重新使能用户输入的读写指令和运行状态查询指令;
所述的控制帧和响应帧均包括5个字段,分别为起始段、控制器地址段、功能标志段、分控信息段和错误校验段。
本发明的RS485总线通讯方法中通过定义控制器生成的通讯帧的结构(主控制器生成的控制帧和从控制生成的响应帧),使RS485总线通信系统采用基于Modbus协议的自定义帧进行通信,通过通讯程序的结构化设计,定义合理的通讯帧及处理逻辑,不需要另外构建通讯协议,提高通讯效率,加快数据的响应速度,提高了RS485总线通讯系统的利用率,还大大降低了传输延时,且采用RS485总线通信系统通讯可靠性强,成本较低,易于实现,适合在大规模电力电子系统中应用。
本发明的RS485总线通讯方法中主控制器和从控制器之间支持通用异步接收/发送(UART)通信模式,控制器(包括主控制器和从控制器)的接收器与自身帧同步,外部发送和接收器不需要使用串行同步时钟,时钟可以由内部产生。主控制器接收响应帧,在接收到的响应帧不正确时还重新发送控制帧,有利于提高RS485通信系统中可靠性。相应的,为保证能够重发,主控制器发送控制帧前,还对控制帧进行了备份,先将控制帧存储到一个数据缓冲区中,再次发送时,直接从该数据缓冲区中调取相应的控制帧。当接收到正确的响应帧后,认为该控制帧成功发送,则更新该数据缓冲区中的控制帧为下一个控制帧。且本发明的方法中在多次发送后仍然未接收到正确的响应帧时,认为该控制帧发送失败,还产生发送错误告警。
所述的起始段用于表示控制帧或响应帧的开始;
所述的控制器地址段用于表示控制帧或响应帧所指向的控制器的地址;
所述的功能标志段用于表示控制帧或响应帧的对应的控制指令的类型;
所述的分控信息段用于表示控制指令的内容或执行结果;
所述的错误校验段用于检验对应的控制帧或响应帧的正确性。
分控信息段与功能标志段对应的控制指令的类型有关,对于控制帧,分控信息段用于表示控制指令的内容,对于响应帧,分控信息段表示执行该控制指令后的结果。
(a)对于控制帧:
若对应的控制指令为读取指令或运行状态查询指令,则所述的分控信息段用于表示待读取或待查询的寄存器的个数和寄存器的首地址;
若为写入指令,则分控信息段用于表示待写入的寄存器的个数、寄存器的首地址和待写入的内容;
(b)对于响应帧:
若为读取指令或运行状态查询指令,则分控信息段用于表示读取的寄存器的数量和读取到的数据;
若为写入指令,则所述的分控信息段用表示待写入的寄存器的个数、寄存器的首地址和待写入的内容。
读取指令分为单个寄存器的读取指令和多个寄存器的读取指令,当为单个寄存器的读取指令时,为减小通讯数据量,提高通讯效率和降低延时,控制帧和响应帧中分控信息段中可以不表示待读取或待查询的寄存器的个数。写入指令也包括单个寄存器的写入指令和多个寄存器的写入指令,当为单个寄存器的写入指令时,控制帧和响应帧中分控信息段中可以不表示待写入的寄存器的个数。
起始段为1~16位,控制器地址段根据需要支持的系统模块数决定,通常为1~8位,功能标志段包括2~8位,错误校验段为2个字节,分控信息段的长度取决于控制指令的类型。通讯帧(包括控制帧和响应帧)的长度是由位(二进制数据位)构成的,依据功能码的不同,读写帧的长度各异。为了优化通讯程序结构,提高程序处理效率和降低通讯延时,通讯帧的帧结构的定义按照字节进行,故通讯帧各个字段大小的定义都是以字节为单位的,也即通讯帧接收和发送的过程中每个字段的发送都需要经过8次移位操作。
所述步骤(1)中通过解析控制指令将控制指令封装成控制帧。
通过解析控制指令所指向的从控制器的地址、控制指令的类型、控制指令的内容,然后将解析结果作为控制帧的控制器地址段、功能标志段和分控信息段封装成帧,并且添加起始段,为提高可靠性,根据起始段、控制器地址段、功能标志段和分控信息段生成错误校验段插入到帧的末尾从而得到相应的控制帧。其中,控制指令的类型可分为写入指令(用户输入的写入指令)和读取指令(状态查询指令或用户输入的读取指令),也可以有其他划分标准,为便于表示,通常根据划分结果对各个类型进行编号,通过用户设定,功能标志段实际上为控制指令的类型的编号。
M和时间间隔的设置直接关系到RS485总线多机通信系统的传输时延和可靠性,通常M和时间间隔越大,可靠性越高,但是会增大传输时延。为综合考虑,在传输时延和可靠性之间取得平衡,M和时间间隔不可过大。作为优选,所述的M为3,所述的时间间隔为1ms。
所述步骤(1)中主控制器通过sci通讯中断将控制帧发送到RS485总线上。
为保证中断后的数据恢复,通常需要对该数据缓冲区进行扩展(通常扩展为原来的2倍),将中断发送该控制帧时产生的中断数据也放在发送数据缓冲区,以便中断后进行通信恢复。
所述步骤(2)中的从控制器通过以下步骤接收并处理控制帧形成响应帧:
(2-1)接收控制帧的起始段,并判断控制帧的起始段是否有效:若有效,则继续接收控制器地址段;否则,返回继续侦听RS485总线;
(2-2)判断控制帧的控制器地址段与自身的地址是否一致,若不一致,则停止接收;若一致,则继续进行如下操作:
(2-21)接收功能标志段、分控信息段和错误校验段,接收完成后根据接收到的起始段、控制器地址段、功能标志段和分控信息段采用Modbus协议通用的CRC16校验方法生成校验码;
(2-22)比较生成的校验码与接收到的错误校验段,若二者一致,则执行该控制帧,并根据执行结果生成相应的响应帧;否则,不操作。
从控制器按照字段接收控制帧,且依次判断起始段和控制器地址段的有效性判断自身是否为该控制帧所指向的目标,然后接收剩余的字段。为了避免执行错误的控制帧,提高可靠性,从控制器利用Modbus协议通用的CRC16校验方法检验接收到的控制帧的正确性,正确时(生成的校验码与接收到的错误校验段一致时)才执行接收到的控制帧对应的控制指令,另一方面,还节省了执行错误控制帧的时间,进一步降低了传输时延。
所述步骤(2-22)中通过以下方法生成响应帧:
根据接收到的功能标志段确定该控制帧对应的控制指令的类型:
若为写入指令,则将控制帧的起始段、功能标志段和分控信息段分别作为响应帧的起始段、功能标志段和分控信息段,响应帧的控制器地址段装载主控制器的地址,根据响应帧的起始段、控制器地址段、功能标志段和分控信息段生成错误校验段,得到响应帧;
若为读取指令或状态查询指令,则将控制帧的起始段、功能标志段作为响应帧的起始段、功能标志段,将读取结果作为响应帧的分控信息段,响应帧的控制器地址段装载主控制器的地址,并根据响应帧的起始段、控制器地址段、功能标志段和分控信息段生成错误校验段生成错误校验段,得到响应帧。
所述步骤(3)包括如下步骤:
(3-1)主控制器侦听到响应帧到达后,接收响应帧的起始段,并判断响应帧的起始段是否有效:若有效,则继续接收控制器地址段;否则,返回继续侦听RS485总线;
(3-2)判断响应帧的控制器地址段与自身的地址是否一致,若不一致,则停止接收;若一致,则继续进行如下操作:
(3-21)接收功能标志段、分控信息段和错误校验段,接收完成后根据接收到的起始段、控制器地址段、功能标志段和分控信息段采用Modbus协议通用的CRC16校验方法生成校验码;
(3-22)比较生成的校验码与接收到的错误校验段,若二者一致,则判断接收到的响应帧正确;否则,判断接收到的响应帧不正确。
主控制器按照字段接收响应帧,RS485通信系统中,主控制器以及各个从控制器都具有唯一的地址,若响应帧中的控制器地址段与RS485通信系统中主控制器的地址不一致,则直接跳过不接收剩余的字段,节约了数据传输时间,有利于提高通讯效率,降低传输时延。主控制器利用Modbus协议通用的CRC16校验方法判断接收到的响应帧的正确性,实现方法简单。
起始段的有效性可根据实际应用设定,作为优选,所述的起始段为1个特定内容的字节。起始段的有效性根据用户需求设定。
本发明的RS485通信方法中主控制器与从控制器之间采用SCI异步通信方式,该通信方式中通讯帧中的每个数据位占用8个SCICLK时钟周期。相应的,控制器接收通讯帧的各个字段时是按数据位进行接收的,具体过程如下:
控制器检测到连续4个低电平后开始接收数据位,这4个电平称为有效起始位。只有接收有效起始位后,控制器才开始接收该数据位。当控制器接收到数据位后,控制器对接收到的数据位进行3次采样,确定该数据位的值。本发明中三次采样分别发生在第4、5、6个SCICLK周期,三次采样中两次以上相同的值即为该数据位的值。
本发明还提供了一种基于该通讯方法的电力电子系统,包括若干个电力电子模块,用于控制各个电力电子模块的从控制器,以及一个主控制器,各个从控制器通过RS485总线与主控制器并联连接,呈节点式分布结构;
所述的主控制器用于根据用户输入的读写指令或者运行状态查询指令生成相应的控制指令,并将所述的控制指令封装成控制帧发送到RS485总线,还用于发送完控制帧后通过侦听RS485总线接收响应帧,并判断接收到的响应帧是否正确;
所述的从控制器用于侦听RS485总线,当侦听到控制帧到达后开始接收并处理控制帧形成响应帧,并将形成的响应帧发送到RS485总线上;
所述控制帧和响应帧包括5个字段,分别为起始段、控制器地址段、功能标志段、分控信息段和错误校验段。
本发明的电力电子系统中通讯帧(包括控制帧和响应帧)采用基于Modbus协议的自定义格式,设定通讯帧中包括若干个字段,每个字段都包含一个完整有用的信息,控制器(包括主控制器和从控制器)可以对每个数据帧进行逐字段的处理而不用等到接收完整的帧后再统一处理各个字段,这就使得程序可以智能地提早筛选出针对本控制器的通讯帧,对目标对象非本控制器的通讯帧提早屏蔽,节省了本身控制器的内存和程序空间,提高了总线利用效率,同时也不需要刻意压缩帧的长度,保证了传输内容的完整性和丰富性。
主控制器一方面接收用户输入的读写指令,另一方面每隔一定周期自动查询从控制器对应的电力电子模块的相关信息,如电压信息、电流信息、运行指标参数(如THD、功率因数、负载率等)以及故障状态。电压信息、电流信息依据种类不同定义相应的查询字节大小,电压信息和电流信息用以表征从模块是否过欠压和过流,供给主控制器进行相应控制调节。运行指标参数用以表征从模块运行特性,表明其功能是否正常及其投入运行后对系统的改善效果,若运行效果不佳,一般通过主控制器进行用户输入指令进行调节。故障状态为各个从控制器对应的电力电子模块的工作状态,一般定义为1个字节,共8位,每一位初始化为0,变为1时可以表征该模块的一种故障,故总共可以反馈8种故障类型,同时也可依据模块的复杂程度进行该故障查询字节的扩展,但是会增加通讯量和逻辑判断的复杂性,可视实际情况而定。
主控制器将用户输入的读写指令或运行状态查询指令封装成控制帧后,通过设置485通讯芯片的相应引脚经主控制器配置成发送模式,将控制帧沿RS485总线向下转发,发送成功后再将485通讯芯片的相应引脚配置成接收模式,此时用户输入的读写指令和状态查询指令无效。初始情况下,各个从控制器的485通讯芯片的相应引脚配置为接收模式,实时侦听RS485总线,接收来自主控制器的控制帧并对控制帧的控制器地址段进行解析。受控的从控制器根据接收到的控制帧,完成相应的控制指令,并将执行结果装载至响应帧中,然后将485通讯芯片的相应引脚配置成发送模式,将该响应帧通过RS485总线反馈给主控制器,发送完成后将485通讯芯片的相应引脚配置成接收模式。
考虑到通讯距离和通讯速度要求,本发明的电子电子系统中从控制器最多为32个。
所述的主控制器还用于进行如下操作:
若在设定的时间间隔内未接收到响应帧或接收到的响应帧不正确,则重新发送所述的控制帧,直至接收到正确的响应帧或连续发送M次都未接收到正确的响应帧后停止发送所述的控制帧,并结束侦听RS485总线,重新使能用户输入的读写指令和运行状态查询指令。
重新使能用户输入的读写指令和运行状态查询指令是指使用户输入的读写指令或运行状态查询指令能够生效产生相应的通讯中断,形成相应的控制指令并封装成控制帧。
控制器按字段接收和处理侦听到的通讯帧,所述的控制器为主控制器或从控制器,若为主控制器,则对应的通讯帧为控制帧,若为从控制器,则对应的通讯帧为响应帧,具体如下:
(2-1)控制器接收到达的通讯帧的起始段,并判断通讯帧的起始段是否有效:若有效,则继续接收通讯帧的控制器地址段;否则,返回继续侦听RS485总线;
(2-2)判断通讯帧的控制器地址段与自身的地址是否一致,若不一致,则停止接收;若一致,则继续进行如下操作:
(2-21)接收通讯帧的功能标志段、分控信息段和错误校验段,接收完成后根据接收到的起始段、控制器地址段、功能标志段和分控信息段生成校验码;
(2-22)比较生成的校验码与接收到的错误校验段:
若二者不一致,则判断接收到的通讯帧不正确;
若二者一致,则判断接收到的通讯帧正确,且对于从控制器,当判断接收到的控制帧正确时,继续执行该控制帧,并根据执行结果生成相应的响应帧发送到RS485总线上。
本发明的基于Modbus协议的电力电子系统的RS485总线通讯系统和方法中从控制器和主控制之间通过RS485总线连接,通过定义主控制器生成的控制帧和从控制生成响应帧的结构,使RS485总线通讯系统基于Modbus协议进行通信,提高了RS485总线通讯系统的利用率,还大大降低了传输延时且采用RS485总线通信系统通讯可靠性强,且成本较低,易于实现,适合在大规模电力电子模块化系统中应用。
附图说明
图1为本实施例的基于Modbus协议的RS485总线通讯方法的流程图;
图2为本实施例的电力电子系统的结构图;
图3为SCI异步通信时序示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
一种基于Modbus协议的RS485总线通讯方法,实施于包括一个主控制器和若干个从控制器的RS485总线多机通信系统,该RS485总线通讯方法如图1所示,包括:
(1)主控制器根据用户输入的读写指令或者状态查询指令生成相应的控制指令,并将控制指令封装成控制帧后通过sci通讯中断将封装后的控制帧发送到RS485总线上;
(2)从控制器侦听RS485总线,当侦听到控制帧到达后开始接收并处理侦听到的控制帧形成相应的响应帧,并将形成的响应帧发送到RS485总线上;
(3)主控制器通过侦听RS485总线接收响应帧,并判断接收到的响应帧是否正确:
若主控制器在设定的时间间隔内未接收到响应帧或接收到的响应帧不正确,则重新发送该控制帧,直至接收到正确的响应帧或连续发送M次都未接收到正确的响应帧后停止发送该控制帧,并结束侦听RS485总线,重新使能用户输入的读写指令和运行状态查询指令。
本实施例中时间间隔为1ms,M为3。
本实施的RS485总线通讯方法中的控制帧和响应帧均包括5个字段,分别为起始段、控制器地址段、功能标志段、分控信息段和错误校验段。起始段用于表示控制帧或响应帧的开始;控制器地址段用于表示控制帧或响应帧所指向的控制器的地址;功能标志段用于表示控制帧或响应帧的对应的控制指令的类型;分控信息段取决于功能标志段对应的控制指令的类型,对于控制帧,分控信息段用于表示控制指令的内容,对于响应帧,分控信息段表示控制指令的执行结果;错误校验段用于检验对应的控制帧或响应帧的正确性。
本实施例中起始段为1个字节,控制器地址段为1个字节,功能标志段为为1个字节,错误校验段为2个字节,分控信息段的长度取决于控制指令的类型。本实施例中规定起始段为0xAA时有效。
对于控制帧,若对应的控制指令为读取指令或运行状态查询指令,则分控信息段用于表示待读取或待查询的寄存器的个数(即读取数量段,1个字节)和寄存器的首地址(即读取地址段,2个字节);若为写入指令,则分控信息段用于表示待写入的寄存器的个数(即写入数量段,1个字节)、寄存器的首地址(即写入地址段,2个字节)和待写入的内容(即写入数值段,长度取决于待写入的寄存器的个数)。
对于响应帧,若为读取指令或运行状态查询指令,则分控信息段用于表示读取的寄存器的数量(读取数量段,1个字节)和各个寄存器的对应的内容(即读取数值段,该段长度取决于读取寄存器个数的多少);若为写入指令,则分控信息段用于表示待写入的寄存器的个数(即写入数量段,1个字节),寄存器的首地址(即写入地址段,2个字节)和待写入的内容(即写入数值段,长度取决于写入寄存器个数的多少)。
读取指令分为单个寄存器的读取指令和多个寄存器的读取指令,当为单个寄存器的读取指令时,控制帧和响应帧中分控信息段中不表示待读取或待查询的寄存器的个数。同样写入指令也包括单个寄存器的写入指令和多个寄存器的写入指令,当为单个寄存器的写入指令时,控制帧和响应帧中分控信息段中不表示待写入的寄存器的个数。
基于该通讯方法的电力电子系统如图2所示,包括N个电力电子模块(本实施例中为有源电力滤波器模块(即APF模块,分别为APF1,APF2,……APFN,APF模块通过断路器连接到电网,用于补偿电网的非线性负载谐波,本实施例中N=4),用于控制各个电力电子模块的从控制器,分别为从控制器1,从控制器2,……从控制器N,以及一个主控制器,各个从控制器通过RS485总线与主控制器并联连接,呈节点式分布结构,用户通过输入单元向向主控制输入读写指令,实现对各个从控制器的控制。
主控制器用于根据用户输入的读写指令或者运行状态查询指令生成的控制指令,将控制指令封装成控制帧发送到RS485总线上,发送完成后还用于通过侦听RS485总线接收响应帧,并判断接收到的响应帧是否正确;
从控制器侦听RS485总线,侦听到控制帧到达后开始接收并处理控制帧形成响应帧,并将形成的响应帧发送到RS485总线上。
本实施例中从控制器的控制芯片采用TI公司的TMS320F2812,该芯片是一款用于控制的高性能、多功能、高性价比的32位定点DSP芯片,最高可在150MHz主频下工作,它的串行通信接口(SCI)用于实现本发明提出的总线通讯方法。为了提高控制性能,主控制器一般采用性能更强的处理芯片,以便于进行更复杂的运算,但是出于模块化生产和归一化管理的考虑,本实施例中,采用的主控制器和从控制器在结构上完全相同,均采用TI公司的TMS320F2812实现,只是主控制器运行的程序区别于从控制器。
本实施例中控制器(包括接收器和发送器)发送或者接收485通讯帧之前要先进行相应的初始化和通过GPIO口进行引脚的配置。控制器的接收器与自身帧同步,所以外部发送和接收器不需要使用串行同步时钟,时钟可以由内部产生。控制器的接收器接收完通讯帧之后进行解析处理均通过PIE中断的方式引入一个程序处理入口,同样发送器发送数据也是通过中断的方式进行的。
主控制器和从控制器之间通过SCI异步通信模式进行通信。图3为SCI异步通信的时序示意图,每个数据位占用8个SCICLK时钟周期,图中SCIRXD是指SCI异步串行端口接收的数据,LSB(least significant bit)为接收的数据的最低有效位。本实施例中控制器接收通讯帧的各个字段时是按数据位进行接收的,具体过程如下:
控制器检测到连续4个低电平后开始接收数据位,这个4个电平称为有效起始位。只有接收有效起始位后,控制器才开始接收数据位。当控制器接收到数据位后,控制器对接收到的数据位的进行3次采样,确定该数据位的值。本实施例中三次采样分别发生在第4、5、6个SCICLK周期,三次采样中两次以上相同的值即为该数据位的值。以接收起始段为例:
本实施例中起始段长度为1个字节,即包括8个数据位,因此需要分8次进行接收,每检测到一个有效起始位后就接收一个数据位。每次接收一个数据位完成后,针对每个数据位进行3次采样,确定该数据位的具体值。
本实施例的电力电子系统针对不同的控制指令的处理过程不同。
(一)当控制帧对应的控制指令为用户输入的写入指令时:
以用户输入针对3号APF模块的选择性谐波补偿次数设定指令为例,假定原先3号APF模块的补偿次数设定为50以内谐波全补,现通过用户指令输入界面输入写入指令将其改为只补偿5、7、11、13次谐波,本实施例的电力电子系统的处理流程如下:
(S1)主控制器接收用户输入指令,并将该指令封装成相应控制帧,并将自身的485通讯芯片引脚配置成发送模式,然后将控制帧内容逐字节依次发送,发送完成后,引脚重新配置成接收模式,主控制器开始侦听总线,准备接收来自3号APF模块对应的从控制器的响应帧。
该控制帧的具体格式和内容为:
a.起始段是一个特定内容的字节,装载内容为0xAA;
b.该用户输入指令是针对3号APF模块的操作,故控制器地址段装载内容为0x03;
c.该用户输入指令是针对谐波补偿次数的修改操作,控制指令是单个寄存器的写入指令,设定控制指令对应的功能码标志段,本实施例中为0x06;
d.该用户输入指令是修改补偿谐波次数,补偿谐波次数的设定是放在在程序内部一个名为Select的内存变量里的,所以要针对此变量进行操作,由于是单个寄存器的写入操作,分控信息段可以不表示寄存器的个数,即不存在写入数量段。同时需在分控信息段先给出该变量对应的内存地址,以供从控制器进行查找提取,假定该地址值为0xA001,则将该地址装载至分控信息的写入地址段。而谐波次数内容是通过解析Select的各个位(各个数据位)来确定的,该位为1,表示该位对应的谐波次数需补偿,为0则表示不补偿。如原来的设定是50次以内全补,对应的Select变量值为0xFFFF,即每一位都是1,现改为只补偿5、7、11、13次,故对应的Select值应变为0x000F,则将该值装载至分控信息段的写入数值段,故完整的分控信息段的内容为0xA0,0x01,0x00,0x0F。
e.为了保证控制帧内容的可靠性,降低误码率,所以在控制帧内容的尾部加上一个两字节的校验,该校验码是通过Modbus协议通用的CRC16校验算法得来的,根据此帧的内容,该错误校验程序的输入内容为0xAA,0x03,0x06,0xA0,0x01,0x00,0x0F,校验程序运算得到的校验码高字节为0x19,低字节为0x8D,并装载至错误校验段。
f.至此,该控制帧内容装载完毕,完成的帧字节依次为0xAA,0x03,0x06,0xA0,0x01,0x00,0x0F,0x19,0x8D。
(S2)3号APF模块对应的从控制器正常情况下实时侦听总线,从控制器每侦听到一个有效起始位时,通过8次单个数据位的接收得到一个起始段;与此同时,1、2、4号APF模块对应的从控制器也通过该方法检测到起始段,进行接收工作,具体如下:
(S2-1)3号APF模块对应的从控制器读取该控制帧的控制器地址段,解析得到目标从控地址为0x03,然后和自身的地址0x03比较,发现一致,故继续进行下一步操作;1、2、4号APF模块对应的从控制器同样读取控制器地址段信息,但是由于得到的目标从控地址与自身的地址(分别为0x01,0x02,0x04)不符,故不再接收后续的帧字节;
(S2-2)3号APF模块对应的从控制器继续接收剩余的字段,包括功能标志段、分控信息段和错误校验段。接收完成后,通过中断引入一个地址进入帧错误校验程序,输入对象为之前接收到的起始段、控制器地址段、功能标志段和分控信息段,程序输出为根据上述对象生成的一组高低位校验码,将该校验码与接收到的错误校验段高低位字节进行比较,若没有出现错误传输,则从控制器校验得到的校验码和接收得到的主控制器发送的校验码应该是一致的,进入步骤(S2-3);若两者不一致,则说明该从控制器判断接收到的控制帧错误,需要主控制器重新传送;
(S2-3)3号APF模块对应的从控制器执行该控制帧:
(S2-31)解析功能标志段,结果为0x06,即单个寄存器的写操作,故先提取写操作的对象内存地址,即先获取分控信息段的前两个字节,将分控信息段的首字节左移8位,加上该段的第二个字节,得到该写入帧的目标内存地址address_write=0xA001。然后将分控信息段的第三个字节左移8位,加上该段的第四个字节,获取该写入帧的待写入的变量值y=0x000F。
(S2-32)将步骤(S2-31)解析得到的待写入的变量值写入相应的变量地址(即目标内存地址),完成控制操作。下一个时钟周期3号APF模块对应的从控制器解析该模块补偿次数设定时,得到的补偿次数即为5、7、11、13次谐波了。同时3号从控制器(3号APF模块对应的从控制器)还需生成相应的响应帧,告知主控制器已完成控制操作,该帧的具体内容和格式为:
a.起始段装载内容为0xAA;
b.该响应帧是发往主控制器的,故控制器地址段装载内容为0x00;
c.该响应帧的功能标志段、分控信息段跟接收帧的功能标志段、分控信息段取一致,故响应帧功能标志段的装载内容为0x06,分控信息段的写入地址段装载内容为0xA0,0x01,写入数值段装载内容为0x00,0x0F,表示该响应帧是针对上次写控制功能的操作响应;
d.同理,在以上响应帧内容的尾部加上一个两字节的校验码,根据此帧的内容,该错误校验程序的输入内容为0xAA,0x00,0x06,0xA0,0x01,0x00,0x0F,运算得到的校验码高字节为0xD7,低字节为0x6D,并装载至错误校验段;
e.至此,响应帧内容装载完毕,帧字节依次为0xAA,0x03,0x06,0xA0,0x01,0x00,0x0F,0xD7,0x6D。
(S3)主控制器实时侦听RS485总线,检测到有效的起始段之后继续进行如下操作:
(S3-1)主控制器接收响应帧的地址段,解析得到0x00,是发往自身的响应帧,故接收剩下的所有字段,包括功能标志段、分控信息段和错误校验段。
(S3-2)接收完成后,通过中断引入一个地址进入帧错误校验程序,生成一组高低位校验码,将该校验码与接收到的响应帧的错误校验段高低位字节进行比较,若没有出现错误传输,则主控制器校验得到的校验码和接收得到的从控制器发送的校验码应该是一致的,进入下一步;若两者不一致,则说明主控制器接收到的某一个或者多个字节存在误码,主控制器直接判定未接收到正确的响应帧,重新发送之前的控制帧;
(S3-3)解析该响应帧的功能标志段和分控信息段,是否为之前发往目标从控制器的控制内容,若一致,则判断接收到的响应帧正确,说明控制操作成功,且主控制器得到相应响应,可以重新开放用户指令输入和状态查询指令;若不一致或者在设定的时间间隔内未收到来自目标从控制器的响应帧,则将之前发送过的通讯帧再次发送,直至收到正确的响应帧或者重发设定次数M次失败后报告通讯错误为止。
(二)当控制帧对应的控制指令为读取指令时:
以主控制器查询3号从控制器故障状态信息为例,本实施例的电力电子系统的处理流程如下:
(S1)主控制器每隔一定周期(本实施例中为2s)生成一个查询指令查询3号APF模块的故障状态,并将其封装成控制帧后,主控制器的485通讯芯片引脚配置成发送模式,然后将该控制帧逐字节依次发送,发送完成后,引脚重新配置成接收模式,主控制器开始侦听总线,准备接收来自3号从控制器(3号APF模块对应的从控制器)的响应帧。
该控制帧的具体格式和内容如下:
a.起始段装载内容为0xAA;
b.该查询指令是针对3号APF模块的操作,故控制器地址段装载内容为0x03;
c.该查询是针对故障状态变量的读取操作,控制指令类型是单个寄存器的读取指令,将该控制指令的类型装载至功能标志段中(本实施例为0x03);
d.分控信息段的主要内容是读取目标变量个数和读取变量首地址,由于是单个寄存器的读取操作,所以分控信息段不表示寄存器的个数,即分控信息段中不存在读取数量段。故障状态变量在程序中的定义是一个字节,假设故障状态变量的内存地址(寄存器的首地址)为0xB001,则将该内存地址装载至读取地址段,得到的分控信息段的状态内容为0xB0,0x01;
e.为了提高通讯的可靠性,在帧结尾加上一组校验码,根据此帧的内容,该错误校验程序的输入内容为0xAA,0x03,0x03,0xB0,0x01,校验程序运算得到的校验码高字节为0xA0,低字节为0x6A,并将运算结果装载至错误校验段中;
f.至此,该控制帧内容装载完毕,完成的帧字节依次为0xAA,0x03,0x03,0xB0,0x01,0xA0,0x6A。
(S2)3号APF模块的从控制器正常情况下实时侦听总线,从控制器每侦听到一个有效的起始位时接收一个数据位,通过8次单个数据位的接收得到一个起始段;与此同时,1、2、4号APF模块对应的从控制器也检测到该有效的起始段,进行接收工作。接收的过程如下:
(S2-1)3号APF模块的从控制器读取该控制帧的控制器地址段,解析得到目标从控制器的地址为0x03,然后和自身的地址0x03比较,发现一致,故继续进行下一步操作(S2-2);1、2、4号APF模块对应的从控制器同样读取控制器地址段信息,但是由于得到的目标从控地址与自身的地址(分别为0x01,0x02,0x04)不符,故不再接收后续的帧字节;
(S2-2)3号APF模块的从控制器继续接收剩余的字段,包括功能标志段、分控信息段和错误校验段。接收完成后,通过中断引入一个地址进入帧错误校验程序,输入对象为接收到的起始段、控制器地址段、功能标志段和分控信息段,程序输出为根据上述字段生成的一组高低位校验码,将该校验码与接收到的错误校验段高低位字节进行比较,若没有出现错误传输,则从控制器校验得到的校验码和接收得到的控制帧的错误校验码是一致的,判断接收到的控制帧正确,进入下一步;若两者不一致,则说明从控制器接收到的某一个或者多个字节存在误码,判断接收到的控制帧不正确,需要主控制器重新传送;
(S2-3)3号APF模块的从控制器解析功能标志段,结果为0x03,即单个寄存器的读取指令,故先设置一个字节的存储空间用于存储待读取的变量。然后将分控信息段的第一个字节左移8位,加上该段的第二个字节,获取该待读取的变量首地址address_read=0xB001。
(S2-4)将步骤(S2-3)解析得到的变量首地址开始的1个字节的内容读取出来,并存入相应的存储空间中,记为Fault_status=0x0000,全零表示该模块没有故障。然后3号APF模块对应的从控制器需生成相应的响应帧,反馈给主控制器该变量的值以供查询,该帧的具体内容和格式为:
a.起始段装载内容为0xAA;
b.该响应帧是发往主控制器的,故控制器地址段装载内容为0x00;
c.该响应帧的功能标志段跟控制帧的功能标志段取一致,故响应帧功能标志的装载内容为0x03;
d.该响应帧的分控信息段应反馈回读取的单个寄存器的变量值,故将读取的变量值装载至读取数值段中,即分控信息段装载内容为0x00,0x00;
e.在以上响应帧内容的尾部加上一个两字节的校验码,根据此帧的内容,该错误校验程序的输入内容为0xAA,0x00,0x03,0x00,0x00,运算得到的校验码高字节为0x35,低字节为0x9A;
f.至此,响应帧内容装载完毕,帧字节依次为0xAA,0x00,0x03,0x00,0x00,0x35,0x9A。
(S3)主控制器此时在实时侦听RS485总线,检测到有效的起始段之后接收器开始工作,具体如下;
(S3-1)主控制器接收响应帧的地址段,解析得到0x00,是发往自身的响应帧,故接收剩下的所有字段,包括功能标志段、分控信息段和错误校验段。同理接收完成后,通过中断引入一个地址进入帧错误校验程序,生成一组高低位校验码,将该校验码与接收到的响应帧的错误校验段高低位字节进行比较,若没有出现错误传输,则主控制器校验得到的校验码和接收得到的从控制器发送的校验码应该是一致的,判断接收到的响应帧不正确,进入步骤(S3-2);若两者不一致,则说明主控制器接收到的某一个或者多个字节存在误码,主控制器直接判定未接收到正确的响应帧,重新发送之前的控制帧。
(S3-2)解析该响应帧的功能标志段,是否与之前发往目标从控制器的控制指令一致,若一致,则将分控信息段的内容读取出来存入相应的变量,然后解析该故障状态变量的各个位以判断3号从模块是否有故障。至此,主控制器得到读取帧的相应响应,可以重新开放下一轮读取操作;若不一致或者未在规定时间内收到来自目标从控制器的响应帧,则将之前发送过的通讯帧再次发送,直至收到正确的响应帧或者重发设定次数M次失败后报告通讯错误为止。
根据上述两种情况下主从控制器的处理逻辑和步骤,可以举一反三类推其他所有情况下的处理模式。例如所有的主控查询从控状态的控制指令(包括查询从控的电压、电流状态信息、运行指标参数等)均可按照第二种情况下的处理模式进行,所有修改从控参数的操作均可按照第一种情况下的处理模式进行,如修改从控制器的控制环PI参数、从控制器的从控程序内部过欠压保护阈值等。
本实施例中未作特殊说明,均采用Modbus协议通用的CRC16校验方法生成错误校验码,具体方法如下:
(a)设置一个16位寄存器,预装全1;
(b)装载欲校验的一个8位字节,与寄存器中的值进行异或运算,然后结果向最低有效位(LSB)方向移动1位,最高有效位(MSB)位置充零;
(c)提取并检查LSB:如果LSB为1,则寄存器中的值与一个固定的预置值进行异或运算;如果LSB为0,则不进行异或操作,直接进入下一步;
(d)重复步骤(b)、(c),直至该字节完成8次移位操作,进入下一步;
(e)装载下一个8位字节,与寄存器的当前值进行异或运算,重复步骤(b)、(c)、(d),直至通讯帧中所有欲校验的字节全部参与运算后结束,进入下一步;
(f)将寄存器中的最终值和0x00FF进行与运算,得到校验码的低字节;将寄存器中的最终值和0xFF00进行与运算,然后右移8位,高位填零,得到校验码的高字节,进而得到校验码。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (9)

1.一种基于Modbus协议的RS485总线通讯方法,实施于包括一个主控制器和若干个从控制器的RS485总线多机通信系统,其特征在于,所述的RS485总线通讯方法包括:
(1)主控制器根据用户输入的读写指令或者状态查询指令生成相应的控制指令,并将所述的控制指令封装成控制帧后发送到RS485总线上;
(2)从控制器侦听RS485总线,当侦听到控制帧到达后开始接收并处理侦听到的控制帧形成相应的响应帧,并将形成的响应帧发送到RS485总线上;
(3)主控制器通过侦听RS485总线接收响应帧,并判断接收到的响应帧是否正确:
若主控制器在设定的时间间隔内未接收到响应帧或接收到的响应帧不正确,则重新发送该控制帧,直至接收到正确的响应帧或连续发送M次都未接收到正确的响应帧后停止发送该控制帧,并结束侦听RS485总线,重新使能用户输入的读写指令和运行状态查询指令;
所述的控制帧和响应帧均包括5个字段,分别为起始段、控制器地址段、功能标志段、分控信息段和错误校验段;
所述的起始段为1~16位,控制器地址段根据需要支持的系统模块数决定,为1~8位,功能标志段包括2~8位,错误校验段为2个字节,分控信息段的长度取决于控制指令的类型;
通讯帧包括控制帧和响应帧;
通讯帧的长度是由位构成的,依据功能码的不同;
通讯帧的帧结构的定义按照字节进行,通讯帧各个字段大小的定义都是以字节为单位的;
主控制器发送控制帧前,还对控制帧进行了备份,先将控制帧存储到一个数据缓冲区中,再次发送时,直接从该数据缓冲区中调取相应的控制帧;所述步骤(1)中主控制器通过sci通讯中断将控制帧发送到RS485总线上;
通常需要对该数据缓冲区进行扩展,将中断发送该控制帧时产生的中断数据也放在发送数据缓冲区。
2.如权利要求1所述的基于Modbus协议的RS485总线通讯方法,其特征在于,所述的起始段用于表示控制帧或响应帧的开始;
所述的控制器地址段用于表示控制帧或响应帧所指向的控制器的地址;
所述的功能标志段用于表示控制帧或响应帧的对应的控制指令的类型;
所述的分控信息段用于表示控制指令的内容或执行结果;
所述的错误校验段用于检验对应的控制帧或响应帧的正确性。
3.如权利要求2所述的基于Modbus协议的RS485总线通讯方法,其特征在于,所述步骤(1)中通过解析控制指令将控制指令封装成控制帧。
4.如权利要求2所述的基于Modbus协议的RS485总线通讯方法,其特征在于,所述步骤(2)中的从控制器通过以下步骤接收并处理控制帧形成响应帧:
(2-1)接收控制帧的起始段,并判断控制帧的起始段是否有效:若有效,则继续接收控制器地址段;否则,返回继续侦听RS485总线;
(2-2)判断控制帧的控制器地址段与自身的地址是否一致,若不一致,则停止接收;若一致,则继续进行如下操作:
(2-21)接收功能标志段、分控信息段和错误校验段,接收完成后根据接收到的起始段、控制器地址段、功能标志段和分控信息段采用Modbus协议通用的CRC16校验方法生成校验码;
(2-22)比较生成的校验码与接收到的错误校验段,若二者一致,则执行该控制帧,并根据执行结果生成相应的响应帧;否则,不操作。
5.如权利要求4所述的基于Modbus协议的RS485总线通讯方法,其特征在于,所述步骤(2-22)中通过以下方法生成响应帧:
根据接收到的功能标志段确定该控制帧对应的控制指令的类型:
若为写入指令,则将控制帧的起始段、功能标志段和分控信息段分别作为响应帧的起始段、功能标志段和分控信息段,响应帧的控制器地址段装载主控制器的地址,根据响应帧的起始段、控制器地址段、功能标志段和分控信息段生成错误校验段,得到响应帧;
若为读取指令或状态查询指令,则将控制帧的起始段、功能标志段作为响应帧的起始段、功能标志段,将读取结果作为响应帧的分控信息段,响应帧的控制器地址段装载主控制器的地址,并根据响应帧的起始段、控制器地址段、功能标志段和分控信息段生成错误校验段,得到响应帧。
6.如权利要求5所述的基于Modbus协议的RS485总线通讯方法,其特征在于,所述步骤(3)包括如下步骤:
(3-1)主控制器侦听到响应帧到达后,接收响应帧的起始段,并判断响应帧的起始段是否有效:若有效,则继续接收控制器地址段;否则,返回继续侦听RS485总线;
(3-2)判断响应帧的控制器地址段与自身的地址是否一致,若不一致,则停止接收;若一致,则继续进行如下操作:
(3-21)接收功能标志段、分控信息段和错误校验段,接收完成后根据接收到的起始段、控制器地址段、功能标志段和分控信息段采用Modbus协议通用的CRC16校验方法生成校验码;
(3-22)比较生成的校验码与接收到的错误校验段,若二者一致,则判断接收到的响应帧正确;否则,判断接收到的响应帧不正确。
7.一种基于权利要求1所述的通讯方法的电力电子系统,其特征在于,包括若干个电力电子模块,用于控制各个电力电子模块的从控制器,以及一个主控制器,各个从控制器通过RS485总线与主控制器并联连接,呈节点式分布结构;
所述的主控制器用于根据用户输入的读写指令或者运行状态查询指令生成相应的控制指令,并将所述的控制指令封装成控制帧发送到RS485总线,还用于发送完控制帧后通过侦听RS485总线接收响应帧,并判断接收到的响应帧是否正确;
所述的从控制器用于侦听RS485总线,当侦听到控制帧到达后开始接收并处理控制帧形成响应帧,并将形成的响应帧发送到RS485总线上;
所述控制帧和响应帧包括5个字段,分别为起始段、控制器地址段、功能标志段、分控信息段和错误校验段。
8.如权利要求7所述的电力电子系统,其特征在于,所述的主控制器还用于进行如下操作:
若在设定的时间间隔内未接收到响应帧或接收到的响应帧不正确,则重新发送所述的控制帧,直至接收到正确的响应帧或连续发送M次都未接收到正确的响应帧后停止发送所述的控制帧,并结束侦听RS485总线,重新使能用户输入的读写指令和运行状态查询指令。
9.如权利要求7所述的电力电子系统,其特征在于,控制器按字段接收和处理侦听到的通讯帧,所述的控制器为主控制器或从控制器,若为主控制器,则对应的通讯帧为控制帧,若为从控制器,则对应的通讯帧为响应帧,具体如下:
(2-1)控制器接收到达的通讯帧的起始段,并判断通讯帧的起始段是否有效:若有效,则继续接收通讯帧的控制器地址段;否则,返回继续侦听RS485总线;
(2-2)判断通讯帧的控制器地址段与自身的地址是否一致,若不一致,则停止接收;若一致,则继续进行如下操作:
(2-21)接收通讯帧的功能标志段、分控信息段和错误校验段,接收完成后根据接收到的起始段、控制器地址段、功能标志段和分控信息段生成校验码;
(2-22)比较生成的校验码与接收到的错误校验段:
若二者不一致,则判断接收到的通讯帧不正确;
若二者一致,则判断接收到的通讯帧正确,且对于从控制器,当判断接收到的控制帧正确时,继续执行该控制帧,并根据执行结果生成相应的响应帧发送到RS485总线上。
CN201410301602.0A 2014-06-27 2014-06-27 基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统 Active CN104065545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410301602.0A CN104065545B (zh) 2014-06-27 2014-06-27 基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410301602.0A CN104065545B (zh) 2014-06-27 2014-06-27 基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统

Publications (2)

Publication Number Publication Date
CN104065545A CN104065545A (zh) 2014-09-24
CN104065545B true CN104065545B (zh) 2017-12-22

Family

ID=51553086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410301602.0A Active CN104065545B (zh) 2014-06-27 2014-06-27 基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统

Country Status (1)

Country Link
CN (1) CN104065545B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486181A (zh) * 2014-11-13 2015-04-01 华晨汽车集团控股有限公司 一种基于Modbus协议的从设备
CN104601420A (zh) * 2014-12-31 2015-05-06 江西清华泰豪三波电机有限公司 一种利用Modbus灵活读取电站数据的方法
CN104580466B (zh) * 2015-01-09 2017-11-28 天津大学 一种基于大规模结点群的通信组织方法及其中继器
CN106032619B (zh) * 2015-03-20 2018-05-01 无锡飞翎电子有限公司 洗衣机通信方法
CN105389534A (zh) * 2015-10-28 2016-03-09 惠州Tcl移动通信有限公司 一种移动终端基于二维码的信息传输方法及系统
CN105599255A (zh) * 2016-01-14 2016-05-25 宁波长飞亚塑料机械制造有限公司 一种注塑机控制器与辅机通讯方法
CN106209678A (zh) * 2016-06-30 2016-12-07 华南理工大学 用于dsp/bios的modbus消息帧接收方法
CN108022398B (zh) * 2016-11-04 2020-03-10 西安盛赛尔电子有限公司 一种火灾报警系统用通信方法
CN107525955A (zh) * 2017-07-07 2017-12-29 珠海格力电器股份有限公司 一种电表数据处理方法及装置
CN107733999A (zh) * 2017-09-22 2018-02-23 广东雅达电子股份有限公司 一种防火门监控模块的分时响应通讯方式
CN109100978B (zh) * 2018-09-20 2021-07-30 中航锂电技术研究院有限公司 一种电池管理系统地址设置及校验方法
CN109683567B (zh) * 2018-12-20 2020-10-02 上海欧秒电力监测设备有限公司 基于rs485网络中系统时钟同步方法
CN110011778B (zh) * 2018-12-20 2020-07-07 上海欧秒电力监测设备有限公司 基于rs485网络中系统同步采样方法
CN111835214B (zh) * 2019-04-23 2021-08-06 通嘉科技股份有限公司 用于电源转换器的主控制器和从控制器间的收发指令方法
CN110300042B (zh) * 2019-07-24 2021-07-16 珠海太川云社区技术股份有限公司 一种总线通信系统及通信控制方法
CN111245694B (zh) * 2019-09-17 2021-11-23 浙江中自机电控制技术有限公司 一种基于Modbus扩展通讯的故障处理方法
CN111431781A (zh) * 2020-03-16 2020-07-17 深圳益邦物联科技有限公司 基于总线传输的被动监测系统、方法及电子设备
CN111817751A (zh) * 2020-07-31 2020-10-23 优动能科技(深圳)有限公司 一种通信并联测试技术
CN113407467B (zh) * 2021-07-19 2023-05-30 北京中科芯蕊科技有限公司 一种基于Mousetrap的同步异步转换接口及装置
CN113985726B (zh) * 2021-12-23 2022-05-31 昆山帝森华途工业物联网科技有限公司 一种apf控制系统的主从控制器通信方法
CN117239937B (zh) * 2023-11-10 2024-01-30 深圳海辰储能科技有限公司 一种电池管理系统的数据交互方法、装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976074A (zh) * 2010-11-03 2011-02-16 浙江工业大学 基于现场总线和控制网络的工业控制系统
CN102354175A (zh) * 2011-08-01 2012-02-15 李遇浦 Modbus现场总线DI-16路监测仪远程I/O控制系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1295633C (zh) * 2002-12-26 2007-01-17 华为技术有限公司 一种多cpu通信的方法
US7609719B2 (en) * 2004-10-12 2009-10-27 Electro Industries/Gauge Tech System and method for simultaneous communication on modbus and DNP 3.0 over Ethernet for electronic power meter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976074A (zh) * 2010-11-03 2011-02-16 浙江工业大学 基于现场总线和控制网络的工业控制系统
CN102354175A (zh) * 2011-08-01 2012-02-15 李遇浦 Modbus现场总线DI-16路监测仪远程I/O控制系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于MODBUD协议的RS-485工业现场总路线系统;陈池;《装备制造技术》;20090515;正文第1-3页 *
数控系统中RS485串行通信协议的设计;蒋明柯;《组合机床与自动化加工技术》;20130523;正文第2-4页 *

Also Published As

Publication number Publication date
CN104065545A (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
CN104065545B (zh) 基于Modbus协议的RS485总线通讯方法及基于该通讯方法的电力电子系统
CN103984275B (zh) 一种基于fpga的通用工业运动控制系统及基于该运动控制系统的控制方法
CN101839790A (zh) 智能在线标定系统
CN109948213A (zh) 一种基于fmi标准的协同仿真方法及装置
CN106444657A (zh) 一种Modbus主站指令处理方法及主站控制器
CN107492218A (zh) 测试pos机的方法、装置及计算机可读存储介质、终端设备
CN1929223A (zh) 一种综合自动化变电站调试装置
CN108958225A (zh) 核电厂安全级dcs平台集成测试装置
CN104135476B (zh) 一种通信协议转换方法、装置及系统
CN102377506A (zh) 测试报文处理系统
US8375237B2 (en) Systems and methods for synchronization of an external control system with fieldbus devices
CN106708764A (zh) 一种机载航电系统通用io处理系统
CN105511394B (zh) 一种在fpga平台实现plc控制的方法
US20110264832A1 (en) Systems, methods, and apparatus for facilitating communications between an external controller and fieldbus devices
CN116708592A (zh) 一种可配置的通信协议交互方法及系统
US20220214672A1 (en) Systems and methods for automatic configuration of intelligent electronic devices
CN101551928A (zh) 一种金融税控收款机嵌入程序的断点调试方法
Gerber Implementation and Verification of Distributed Control Systems
CN109918353A (zh) 自动化信息处理的方法及终端设备
CN202711232U (zh) 一种基于触控操作的人机交互系统
CN110275812A (zh) 故障信息处理的方法及终端设备
CN204408370U (zh) 一种can总线网络监测诊断系统
CN101114888B (zh) 循环错误检查码的产生方法
CN202372977U (zh) 基于fpga实现的usb主设备端接口结构
CN101452262B (zh) 一种基于计数器的输出扩展方法、装置及其应用系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230308

Address after: No. 18, Qinxi Road, Jingxian Economic Development Zone, Jingchuan Town, Jingxian County, Xuancheng City, Anhui Province, 242599

Patentee after: Anhui haipuke Electric Co.,Ltd.

Address before: 310027 No. 38, Zhejiang Road, Hangzhou, Zhejiang, Xihu District

Patentee before: ZHEJIANG University

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: RS485 bus communication method based on Modbus protocol and power electronic system based on this communication method

Effective date of registration: 20230707

Granted publication date: 20171222

Pledgee: Anhui Jingxian Rural Commercial Bank Co.,Ltd.

Pledgor: Anhui haipuke Electric Co.,Ltd.

Registration number: Y2023980047725