基于发电机组历史记录的串口通信方法

文档序号:9687389阅读:264来源:国知局
基于发电机组历史记录的串口通信方法
【技术领域】
[0001]本发明涉及一种串口通信方法,具体的说,涉及了一种基于发电机组历史记录的串口通信方法。
【背景技术】
[0002]串口通信基于硬件电路设计常用的有RS232、RS485、RS422三种,根据不同的需求选择不同的串口通信方式。基于软件设计最常用的、最普遍的就是Modbus串口通信协议。由于发电机组通讯行业有着其普通而又特殊的地方,常见的监控数据使用Modbus串口通信协议即可。而对于发电机组历史记录,其数据量复杂繁多,在做通信的过程中,用通用的通信方法不免需要在这上面花费大量的时间精力去整理处理,而且还容易出错。
[0003]为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。

【发明内容】

[0004]本发明的目的是针对现有技术的不足,提供一种操作规范、灵活,易于实现的基于发电机组历史记录的串口通信方法。
[0005]为了实现上述目的,本发明所采用的技术方案是:一种基于发电机组历史记录的串口通信方法,该方法包括以下步骤:
步骤1:建立历史记录内容的数据模型
所述数据模型包括记录类型、记录标号、记录数值、记录报警上限数值、记录报警下限数值、记录日期和记录时间;给每个数据分配地址并排序,给每个数据分配内存空间;
步骤2:建立历史记录通信数据包
所述历史记录通信数据包包括读历史记录和清除历史记录:
设功能码1CH为读历史记录的功能码,1DH是清除历史记录的功能码;记FF00H为清除历史记录,00FFH为清除历史记录成功;
读历史记录包括发送和接收,其中,读历史记录的发送数据包格式为,顺次排列的模块地址、功能码1CH、记录地址、记录个数、校验码;读历史记录的接收数据包格式为,顺次排列的模块地址、功能码1CH、记录个数、记录内容、校验码;
清除历史记录包括发送和接收,其中,清除历史记录的发送数据包格式为,顺次排列的模块地址、功能码1DH、FF00H、FF00H、校验码;清除历史记录的接收数据包格式为,顺次排列的模块地址、功能码1 DH、OOFFH、00FFH、校验码;
步骤3:通信实现
发电机组控制器从步骤2的通信数据包读取一条或多条历史记录。
[0006]基于上述,所述记录类型包括停机报警、跳闸报警和跳闸停机报警;所述记录标号包括事件名称的集合索引号,所述记录日期包括记录年份、记录月份和记录日,所述记录时间包括记录小时、记录分钟、记录秒钟;
基于上述,每个数据的地址排序方式为,1记录类型,2记录标号,3记录数值,4记录报警上限数值,5记录报警下限数值,6记录日期,7记录时间。
[0007]基于上述,每个数据分配的内存空间是,记录类型占一个字节,记录标号占两个字节,记录数值占两个字节,记录报警上限数值占两个字节,记录报警下限数值占两个字节,记录日期占三个字节,记录时间占三个字节。
[0008]基于上述,发电机组控制器循环保存历史记录,当历史记录超过上限时,覆盖第一条记录。
[0009]本发明相对现有技术具有突出的实质性特点和显著进步,具体的说,本发明通过构建历史记录数据模型和通讯数据包,使该方法操作规范、灵活、简单。
【具体实施方式】
[0010]下面通过【具体实施方式】,对本发明的技术方案做进一步的详细描述。
[0011]—种基于发电机组历史记录的串口通信方法,该方法包括以下步骤:
步骤1:建立历史记录内容的数据模型
所述数据模型包括记录类型、记录标号、记录数值、记录报警上限数值、记录报警下限数值、记录日期和记录时间;给每个数据分配地址并排序,给每个数据分配内存空间。
[0012]其中,所述记录类型包括停机报警、跳闸报警和跳闸停机报警;所述记录标号包括事件名称的集合索引号,所述记录日期包括记录年份、记录月份和记录日,所述记录时间包括记录小时、记录分钟、记录秒钟;
每个数据的地址排序方式为,1记录类型,2记录标号,3记录数值,4记录报警上限数值,5记录报警下限数值,6记录日期,7记录时间。
[0013]每个数据分配的内存空间是,记录类型占一个字节,记录标号占两个字节,记录数值占两个字节,记录报警上限数值占两个字节,记录报警下限数值占两个字节,记录日期占三个字节,记录时间占三个字节。
[0014]步骤2:建立历史记录通信数据包
所述历史记录通信数据包包括读历史记录和清除历史记录:
设功能码1CH为读历史记录的功能码,1DH是清除历史记录的功能码;记FF00H为清除历史记录,00FFH为清除历史记录成功;
读历史记录包括发送和接收,其中,读历史记录的发送数据包格式为,顺次排列的模块地址、功能码1CH、记录地址、记录个数、校验码;读历史记录的接收数据包格式为,顺次排列的模块地址、功能码1CH、记录个数、记录内容、校验码;
清除历史记录包括发送和接收,其中,清除历史记录的发送数据包格式为,顺次排列的模块地址、功能码1DH、FF00H、FF00H、校验码;清除历史记录的接收数据包格式为,顺次排列的模块地址、功能码1 DH、OOFFH、00FFH、校验码;
步骤3:通信实现
发电机组控制器从步骤2的通信数据包读取一条或多条历史记录。
[0015]发电机组控制器循环保存历史记录,当历史记录超过上限时,覆盖第一条记录。例如:历史记录最多保存1000条,当历史记录超过1000条时,覆盖第一条记录,依此循环,这里再配合记录总数、最新记录标号这两个参数,这里最新记录标号就是最新的一条历史记录在历史记录总数分配的地址空间的第几条,例如当覆盖到第80条记录时,最新记录标号的值为80,记录总数还是1000,那么第81条即为最旧的历史记录,当发电机组控制器显示这一条记录就更加清晰明了。
[0016]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
【主权项】
1.一种基于发电机组历史记录的串口通信方法,其特征在于:该方法包括以下步骤: 步骤1:建立历史记录内容的数据模型 所述数据模型包括记录类型、记录标号、记录数值、记录报警上限数值、记录报警下限数值、记录日期和记录时间;给每个数据分配地址并排序,给每个数据分配内存空间; 步骤2:建立历史记录通信数据包 所述历史记录通信数据包包括读历史记录和清除历史记录: 设功能码1CH为读历史记录的功能码,1DH是清除历史记录的功能码;记FFOOH为清除历史记录,OOFFH为清除历史记录成功; 读历史记录包括发送和接收,其中,读历史记录的发送数据包格式为,顺次排列的模块地址、功能码1CH、记录地址、记录个数、校验码;读历史记录的接收数据包格式为,顺次排列的模块地址、功能码1CH、记录个数、记录内容、校验码; 清除历史记录包括发送和接收,其中,清除历史记录的发送数据包格式为,顺次排列的模块地址、功能码1DH、FF00H、FF00H、校验码;清除历史记录的接收数据包格式为,顺次排列的模块地址、功能码1DH、OOFFH、OOFFH、校验码; 步骤3:通信实现 发电机组控制器从步骤2的通信数据包读取一条或多条历史记录。2.根据权利要求1所述的基于发电机组历史记录的串口通信方法,其特征在于:所述记录类型包括停机报警、跳闸报警和跳闸停机报警;所述记录标号包括事件名称的集合索引号,所述记录日期包括记录年份、记录月份和记录日,所述记录时间包括记录小时、记录分钟、记录秒钟; 根据权利要求1所述的基于发电机组历史记录的串口通信方法,其特征在于:每个数据的地址排序方式为,1记录类型,2记录标号,3记录数值,4记录报警上限数值,5记录报警下限数值,6记录日期,7记录时间。3.根据权利要求1所述的基于发电机组历史记录的串口通信方法,其特征在于:每个数据分配的内存空间是,记录类型占一个字节,记录标号占两个字节,记录数值占两个字节,记录报警上限数值占两个字节,记录报警下限数值占两个字节,记录日期占三个字节,记录时间占三个字节。4.根据权利要求1所述的基于发电机组历史记录的串口通信方法,其特征在于:发电机组控制器循环保存历史记录,当历史记录超过上限时,覆盖第一条记录。
【专利摘要】本发明提供一种基于发电机组历史记录的串口通信方法,该方法包括以下步骤:步骤1,建立历史记录内容的数据模型,所述数据模型包括记录类型、记录标号、记录数值、记录报警上限数值、记录报警下限数值、记录日期和记录时间;给每个数据分配地址并排序,给每个数据分配内存空间;步骤2:建立历史记录通信数据包,所述历史记录通信数据包包括读历史记录和清除历史记录:读历史记录包括发送和接收,清除历史记录包括发送和接收;步骤3:通信实现,发电机组控制器从步骤2的通信数据包读取一条或多条历史记录。
【IPC分类】G06F13/42
【公开号】CN105446927
【申请号】CN201510782405
【发明人】李朝晖, 王磊, 徐红宗, 邓艳峰, 陈荣宛
【申请人】郑州众智科技股份有限公司
【公开日】2016年3月30日
【申请日】2015年11月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1