基于计算机监控的专业平台课综合实践研究
摘要:本文提出以计算机监控技术为主线,综合汇编语言、C 语言、Visual Basic 6.0、计算机接口技术、计算机网络、数据库系统等专业平台课的内容,将各种理论知识应用到实际的项目中,从不同的角度实现相关技术,从而强化理论与实践的结合,熟练掌握计算机监控技术,有效提高就业率和薪资水平。
关键词:计算机监控;仿真软件;综合实践;教学模式
1引言
目前,我国计算机专业的教学模式主要还是从基础理论到专业理论,实践环节较少,这就导致了学生厌学,眼高手低,本科毕业连基本的编程技能都不具备,从而,在就业市场上一败涂地。这些效果又使在校学生更加沮丧,进一步影响其学习的积极性。中国要发展IT产业,必须改革计算机专业的教学模式。
印度是一个贫穷落后的发展中国家,软件业的成就却举世瞩目。印度的软件人才主要是通过职业教育而不是高等教育来培养的,从而大大降低了培养成本和使用成本,缩短了培养周期。其教学不是按从基础理论到专业理论,再到实习的路径,而是把顺序颠倒过来,先从做开始,在做的过程中,学生如遇到问题,再以此问题为基点去学习专业理论。学员一入学,便要做项目,培训中心把所承接的大项目分解成一个个小项目,然后要求每个学员完成一个小项目,让学员在完成项目的过程中学习。培训中心的学员最后一年都在公司实习,积累工作经验,同时也给企业提供深入了解雇员的机会。
我们借鉴印度发展软件业的成功经验,结合多年从事计算机监控的项目经验和从事教学的心得体会,提出一种“趣味实用程序的演示+知识点+趣味实用程序的模仿+综合训练+学术论文”的教学模式[1],引导学生充满兴趣地钻研技术,最后逐渐成为计算机监控方面的专家,并熟练掌握计算机专业的基础理论与编程语言。
2计算机监控技术的特点与主要技术
计算机监控系统是以监测控制计算机为主体,加上检测装置、执行机构与被监测控制的对象共同构成的整体。在这个系统中,计算机直接参与被监控对象的检测、监督和控制。检测主要是通过传感器和相应的输入模块来取得被监控对象
的状态数据,监督主要是对状态数据进行分析后给操作员提供手动操作的参考,控制则是手动或按照一定的策略自动地对被监控对象执行相应的操作。
传统的检测与控制所使用的模块一般采用RS-232接口,因为该接口简单可靠。随着网络技术的发展,采用网络接口RJ-45的模块逐渐增多。监控用的计算机一般称为主控机(或上位机),各种检测与控制模块或嵌入式系统一般称为受控机(或下位机)。主控机软件一般采用高级语言(如Visual Basic 6.0,简称VB)进行开发;受控机软件没有软件界面,仅实现相关的逻辑功能,一般采用C语言、汇编语言等进行开发,通过调试后,再下载到受控机系统中。主控机通过RS-232/RJ-45接口与受控机通信,进行数据的查询与命令的发送。各种控制策略、设备的状态等的保存,都需要使用数据库技术。因而,实现一个计算机监控系统,需要综合使用诸多计算机的基础理论与编程语言:计算机接口技术、计算机网络、数据库系统、VB与C语言等,利用计算机监控技术作为计算机专业实践训练的主线,具有很高的操作性和极大的意义。
3仿真软件的设计
学习计算机监控技术,需要购买相应的硬件模块,从而在一定程度上制约了该技术的推广。本文提出了一个基于RS-232的仿真模块的可视化模型,在此基础之上设计了可视化的仿真数字I/O模块,模拟量输入模块,并设计了对应的通信协议。主控软件与仿真模块之间的通信通过虚拟串口实现,从而,达到在计算机房零成本搭建计算机监控系统平台的效果。
RS-232/RJ-45协议转换器可以用于实现计算机监控系统的远程处理,也可以用于将普通的输入模块转换为仿真的网络传感器。
3.1仿真模块的可视化模型
基于RS-232接口的仿真模块的可视化模型如图1所示。模块表示区用来模拟实际的模块,对于数字量输入模块(Digital Input Module,DIM),输入开关根据设定的时间随机闭合/打开,并通过图形表示;对于数字量输出模块(Digital Output Module,DOM),用有源电路回路表示输出开关的状态,例如,开关闭合,播放铃声或灯亮等;对于模拟量输入模块(Analog Input Module,AIM),用图形表示检测回路,并在检测点旁边显示温度的原始数据。每个模块都设置数据接收和发送指示灯,显示数据收发的状态。
功能按钮区为系统设置按钮和关闭程序按钮。系统设置主要完成串行通信的
端口号、波特率、校验码、结尾码、模块地址等的设置,对于DIM模块,还需要设置随机切换输入开关所需要的时间段。
协议描述区显示本仿真模块适用的通信协议,包括协议的格式及其具体的含义。
数据接收区显示接收到的主控程序发送的原始数据包,以字节形式显示;数据响应区则发送对应的响应数据包,也是以字节形式。
利用此可视化模型设计的软件界面,使用方便,动态效果好,仿真模块的开关状态、温度数据、数据收发状态以及传输的数据均一目了然。与实物模块相比,不需要物理连线,也不需要信号发生器与万用表来产生信号和测量状态与数据,对于通信协议,也不需翻阅手册。
3.2通信协议的设计
相同类型(或厂家)的模块一般采用相同的前导字符,EOT是一个特殊的ASCII字符(0x04),常被用做控制字符,这里的仿真模块全部采用EOT作为前导字符。
计算机所连接的I/O模块比较多,CPU为了与连接的设备相互沟通,必须给设备设置一个编号,从而使CPU可以通过每个设备独一无二的编号与不同的设备进行沟通,这个设备编号就是地址,用ADD表示,地址占用一个字节。
功能码主要包括读功能码(用RD表示)和写功能码(用WD表示)。RD用字符“R”(0x52)表示,WD用字符“W”(0x57)表示。
BCC为数据块校验码,一般有Xor、Add、CRC、CheckSum几种。Xor与Add分别是异或与累加和,占一个字节的长度;CRC与CheckSum分别是循环冗余校验码与TCP/IP协议簇中所使用的累加求补校验码,分别占两个字节。这里的仿真模块提供4种数据块校验方式,根据程序设置进行选择。
不少模块以回车CR(0x0d)作为结尾标志EM(End Message),而TCP/IP协议簇(如HTTP,POP3等)较多地采用CRLF(0x0d0a)作为结尾标志,这里的仿真模块也提供这两种结尾标志,根据程序设置进行选择。
协议举例。读取仿真模块状态的命令协议如图2所示,其中,ADD的范围为1至255,可由程序进行设置,这样,一台主控设备可以连接多达255个虚拟模块。BCC和EM的种类也可以根据需要由程序进行设置。
3.3RS-232/RJ-45协议转换器
该协议转换器的主要功能是用软件转换器来替代硬件转换器,实现串口数据与网口数据的直接转发,不涉及到协议的变换。串口只要进行常规的设置,与所连接设备的串口参数一致。由于主控机与嵌入式模块之间一般采用串口进行连接,另外,数据采集模块也大部分采用串口,因而,通过该协议转换器,可以将此类串口设备连接到Internet,进行远程处理。AIM模块与该协议转换器配合,可以转换为一个开关量输入的网络传感器。
因篇幅问题不能全部显示,请点此查看更多更全内容