一种数采系统人机接口任务调度方法与流程

文档序号:12719080阅读:216来源:国知局
一种数采系统人机接口任务调度方法与流程

本发明涉及人机接口与人机功效领域,尤其是涉及面向一种数采系统人机接口任务调度方法。



背景技术:

数据采集(Data acquisition,DAQ),是广泛应用于机械、信息、电子、电气、计算机、建筑、航空航天、化工、交通运输、船舶舰艇、农业、生物、医学等工程领域的获取目标对象(设备、系统、组件、零件)状态的必要手段。DAQ一般利用传感器或专用仪器,通过接触或非接触的方式,采集目标对象的物理信号。物理信号的输出一般以电信号形式存在,进行放大、滤波等处理后,输送至计算机系统进行分析。

基于计算机或者其它专用测试平台的测量软硬件产品来实现灵活的、用户自定义的测量系统被称为数据采集系统,简称数采系统。数采系统将目标设备的物理信号如温度、水位、风速、压力、速度、电流、电压、通量、流速等,转换为电讯号,一般以电压信号为主。所得到的电信号根据其测量原理不同,可以是模拟量,也可以是数字量。数采系统的核心任务是针对目标对象进行采样,即隔一定时间(称采样周期)对同一点数据重复采集;采集的数据可以是瞬时离散值,也可是某段时间内的一个特征值;一个采样序列所包含的数值个数被称作采样点数。当目标设备由于特殊技术要求或特殊工况,致使其目标物理信号无法直接获得,这时可以通过测量其它相关物理量进行目标物理量换算,实现目标物理量的无传感测量。

随着计算机技术、信息技术与传感器技术的不断发展,具有多路采集、并行处理能力的数采系统成为数采系统的主流,且技术要求不断提高。多通道的实时数据采集、处理与显示是现代工业监测技术必须具备的功能,而且同时要求各个功能界面之间能够实现无时间间断的切换,并能够根据用户的具体要求实现历史回放与实时数据的对比分析以及大数据量的存储等操作。多路、并行数采系统一般以专用嵌入式计算机系统出现,具有独立的、运算能力与事务处理能力较强的嵌入式中央处理器,且需要功能较完善的人机接口进行功能操控与采集任务动态切换。

针对上述技术要求,传统的人机接口及其调度方法难于适应多路、并行数采系统所要求的大数据量并发任务处理要求,因此,研发一种数采系统人机接口任务调度方法非常有必要的。



技术实现要素:

为了克服现有的数采系统人机接口任务调度存在的难于适应多路、并行数采系统所要求的大数据量并发任务处理要求的不足,本发明提供一种有效适应多路、并行数采系统所要求的大数据量并发任务处理要求的数采系统人机接口任务调度方法。

本发明解决其技术问题所采用的技术方案是:

一种数采系统人机接口任务调度方法,采用并发可抢占式线程调度方法,实现对6个数采系统线程任务的调度,处理流程如下:

①系统启动,由数采系统进程产生主线程,获取数采系统实时数据镜像,等待用户任务请求;

②响应用户任务请求,进行参数初始化操作,然后派生6个数采系统线程任务;所述的参数初始化操作是对采样点数、采样频率、采样通道、缓存空间、当前时间、目标编号参数进行初步设置;所述的数采系统线程任务在主线程包括静参线程任务、时域线程任务、频域线程任务、柱图线程任务、开关线程任务与存储线程任务;

③得到用户请求的数采线程任务具有最高优先级,在系统前台运行,其它任务在后台并行运行;

④根据用户请求的变化,各线程任务优先级实现轮转,切换前台会话。

进一步,所述的静参线程任务,接收数采主线程实时数据,进行静态参数计算,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制静态参数变化曲线;

所述的实时数据根据其数据量将其分为批量数据、连续数据与开关数据,所述批量数据包括音频、视频、振动和辐射,所述连续数据包括压力、流量、温度、电流、电压和功率,所述开关数据包括布尔数据;

所述的静态参数计算是将批量数据与连续数据以采样点数为单位,分割成等量数据序列,然后对数据序列进行静态统计参数提取;所述的静态统计参数主要包含序列方差、序列均方根、序列偏度、序列峭度与序列极值。

所述的消息映射机制为面向数采系统人机接口的实时会话切换方法,采用信号-槽一一映射渠道,避免映射回调函数产生的复杂函数指针,实现面向用户的对象间透明通信。

静参线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的静参数据存入系统数据库。

所述的静态参数变化曲线的纵坐标为统计参数无量纲幅值,横坐标为观察时间段;所述的观察时间段的计算方法为:T=B·N/f,其中B为缓冲区大小,单位Byte,N为采样点数,f为采样频率,单位Hz。

更进一步,所述的时域线程任务,接收数采主线程提供的批量数据,进行数字滤波处理,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制时域数据变化曲线。所述的数字滤波处理步骤为:

1)将批量数据以采样点数为单位,分割成等量数据序列;

2)将音频、视频数据看作稳定信号序列,进行中值滤波处理,消除抖动数据元素;

3)将振动、辐射看作非稳信号序列,进行抗混频与有限冲击响应滤波,消除冲击信号成分。

所述的消息映射机制与静参线程任务中的映射机制相同,其它线程任务也应用此机制;所述的时域数据变化曲线的纵坐标为时域数据物理幅值(速度、加速度、数据通量),横坐标为采样点数数列编号。

时域线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的时域数据存入系统数据库。

再进一步,所述的频域线程任务,接收数采主线程提供的批量数据,进行数字滤波、离散傅里叶变换处理,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制频域数据变化曲线;所述的离散傅里叶变换处理步骤为:

Step1将批量数据以采样点数为单位,分割成等量数据序列,进行数字滤波处理;

Step2将经过滤波的音频、视频数据看作稳定信号序列,进行快速傅里叶变换处理,获得信号频域分布;

Step3将经过滤波的振动、辐射看作非稳信号序列,进行短时傅里叶变换处理,得到本征模态函数,获取信号中的瞬时变化分量。

所述的频域数据变化曲线的纵坐标为频域数据物理幅值(速度、加速度),横坐标为频域点数数列编号,数量为采样频率的二分之一。

频域线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的频域数据存入系统数据库。

所述的柱图线程任务,接收数采主线程提供的连续数据,进行中值滤波处理,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制连续数据柱状图。

所述的连续数据柱状图的纵坐标为连续数据物理幅值(帕斯卡、升/小时、摄氏度、安培、福特、瓦特),横坐标为连续数据分类,即压力、流量、温度、电流、电压、功率。

柱图线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的柱图数据存入系统数据库。

所述的开关线程任务,接收数采主线程提供的开关数据,直接创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制开关数据分布图;开关线程任务处理对象为布尔数据,数据量较小,与存储线程任务无关联。

所述的开关数据分布图以矩阵公告板形式向用户展示开关数据状态;所述的矩阵公告板是将不同物理位置的开关数据进行统一编号,并已二维矩阵的形式描述开关数据。

更进一步,通过混合线程操作方法实现线程任务的内部状态转换与不同线程任务的运行切换;所述的混合线程操作方法通过信号量控制线程任务的内部转换,通过有名管道实现不同线程任务的运行切换,处理步骤如下:

第一步,线程任务被选择、唤醒后,加载信号量,进入初始化状态,使其各成员变量赋值并开辟相关内存空间;

第二步,初始化完成后,若无其它线程任务执行请求,线程任务进入就绪状态;若有其它线程任务执行请求,当前线程任务进入阻塞状态,切换至获得请求的进程任务;所述的线程任务执行请求通过有名管道传输,保证各线程任务运行的互斥与安全性;

第三步,线程任务进入就绪状态后,等待任务执行信号量;若得到任务执行信号量,则从主线程获得所需数据,完成处理、绘图等功能,任务完成后,退回初始状态;若未得到任务执行信号量,则进入线程休眠状态,原地等待;

第四步,若当前线程任务与存储线程任务相关关联,可在线程任务处理过程中接收存储线程任务信号,在后台启动存储线程任务,完成数据存储;若用户发出存储数据更新请求,则可阻塞当前存储线程任务,重新进行数据存储。

本发明的有益效果主要表现在:

1)采用并发可抢占式线程调度方法,实现对6个数采系统线程任务的调度,可实现数采任务并行、灵活处理;

2)采用信号-槽一一映射渠道,避免映射回调函数产生的复杂函数指针,可实现面向用户的对象间透明通信,提高并行任务处理效率;

3)通过混合线程操作方法实现线程任务的内部状态转换与不同线程任务的运行切换,实现不同线程任务的并行安全操控。

附图说明

图1是线程任务调度流程图;

图2是时域线程任务状态转换示意图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1和图2,一种数采系统人机接口任务调度方法,采用并发可抢占式线程调度方法,实现对6个数采系统线程任务的调度。

本发明提供的并发可抢占式线程调度方法,最多可支持32个并行任务,如附图1所示,其处理流程如下:

①系统启动,由数采系统进程产生主线程,获取数采系统实时数据镜像,等待用户任务请求;

②响应用户任务请求,进行参数初始化操作,然后派生6个数采系统线程任务;所述的参数初始化操作是对采样点数、采样频率、采样通道、缓存空间、当前时间、目标编号等参数进行初步设置;所述的数采系统线程任务在主线程包括静参线程任务、时域线程任务、频域线程任务、柱图线程任务、开关线程任务与存储线程任务。

③得到用户请求的数采线程任务具有最高优先级,在系统前台运行,其它任务在后台并行运行;

④根据用户请求的变化,各线程任务优先级实现轮转,切换前台会话。

对于本发明所涉及的6个数采系统线程任务,其具体实例内容与操作处理过程可描述如下:

(1)静参线程任务

本发明所涉及的静参线程任务,接收数采主线程实时数据,进行静态参数计算,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制静态参数变化曲线。

本发明所涉及的实时数据根据其数据量可将其分为批量数据(音频、视频、振动、辐射)、连续数据(压力、流量、温度、电流、电压、功率)与开关数据(布尔数据)。

静参线程任务处理所涉及的静态参数计算是将批量数据与连续数据以采样点数为单位,分割成等量数据序列,然后对数据序列进行静态统计参数提取;所述的静态统计参数主要包含序列方差、序列均方根、序列偏度、序列峭度与序列极值。

消息映射机制为面向数采系统人机接口的实时会话切换方法,采用信号-槽一一映射渠道,避免映射回调函数产生的复杂函数指针,可实现面向用户的对象间透明通信。利用这一机制,根据用户选择唤醒相应的绘图进行实时监测以及数据存储等任务,需要切换时结束该线程,重新选择唤醒其它任务,这使消息传递路线更为明晰,可以获得较高的并行任务处理效率。

静参线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,如附图1所示,并将当前会话窗口所描绘的静参数据存入系统数据库。

作为静参线程任务的核心任务,静态参数变化曲线的纵坐标为统计参数无量纲幅值,横坐标为观察时间段;所述的观察时间段的计算方法为:T=B·N/f,其中B为缓冲区大小(Byte),N为采样点数,f为采样频率(Hz)。

(2)时域线程任务

本发明所涉及的时域线程任务接收数采主线程提供的批量数据,进行数字滤波处理,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制时域数据变化曲线。所述的数字滤波处理步骤为:

①将批量数据以采样点数为单位,分割成等量数据序列;

②将音频、视频数据看作稳定信号序列,进行中值滤波处理,消除抖动数据元素;

③将振动、辐射看作非稳信号序列,进行抗混频与有限冲击响应滤波,消除冲击信号成分。

上述操作过程中的消息映射机制与静参线程任务中的映射机制相同,其它线程任务也应用此机制;所述的时域数据变化曲线的纵坐标为时域数据物理幅值(速度、加速度、数据通量),横坐标为采样点数数列编号。

时域线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的时域数据存入系统数据库。

(3)频域线程任务

本发明所涉及的频域线程任务接收数采主线程提供的批量数据,进行数字滤波、离散傅里叶变换处理,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制频域数据变化曲线。所述的离散傅里叶变换处理步骤为:

①将批量数据以采样点数为单位,分割成等量数据序列,进行数字滤波处理;

②将经过滤波的音频、视频数据看作稳定信号序列,进行快速傅里叶变换处理,获得信号频域分布;

③将经过滤波的振动、辐射看作非稳信号序列,进行短时傅里叶变换处理,得到本征模态函数,获取信号中的瞬时变化分量。

频域数据变化曲线的纵坐标为频域数据物理幅值(速度、加速度),横坐标为频域点数数列编号,数量为采样频率的二分之一。

频域线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的频域数据存入系统数据库。

(4)柱图线程任务

本发明所涉及的柱图线程任务接收数采主线程提供的连续数据,进行中值滤波处理,创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制连续数据柱状图。

连续数据柱状图的纵坐标为连续数据物理幅值(帕斯卡、升/小时、摄氏度、安培、福特、瓦特),横坐标为连续数据分类,即压力、流量、温度、电流、电压、功率。

柱图线程任务与存储线程任务关联,在用户提出数据在线存储请求后,通过消息映射机制唤醒存储线程任务,在后台启动存储线程任务,并将当前会话窗口所描绘的柱图数据存入系统数据库。

(5)开关线程任务

本发明所涉及的开关线程任务接收数采主线程提供的开关数据,直接创建任务会话窗口,然后通过消息映射机制在会话窗口中绘制开关数据分布图;开关线程任务处理对象为布尔数据,数据量较小,与存储线程任务无关联。

开关数据分布图以矩阵公告板形式向用户展示开关数据状态;所述的矩阵公告板是将不同物理位置的开关数据进行统一编号,并已二维矩阵的形式描述开关数据。

本发明所提供的一种数采系统人机接口任务调度方法,通过混合线程操作方法实现线程任务的内部状态转换与不同线程任务的运行切换。

上述方案所涉及的混合线程操作方法通过信号量控制线程任务的内部转换,通过有名管道实现不同线程任务的运行切换。由于单个线程任务的运行以及状态转换过程基本相同,本发明以时域线程任务(见图2)进行相关内容描述,具体处理步骤如下:

①时域线程任务被选择、唤醒后,加载信号量,进入初始化状态,使其各成员变量赋值并开辟相关内存空间。

②时域线程任务初始化完成后,若无其它线程任务执行请求,时域线程任务进入就绪状态;若有其它线程任务执行请求,例如用户需要查看频域或静态参数数据,时域线程任务进入阻塞状态,切换至获得请求的进程任务,即频域或静参任务;所述的线程任务执行请求通过有名管道传输,保证各线程任务运行的互斥与安全性。

③时域线程任务进入就绪状态后,等待任务执行信号量;若得到任务执行信号量,则从主线程获得所需数据,完成滤波处理、时域绘图等功能,任务完成后,退回初始状态;若未得到任务执行信号量,则进入时域线程任务休眠状态,原地等待。

④因为时域线程任务与存储线程任务相关关联,可在时域线程任务处理过程中接收存储线程任务信号,在后台启动存储线程任务,完成数据存储;若用户发出存储数据更新请求,则可阻塞当前存储线程任务,重新进行数据存储。

最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1