CN102486764B - 一种单串口多组数据涌入的同步协调处理方法 - Google Patents
一种单串口多组数据涌入的同步协调处理方法 Download PDFInfo
- Publication number
- CN102486764B CN102486764B CN201010573984.4A CN201010573984A CN102486764B CN 102486764 B CN102486764 B CN 102486764B CN 201010573984 A CN201010573984 A CN 201010573984A CN 102486764 B CN102486764 B CN 102486764B
- Authority
- CN
- China
- Prior art keywords
- data
- priority
- serial
- algorithm
- group data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种单串口多组数据涌入的同步协调处理方法及装置,方法为:按照不同串口设备的数据重要性将数据划分为不同的优先级;采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;按照优先级分配算法协调各路数据的接收;采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性。装置包括:n个通讯设备、RS232/RS485转换模块及工控机,其中n个通讯设备分别通过RS232/RS485转换模块与工控机进行通讯连接。本发明保证不丢失任何一个串行设备的数据,保证最重要数据的最完整校验和非重要数据的数据部分校验,同时兼顾了处理速度和数据准确性的双重要求。
Description
技术领域
本发明涉及一种单串口多组数据处理技术,具体的说是一种单串口多组数据涌入的同步协调处理方法。
背景技术
串行通讯因其硬件设备价格低廉、系统搭建简易、可控性好等优点,被广泛的应用于各种工业控制场合。串口通讯需要串口设备支持,在串口设备数量受限的情况下,如何更大的发挥单个串口设备的有限的通讯能力,是目前自动控制领域常常需要面对的一个问题。
windows操作系统具有丰富的函数库和友好的操作界面,在对实时性没有苛刻要求的控制领域windows系统是理想的选择,但window毕竟不是为工业控制领域开发的操作系统,在处理工业控制场合的某些复杂问题时,需要研究新的方法处理实际问题。比如,当多路或多组来自不同设备的串口数据同时涌入同一个串口,如何在windows系统中以满足一定的实时性和数据稳定性为前提,处理好大量数据的接收,特别是保障重要数据的优先读取问题,是本法发明要解决的问题。
发明内容
针对现有技术中存在的单串口连接多个通讯设备时处理方法和手段的不足之处,本发明要解决的技术问题是提供一种能够处理好大量数据的接收,特别是保障重要数据的优先读取的单串口多组数据涌入的同步协调处理方法。
为解决上述技术问题,本发明采用的技术方案是:
本发明单串口多组数据涌入的同步协调处理方法包括以下步骤:
按照不同串口设备的数据重要性将数据划分为不同的优先级;
采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;
按照优先级分配算法协调各路数据的接收;
采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性。
所述优先级分配算法过程如下:
提取数据帧中的地址信息。
根据上述地址信息确定优先级,将优先级分为高、中、低、差四个等级,并分配不同的权值;
数据进入待接收区;
根据当前权值确定是否接收数据;
若该组数据已经接收,则将其权值清零。
若没有接收,则加大该组数据的权值,增加下一循环被接收的几率。
所述数据校验算法为:
获得优先级信息;
高优先级采取逐位异或校验;
中优先级采取逐位奇偶校验;
低优先级采取数据部分奇偶校验;
差优先级检验起始位、结束位;
数据通过了校验则保存改组数据;
数据没有通过校验则放弃数据。
本发明单串口多组数据涌入的同步协调处理装置包括:
n个通讯设备、RS232/RS485转换模块及工控机,其中n个通讯设备分别通过RS232/RS485转换模块与工控机进行通讯连接。
所述RS232/RS485转换模块具有地址分配功能。
第一个和最后一个通讯设备连接120欧姆终端电阻。
本发明具有以下有益效果及优点:
1.本发明由于分配了优先级,保证了不丢失任何一个串行设备的数据。
2.由于发明根据优先级不同采用不同校验算法,保证了最重要数据的最完整校验和非重要数据的数据部分校验,同时兼顾了处理速度和数据准确性的双重要求。
附图说明
图1为本发明方法采用数据结构帧格式;
图2为本发明装置结构框图;
图3为本发明方法流程图;
图4为本发明方法中优先级分配算法流程图;
图5为本发明方法中优先级校验算法流程图;
图6为本发明装置实施例硬件配置;
图7为本发明装置实施例系统连接图。
具体实施方式
本发明单串口多组数据涌入的同步协调处理方法包括以下步骤:
按照不同串口设备的数据重要性将数据划分为不同的优先级;
采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;
按照优先级分配算法协调各路数据的接收;即保障了重要数据的优先读取,又不影响一般数据的接收;
采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性。
如图3所示,本实施例采用以下步骤实现本发明方法:
开始;
设定定时器定时周期;
每次执行前判断周期是否已经修改,若修改了,则按照新的周期执行;
由定时器触完成周期性发送、接收数据;
通过优先级分配算法决定哪组数据被接收;
根据优先级校验算法校验数据;
若校验通过,则接收并存储数据;
若校验没有通过,则放弃数据;
如执行前判断周期没有修改,则按照以前的周期执行。
如图4所示,优先级分配算法过程如下:
提取数据帧中的地址信息。
根据地址信息确定优先级。
将优先级分为高、中、低、差四个等级。
四个等级分别分配权值4、3、2、1。
数据进入待接收区。
根据当前权值确定是否接收数据。
若该组数据已经接收,则将其权值清零,若没有接收,则该组数据的权值加1,增加下一循环被接收的几率。
如图5所示,优先级校验算法过程如下:
获得优先级信息;
高优先级采取逐位异或校验;
中优先级采取逐位奇偶校验;
低优先级采取数据部分奇偶校验;
差优先级检验起始位、结束位;
数据通过了校验则保存改组数据;
数据没有通过校验则放弃数据。
本发明装置如图2和图7所示,包括n个通讯设备、RS232/RS485转换模块及工控机,其中n个通讯设备分别通过RS232/RS485转换模块与工控机进行通讯连接;所述RS232/RS485转换模块具有地址分配功能,所述n个通讯设备中的第一个和最后一个连接由终端电阻,阻值为120欧姆。
通讯设备包括了通讯设备1到通讯设备n,为不同的串口通讯设备,根据RS485的通讯能力,最多可接32个通讯设备,足以满足常见的工况要求。2为带有地址分配功能的RS232/RS485通讯转换模块,该模块的功能为实现RS232/RS485转换的同时,为不同的通讯设备分配了地址,该地址在本发明中被用于表示优先级。3为RS232功能的DB9接头,该接头为工控机自带,4为工控机,本发明的方法的执行依赖于工控机。
如图6、7所示,本实施例中,串行通讯设备包括:姿态传感器、压力传感器、温度传感器。具有地址分配功能的RS232/RS485转换模快为MOXATCC-801,该模块具有地址分配功能,可以将RS232信号转换为RS485信号。工控机为研华科技的610L,该工控机可满足大多数工况的需求,其上配有2个RS232接口,通过DB9接头连接入工控机主板。根据具体优先级,将姿态触感其的优先级设置为高,分配地址16#01,将压力传感器的优先级设置为中,分配地址16#02,将温度传感器的优先级设置为低,分派地址16#03。
分配地址后,三个串口设备的优先级即以确定。在工控机中,安装windowsXP操作系统,采用CSharp作为程序设计语言。定时器的触发周期设定为20毫秒,定时的触发接收数据。三个串口设备通电后,不停的向工控机发送串口数据,程序将根据优先级算法分配优先级,根据优先级校验算法校验数据。校验通过的数据将存储在内存区域等待进一步处理。
由于分配了优先级,所以当数据同时到达串口时没有发生数据拥堵的状况,优先级最高的姿态传感器数据得到了最先的相应,优先级最低的温度传感器数据虽然没有每次被读取,但由于优先级算法中的规定,当一次没有被读时优先级自动加1,所以便获得了更高的优先级,下次读取事件中被读取,保证了不丢失任何一个串行设备的数据。由于根据优先级不同采用不同校验算法,保证了最重要数据的最完整校验和非重要数据的数据部分校验,同时兼顾了处理速度和数据准确性的双重要求。
Claims (2)
1.一种单串口多组数据涌入的同步协调处理方法,其特征在于包括以下步骤:
按照不同串口设备的数据重要性将数据划分为不同的优先级;
采用windows定时器周期性触发数据读取,周期长短可随具体应用场合对实时性的要求而变化;
按照优先级分配算法协调各路数据的接收;
采用与优先级相匹配的数据校验算法校验数据的正确性,保障接收数据的稳定性;
所述优先级分配算法过程如下:
提取数据帧中的地址信息;
根据上述地址信息确定优先级,将优先级分为高、中、低、差四个等级,并分配不同的权值;
数据进入待接收区;
根据当前权值确定是否接收数据;
若该组数据已经接收,则将其权值清零;
若没有接收,则加大该组数据的权值,增加下一循环被接收的几率。
2.按权利要求1所述的单串口多组数据涌入的同步协调处理方法,其特征在于:所述数据校验算法为:
获得优先级信息;
高优先级采取逐位异或校验;
中优先级采取逐位奇偶校验;
低优先级采取数据部分奇偶校验;
差优先级检验起始位、结束位;
数据通过了校验则保存改组数据;
数据没有通过校验则放弃数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010573984.4A CN102486764B (zh) | 2010-12-04 | 2010-12-04 | 一种单串口多组数据涌入的同步协调处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010573984.4A CN102486764B (zh) | 2010-12-04 | 2010-12-04 | 一种单串口多组数据涌入的同步协调处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102486764A CN102486764A (zh) | 2012-06-06 |
CN102486764B true CN102486764B (zh) | 2014-12-10 |
Family
ID=46152258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010573984.4A Expired - Fee Related CN102486764B (zh) | 2010-12-04 | 2010-12-04 | 一种单串口多组数据涌入的同步协调处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486764B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776103A (zh) * | 2017-01-16 | 2017-05-31 | 湖南财政经济学院 | 物联网大数据快速校验方法 |
CN108021398A (zh) * | 2017-11-20 | 2018-05-11 | 河南思维轨道交通技术研究院有限公司 | 串口优先级评价方法和调用方法、存储介质 |
CN109271380B (zh) * | 2018-08-14 | 2024-03-15 | 中国平安人寿保险股份有限公司 | 一种数据表海量数据校验方法及终端设备 |
CN116032974B (zh) * | 2023-02-15 | 2023-11-28 | 易电务(北京)科技有限公司 | 分布式边缘系统数据采集方法及子系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122894A (zh) * | 2006-08-13 | 2008-02-13 | 朱金怀 | 一种异步串行通讯控制器件 |
CN101398796A (zh) * | 2007-09-30 | 2009-04-01 | 北京国通创安信息技术有限公司 | 多路串口通讯控制器及其多路控制的方法 |
CN101446823A (zh) * | 2008-10-22 | 2009-06-03 | 环境保护部华南环境科学研究所 | 一种污水处理plc过程自动控制系统 |
CN101494608B (zh) * | 2009-03-11 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种设置多协议标签交换报文优先级的方法及设备 |
CN101539475A (zh) * | 2009-04-09 | 2009-09-23 | 上海第二工业大学 | 车辆空调在线检测设备 |
CN201936299U (zh) * | 2010-12-04 | 2011-08-17 | 中国科学院沈阳自动化研究所 | 一种单串口多组数据涌入的同步协调处理装置 |
-
2010
- 2010-12-04 CN CN201010573984.4A patent/CN102486764B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102486764A (zh) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102486764B (zh) | 一种单串口多组数据涌入的同步协调处理方法 | |
CN102868584B (zh) | 一种采用串行通信接口的同步时分多路复用总线通信方法 | |
CN202870808U (zh) | 一种spi串口模块的fpga实现装置 | |
CN105446934B (zh) | 一种基于多核dsp的动目标及恒虚警检测系统 | |
CN102664779B (zh) | 一种can总线数据传送方法 | |
CN102999425A (zh) | 基于虚拟仪器技术的星务软件仿真测试系统 | |
CN102546843A (zh) | 一种通过软件模拟实现多个uart通信接口的方法 | |
CN102070051B (zh) | 电梯运行性能实时监测系统 | |
CN202275399U (zh) | 一种用于嵌入式软件的调试验证系统 | |
CN103678199A (zh) | 一种传输数据的方法和设备 | |
CN107092574A (zh) | 一种适用于星载电子设备的多串口缓存复用方法 | |
CN103984323A (zh) | 一种集成化可配置工业信息监测分析控制系统 | |
CN204733178U (zh) | 一种基于FPGA的EtherCAT主站装置 | |
CN102147780B (zh) | 一种基于串行数据传输方式的链路接口电路 | |
CN102937944B (zh) | 一种基于Arcnet串口服务器 | |
CN103077144A (zh) | 一种确保数据完整的spi通讯接口及其通讯方法 | |
CN101876825A (zh) | 小型plc的人机界面装置 | |
CN104156335A (zh) | 一种uart多接口复用方法 | |
CN201936299U (zh) | 一种单串口多组数据涌入的同步协调处理装置 | |
CN106464481B (zh) | 通信装置以及通信方法 | |
CN101604304B (zh) | 一种多cpu间通信的方法和继电保护装置 | |
CN102323856A (zh) | 基于加速度传感器和ZigBee的数据手套 | |
CN103346943A (zh) | 数据传输方法及系统 | |
CN102635379B (zh) | 一种液压间架控制器的程序在线升级方法 | |
CN102030018B (zh) | 计轴系统的附属外围数据采集与分发装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141210 Termination date: 20191204 |