CN109710666A - 一种对串口通讯的实时数据监测方法 - Google Patents
一种对串口通讯的实时数据监测方法 Download PDFInfo
- Publication number
- CN109710666A CN109710666A CN201811342201.4A CN201811342201A CN109710666A CN 109710666 A CN109710666 A CN 109710666A CN 201811342201 A CN201811342201 A CN 201811342201A CN 109710666 A CN109710666 A CN 109710666A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- real
- file
- processing
- 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.)
- Pending
Links
Landscapes
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
为了对串口采集到的数据进行科学有序的分析处理,本发明提出了一种对串口通讯的实时数据监测方法,使用了逐条侦听、按地址码和功能码分类数据以及分割数据分类计算。当获取被监视文件内容更改的最后一行数据时,首先进行重复判断和空行判断,准确的保证了所侦听到的数据为所需新数据。当条件满足后,对这一行数据进行格式分割处理,分类处理分割后的数据使通过串口采集的不同传感器的多类数据,按地址码和功能码清晰归类,避免了多个传感器通过同一传感器采集数据时的庞杂冗余。本发明实现了数据处理的实时性,区分不同传感器回传的数据,稳定、高效的把众多现场数据分门别类的保存处理,此方法简单有效,扩展性强,利于操作员操作。
Description
技术领域
本发明涉及串口通讯监测领域,尤其涉及一种对串口通讯实时数据监测方法。
背景技术
串口通讯在生产生活中的用途广泛,通讯采集的数据也是多种多样,在实际工程中,通常同一串口需要连接多个传感器,监测获取的数据一般数量庞大,对下一步的处理与分析的工作都相当繁琐。具体的施工过程中对数据的采集还会有各种各样的条件限制,使得在具体的处理过程中很难及时地对多个传感器回传的庞杂的数据进行有效处理,从而使得工程数据在采集后还需要大量的时间整合处理。因此,需要对监测系统通过串口进行采集并获取到的数据,进行科学有序的分析处理。
发明内容
为了解决上述技术问题,本发明提供一种对串口通讯的实时数据监测方法。以满足串口通讯监测的需要。本发明是通过如下技术方案实现的,采用如下技术方案。
一种串口通讯数据监测方法,该方法利用了三层构架以及实时数据库,该方法包括以下步骤:
步骤一:确定数据的来源;上位机需要通过波特率,起始位,数据位,停止位及奇偶校验进行串口配置。
步骤二:串口在通讯时,由上位机接收被监视串口返回的数据;在C#中,对一个文件监视,本系统使用了File System Watcher类。这个类的主要功能是实时侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件,也就是在当被监视的文件里的内容发生变化时,事件触发,引起之后的一系列功能响应。
步骤三:按功能码及地址码区分下位机返回的数据并保存到文本文件;多个传感器通过同一个串口返回数据时根据地址码和功能码将不同传感器返回的数据分开保存在文本文件中,以便于区分与处理数据。
步骤四:根据监视到的内容对侦听数据进行分割;传感器收到正确的指令将返回一串16 进制数据:01 03 04 00 00 0B 10 FC CF。其中: 0x01 为传感器地址;0x03 为返回的功能码;0x04 表示返回4个Byte;0x00、 0x00、 0x0B、 0x10 为返回的保持寄存器距离值,共4个字节,0x00000B10,转换成十进制就是 2832mm,即 2.832 米;0xFC 和 0xCF 为2个字节的 CRC 校验码。
步骤五:将分割处理后的数据分类;下位机返回数据是由“时间+数据+\r\n”的格式组合而成,其中有一组时间,1列数据,最后有一个换行符。在这里采用了try{} catch{}的方式进行数据处理,解决了数据源会因为电磁干扰、设备故障等原因造成的数据丢包问题,能够允许不丢包但数据错误的发生,这样能够保证了系统的正常运行。
步骤六:数据的存储及实现数据的可视化并实时显示;采用了实时数据库和C# 中的Init Chart()方法,实时数据库使得工程的数据有很强的实时性,同时展现了高效率的处理能力。Init Chart()方法初始化图像坐标的时间轴和数据轴的曲线网格的颜色,数据点的颜色,边框的宽度,曲线的类型,时间轴和数据轴之间的间隔,再绑定数据后展示为动态图像;
优选地,所述系统使用三层构架对采集到的数据分层处理。
优选地,所述系统采用Visual Studio 2013为开发工具。
本发明的有益效果为:
利用实时数据库将通过串口采集的数据都放在了统一的数据库中,实现了数据处理的实时性。使同一个工程的工作人员,实时地检查、分析、处理现场返回的繁多庞杂的数据;
通过功能码和地址码区分不同传感器回传的数据,稳定、高效的把众多现场数据分门别类的保存处理。
监测方式简单有效,扩展性强,利于操作员操作。
附图说明
为了更清楚地说明本发明实施流程和技术方案,下面将对实施流程和技术方案使用的附图作简单地介绍。
图1为数据通讯的逻辑控制示意图;
具体实施方式
下面对本发明的技术方案做进一步详细地介绍:
本发明提供一种对串口通讯的实时数据监测方法。该方法利用了三层构架以及实时数据库,该方法包括以下步骤。
步骤一:确定数据的来源;上位机需要通过波特率,起始位,数据位,停止位及奇偶校验进行串口配置。
步骤二:串口在通讯时,由上位机接收被监视串口返回的数据;在C#中,对一个文件监视,本系统使用了File System Watcher类。这个类的主要功能是实时侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件,也就是在当被监视的文件里的内容发生变化时,事件触发,引起之后的一系列功能响应。
步骤三:按功能码及地址码区分下位机返回的数据并保存到文本文件;多个传感器通过同一个串口返回数据时根据地址码和功能码将不同传感器返回的数据分开保存在文本文件中,以便于区分与处理数据。
步骤四:根据监视到的内容对侦听数据进行分割;传感器收到正确的指令将返回一串16 进制数据:01 03 04 00 00 0B 10 FC CF。其中: 0x01 为传感器地址;0x03 为返回的功能码;0x04 表示返回4个Byte;0x00、 0x00、 0x0B、 0x10 为返回的保持寄存器距离值,共4个字节,0x00000B10,转换成十进制就是 2832mm,即 2.832 米;0xFC 和 0xCF 为2个字节的 CRC 校验码。
步骤五:将分割处理后的数据分类;下位机返回数据是由“时间+数据+\r\n”的格式组合而成,其中有一组时间,1列数据,最后有一个换行符。在这里采用了try{} catch{}的方式进行数据处理,解决了数据源会因为电磁干扰、设备故障等原因造成的数据丢包问题,能够允许不丢包但数据错误的发生,这样能够保证了系统的正常运行。
步骤六:数据的存储及实现数据的可视化并实时显示;采用了实时数据库和C# 中的Init Chart()方法,实时数据库使得工程的数据有很强的实时性,同时展现了高效率的处理能力。Init Chart()方法初始化图像坐标的时间轴和数据轴的曲线网格的颜色,数据点的颜色,边框的宽度,曲线的类型,时间轴和数据轴之间的间隔,再绑定数据后展示为动态图像。
Claims (2)
1.一种对串口通讯的实时数据监测方法,其特征在于:该方法使用了逐条侦听、按地址码和功能码分类数据以及分割数据分类计算,其包括以下步骤:
第一步,确定数据的来源;上位机需要通过波特率,起始位,数据位,停止位及奇偶校验进行串口配置;
第二步,串口在通讯时,由上位机接收被监视串口返回的数据;在C#中,对一个文件监视,本系统使用了File System Watcher类,这个类的主要功能是实时侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件,也就是在当被监视的文件里的内容发生变化时,事件触发,引起之后的一系列功能响应;
第三步,按功能码及地址码区分下位机返回的数据并保存到文本文件,多个传感器通过同一个串口返回数据时根据地址码和功能码将不同传感器返回的数据分开保存在文本文件中,以便于区分与处理数据;
第四步,根据监视到的内容对侦听数据进行分割,传感器收到正确的指令将返回一串16 进制数据:01 03 04 00 00 0B 10 FC CF,其中: 0x01 为传感器地址;0x03 为返回的功能码;0x04 表示返回4个Byte;0x00、 0x00、 0x0B、 0x10 为返回的保持寄存器距离值,共4个字节,0x00000B10,转换成十进制就是 2832mm, 即 2.832 米;0xFC 和 0xCF 为2个字节的 CRC 校验码;
第五步,将分割处理后的数据分类;下位机返回数据是由“时间+数据+\r\n”的格式组合而成,其中有一组时间,1列数据,最后有一个换行符,在这里采用了try{} catch{}的方式进行数据处理,解决了数据源会因为电磁干扰、设备故障等原因造成的数据丢包问题,能够允许不丢包但数据错误的发生,这样能够保证了系统的正常运行;
第六步,数据的存储及实现数据的可视化并实时显示,采用了实时数据库和C# 中的Init Chart()方法,实时数据库使得工程的数据有很强的实时性,同时展现了高效率的处理能力,Init Chart()方法初始化图像坐标的时间轴和数据轴的曲线网格的颜色,数据点的颜色,边框的宽度,曲线的类型,时间轴和数据轴之间的间隔,再绑定数据后展示为动态图像。
2.根据权利要求1所述的一种串口通讯的数据监测系统,其特征在于:使用了三层构架即下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层把对系统按层次进行逐步的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811342201.4A CN109710666A (zh) | 2018-11-12 | 2018-11-12 | 一种对串口通讯的实时数据监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811342201.4A CN109710666A (zh) | 2018-11-12 | 2018-11-12 | 一种对串口通讯的实时数据监测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109710666A true CN109710666A (zh) | 2019-05-03 |
Family
ID=66254340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811342201.4A Pending CN109710666A (zh) | 2018-11-12 | 2018-11-12 | 一种对串口通讯的实时数据监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710666A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077143A1 (en) * | 2008-07-09 | 2010-03-25 | Arm Limited | Monitoring a data processing apparatus and summarising the monitoring data |
CN104683185A (zh) * | 2015-03-06 | 2015-06-03 | 东华大学 | 一种基于Labview的监测串口通信方法 |
CN105353715A (zh) * | 2015-09-23 | 2016-02-24 | 上海大学 | 基于串口通信实现vb/vc与plc逻辑控制的方法 |
-
2018
- 2018-11-12 CN CN201811342201.4A patent/CN109710666A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077143A1 (en) * | 2008-07-09 | 2010-03-25 | Arm Limited | Monitoring a data processing apparatus and summarising the monitoring data |
CN104683185A (zh) * | 2015-03-06 | 2015-06-03 | 东华大学 | 一种基于Labview的监测串口通信方法 |
CN105353715A (zh) * | 2015-09-23 | 2016-02-24 | 上海大学 | 基于串口通信实现vb/vc与plc逻辑控制的方法 |
Non-Patent Citations (1)
Title |
---|
赵丁选等: "MSComm和CSerialPort类在多串口数据采集系统中的应用", 《新型工业化》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762210A (zh) | 一种基于物联网的工业智能制造数据采集装置及方法 | |
CN107241226A (zh) | 基于工控私有协议的模糊测试方法 | |
WO2021227468A1 (zh) | 核电厂关键设备的状态预演方法、系统、设备及存储介质 | |
CN108063699A (zh) | 网络性能监控方法、装置、电子设备、存储介质 | |
CN106528388A (zh) | 一种数据库检测方法和装置 | |
CN106773743A (zh) | 智能家居云数据分析管理系统 | |
CN113112038B (zh) | 智能监测与诊断分析系统、装置、电子设备及存储介质 | |
CN110336808A (zh) | 一种面向电力工控网络的攻击溯源方法及系统 | |
CN105978738A (zh) | 一种基于智慧物联网的分布式能耗监测单元及监测方法 | |
CN109660396A (zh) | 一种网络监控方法及装置 | |
CN113554360A (zh) | 一种输电线路运行状态可视化管理方法、系统及存储介质 | |
CN105719195A (zh) | 智能变电站事件序列分析的步渐式表达方法及系统 | |
CN107659560A (zh) | 一种用于海量网络数据流日志处理的异常审计方法 | |
CN107577769A (zh) | 一种计量专业数据的挖掘方法及系统 | |
CN109710666A (zh) | 一种对串口通讯的实时数据监测方法 | |
CN110851317A (zh) | 一种预测存储设备iops性能数据的方法、装置、设备及存储介质 | |
CN110365659A (zh) | 一种小样本场景下的网络入侵检测数据集的构造方法 | |
CN106649765A (zh) | 基于大数据技术的智能电网全景数据分析方法 | |
CN106817262A (zh) | 一种日志分析装置 | |
CN108803538A (zh) | 一种基于时序数据库的工厂监测系统与方法 | |
CN116204846B (zh) | 一种基于可见图的配电网传感器数据异常快速定位方法 | |
CN112612360A (zh) | 一种基于vr技术的三维可视化设备监控系统及方法 | |
CN110032508A (zh) | 功能驱动程序测试方法、终端设备及存储介质 | |
CN110287256A (zh) | 一种基于云计算的电网数据并行处理系统及其处理方法 | |
CN110209903A (zh) | 一种基于大数据的工业互联云平台系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190503 |