- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小型工业监控软件实时数据库设计与实现
小型工业监控软件实时数据库设计与实现
摘要:提出了一种面向小型工业监控软件的实时数据库解决方案。在Visual ??C++??6.0编程环境下,采用ADO技术与多线程技术解决数据实时存储与处理的问题,并以法国施耐德公司的Modbus现场总线设备对试验平台进行试验运行,其性能稳定、运行可靠。
关键词:实时数据库; 监控软件; ADO; 多线程
中图法分类号:TP311.13文献标识码:A
文章编号:1001-3695(2006)09-0198-03
目前,随着计算机技术、通信技术及现场总线技术的快速发展,企业为了提高生产效率和降低生产成本,增强企业的安全运行系数,广泛地使用了计算机技术、现场总线技术对工业生产进行改造和优化。在一些不太复杂且相对较小的工业系统中,采用大型工业组态软件与大型的实时数据库系统,将导致工程成本大幅提高。面对这一问题,我们提出一种面向小型工业监控软件的实时数据库解决方案。随着Windows系统的普遍使用,很多计算机控制系统的上位机大多使用的是Windows操作系统,采用Windows编程。Visual??C++是Microsoft公司推出的面向对象的软件开发工具,其功能强大,集成的MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的Wizard工具,可以很快地建立应用程序,大大简化了应用程序的设计过程。Visual??C++还提供了多种数据库访问技术,如ODBCAPI,MFCODBC,DAO,OLEDB,ADO等。??
1设计方案??
1.1所涉及的技术简介??
在这一方案中我们所采用的技术主要有Microsoft公司开发的数据库应用程序的新接口ADO(ActiveDataObject)技术;另外还采用了Visual??C++6.0的多线程编程技术,用来解决数据库的多事务调度与并发处理问题。??
(1)ADO技术简介??
ADO技术是建立在OLEDB之上的高层数据库访问技术。它基于COM(ComponentObjectModel),具有COM组件的诸多优点,可以用来构造可复用应用框架,支持多语言,能够访问关系数据库、非关系数据库及所有的文件系统。另外还具有远程数据服务(RemoteDataService,RDS)的特性。ADO的对象模型简化了对对象的操作,大大简化了程序编制,增加了程序的可移植性。多数情况下,我们只需要关心所要创建和使用的对象,而无须了解其父对象。在ADO中可以直接打开一个记录对象,而无须建立与数据源的连接。
ADO技术的特点如下:??
①易于使用。由于ADO是高层应用,具有面向对象的特性,不必先建立连接,只需直接构造即可。??
②高速访问数据源。ADO技术基于OLEDB,所以它也继承了OLEDB访问数据库的高速性。??
③可以访问不同的数据源。ADO技术可以访问关系数据库和非关系数据库的所有文件系统。??
④可以用于MicrosoftActiveX页。ADO技术可以以ActiveX控件的形式出现,也可以用于MicrosoftActiveX页,简化了Web页的编程。??
⑤程序占用内存少。由于ADO技术是基于组件对象模型(COM)的访问技术,所以ADO产生的应用程序占用内存少。?ィ?2)多线程技术??
多任务管理是操作系统的精华。所谓多任务就是有多个工作同时运行。但CPU只有一个,因此就采用分时多任务的方式。每个任务只运行一小段时间,通过操作系统的调度机制来决定下一个CPU的使用权应该交给哪一个任务。目前所说的多任务大都是指多线程(MultiThreads)的方式。多数支持多线程的操作系统一般均支持五种线程状态,即睡眠状态(Dormant)、准备运行状态(Ready)、运行状态(Running)、等待状态(Waiting)和延时状态(Delayed)。图1描述了这些状态之间互相切换的情形。??
Windows2000操作系统支持两种类型的多任务,即基于进程(Process)的多任务和基于线程(Thread)的多任务。我们所采用的是基于线程的多任务,每个线程均有自己的堆栈和CPU寄存器,其执行由系统根据优先级来调度执行。基于线程的多任务允许同一个程序的两个或多个部分同时执行,这样增加了程序的维数,提高了程序的执行效率。另外采用线程同步技术,防止了两个或多个任务同时操作数据而引起的错误。??
1.2方案??
我们所采用的试验平台为法国施耐德公司的Modbus现场总线设备;下位采用的是Quantum系列的CPU与其他智能板卡,通过以太网模块与上位监控机相连;上位采用Visual??C++6.0与SQLServer20
文档评论(0)