著录项信息
专利名称 | 一种单串口多组数据涌入的同步协调处理方法 |
申请号 | CN201010573984.4 | 申请日期 | 2010-12-04 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-06-06 | 公开/公告号 | CN102486764A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F13/42 | IPC分类号 | G;0;6;F;1;3;/;4;2查看分类表>
|
申请人 | 中国科学院沈阳自动化研究所 | 申请人地址 | 辽宁省沈阳市东陵区南塔街114号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院沈阳自动化研究所 | 当前权利人 | 中国科学院沈阳自动化研究所 |
发明人 | 孙凯;李智刚;秦宝成 |
代理机构 | 沈阳科苑专利商标代理有限公司 | 代理人 | 李晓光 |
摘要
本发明涉及一种单串口多组数据涌入的同步协调处理方法及装置,方法为:按照不同串口设备的数据重要性将数据划分为不同的优先级;采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;按照优先级分配算法协调各路数据的接收;采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性。装置包括:n个通讯设备、RS232/RS485转换模块及工控机,其中n个通讯设备分别通过RS232/RS485转换模块与工控机进行通讯连接。本发明保证不丢失任何一个串行设备的数据,保证最重要数据的最完整校验和非重要数据的数据部分校验,同时兼顾了处理速度和数据准确性的双重要求。
1.一种单串口多组数据涌入的同步协调处理方法,其特征在于包括以下步骤:
按照不同串口设备的数据重要性将数据划分为不同的优先级;
采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;
按照优先级分配算法协调各路数据的接收;
采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性;
所述优先级分配算法过程如下:
提取数据帧中的地址信息;
根据上述地址信息确定优先级,将优先级分为高、中、低、差四个等级,并分配不同的权值;
数据进入待接收区;
根据当前权值确定是否接收数据;
若该组数据已经接收,则将其权值清零;
若没有接收,则加大该组数据的权值,增加下一循环被接收的几率。
2.按权利要求1所述的单串口多组数据涌入的同步协调处理方法,其特征在于:所述数据校验算法为:
获得优先级信息;
高优先级采取逐位异或校验;
中优先级采取逐位奇偶校验;
低优先级采取数据部分奇偶校验;
差优先级检验起始位、结束位;
数据通过了校验则保存改组数据;
数据没有通过校验则放弃数据。
一种单串口多组数据涌入的同步协调处理方法\n技术领域\n[0001] 本发明涉及一种单串口多组数据处理技术,具体的说是一种单串口多组数据涌入的同步协调处理方法。\n背景技术\n[0002] 串行通讯因其硬件设备价格低廉、系统搭建简易、可控性好等优点,被广泛的应用于各种工业控制场合。串口通讯需要串口设备支持,在串口设备数量受限的情况下,如何更大的发挥单个串口设备的有限的通讯能力,是目前自动控制领域常常需要面对的一个问题。\n[0003] windows操作系统具有丰富的函数库和友好的操作界面,在对实时性没有苛刻要求的控制领域windows系统是理想的选择,但window毕竟不是为工业控制领域开发的操作系统,在处理工业控制场合的某些复杂问题时,需要研究新的方法处理实际问题。比如,当多路或多组来自不同设备的串口数据同时涌入同一个串口,如何在windows系统中以满足一定的实时性和数据稳定性为前提,处理好大量数据的接收,特别是保障重要数据的优先读取问题,是本法发明要解决的问题。\n发明内容\n[0004] 针对现有技术中存在的单串口连接多个通讯设备时处理方法和手段的不足之处,本发明要解决的技术问题是提供一种能够处理好大量数据的接收,特别是保障重要数据的优先读取的单串口多组数据涌入的同步协调处理方法。\n[0005] 为解决上述技术问题,本发明采用的技术方案是:\n[0006] 本发明单串口多组数据涌入的同步协调处理方法包括以下步骤:\n[0007] 按照不同串口设备的数据重要性将数据划分为不同的优先级;\n[0008] 采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;\n[0009] 按照优先级分配算法协调各路数据的接收;\n[0010] 采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性。\n[0011] 所述优先级分配算法过程如下:\n[0012] 提取数据帧中的地址信息。\n[0013] 根据上述地址信息确定优先级,将优先级分为高、中、低、差四个等级,并分配不同的权值;\n[0014] 数据进入待接收区;\n[0015] 根据当前权值确定是否接收数据;\n[0016] 若该组数据已经接收,则将其权值清零。\n[0017] 若没有接收,则加大该组数据的权值,增加下一循环被接收的几率。\n[0018] 所述数据校验算法为:\n[0019] 获得优先级信息;\n[0020] 高优先级采取逐位异或校验;\n[0021] 中优先级采取逐位奇偶校验;\n[0022] 低优先级采取数据部分奇偶校验;\n[0023] 差优先级检验起始位、结束位;\n[0024] 数据通过了校验则保存改组数据;\n[0025] 数据没有通过校验则放弃数据。\n[0026] 本发明单串口多组数据涌入的同步协调处理装置包括:\n[0027] n个通讯设备、RS232/RS485转换模块及工控机,其中n个通讯设备分别通过RS232/RS485转换模块与工控机进行通讯连接。\n[0028] 所述RS232/RS485转换模块具有地址分配功能。\n[0029] 第一个和最后一个通讯设备连接120欧姆终端电阻。\n[0030] 本发明具有以下有益效果及优点:\n[0031] 1.本发明由于分配了优先级,保证了不丢失任何一个串行设备的数据。\n[0032] 2.由于发明根据优先级不同采用不同校验算法,保证了最重要数据的最完整校验和非重要数据的数据部分校验,同时兼顾了处理速度和数据准确性的双重要求。\n附图说明\n[0033] 图1为本发明方法采用数据结构帧格式;\n[0034] 图2为本发明装置结构框图;\n[0035] 图3为本发明方法流程图;\n[0036] 图4为本发明方法中优先级分配算法流程图;\n[0037] 图5为本发明方法中优先级校验算法流程图;\n[0038] 图6为本发明装置实施例硬件配置;\n[0039] 图7为本发明装置实施例系统连接图。\n具体实施方式\n[0040] 本发明单串口多组数据涌入的同步协调处理方法包括以下步骤:\n[0041] 按照不同串口设备的数据重要性将数据划分为不同的优先级;\n[0042] 采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;\n[0043] 按照优先级分配算法协调各路数据的接收;即保障了重要数据的优先读取,又不影响一般数据的接收;\n[0044] 采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性。\n[0045] 如图3所示,本实施例采用以下步骤实现本发明方法:\n[0046] 开始;\n[0047] 设定定时器定时周期;\n[0048] 每次执行前判断周期是否已经修改,若修改了,则按照新的周期执行;\n[0049] 由定时器触完成周期性发送、接收数据;\n[0050] 通过优先级分配算法决定哪组数据被接收;\n[0051] 根据优先级校验算法校验数据;\n[0052] 若校验通过,则接收并存储数据;\n[0053] 若校验没有通过,则放弃数据;\n[0054] 如执行前判断周期没有修改,则按照以前的周期执行。\n[0055] 如图4所示,优先级分配算法过程如下:\n[0056] 提取数据帧中的地址信息。\n[0057] 根据地址信息确定优先级。\n[0058] 将优先级分为高、中、低、差四个等级。\n[0059] 四个等级分别分配权值4、3、2、1。\n[0060] 数据进入待接收区。\n[0061] 根据当前权值确定是否接收数据。\n[0062] 若该组数据已经接收,则将其权值清零,若没有接收,则该组数据的权值加1,增加下一循环被接收的几率。\n[0063] 如图5所示,优先级校验算法过程如下:\n[0064] 获得优先级信息;\n[0065] 高优先级采取逐位异或校验;\n[0066] 中优先级采取逐位奇偶校验;\n[0067] 低优先级采取数据部分奇偶校验;\n[0068] 差优先级检验起始位、结束位;\n[0069] 数据通过了校验则保存改组数据;\n[0070] 数据没有通过校验则放弃数据。\n[0071] 本发明装置如图2和图7所示,包括n个通讯设备、RS232/RS485转换模块及工控机,其中n个通讯设备分别通过RS232/RS485转换模块与工控机进行通讯连接;所述RS232/RS485转换模块具有地址分配功能,所述n个通讯设备中的第一个和最后一个连接由终端电阻,阻值为120欧姆。\n[0072] 通讯设备包括了通讯设备1到通讯设备n,为不同的串口通讯设备,根据RS485的通讯能力,最多可接32个通讯设备,足以满足常见的工况要求。2为带有地址分配功能的RS232/RS485通讯转换模块,该模块的功能为实现RS232/RS485转换的同时,为不同的通讯设备分配了地址,该地址在本发明中被用于表示优先级。3为RS232功能的DB9接头,该接头为工控机自带,4为工控机,本发明的方法的执行依赖于工控机。\n[0073] 如图6、7所示,本实施例中,串行通讯设备包括:姿态传感器、压力传感器、温度传感器。具有地址分配功能的RS232/RS485转换模快为MOXATCC-801,该模块具有地址分配功能,可以将RS232信号转换为RS485信号。工控机为研华科技的610L,该工控机可满足大多数工况的需求,其上配有2个RS232接口,通过DB9接头连接入工控机主板。根据具体优先级,将姿态触感其的优先级设置为高,分配地址16#01,将压力传感器的优先级设置为中,分配地址16#02,将温度传感器的优先级设置为低,分派地址16#03。\n[0074] 分配地址后,三个串口设备的优先级即以确定。在工控机中,安装windowsXP操作系统,采用CSharp作为程序设计语言。定时器的触发周期设定为20毫秒,定时的触发接收数据。三个串口设备通电后,不停的向工控机发送串口数据,程序将根据优先级算法分配优先级,根据优先级校验算法校验数据。校验通过的数据将存储在内存区域等待进一步处理。\n[0075] 由于分配了优先级,所以当数据同时到达串口时没有发生数据拥堵的状况,优先级最高的姿态传感器数据得到了最先的相应,优先级最低的温度传感器数据虽然没有每次被读取,但由于优先级算法中的规定,当一次没有被读时优先级自动加1,所以便获得了更高的优先级,下次读取事件中被读取,保证了不丢失任何一个串行设备的数据。由于根据优先级不同采用不同校验算法,保证了最重要数据的最完整校验和非重要数据的数据部分校验,同时兼顾了处理速度和数据准确性的双重要求。
法律信息
- 2020-11-13
未缴年费专利权终止
IPC(主分类): G06F 13/42
专利号: ZL 201010573984.4
申请日: 2010.12.04
授权公告日: 2014.12.10
- 2014-12-10
- 2012-07-25
实质审查的生效
IPC(主分类): G06F 13/42
专利申请号: 201010573984.4
申请日: 2010.12.04
- 2012-06-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |