基于rs485串行通讯网络的多台异种变频器控制方法

文档序号:7890327阅读:357来源:国知局
专利名称:基于rs485串行通讯网络的多台异种变频器控制方法
技术领域
本发明属于变频器控制领域,特别涉及通过串行通讯网络同时控制多台不同种类变频器的方法。
背景技术
不同厂家生产的变频器一般都具有“就地面板”、“I/O端子”和“串行通讯”等三种控制方式。“就地面板”控制方式只适用于变频器就地操作应用,“I/O端子”和“串行通讯” 控制方式可适用于变频器远程控制应用。“串行通讯”控制方式只使用一根屏蔽双绞电缆即可实现对变频器的远程启动、停止和加减转速等操作,与“I/O端子”控制方式相比,其一方面可节省控制器侧昂贵的I/O通道硬件费用;另一方面,因使用全数字量信号,可大大提高控制精度。在日常应用中,一般由控制器(计算机或PLC等可编程装置)与单台或多台同种变频器组成“一对一”或“一对多”的串行通讯控制网络,其中,控制器作为主站,变频器作为从站。根据变频器通讯协议规定,主从站之间通过数据帧交互来完成变频器启停或加减转速等操作,或采集变频器运行状态或电流等数据,满足实际应用需要。由于各个厂家生产的变频器所支持的通讯协议不尽相同,因此,当现场配置的变频器为多个生产厂家的产品时,通过上述常规串行通讯方式来完成变频器的启停或加减转速等操作变得较为麻烦甚至无法实现。常规的变频器串行通讯控制方法存在以下缺陷第一、控制器需为每种变频器配备一个独立通讯接口并与该种变频器(一台或多台)组成控制网络,一方面,随着通讯接口数量的增加,新增的硬件成本费用相当可观;另一方面,某些控制器通讯接口数量有限,无法进行扩充。第二、控制器内需为每种变频器独立定制各自的串行通讯驱动程序,当变频器种类较多时,驱动程序将耗费较多的内存空间,增加控制器CPU的运算时间。第三、控制器与变频器之间的通讯访问机制采用轮询或定时访问方式,当变频器种类和数量较多时,将出现变频器启停或加减转速操作命令响应不及时的现象,系统实时
性较差。第四控制器没有通讯事件记忆功能,一般不支持并发操作。

发明内容
本发明的目的是克服已有技术方案的不足之处,提出一种基于RS485串行通讯网络的多台异种变频器实时控制的实现方法。本发明的目的通过以下技术方案予以实现本发明提供的基于RS485串行通讯网络的多台异种变频器实时控制的方法,将变频器串行通讯协议抽象为串口通讯类,将串口通讯类的公有方法抽象为传送模式状态机和主站收发管理状态机等两个模型,将串口通讯对象的私有方法抽象为协议数据处理函数模型;采用以通讯任务准备表为核心的通讯调度管理,动态管理多台变频器的通讯任务,提高串行通讯控制网络的实时性和可靠性。其中,变频器通讯协议实现包括(1-1)传送模式状态机模型控制器(主站)上电后完成通讯端口初始化工作并开放串口数据接收中断,开始进行通讯帧同步过程,如果在3. 5毫秒的时间内未接收到任何字符,帧同步过程结束,传送模式状态机进入空闲状态;如果在3. 5毫秒内接收到任何变频器发送的任何字符,3. 5毫秒定时器将重新开始计时,直到3. 5毫秒定时器超时后,帧同步过程结束,传送模式状态机进入空闲状态。此时,如果主站收发管理状态机将“发送请求” 标志位置位后,传送模式状态机将开始缓冲区数据发送工作,发送工作结束后,传送模式状态机将重新进入空闲状态,等待从网络上接收数据,从接收到第一个字符起,每接收到一个字符,1. 5毫秒定时器将重新开始计时,如果在接收到的两个字符之间,出现1. 5毫秒定时器超时,传送模式状态机将置位“字符间隔超时”标志位,如果1. 5毫秒定时器超时后,又出现2毫秒定时器超时,传送模式状态机将认为接收过程结束,并置位“接收完成”标志位。(1-2)主站收发管理状态机模型控制器(主站)上电后完成主站收发管理状态机初始化工作并进入空闲状态,根据通讯调度管理程序运行结果(子站地址,协议类型,信息类型,信息数值)的要求置位“发送请求”标志位,当传送模式状态机置位“发送完成”标志位后,主站收发管理状态机进入等待响应状态,如果“接收完成”标志位置位,主站收发管理状态机进入数据处理状态,如果发生响应数据帧接收超时或接收到的数据帧存在错误, 主站收发管理状态机进入错误处理状态。当主站收发状态机处于空闲状态、响应帧处理状态和错误处理状态时,需要根据子站地址,协议类型,信息类型,信息数值调用协议数据处理函数模型子程序。(1-3)协议数据处理函数模型将每种变频器通讯协议的数据处理分为三个部分,第一部分用来形成主站命令帧,第二部分进行响应帧数据处理,第三部分进行各种错误处理。为了便于控制器(计算机或PLC等可编程装置)的实现,可将上述三部分功能用一个函数实现,在函数内部通过判断标志位(代表主站收发管理状态机的具体状态)转移到不同的程序段,程序段返回时统一返回到返回指令,结束函数调用过程。对于各种不同的变频器通讯协议,控制器通过连续执行传送模式状态机和主站收发管理状态机实现串行通讯数据链路层和应用层的各种管理机制,主站收发管理状态机根据通讯调度管理程序运行结果(子站地址,协议类型,信息类型,信息数值)得到此时需要调用的变频器协议数据处理函数模型。传送模式状态机和主站收发管理状态机之间通过各种标志位完成信息交互和事件同步。以通讯任务准备表为核心的通讯调度管理实现包括(2-1)根据“串行通讯”控制方式下,通讯帧对于实时性的不同要求,将变频器的控制信息分为五类,第一类是控制命令,如变频器启动、停止命令,其信号性质为开关量;第二类是控制指令,如变频器转速或频率设定值,其信号性质为模拟量;第三类是状态反馈, 如启动、停止或失电状态,其信号性质为开关量;第四类是运行参数,如电机电流、转速等, 其信号性质为模拟量;第五类是故障信息,如变频器过热等,其信号性质为开关量。“串行通讯”控制方式下,通讯帧对上述五类信息实时性的要求由高到低的顺序为第一类>第二类 >第五类>第三类>第四类。
(2- 构建通讯任务准备表。CommRdyByteO CommRdyByte7代表控制器内存单元的8个字节,每个字节由BitO Bit7等8个二进制位组成,如果某个二进制位为“ 1,,, 表示具有通讯任务,如果为“0”,表示无通讯任务,因此,8个字节共计64个二进制位表示 64个通讯任务,同时,规定CommRdyByteO字节的BitO位所代表的通讯任务优先级最高, CommRdyByte7字节的Bit7位所代表的通讯任务优先级最低,其他位所代表的通讯任务优先级依次由高到低排列。在实际分配中,将CommRdyByteO的BitO,1位保留用作功能扩展用,其他62位可用来表示62个变频器通讯任务,(2-1)中将变频器控制信息分为5类,因此,每台变频器的每类控制信息通讯任务用1个二进制位表示,因此,通讯任务准备表最多可以管理12台变频器(共计60个通讯任务)。 CommRdyByte8字节为CommRdyByteO CommRdyByte7的字节索弓丨,其含义为当 CommRdyByteO的BitO Bit7等8个数据位中的任何一位为“ 1”,CommRdyByte8字节的 BitO位为“1”,否则为“0”,以此类推,当CommRdyByte7的BitO Bit7等8个数据位中的任何一位为“ 1 ”,CommRdyByte8字节的Bit7为“ 1 ”,否则为“0”,CommRdyByte8字节主要用来搜索优先级最高的通讯任务。(2-3)变频器通讯任务优先级分配原则考虑到变频器五类控制信息对于通讯实时性的要求不同,在通讯任务优先级分配上,第一类控制命令通讯任务被分配的优先级为 2 13,占用 CommRdyByteO 字节的 Bit2 Bit7 和 CommRdyBytel 字节的 BitO Bit5 ; 第二类控制指令通讯任务被分配的优先级为14 25,占用CommRdyBytel字节的Bit6 Bit7、CommRdyByte2 字节的 BitO Bit7 和 CommRdyByte3 字节的 BitO Bitl ;第三类状态反馈通讯任务被分配的优先级为38 49,占用C0mmRdyByte4字节的Bit6 Bit7、 CommRdyByte5字节的BitO Bit7和CommRdyByte6字节的BitO Bitl ;第四类运行参数通讯任务被分配的优先级为50 61,占用C0mmRdyByte6字节的Bit2 Bit7和 CommRdyByte7字节的BitO Bit5 ;第五类故障信息通讯任务被分配的优先级为沈 37, 占用 CommRdyByte3 字节的 Bit2 Bit7、CommRdyByte4 字节的 BitO Bit5。(2-4)通讯任务准备表各二进制位置位原则当变频器控制命令、控制指令发生变化时,将对应通讯任务优先级的二进制位置“ 1” ;当通讯任务准备表没有就绪通讯任务时,将变频器状态反馈和运行参数通讯任务对应优先级的二进制位置“ 1” ;当变频器状态反馈显示变频器故障时,将变频器故障信息通讯任务对应优先级的二进制位置“ 1 ”,以便及时查询变频器故障的详细原因。(2-5)通讯任务准备表的操作共计三种操作,第一种操作为任务入栈,即将某个优先级对应的通讯任务准备表中的二进制位置位,置位原则见0-4);第二种操作为任务出栈,即查询通讯任务准备表,得到表中目前优先级最高的通讯任务;第三种操作为通讯任务优先级对应二进制位复位操作,即将某个优先级对应的通讯任务准备表中的二进制位复位。本发明具有以下有益效果(1)简化了控制器内变频器通讯协议的实现方法,降低了控制器内存使用量,减少了控制器CPU运算量。(2)基于简单的通讯任务准备表数据结构的通讯任务调度管理,在控制器(计算机或PLC等可编程装置)内较易实现,可提高串行通讯网络的实时性。CN 102541038 A
(3)对于多台异种变频器组为串行通讯控制网络的工程应用,可明显减少控制器侧I/O通道硬件成本。


图1变频器串行通讯网络拓扑2传送模式状态机顺序功能3主站收发管理状态机顺序功能4传送模式状态机、主站收发状态机及通讯协议栈之间的调用关系示意5变频器通讯任务准备表示意6通讯调度控制程序流程图
具体实施例方式图1 图6所示为本发明的实施例。图1为变频器串行通讯网络拓扑图,图2为传送模式状态机顺序功能图,图3为主站收发状态机顺序功能图,图4为传送模式状态机、 主站收发状态机及通讯协议栈之间的调用关系示意图,图5为变频器通讯任务准备表示意图,图6为通讯调度控制程序流程图。在本实施例的变频器串行通讯网络中,如图1所示控制器1(西门子公司S7-200 PLC),变频器5 (ABB公司生产的ACS510变频器,支持Modbus协议),变频器7 (三菱公司生产的F700变频器,支持计算机链接协议),变频器9(ABB公司生产的ACS510变频器,支持Modbus协议),变频器11 (西门子公司生产的MM440变频器,支持USS协议),变频器 13 (三菱公司生产的F700变频器,支持计算机链接协议),变频器15 (丹佛斯公司生产的 VLT8000AQUA变频器,支持FC协议),变频器17 (英威腾公司生产的CHF变频器,支持Modbus 协议),变频器19 (丹佛斯公司生产的VLD800变频器,支持FC协议)。图2为传送模式状态机顺序功能图,Sl-O为状态机的初始状态,在此状态下完成控制器1通讯端口初始化,Sl-I为数据帧同步状态,S1-2空闲状态,S1-3为发送状态,S1-4 为命令帧发送后总线等待状态,S1-5为接收状态,S1-6为控制和等待状态,SMO. 1为系统上电后进行第一次程序执行的标志位。图3主站收发状态机顺序功能图,S2-0为状态机的初始状态,S2-1为空闲状态, S2-2为响应帧等待状态,S2-3为错误处理状态,S2-4为数据处理状态。如图4所示,传送模式状态机与主站收发管理状态机程序同时连续运行,依靠标志位实现两个状态机之间的同步和消息传递,主站收发管理状态机处于S2-l、S2-3和S2-4 状态时调用变频器通讯协议数据处理函数,在此函数中进行分类判断,如果主站收发管理状态机处于S2-1状态,程序控制跳转到命令帧处理程序段;如果状态机处于S2-3状态,程序控制跳转到错误处理程序段;如果状态机处于S2-4状态,程序控制跳转到数据处理程序段,三个程序段的末尾均通过跳转指令使程序控制跳转到子程序返回指令。如图5所示,CommRdyByteO CommRdyByte7代表控制器内存单元的8个字节, 每个字节由BitO Bit7等8个二进制位组成,如果某个二进制位为“1”,表示具有通讯任务,如果为“0”,表示无通讯任务,因此,8个字节共计64个二进制位表示64个通讯任务,同时,规定CommRdyByteO字节的BitO位所代表的通讯任务优先级最高,CommRdyByte7字节的Bit7位所代表的通讯任务优先级最低,其他位所代表的通讯任务优先级依次由高到低排列。在实际分配中,将CommRdyByteO的BitO,1位保留用作功能扩展用,其他62位可用来表示62个变频器通讯任务,(2-1)中将变频器控制信息分为5类,因此,每台变频器的每类控制信息通讯任务用1个二进制位表示,因此,通讯任务准备表最多可以管理12台变频
ο CommRdyByte8字节为CommRdyByteO CommRdyByte7的字节索弓丨,其含义为当 CommRdyByteO的BitO Bit7等8个数据位中的任何一位为“ 1”,CommRdyByte8字节的 BitO位为“1”,否则为“0”,以此类推,当CommRdyByte7的BitO Bit7等8个数据位中的任何一位为“ 1 ”,CommRdyByte8字节的Bit7为“ 1 ”,否则为“0”,CommRdyByte8字节主要用来搜索优先级最高的通讯任务。根据上述变频器通讯任务优先级分配原则,图1中各变频控制命令、控制指令、状态反馈、运行参数和故障信息等五类控制信息通讯任务优先级分配情况如表1所示。表1变频器通讯任务优先级分配表
权利要求
1.一种基于RS485串行通讯网络的多台异种变频器控制方法,其特征在于将变频器串行通讯协议抽象为串口通讯类,将串口通讯类的公有方法抽象为传送模式状态机和主站收发管理状态机等两个模型,将串口通讯对象的私有方法抽象为协议数据处理函数模型; 采用以通讯任务准备表为核心的通讯调度管理,动态管理多台变频器的通讯任务,提高串行通讯控制网络的实时性和可靠性。
2.根据权利1所述的一种基于RS485串行通讯网络的多台异种变频器控制方法,其特征在于将变频器串行通讯协议抽象为串口通讯类,将串口通讯类的公有方法抽象为传送模式状态机和和主站收发管理状态机等两个模型,将串口通讯对象的私有方法抽象为协议数据处理函数模型,其步骤如下(1-1)传送模式状态机模型控制器(主站)上电后完成通讯端口初始化工作并开放串口数据接收中断,开始进行通讯帧同步过程,如果在3. 5毫秒的时间内未接收到任何字符,帧同步过程结束,传送模式状态机进入空闲状态;如果在3. 5毫秒内接收到任何变频器发送的任何字符,3. 5毫秒定时器将重新开始计时,直到3. 5毫秒定时器超时后,帧同步过程结束,传送模式状态机进入空闲状态。此时,如果主站收发管理状态机将“发送请求”标志位置位后,传送模式状态机将开始缓冲区数据发送工作,发送工作结束后,传送模式状态机将重新进入空闲状态,等待从网络上接收数据,从接收到第一个字符起,每接收到一个字符,1. 5毫秒定时器将重新开始计时,如果在接收到的两个字符之间,出现1. 5毫秒定时器超时,传送模式状态机将置位“字符间隔超时”标志位,如果1. 5毫秒定时器超时后,又出现 2毫秒定时器超时,传送模式状态机将认为接收过程结束,并置位“接收完成”标志位。(1-2)主站收发管理状态机模型控制器(主站)上电后完成主站收发管理状态机初始化工作并进入空闲状态,根据通讯调度管理程序运行结果(子站地址,协议类型,信息类型,信息数值)的要求置位“发送请求”标志位,当传送模式状态机置位“发送完成”标志位后,主站收发管理状态机进入等待响应状态,如果“接收完成”标志位置位,主站收发管理状态机进入数据处理状态,如果发生响应数据帧接收超时或接收到的数据帧存在错误,主站收发管理状态机进入错误处理状态。当主站收发状态机处于空闲状态、响应帧处理状态和错误处理状态时,需要根据子站地址,协议类型,信息类型,信息数值调用协议数据处理函数模型子程序。(1-3)协议数据处理函数模型将每种变频器通讯协议的数据处理分为三个部分,第一部分用来形成主站命令帧,第二部分进行响应帧数据处理,第三部分进行各种错误处理。 为了便于控制器(计算机或PLC等可编程装置)的实现,可将上述三部分功能用一个函数实现,在函数内部通过判断标志位(代表主站收发管理状态机的具体状态)转移到不同的程序段,程序段返回时统一返回到返回指令,结束函数调用过程。对于各种不同的变频器通讯协议,控制器通过连续执行传送模式状态机和主站收发管理状态机实现串行通讯数据链路层和应用层的各种管理机制,主站收发管理状态机根据通讯调度管理程序运行结果(子站地址,协议类型,信息类型,信息数值)得到此时需要调用的变频器协议数据处理函数模型。传送模式状态机和主站收发管理状态机之间通过各种标志位完成信息交互和事件同步。
3.根据权利1、2所述的一种基于RS485串行通讯网络的多台异种变频器控制方法,其特征在于采用以通讯任务准备表为核心的通讯调度管理,动态管理多台变频器的通讯任CN 102541038 A务,提高串行通讯控制网络的实时性和可靠性,其步骤如下(2-1)根据“串行通讯”控制方式下,通讯帧对于实时性的不同要求,将变频器的控制信息分为五类,第一类是控制命令,如变频器启动、停止命令,其信号性质为开关量;第二类是控制指令,如变频器转速或频率设定值,其信号性质为模拟量;第三类是状态反馈,如启动、 停止或失电状态,其信号性质为开关量;第四类是运行参数,如电机电流、转速等,其信号性质为模拟量;第五类是故障信息,如变频器过热等,其信号性质为开关量。“串行通讯”控制方式下,通讯帧对上述五类信息实时性的要求由高到低的顺序为第一类>第二类>第五类>第三类>第四类。(2-2)构建通讯任务准备表。CommRdyByteO CommRdyByte7代表控制器内存单元的8个字节,每个字节由BitO Bit7等8个二进制位组成,如果某个二进制位为“1”, 表示具有通讯任务,如果为“0”,表示无通讯任务,因此,8个字节共计64个二进制位表示 64个通讯任务,同时,规定CommRdyByteO字节的BitO位所代表的通讯任务优先级最高, CommRdyByte7字节的Bit7位所代表的通讯任务优先级最低,其他位所代表的通讯任务优先级依次由高到低排列。在实际分配中,将CommRdyByteO的BitO,1位保留用作功能扩展用,其他62位可用来表示62个变频器通讯任务,(2-1)中将变频器控制信息分为5类,因此,每台变频器的每类控制信息通讯任务用1个二进制位表示,因此,通讯任务准备表最多可以管理12台变频器(共计60个通讯任务)。CommRdyByte8字节为CommRdyByteO CommRdyByte7的字节索弓丨,其含义为当 CommRdyByteO的BitO Bit7等8个数据位中的任何一位为“1”,CommRdyByte8字节的 BitO位为“1”,否则为“0”,以此类推,当CommRdyByte7的BitO Bit7等8个数据位中的任何一位为“1”,CommRdyByte8字节的Bit7为“ 1 ”,否则为“0”,CommRdyByte8字节主要用来搜索优先级最高的通讯任务。(2-3)变频器通讯任务优先级分配原则考虑到变频器五类控制信息对于通讯实时性的要求不同,在通讯任务优先级分配上,第一类控制命令通讯任务被分配的优先级为 2 13,占用 CommRdyByteO 字节的 Bit2 Bit7 和 CommRdyBytel 字节的 BitO Bit5 ; 第二类控制指令通讯任务被分配的优先级为14 25,占用CommRdyBytel字节的Bit6 Bit7、CommRdyByte2 字节的 BitO Bit7 和 CommRdyByte3 字节的 BitO Bitl ;第三类状态反馈通讯任务被分配的优先级为38 49,占用C0mmRdyByte4字节的Bit6 Bit7、 CommRdyByte5字节的BitO Bit7和CommRdyByte6字节的BitO Bitl ;第四类运行参数通讯任务被分配的优先级为50 61,占用C0mmRdyByte6字节的Bit2 Bit7和 CommRdyByte7字节的BitO Bit5 ;第五类故障信息通讯任务被分配的优先级为沈 37, 占用 CommRdyByte3 字节的 Bit2 Bit7、CommRdyByte4 字节的 BitO Bit5。(2-4)通讯任务准备表各二进制位置位原则当变频器控制命令、控制指令发生变化时,将对应通讯任务优先级的二进制位置“ 1,,;当通讯任务准备表没有就绪通讯任务时,将变频器状态反馈和运行参数通讯任务对应优先级的二进制位置“ 1” ;当变频器状态反馈显示变频器故障时,将变频器故障信息通讯任务对应优先级的二进制位置“ 1 ”,以便及时查询变频器故障的详细原因。(2-5)通讯任务准备表的操作共计三种操作,第一种操作为任务入栈,即将某个优先级对应的通讯任务准备表中的二进制位置位,置位原则见0-4);第二种操作为任务出栈,即查询通讯任务准备表,得到表中目前优先级最高的通讯任务;第三种操作为通讯任务优先级对应二进制位复位操作,即将某个优先级对应的通讯任务准备表中的二进制位复位。
全文摘要
本发明公开了一种基于RS485串行通讯网络的多台异种变频器控制方法。将变频器串行通讯协议抽象为串口通讯类,将串口通讯类的公有方法抽象为传送模式状态机和主站收发管理状态机等两个模型,将串口通讯对象的私有方法抽象为协议数据处理函数模型;采用以通讯任务准备表为核心的通讯调度管理,动态管理多台变频器的通讯任务,提高串行通讯控制网络的实时性和可靠性。简化了控制器内变频器通讯协议的实现方法,降低了控制器内存使用量,减少了控制器CPU运算量。对于多台异种变频器组为串行通讯控制网络的工程应用,可明显减少控制器侧I/O通道硬件成本。
文档编号H04L12/40GK102541038SQ201210046460
公开日2012年7月4日 申请日期2012年2月28日 优先权日2012年2月28日
发明者刘波, 卓华, 吕中平, 宋伟, 李梅, 罗雪芳, 魏霞 申请人:华电新疆发电有限公司乌鲁木齐热电厂, 新疆大学, 新疆维吾尔自治区计量测试研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1