基于Linux的高温监测系统设计与实现

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:learn_vb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:为了解决高温监测系统在原DOS系统中不能实现多线程所造成的监测系统容量小、系统运行不稳定、CPU运行效率低、应用及修改程序不灵活等问题。基于高温监测系统V1.0的需求,从完善高温监测系统功能的角度出发,分析现今Linux的发展必然是嵌入式系统这一趋势。采用功能完善且一开始就针对实时系统,在设计之初就考虑了小巧、高性能和高效率的MiniGUI图形用户界面,提出在Linux上运用MiniGUI实现高温监测系统。
  关键词:Linux;MiniGUI;监测系统;多线程
  中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)09-11650-03
  
  Design And Implementation of High Temperature Watch And Test System Based On Linux Operating System
  GAO Ling-ling1, RUAN Lei2
  (1.Department of Computer Science and Technology, Hefei University,Hefei 230601, China; 2.Wuhan University of Science and technology Zhongnan Branch,Wuhan 432003, China )
  Abstract: In order to solve the incapability of implementing multithreading, which lead to small capability of The High Temperature Watch And Test System ,unstable running system, low running efficiency of the CPU, inflexibility of applying and amending the program ,with the original DOS Operating System. Based on the request of Version 1.0,from the point of view to get a perfect function ,we analyzed the Linux Operating System and found that the development trend is Embedded System. So we adopted the Graphical User Interface MiniGUI , aimed at the Real Time System at the first beginning, considering of the small and cunning , high capability and efficiency at the very start of the program designing. For all the above reasons ,we advanced the item that use MiniGUI to design and implement High Temperature Watch And Test System on Linux Operating System.
  Key words: Linux; MiniGUI; Watch And Test System; multithreading
  
  1 引言
  
  DOS操作系统,由于其只支持单线程,在程序设计中,只能采用查询法和中断法来实现。查询法执行过程中,CPU多数时间是在等待,造成资源的浪费。中断法在程序设计复杂时,尤其是当系统的硬件中断资源紧张时,很容易造成中断冲突。Linux具有开放源代码、内核可配置、可裁剪、可移植、可维护等特点。鉴于工业控制对实时性的要求, Linux不断地被应用于工业控制等领域。在Linux上开发图形界面,可以为用户提供友好的交互平台。MiniGUI是一个非常适合工业控制实时系统以及嵌入式系统的可定制的、小巧的图形用户界面支持系统。因此,选择了在Linux上运用MiniGUI开发高温监测系统的图形界面。以适应今后工业上对嵌入式图形用户界面轻型、占用资源少、高性能、高可靠性、可配置等特性的需求。
  
  2 系统设计策略
  
  2.1 多线程策略
  基于I/O的计算中,采用多线程程序设计可以有效的提高系统性能。只要满足计算之间在量上有明显的差异;每个计算是相互独立的。多线程技术开发的应用系统可以保证用户总是能够在一个很短的时间内完成与应用程序的交互,即响应快速的应用程序。高温监测系统具有打印系统信息、测量机房温度、超温报警、超压报警、测试设备运行状态、测试电压等功能。这些都是与I/O有关的操作,且模块之间相互独立,要求实时性强。因此为了在基于I/O计算的应用程序中,实现对CPU性能的提高;应用程序在处理大部分相互独立的计算中,提高容量;并加快应用程序的响应速度,我们采用多线程程序设计方法来实现高温监测系统。
  2.2 参数配置策略
  高温监测系统如果仅局限于监测高温系统这一单一的功能,则不能满足不断变化的系统需求,降低了代码的使用效率。因此采用了可以在程序启动之后对参数进行配置的策略,并将配置好的参数保存留待下一次开机时使用。如设置待“烤机”数量及特定的“烤机”标号、最高报警温度、最低报警温度、最高报警电压、最低报警电压、以及打印数据时间间隔。这样不但方便了用户的使用,而且增加了程序的适用范围及灵活性,用户不需要修改或者稍加修改就可以用在其他的相关领域,减少了同类功能程序的开发周期,提高了代码的重用性。
  3 系统的实现
  3.1 环境的搭建
  运行平台:8253工业主板,主频PII200MHz,32M RAM,32M DOM,ISA总线接口,网口,32/24 I/O板两块,研祥A/D板一块,TOKY温控表,一台EPSON并口打印机。应用NC110或其他体系结构。
  软件平台:Linux kernel 2.4.20 MiniGUI1.3
  
  3.2 系统的实现
  3.2.1 显示视窗的实现
  Thread版本运行在多线程模式下,它的许多模块都以单独的线程运行;同时,还利用线程来支持多窗口,即每个主窗口对应于一个单独的线程,每个线程有一个消息队列,一个线程向消息队列中发送消息,而另一个线程从这个消息队列中获取消息,同一个线程中创建的窗口可共享同一个消息队列。MiniGUI利用消息队列多线程之间的同步机制,实现客户/服务器机制,建立基于线程的消息传递和窗口管理机制。
  窗口功能提供字符操作界面。用MiniGUI实现窗口、对话框、编辑框、按纽、菜单等图形功能。共六个窗口分别为:显示64台CNC状态;根据输入参数确定显示多少台数控的运行信息,如只对10台CNC进行“烤机”,那么只显示10台CNC的信息;显示最近一个小时的温度及电压曲线;显示整个“烤机”过程的温度,电压曲线;在编辑框中显示当前温度、当前电压,目前最大温度、最小温度,最大电压、最小电压,显示系统提示,当前时间,系统开机运行以来,到目前为止运行时间等。
  3.2.2 系统功能模块实现
  采用多线程的方式,使得完成各个功能模块的线程可以在互相不干扰的情况下独立的进行。通过全局变量和全局数据结构与主程序进行数据交换。由于Linux对I/O板和A/D板不提供驱动,需要编写二个驱动程序,将其加载到Linux的/dev目录下[1]。驱动程序的读操作函数定义如下:
  ssize_t scullc_read (struct file *filp, char *buf, size_t count,loff_t *f_pos)
  本系统共使用了四个线程。第一个线程完成的功能,是采集智能温控表数据。由于温控表连接的是串口,Linux提供对串口的驱动程序。我们需要与串口通信,设置端口、数据位、波特率、奇偶校验、停止位等属性。第二个线程,用来控制打印机的输出。Linux同样提供并口驱动程序。应用并口打印机定时、准确打印出当前系统状态。系统的开始运行时间、系统结束时间、在系统出错时,立刻打印出当前系统时间和出错系统的编号。需要注意的是,Linux下的打印机不能直接接受命令打印,而是需要一个打印队列,按照队列中的先后次序打印信息。第三个线程完成的功能,是从两块I/O板采集64个输入点的数据,根据从输入点采集回来的数据,编写程序以判断当前该点状态是否正常。并在满足温度和电压报警值的情况下,向I/O板发出报警信号。第四个线程完成的功能,是从一块A/D板采集数据,并转换成电压值,为了减小测量值和真实值之间的误差,加入了电压值增补。 四个线程的创建[2]:
  pthread_t t1,t2,t3,t4,t5,t6;
  pthread_create(
其他文献
《德主刑辅》是由纪潇雅、张琳、吴洛婵编著,法律出版社出版的一部研究儒家法律思想的著作。全书分为四个部分:儒家法律思想的历史背景、儒家法律思想的基本主张、儒家法律思想的代表人物、儒家法律思想的历史分析。  第一部分是“儒家法律思想的历史背景”。第一节分析了儒家法律思想的诞生以及先秦时代儒家法律思想产生的背景。第二节分析了秦汉时期的儒家法律思想。秦朝社会的主要特征是“礼”与“法”的对立,汉朝社会的主要
摘要:C语言是一门基础性的计算机语言,对于初学者来说也是较难学的课程。探索出有效的教学方法,是激发学生学习兴趣,提高学生学习效率,培养学生解决实际问题能力的一种重要手段。  关键词:C语言;以问题为中心;问题表征;归纳法  中图分类号:G642文献标识码:A文章编号:1009-3044(2008)18-21ppp-0c    Discussion of Effective Teaching Met
陈红  编者按  为了落实语文课程标准要求,弘扬中华优秀传统文化,统编小学语文教材加大了文言文的比重。对于小学阶段的学生而言,学习现代文还存在困难,学习文言文就显得更加不易。因此,文言文大量进入教材,对于小学语文教师来说无疑是一种挑战。如何系统整合文言文的教学价值,如何选择合理的文言文教学策略,帮助学生推开文言文学习之门,是小学语文教师面临的重要课题。  本期,江苏省连云港市连云区教育局教研室周新
【摘要】本文试图通过分析国际阅读素养进展研究项目PIRLS2021关于数字阅读素养的理论界定与测试方式,为改进我国小学生数字阅读教学提供针对性策略。研究发现,数字阅读素养的内涵根源于纸质阅读素养,但阅读材料发生了明显变化;其外延同时包括获得信息的浅阅读与深入理解的批判性阅读。从测试方式上看,PIRLS数字阅读素养测评基于自适应测试技术,利用多文本与动态文本,为学生营造了真实、交互的测试情境。由此为
摘要:随着一些高等院校的合并,教学管理信息系统存中在着异构数据库集成的问题;异构数据库集成技术是目前解决多个不同数据库集成的通用方法,包括数据转换程序、中间件技术和多数据库系统三种。本文在异构数据库的基本概念的基础上,给出了教学管理综合数据库的异构方案,并讨论了对其实施集成时需要考虑的若干问题。  关键词:异构数据库集成;中间件;多数据库系统;数据转换  中图分类号:TP311文献标识码:A文章编
摘要:本文阐述的是基于JSP的网络购物中心的设计和开发过程。本文首先说明系统中应用的JSP、Tomcat、SQL等各项技术,并阐述了网络购物中心的设计理念。接着,给出了网络购物中心的设计方案,说明系统如何实现购物车管理,订单管理等前台功能以及商品管理,用户信息管理等后台功能。  关键词:JSP;网络购物中心;数据库  中图法分类号:TP311文献标识码:A文章编号:1009-3044(2008)0
摘要:由于UML很好地实现了用户、开发人员、设计人员及管理人员之间的信息传递,提高了相互间的协作能力,使软件开发的工程化程度大大提高。基于UML对软件进行分析和建模,很好地体现了这一点。  关键词:UML;面向对象建模;图书管理系统;高校教材管理系统;学籍管理系统  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)18-20000-00    Object-orien
我国传统礼仪文化源自商周时期,在朝代更替的过程中有着不同程度的创新与发展,在现代更是以系统化理论为表征,影响着人们的价值观念和道德行为准则。中华上下五千年的传统礼仪,不仅是人与人之间交往的准则,也是一个国家繁荣与稳定的基石。“不学礼,无以立”“国家无礼不宁”,体现出我国传统礼仪文化与国家富强具有一体性的特点。同时,传统礼仪在指导人们的思想行为方面具有重要意义,能帮助人们提升综合修养,强少年之志,具
摘要:Portal(门户)是企业目前最主要的网络构架形式,随着企业信息化建设的深入发展,portal技术得到广泛应用。本文从企业门户(Enterprise Portal)概念入手,在分析飞行试验院实际业务需求的基础上,从园区网功能设计、利用企业门户思想进行系统整合两个方面,介绍企业门户技术在园区网建设中的应用。该文重点阐述如何用门户技术实现飞行试验各个系统的整合。  关键词:门户;信息整合技术(E
语文教育家叶圣陶先生指出:“读整本的书,不仅可以练习精读、速读,有利于养成好的读书习惯,还可以进行各种文学知识与文体阅读的训练,学生阅读的心理会更加专一,阅读效果也会更好,它可以收‘一石多鸟’之效。”《义务教育语文课程标准(2011年版)》也强调要重视培养学生广泛的阅读兴趣,扩大阅读面,增加阅读量,提高阅读品位;提倡少做题,多读书,好读书,读好书,读整本的书。整本书承载着丰富的文化信息,学生在阅读