监控软件批处理命令设计
2013-10-16白侃
白侃
(河北远东通信系统工程有限公司河北石家庄050081)
1 引言
随着工业化技术的发展,越来越多的生产工具、设备和仪器都具有与计算机的通信接口,操作员可以通过计算机远程操控设备和仪器完成许多工作。但因为计算机的远程控制命令比较复杂,通常需要经过培训的专业技术人员才能操作,许多企业都开发出了相应的计算机软件来实现对设备和仪器的远程控制。
若一个系统中有许多不同的设备和仪器,这些设备和仪器需要协同工作,若每个设备有一套软件进行控制会使工作变的很繁杂且容易出错。若将不同设备和仪器的主要功能集成到一个软件中,将许多监控单命令根据不同情况封装成不同的脚本命令,在不同情况下直接调用脚本命令既可快速而准确的更改设备参数。通过计算机软件可轻松的实现对各种命令的封装、存储和执行,从而达到一键控制设备的操作。
2 监控软件概述
计算机通过硬件接口[1](如串口、并口、USB 口或网口)与设备和仪器连接,监控软件通过专用的协议实现对设备、仪器的控制和状态查询[2]。
监控软件与设备和仪器通信的命令大致分为4 类,查询命令、查询响应、控制命令和控制响应。查询命令还可分为单查询命令、多查询命令和全查询命令,控制命令可分为单参数控制命令和多参数控制命令。通信协议[3]一般由起始字节、设备类型、设备地址、命令类型、命令码、校验和结束字节组成。
3 脚本命令设计
脚本命令是由多个单参数控制命令或多参数控制命令按一定顺序组成的一组命令序列,操作员可根据不同情况编辑不同的脚本命令,当需要对某情况进行处理时只需调用相应的脚本命令就可实现所有命令的一次下发,计算机软件根据预先编辑的顺序和执行条件逐条执行相应命令,判断各命令是否执行成功可以,并可对执行情况进行采取相应的措施。采用脚本命令方式进行远程控制可以节省很多的操作时间,降低操作可能引起的失误。
3.1 脚本命令组成
脚本命令由脚本命令编号、脚本命令类别和脚本命令说明组成[4],每个脚本命令可包含多个单命令。脚本命令编号用来唯一标识一个脚本命令;脚本命令类别用来对脚本命令归类;脚本命令说明描述本条脚本命令的功能[5]。脚本命令各部分说明如表1 所示,脚本步各部分组成如表2 所示[6]。
表1 脚本命令组成
表2 脚本步组成
3.2 脚本命令存储
目前常用的存储方式有数据库存储[7]、XM L 文件存储和配置文件存储。数据库适合存储大数据量的数据,存取速度快,但对实现方式比较复杂;配置文件存储方式实现简单和灵活,但不适合存储大量的数据;用XM L 文件格式既能灵活和简单的存取数据,又可实现较大数据量的存储[8]。
结合脚本命令的特点,结构复杂,数据量不大,综合考虑以上3个存储方式,选择XM L 文件存储方式较为合适。若脚本数量很多且每个脚本中步数很多的话,会造成XML 文件非常庞大,此时可分成多个XML 文件存储,一个主文件用来存储脚本的主要信息(标识、类别和说明),每个脚本中的步以脚本标识为文件名另存储一单独XML 文件[9]。此方法既能方便存取文件内容,又可轻松的对某脚本进行检索而不用打开无关的脚本文件。
3.3 软件界面设计
软件界面设计分为脚本编辑界面和脚本执行界面2 部分。脚本编辑界面分脚本信息编辑区和脚本步信息编辑区2 部分,主要实现脚本信息显示、脚本步显示、脚本及脚本步的编辑操作等,界面组成各功能描述如下[10]:
①脚本信息列表:以列表方式显示脚本内容,包括脚本标识、脚本类型和脚本描述,单击某一条脚本内容在"脚本步信息列表"中显示该脚本中包含的步信息;
②脚本步信息列表:以列表方式显示某脚本中所包含的所有步,包括步编号和步描述;
③新建脚本按钮:弹出"新建脚本"对话框,可输入脚本标识、脚本类别和脚本描述,确认后保存到XM L 文件;
④修改脚本按钮:弹出"修改脚本"对话框,可修改脚本类别和脚本描述,确认后保存到XM L 文件;
⑤删除脚本按钮:从XM L 文件删除选中的一条脚本信息;
⑥调用脚本按钮:调用该脚本,逐条执行该脚本中各步的命令;
⑦添加步按钮:在选中的脚本末尾添加一条新步,弹出"添加步"对话框,可输入步描述、命令码和控制成功响应码,确认后保存到XM L 文件中;
⑧修改步按钮:弹出"修改步"对话框对步的内容进行修改,可修改步描述、命令码和控制成功响应码。确认后保存到XM L 文件中;
⑨删除步按钮:从XM L 文件删除选中的一条脚本步信息;
⑩移动步按钮:更改步的执行顺序,弹出"移动步"对话框,可输入要移动到的序号,确认后将修改保存到XM L 文件中。
选中"脚本信息列表"中的一条脚本,鼠标单击"调用脚本"按钮弹出脚本调用界面,脚本调用界面分调用信息显示区和调用控制区,界面组成功能描述如下:
①当前执行脚本列表:以列表方式显示正在调用的脚本各步的执行情况,包括步编号、步描述和执行状态,执行状态可选显示为执行成功、执行失败、正在执行和未执行4 种状态;
②暂停执行按钮:暂停执行正在执行的脚本,单击后按钮名称改为"继续执行",单击"继续执行"按钮继续从当前步执行;
③中止执行按钮:中止执行正在执行的脚本;
④重新执行按钮:重新从第1 步开始执行脚本。
3.4 扩展设计
对于一些复杂的系统,单独执行一系列的控制操作往往不能满足要求,此时可加入一些约束性的判断,如在每一步开始执行前判断是否具备执行条件,若不具备执行条件时如何处置等[10]。常用的判断情况如表3 所示。
表3 执行情况判断处理
4 仿真验证
4.1 仿真环境
验证环境采用W indow s XP 操作系统,开发平台采用M icrosoft Visual C++6.0[11],计算机采用目前市场上主流台式机配置即可,基本硬件配置主要要求如下:CPU 为2 GMHz,内存1 GB 以上,硬盘100 G 以上。
4.2 仿真方法
为使验证结果尽量与实际环境相符,可通过编写模拟软件的方式代替设备、仪器的接口,编写对应的脚本以验证软件的批处理功能和存储能力。验证过程如下:
①通过脚本编辑界面编辑超过10 000 步的脚本100个;
②随机修改脚本或步,移动步的顺序;
③调用不同的脚本,同时让模拟软件随机回复成功、失败响应或不响应;
④脚本调用界面正确按顺序执行相应步,并显示执行结果。
4.3 验证结果
通过模拟软件的验证,当每个脚本的步数为10 000 步时,XML 文件大小约为2.3 M Bytes,软件打开无明显卡顿现象;脚本执行过程可正确执行所有命令并显示每条命令的执行结果。
5 结束语
在普通的设备监控软件中引入"脚本命令"的设计,将单一设备的监控软件模式扩展到面向工作流程的多设备监控模式。加入执行判断的处理,可满足一般大型系统的应用。通过模拟软件验证及在工程中的实际应用,用此方式远程控制设备、仪器完全可行,并能实现一些较复杂的逻辑关系判断处理,对于提高生产效率、减少操作失误有很大帮助。
[1]丰继林,刘庆杰.计算机网络工程与实践[M].北京:清华大学出版社,2005.
[2]钱 能.C++程序设计教程[M].北京:清华大学出版社,2001.
[3]蔡 阳,孟令奎.计算机网络原理与技术[M].北京:国防工业出版社,2005.
[4]谭浩强,李凤霞,薛静峰,等.Visual C++6.0 实用教程[M].北京:电子工业出版社,2001.
[5]孙 皓.Visual C++范例大全[M].北京:机械工业出版社,2009.
[6]严蔚敏,吴伟民.数据结构(C 语言版)[M].北京:清华大学出版社,2002.
[7]LIPPMAN S B.Essential C++(中文版)[M].侯捷,译.武汉:华中科技大学出版社,2009.
[8]DEITEL H M,DEITEL P J.C++大学教程[M].北京:电子工业出版社,2009.
[9]LIPPMAN S B,LAJOIE J.C++Primer(中文版)[M].北京:中国电力出版社,2001.
[10]杨正甫.面向对象分析与设计[M].北京:中国铁道出版社,1997.
[11]KRUGLINSKI D J.Visual C++技术内幕[M].北京:清华大学出版社,1997.