基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法技术

技术编号:14894039 阅读:79 留言:0更新日期:2017-03-29 04:37
本发明专利技术公开了一种基于简化的MODBUS协议永磁同步电机实时监控的通讯方法,其特征是包括:1对标准MODBUS协议中的帧结构、帧捕捉逻辑、执行逻辑进行简化;2主机下行帧的接收;3从机上行帧的发送。本发明专利技术能满足数据传输实时性的要求,从而提高通讯速率,保证数据的时效性。

【技术实现步骤摘要】

本专利技术涉及一种永磁同步电机实时监控的通讯方法,具体说是一种基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法。技术背景永磁同步电机是一种结构简单,高效节能的驱动电机,广泛应用在电动汽车驱动、工业运输、物流等各方面。其中正弦波驱动的永磁同步电机具有转矩波动小,响应快速等优点。对永磁同步电机进行实时监控,能够方便各种电机控制策略的实验和应用,比如电机矢量控制中需要检测电机转速和电机相电流进行磁场坐标变换计算和闭环控制,同时要求数据波形的实时显示以验证控制算法,这就需要一种高效高速的通讯方法来实现监控。普通的上位机轮询方式检测、串口打印数据的方式存在监控速率太低、数据易丢失的特点;MODBUS协议是一种常用的工业通讯协议,它最多支持多个从机与主机间的通讯,标准MODBUS协议的帧格式中规定了有相应的功能以方便各种工业场合的通讯需要,但是它规定的必要的容错、重发方案和复杂的帧结构在高速数据传输应用中显得过于冗长,从而无法满足高速实时通讯的需要。
技术实现思路
为克服上述现有技术的不足之处,本专利技术提出一种基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法,以期能满足数据传输实时性的要求,从而提高通讯速率,保证数据的时效性。为达到上述专利技术目的,本专利技术采用如下技术方案:本专利技术一种基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法的特点是按如下步骤进行:步骤1、对标准MODBUS协议中的帧结构、帧捕捉逻辑、执行逻辑进行简化,得到简化的MODBUS协议;步骤1.1、简化帧结构,包括简化主机下行帧和简化从机上行帧:所述简化主机下行帧包括:a、将所述标准MODBUS协议中主机下行帧的寄存器地址位,用寄存器分类码位代替;所述寄存器分类码位中所存储的不同分类码表示用于发送所述永磁同步电机的各类数据及其相应数据个数的指令;b、删除所述标准MODBUS协议中的寄存器个数位;c、将所述标准MODBUS协议中的CRC校验位,用有效字节数位代替,所述有效字节数位代表一帧中除自身数据位外所有数据位的总字节数;所述简化从机上行帧:a、删除所述标准MODBUS协议中的要发送的字节个数位;b、将所述标准MODBUS协议中CRC校验位,用有效字节数位替代;步骤1.2、简化帧捕捉逻辑:将简化后的主机下行帧中的从机地址位、功能码位以及简化后的从机上行帧中的从机地址位、功能码位作为帧头;将简化后的主机下行帧中的有效字节数位以及简化后的从机上行帧中的有效字节数位作为帧尾;以所述帧头和帧尾来捕捉一帧数据;步骤1.3、简化执行逻辑:不对错误帧进行任何响应处理,直接忽略错误帧并继续接收或发送其他帧数据;步骤2、主机下行帧的接收步骤2.1、在所述永磁同步电机的运行过程中,主机发送请求数据指令的下行帧给从机;步骤2.2、从机接收所述下行帧并存入缓存数组中,再判断所述下行帧中的从机地址位、功能码位是否正确,若正确,则执行步骤2.3;否则,清空接收所述下行帧的缓存数组,并等待下一个下行帧;步骤2.3、根据所述简化的MODBUS协议对所述下行帧中的寄存器分类码进行记录;步骤2.4、判断所述下行帧中的有效字节数的长度是否正确,若正确,则执行步骤2.5;否则,清空所记录的寄存器分类码以及所述下行帧的缓存数组,并等待下一个下行帧;步骤2.5、将下行帧捕获成功标志flag置1,并使能串口的DMA发送功能;步骤3、从机上行帧的发送步骤3.1、在所述永磁同步电机的相电流采样循环中判断所述下行帧捕获成功标志flag是否为1;若为1,则执行步骤3.2;否则,继续采样循环;步骤3.2、根据所记录的寄存器分类码,执行相应的DMA数据发送函数,用于发送所述永磁同步电机的各类数据;步骤3.3、在发送完成后,继续采样循环;从而完成对所述永磁同步电机的实时监控中的数据通讯过程。本专利技术所述的通讯方法的特点也在于,不同的DMA数据发送函数分别与寄存器分类码一一对应;所述DMA数据发送函数根据所需发送的监控数据,配置对应的DMA传输的内存地址和数据量,并根据所述简化的MODBUS协议形成所述从机上行帧后,开启DMA发送功能。与已有技术相比,本专利技术的有益效果是:1、本专利技术通过简化的MODBUS协议缩短了通讯帧的长度,提高了通讯速率,仅保留所需用到的功能并适当的更改数据位含义以更好的应用在电机实时监控;取消了错误帧应答机制以提高数据实时性;将间隔一定时间的帧捕捉逻辑改为帧头帧尾的捕捉逻辑,节省了系统资源,简化了程序逻辑。2、本专利技术通过串口的DMA发送数据节约了控制系统资源,避免了传统串口通讯中利用串口中断和串口打印函数printf所引起的数据传输速率不高,中断占用CPU时间过长的缺点,在不影响电机高速控制的同时实现了高速数据发送。3、本专利技术在电流采样循环中发送数据,使得数据发送与电流ADC采样保持相同的频率,从而保证了每一次发送的数据都是当前控制量最新的数据。4、本专利技术设计的通讯方法可在其他高速通讯场景中进行应用,普适性、可移植性强。附图说明图1为本专利技术下位机数据接收流程图;图2为本专利技术下位机数据发送流程图。具体实施方式本实施例中,一种基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法,是按如下步骤进行:步骤1、为了满足实时监控对通讯速度的要求,并使下位机数据,也就是从机数据能够高速连续发送,要求对标准MODBUS协议中的帧结构、帧捕捉逻辑、执行逻辑进行简化,得到简化的MODBUS协议;标准MODBUS协议帧结构如表一、表二所示,标准MODBUS协议依据为GB/T19582.1-2008;表一、标准modbus协议下行帧结构表二、标准modbus协议上行帧结构步骤1.1、简化帧结构,包括简化主机下行帧和简化从机上行帧:简化主机下行帧包括:a、如表一、表三对比所示:将标准MODBUS协议中主机下行帧的寄存器地址位,用寄存器分类码位代替;寄存器分类码位中所存储的不同分类码表示用于发送永磁同步电机的各类数据及其相应数据个数的指令;b、如表一、表三对比所示:删除标准MODBUS协议中的寄存器个数位;c、如表一、表三对比所示:将标准MODBUS协议中的CRC校验位,用有效字节数位代替,有效字节数位代表一帧中除自身数据位外所有数据位的总字节数;简化主机下行帧帧结构如表三所示:表三、简化后的上位机下行帧结构从机地址功能码寄存器分类码有效字节数1-1280x030-43简化从机上行帧:a、如表二、表四对比所示:删除标准MODBUS协议中的要发送的字节个数位;b、如表二、表四对比所示:将标准MODBUS协议中CRC校验位,用有效字节数位替代;简化从机上行帧帧结构如表四所示:表四、简化后的下位机上行帧结构步骤1.2、简化帧捕捉逻辑:标准MODBUS协议是一种无起停位的传输模式,通过在帧之间插入3.5个字符时间间隔的方式实现对一帧的判断。然而这样会占用电机主控芯片的一个定时器资源去进行时间间隔的检测,同时要对检测到的时间片进行逻辑判断。本方法将简化后的主机下行帧中的从机地址位、功能码位以及简化后的从机上行帧中的从机地址位、功能码位作为帧头;将简化后的主机下行帧中的有效字节数位以及简化后的从机上行帧中的有效字节数位作为帧尾;以帧头和帧尾来捕捉一帧数据;步骤1.3、简化执行逻辑:标准本文档来自技高网...
基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法

【技术保护点】
一种基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法,其特征是按如下步骤进行:步骤1、对标准MODBUS协议中的帧结构、帧捕捉逻辑、执行逻辑进行简化,得到简化的MODBUS协议;步骤1.1、简化帧结构,包括简化主机下行帧和简化从机上行帧:所述简化主机下行帧包括:a、将所述标准MODBUS协议中主机下行帧的寄存器地址位,用寄存器分类码位代替;所述寄存器分类码位中所存储的不同分类码表示用于发送所述永磁同步电机的各类数据及其相应数据个数的指令;b、删除所述标准MODBUS协议中的寄存器个数位;c、将所述标准MODBUS协议中的CRC校验位,用有效字节数位代替,所述有效字节数位代表一帧中除自身数据位外所有数据位的总字节数;所述简化从机上行帧:a、删除所述标准MODBUS协议中的要发送的字节个数位;b、将所述标准MODBUS协议中CRC校验位,用有效字节数位替代;步骤1.2、简化帧捕捉逻辑:将简化后的主机下行帧中的从机地址位、功能码位以及简化后的从机上行帧中的从机地址位、功能码位作为帧头;将简化后的主机下行帧中的有效字节数位以及简化后的从机上行帧中的有效字节数位作为帧尾;以所述帧头和帧尾来捕捉一帧数据;步骤1.3、简化执行逻辑:不对错误帧进行任何响应处理,直接忽略错误帧并继续接收或发送其他帧数据;步骤2、主机下行帧的接收步骤2.1、在所述永磁同步电机的运行过程中,主机发送请求数据指令的下行帧给从机;步骤2.2、从机接收所述下行帧并存入缓存数组中,再判断所述下行帧中的从机地址位、功能码位是否正确,若正确,则执行步骤2.3;否则,清空接收所述下行帧的缓存数组,并等待下一个下行帧;步骤2.3、根据所述简化的MODBUS协议对所述下行帧中的寄存器分类码进行记录;步骤2.4、判断所述下行帧中的有效字节数的长度是否正确,若正确,则执行步骤2.5;否则,清空所记录的寄存器分类码以及所述下行帧的缓存数组,并等待下一个下行帧;步骤2.5、将下行帧捕获成功标志flag置1,并使能串口的DMA发送功能;步骤3、从机上行帧的发送步骤3.1、在所述永磁同步电机的相电流采样循环中判断所述下行帧捕获成功标志flag是否为1;若为1,则执行步骤3.2;否则,继续采样循环;步骤3.2、根据所记录的寄存器分类码,执行相应的DMA数据发送函数,用于发送所述永磁同步电机的各类数据;步骤3.3、在发送完成后,继续采样循环;从而完成对所述永磁同步电机的实时监控中的数据通讯过程。...

【技术特征摘要】
1.一种基于简化的MODBUS协议的永磁同步电机实时监控的通讯方法,其特征是按如下步骤进行:步骤1、对标准MODBUS协议中的帧结构、帧捕捉逻辑、执行逻辑进行简化,得到简化的MODBUS协议;步骤1.1、简化帧结构,包括简化主机下行帧和简化从机上行帧:所述简化主机下行帧包括:a、将所述标准MODBUS协议中主机下行帧的寄存器地址位,用寄存器分类码位代替;所述寄存器分类码位中所存储的不同分类码表示用于发送所述永磁同步电机的各类数据及其相应数据个数的指令;b、删除所述标准MODBUS协议中的寄存器个数位;c、将所述标准MODBUS协议中的CRC校验位,用有效字节数位代替,所述有效字节数位代表一帧中除自身数据位外所有数据位的总字节数;所述简化从机上行帧:a、删除所述标准MODBUS协议中的要发送的字节个数位;b、将所述标准MODBUS协议中CRC校验位,用有效字节数位替代;步骤1.2、简化帧捕捉逻辑:将简化后的主机下行帧中的从机地址位、功能码位以及简化后的从机上行帧中的从机地址位、功能码位作为帧头;将简化后的主机下行帧中的有效字节数位以及简化后的从机上行帧中的有效字节数位作为帧尾;以所述帧头和帧尾来捕捉一帧数据;步骤1.3、简化执行逻辑:不对错误帧进行任何响应处理,直接忽略错误帧并继续接收或发送其他帧数据;步骤2、主机下行帧的接收步骤2.1、在所述永磁...

【专利技术属性】
技术研发人员:蒋晓炜黄康甄圣超孙国强戴智亚
申请(专利权)人:合肥工业大学智能制造技术研究院安徽合动智能科技有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1