西安工程大学本科毕业设计(论文)
第4章 系统总体设计
4.1上位机总体规划
在C++builder6.0软件环境中,设计温度监控系统的上位机主界面,上位机所要实现的主要功能包括:通过主界面可以选择用哪个端口进行串口通讯,导入采集来的温度数据,并在二维坐标上显示设备的温度\\时间曲线等。
设计思路:考虑到界面外观问题,需要用到两个Panel控件,一个的Anchors属性设置成左,另一个的Anchors属性设置成右,就会将整个界面分成两个模块,一个是曲线显示模块,另一个是串口调试模块,这样一来,一旦执行程序,则各个模块就会充满整个上位机界面,而不会出现所有模块集中到一处的情况。而为了让上位机界面充满整个计算机界面,则在Form1的FormCreate中添加如下指令:
void __fastcall TForm1::FormCreate(TObject *Sender) {
Form1->Position=poScreenCenter; Form1->Height=768;
Form1->Width=1366;/*全屏指令*/ }
这样一来,上位机界面的分辨率与计算机的就一样了。(Height与Width的数值因个人计算机不同而有所不同,只需将其设置成与所用计算机相同的分辨率即可)
软件使用方法:
运行软件,打开该界面后,选择通讯簿旁边有一个指示灯,指示灯原本为灰色,点击开始通讯按钮,若指示灯变为绿色,则说明通讯端口打开,计算机串口可以进行正常通讯,接收下位机采集来的温度数据,并且,这些数据将会显示在数据表里点击结束通讯时,指示灯又会变为红色。在温度显示曲线这一模块中,只要点击打开按钮,系统就会开始绘制曲线,将采集来的温度数据显示在温度时间曲线Curves上,并且系统会自动统计出这组数据的温度差值。当要退出系统
16
西安工程大学本科毕业设计(论文)
时,只需点击右上角的退出按钮即可。
4.2 串口设计
4.2.1 RS-232概述
通信的主要目的是将数据从一端传送到另一端,实现数据的交换,从人与人之间的对话,计算机与设备之间的数据交换,计算机与计算机之间的数据传送,乃至于广播或卫星信号的传送,全都属于通信范畴。一个完整的通信系统包括发送端、接收端、转换数据的接口以及传送数据的实际信道或媒体。随着个人计算机的迅速发展,个人计算机成为信息传输的良好工具,数台计算机可以连接成一个速度很快的网络系统。互相交换数据。传输设备与媒体的快速发展,成本的大幅度下降,也使得距离越来越不是问题,因此以计算机为基础发展出相当多的通信方法。
常用的串行通信有两种,并且串行通信端口(Serial Communication Port)在系统控制的范畴中一直占据着极其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。现在,串行端口(RS-232)是计算机上的标准配置,常用于连接调制解调器来传输数据。当然,它的重要性还不止如此。以下将对通信端口进行深入的介绍。
RS-232的通信端口是每台计算机上的必要配备,通常含有COM1与COM2两个端口。一般的计算机将COM1以9引脚的接头接出,而以25引脚的接头将COM2接出。新一代计算机均以9引脚的接头接出所有的RS-232通信端口。在计算机上的RS-232均是公头,这点是不会改变的。通常与计算机连接的设备,最简单的通信接口就是RS-232,不仅实际操作简单,而且价格上也便宜很多。另外,在工业应用的场合中,工业计算机的使用比一般计算机普遍。图4-1是RS-232标准接头[8]。
图4-1 RS-232标准接头 RS-232各针脚标号如图4-2所示。
17
西安工程大学本科毕业设计(论文)
图4-2 RS-232串口针脚标号
RS-232各针脚功能如下表4-1所示。
表4-1 RS-232各针脚功能
针脚 信号 定义 作用
1 DCD 载波检测 Received Line Signal Detector(Data Carrier Detect) 2 3 4
RXD TXD DTR
接收数据 Received Data 发送数据 Transmit Data 数据终端准备好 Data Terminal Ready
5 SGND 信号地 Signal Ground 6 DSR 数据准备好 Data Set Ready 7 RTS 请求发送 Request To Send 8
CTS
清除发送 Clear To Send
9 RI 振铃提示 Ring Indicator
4.2.2所用组件介绍
RadioGroup是一个单选组框,位于【standard】组件的页面上。这种组件的特点是能使数个单选按钮成为一组,同组的单选按钮之间具有互斥性,只能选一个。单选组框组件的主要属性为:
1) Colums属性:用来获得或设置单选分组框的列数,它的取值范围为1~16,默认值为1。即如果为1,则是一列(如图4-3a),如果是2,则是两列(如图4-3b)。
18
西安工程大学本科毕业设计(论文)
图4-3a 组件外观1 图4-3b组件外观2
2) Itemlndex属性:用来获得被选择项的索引,默认值为-1,表示没有选项被选中,索引为0的时候表示第一项被选中,其他的以此类推。Itemlndex是设计时使用的,运行时由用户的选择而自动改变它的值。
3) Items属性:用来列出单选分组框的各个单选按钮。它含有一个Strings对象,用来设置各个单选按钮标题。设计期间可以点击Object Inspector窗口中Items属性右端的按钮来对其进行编辑。
Memo组件是一个标准的Windows多行编辑组件。可以用来输入及显示数据,虽然Edit组件也有此功能,但它只能进行单行输入,而Memo组件则可以多行输入,它主要用于输入备注型的字符串,但它不能进行文字格式的设置。在需要多行输入的情况下,使用Memo组件是比较合适的选择除此之外,ScrollBar的使用,也使得Memo组件中的数据具有容易查看的效果。此组件在组件面板中的位置及外观如图4-4所示。
图4-4 memo组件外观
1) Lines属性:可以访问多行文本中的每一行。
2) ScrollBars:此属性用于设置是否要加上滚动条。本属性设定了以下4个用户可选值:ssNone—不加滚动条;ssHorizontal—加上水平滚动条;ssVertical—加上垂直滚动条;ssBboth—水平和垂直滚动条都加上。
3) WantReturn:用于解决按下“enter”键适用于换行还是作用于按钮WantTabs每按一次Tab键,将使光标在多行文本编辑器中移动一个制表位WordWrap,当输入文字到了多行文本编辑器的右边界时,文字自动换行。即当此属性设为True,按下“Enter”键就是换行。如果设为False,按下“Enter”键
19
西安工程大学本科毕业设计(论文)
就不是换行,而是作用与按钮,这时候要换行必须按“Ctrl+Enter”组合键。
4) WantTabs属性:如果WantTabs属性设为True,每按一次“Tab”键,将使光标在多行文本编辑器中移动一个制表位。如果该属性设置为False,按下“Tab”键使输入焦点在同一个Form的组件之间依次切换,这时候,要在多行文本编辑器中移动一个制表位,必须按“Ctrl+Tab”组合键。
5) WordWrap属性:如果此属性设置为True,当输入的文字到了多行文本编辑器的右边界时,文字自动换行。当编辑器的水平尺寸改变时,编辑器中的文字也将自动调整。
6) 常用属性如下表4-3所示。
表4-3 memo常用属性 常用属性 说明
Name 对象名称,对象摆放完成后给予,是第一个必要设置的属性 Font 决定字体、颜色、大小…… Text 决定文本框的内容
ScrollBar 决定此组件要出现及使用的滚动条
使用Text属性,就可以设置或读取Memo的内容,使用Lines属性亦可。
Label组件是专门用来显示文字和数字的组件。它通常配合其他的对象一起使用,并提供其他对象的简要说明和标注。由于通常被用来做标注,事件的使用就不会太频繁。在组件面板中的位置及外观如图4-5所示。
图4-5 Lable外观
常用属性设置如表4-4所示。
表4-4 Lable属性
常用属性 说明
Name 对象名称,对象摆放完成后给予,是第一个必要设置的属性 Caption 标签的标题 Font 显示字体的设置
20