[发明专利]一种保证上位机与下位机通讯中数据完整性的方法有效
申请号: | 202010693952.1 | 申请日: | 2020-07-17 |
公开(公告)号: | CN112035882B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 王灿;刘宽;朱绍维;王伟;姜振喜;罗耀辉;郑兴 | 申请(专利权)人: | 成都飞机工业(集团)有限责任公司 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;H04L29/08 |
代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 何巍 |
地址: | 610092 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 上位 下位 通讯 数据 完整性 方法 | ||
1.一种保证上位机与下位机通讯中数据完整性的方法,其特征在于,包括以下步骤:
(1)在下位机采集程序中开辟两个二维存储数组,并对每个二维存储数组设置判断数据是否存满的状态标识位;所述步骤(1)中,所述下位机采集程序中开辟两个大小为m×n的二维存储数组,其中m的值由上位机读取二维存储数组的PLC周期来确定,n的值由采集数据的数据种类数量决定,两个二维存储数组分别标记为DATA_ARRAY1和DATA_ARRAY2;所述步骤(1)中,状态标识位包括设置在下位机程序中的计数标识位、循环次数计数位k、以及四个二维存储数组状态布尔标识位;所述计数标识位为两个,分别为两个二维存储数组作为两个数组行数计数使用,所述计数标识位的初始值均为1;所述循环次数计数位k为一个,作为存储计数使用;所述二维存储数组状态布尔标识位四个,具体为bArray1PutDataExecuting,bArray1PutDataDone,bArray2PutDataExecuting,bArray2PutDataDone;
(2)在上位机程序中开辟两个定长数组作为缓冲区,所述缓冲区分别与下位机采集程序中的二维存储数组中的每列数据对应;所述步骤(2)中,在所述上位机处理程序中,所述对应于采集数据种类数n,开辟n组两个长度相同为L的定长数组作为缓冲区,分别为缓冲区Ai和缓冲区Bi,其中1≤i≤n,分别对应下位机程序中二维存储数组的第i列;
(3)下位机采集程序采集加工过程中实时产生的所有数据,交替储存至下位机中的两个二维存储数组中,当下位机采集程序检测到其中一个二维存储数组存满数据后,修改两个二维存储数组的状态标识位并提供给上位机读取;所述步骤(3)中,当下位机开始采集实时数据时,同时对n路数据以采集频率f进行读取并存储至两个数组中,数据存储方法具体包括:每一个PLC循环周期内,将n个数据写入DATA_ARRAY1的一行中,每写入一行ARRAY1Index自加1;同时检查ARRAY1Index的值,当ARRAY1Index<m时,程序继续,当ARRAY1Index>m时,置bArray1PutDataExecuting的值为FALSE,bArray1PutDataDone为TRUE,用于提供给上位机进行判断;同时,置ARRAY2Index为1,循环次数计数位k自加1,并开始向二维数组2即DATA_ARRAY2内写数据,每写入一行,ARRAY2Index的值自加1;同时检查ARRAY2Index的值,当ARRAY2Index<m时,程序继续,当ARRAY2Index>m时,置ARRAY1Index为1,循环次数计数位k自加1,再次向数组1内写入数据,同时置bArray2PutDataExecuting的值为FALSE,bArray2PutDataDone为TRUE,如此循环往复,将采集到的数据写入两个数组内;
(4)上位机程序通过判断二维存储数组的状态标识位,读取已存满数据的二维存储数组中的一列数据,并将其储存至上位机程序开辟的对应的缓冲区内,由此完成两个二维存储数组和两个缓冲区的交替工作,完成数据的完整存储;所述步骤(4)中,上位机程序判断二维存储数组的状态标识位过程为,当:bArray2PutDataDone==TRUEbArray1PutDataExecuting==TRUEk%2==0时,即数组DATA_ARRAY1存储满数据且数组DATA_ARRAY2正在存储时,将数据DATA_ARRAY1的n列数据,每列m个,分别一次性读入缓冲区Ai中,共n列;当:bArray2PutDataDone==TRUEbArray1PutDataExecuting==TRUEk%2==1时,即数组DATA_ARRAY2存储满数据且数组DATA_ARRAY1正在存储时,将数据DATA_ARRAY2的n列数据,每列m个,分别一次性读入缓冲区Bi中,共n列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都飞机工业(集团)有限责任公司,未经成都飞机工业(集团)有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010693952.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法、装置、设备及存储介质
- 下一篇:一种玩具轮胎及其制作方法