- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于传感器的远程设备知识获取系统的设计与实现.doc
基于传感器的远程设备知识获取系统的设计与实现
摘 要:越来越多的企业根据生产工作的需要,在某些特定场所部署了一些无人值守的远程设备,以实现数据采集、告警、控制与知识发现等功能。本文提出了一种远程设备知识获取系统的设计与实现方式,该方式具有广泛的适用性。
关 键 词:远程设备;知识获取;多线程服务器
1.引言
随着科学技术的发展,越来越多的现代化设备应用到生产领域中。在显著提高企业的生产效率的同时,也给设备的维护带来很多困难。生产线上关键生产设备的知识获取将对企业的生产力产生重要的影响。目前远程设备知识获取技术的主流是应用Internet技术,在TCP/IP协议和WWW规范的支持下,合理组织软件结构,使客户端通过访问网络服务器来迅速获取自己权限下的知识并及时做出响应。[1]
本文所设计的远程设备知识获取服务器系统可通过PC机对多台基于传感器本体的远程设备进行知识获取。本系统集合了总控服务控制、远程实时管理与日志发布等多项功能,涵盖总控服务器与传感器之间串行通信程序编写、远程控制程序编写、SQL数据库操作与管理、WEB发布等方面。
2.远程设备知识获取系统的体系结构设计
2.1系统的拓扑结构
远程设备上安装的传感器通过无线信号发射器,将获取的知识通过无线通信基站发送给总控服务器。服务器在接到数据后,通过知识产生算法,将知识存入知识仓库。工作人员通过监控终端远程实时获取远程设备的知识。系统拓扑结构图如图1所示。
2.2 系统的工作流程
远程设备知识获取系统的工作流程如图2所示。图2中①表示远程设备上的传感器本体将采集到的数据发送到总控服务器;②表示知识产生算法根据接收到的数据生成知识并存放到知识仓库中;③表示工作人员可以通过Internet远程访问设备知识信息;④表示工作人员可以通过远程终端将控制命令发送给总控服务器;⑤表示总控服务器通过无线通信基站向远程设备发送控制信号。[2]
3.远程设备知识获取服务器的设计与实现
3.1多线程服务器设计
支持并发访问的服务器的实现方式有两种:基于进程和基于线程。由于创建进程的代价要高于线程,并且进程之间的数据共享和通讯机制较复杂,因此基于线程的方式效率更高。但是如果采用对于设备的每一次请求创建一个线程的方式,那么在控制设备较多的情况下,线程频繁创建和销毁的代价是很高的。如果采用线程缓冲池的设计,在接收到设备请求后,随机地选取一个空闲线程响应设备的请求,则可以得到较快的响应速度和较高的效率。[3]多线程服务器体系结构如图3所示。
3.2通用缓冲池的具体实现
数据缓冲池采用先进先出的存取策略,使用一个队列对象来实现。线程缓冲池使用一个链表类实现,以方便地创建和注销线程。每个线程用一个Handler类的实例为每个设备提供服务。链表中每个节点是一个线程类ServerThread的实例,保存该线程的线程号和指向下一个ServerThread类的实例的引用,ServerThread类继承Thread类。这样设计的缓冲池,具有通用性,在设计具体的应用时,可以根据不同的需要创建新的Handler类的子类,即可对不同设备提供不同的服务。基于数据缓冲池和线程缓冲池的实现的服务器,其核心算法的Java语言实现如下所示:
class ServerThread extends Thread{
private static final int MAX_NUMBER=15;
private DataPool dataPool = DataPool.getAnInstance();
private ThreadPool threadPool = new ThreadPool(MAX_NUMBER);
@Override
public void run() {
while (!isShutdown) {
if(!isPaused){
try {
Data
data = dataPool.getFirstData();
Handler handler = new Handler(data)
threadPool.execute(handler);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
4.结束语
随着企业设备信息化程度的提高,远程设备知识获取系统的研究与运用使得对智能生产设备的监控管理工作变得更加方便,并促进企业生产效率的提高。随着移动互联网技术的不断发展和普及,远程设备知识获取技术必将成为企业生产过程中的一种必不可少的管理监控
文档评论(0)