碧波液压网 欢迎你,游客。 登录 注册

WinCE多线程编程技术在无纸记录仪中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  1 系统概述

  本无纸记录仪分为上、下位机两大部份。其中下位机数据采集模块以M68HC11E9单片机为控制中心,主要负责数据采集和控制,最多能实现同时对工业现场的16路模拟量、32路开关量、4路频率信号进行实时检测。上位机主要功能是对下位机采集的数据以各种视图模式(棒图、曲线、数字、混合模式)进行实时显示、统计分析、数据转存、参数设置等。本文主要介绍上位机应用程序开发中的多线程编程技术,上位机主要功能模块如图1。

  2 W inCE线程技术及其调度

  W inCE.NET是一个抢占式的多线程的多任务操作系统。一个进程由一个或多个线程组成,一个线程是一个执行单元,它控制CPU执行进程中某一段代码段。一个线程可以访问这个进程中所有的地址空间和资源。一个进程最少包括一个线程来执行代码,这个线程又叫做主线程。线程除了能够访问进程的资源外,每个线程还拥有自己的栈。线程主要有五种状态,分别为运行、挂起、睡眠、阻塞、终止。

  W inCE.NET进程之间无优先级之分,只将线程分为256个优先级。0优先级最高, 255最低, 0到247优先级对应于核心态线程。248到255优先级对应于用户态线程,一般分配给普通应用程序线程使用。其中251优先级是正常优先级,当用户未指定线程的优先级时,系统将给线程分配该默认优先级。高优先级的线程较低优先级的线程优先运行,同级的线程按时间片轮流运行。

  3 多线程系统设计

  虽然W inCE支持多线程,但也不能滥用线程。线程一般用于以下情形: (1)区别完成不同的任务; (2)辨别具有不同优先级的任务; (3)可将时钟作为分立线程; (4)作为CPU调节的有效方法; (5)分离并行任务的执行。并要注意划分的线程应大小合适,各线程负载相对平衡,特别是同优先级的线程。根据这些一般规律,经过对所开发系统的精心分析决定除主线程外还创建以下附加线程:

  (1)按键处理线程KeyDataThread:主要完成按键扫描,及时通知系统哪个键被按下。

  (2)时钟线程TimeThread:主要负责时钟采样。

  (3)报警线程AlertThread:如采集的数据达到报警限,将以闪烁的颜色显示采集的数据。

  (4)采样线程SampleThread:负责对16路模拟量、32路开关量、4路频率量进行实时采集。将新数据压入数据队列,并判断是否报警,如是则保存报警状态。

  (5)数据存储线程SaveDiskThread:将数据存到电子盘。

  (6)参数输出线程ExThread:将相应文件中各通道配置参数输出到软盘上。

  (7)参数输入线程InThread:将软盘上的各通道配置参数输入到相应文件中。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: 同步
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论