3.6.1 用户登录界面
用户登录界面如图3.9所示:
图3.9 用户登录界面
启动程序后,首先进行的是用户的认证。通过图3.9用户登录界面,可以看到,用户登入界面主要有用户名和密码两部分组成。用户只有输入正确的用户名和相应的密码才可以进入主控制界面。
该用户登入界面是基于MFC对话框实现的。用户设定的用户名和密码被保存在管理文件当中。当用户输入用户名和密码后,点击确定按钮,程序会定位到相应管理文件。通过ifstream infile("load.txt",ios::nocreate)函数对文件实现打开操作,通过getline()函数对文件进行扫描,通过eof()函数判断其是否到文件的底部。如果扫描未到达文件的底部,而检索到已保存的用户名和相应密码与登入界面中输入的用户名与密码对应一致时,则通过AfxMessageBox()函数进入欢迎界面(见图3.10),在用户单机确定以后进入主页面。
图3.10 欢迎界面
否则,在文件的检索过程中,当检索到文件末端还未检索到匹配的用户名和密码,则通过AfxMessageBox()函数弹出报错对话框提示用户名或者密码错误(见图3.11)。
图3.11 报错对话框
3.6.2 主窗口界面
主窗口界面主要记录了上油箱的温度,下油箱的温度,主缸的压力,主缸的位置及电机的状态等主要监控的量。其中温度的单位为摄氏度,压力的单位为千牛,位移的单位为毫米。对于电机的状态主页面显示的是电机的开启或关关闭状态,可以看到显示红色颜色的电机为开状态,显示灰色的电机为关状态。在主页面的上部可以看到串口号的组合框,里面存放这COM1,COM2, COM3及 COM4四个串口号,通过选择不同的串口号,可以实现不同串口间的通讯。在串口号组合框的旁边有一个打开串口和关闭串口按钮,通过点击它们可以实现打开串口和关闭串口的功能。其具体的样式参见图3.12。
图3.12主窗口界面
下面就对其各部分的功能的实现过程进行简单的说明。
对于打开串口的功能,本系统用的是串口初始化函数InitPort(this, nPort, 9600,'N',8,1,EV_RXFLAG | EV_RXCHAR,512),这个函数是用来初始化串口[21],即设置串口的通信参数:需要打开的串口号、波特率、奇偶检验方式、数据位和停止位。其具体的设置如下所示:
Int nPort=m_ctrlComboComPort.GetCurSel()+1; //得到串口号if(m_SerialPort.InitPort(this,nPort,9600,'N',8,1,EV_RXFLAG|EV_RXCHAR,512))
{
m_SerialPort.StartMonitoring();
m_bSerialPortOpened=TRUE; //串口打开
}
else
{
AfxMessageBox("没有发现此串口或被占用");
m_bSerialPortOpened=FALSE; //串口未打开
}
对于主窗口中的其他数据的获得,本工程中用到了窗口通信用户层协议编制原则。该原则主要包括以下几个方面:
(1) 数据必须有包头。包头是供接收方判断一个数据包开始传输的重要标志,接受方从接受到的数据中判断接收到了包头,就认为接收的数据已经开始,真正的数据信息马上就会到达。包头字符必须有别于数据信息,这种特征是数据包中其他数据没有的,否则就会引起混乱。
(2) 非定长数据包必须有包尾。所谓非定长,是指没有指明数据包的长度。对于非定长的数据包,接收方只能根据包尾的标志判断数据包是否结束。同包头一样,包尾字符必须也有别于数据信息,这种特征是数据包中其他数据没有的,否则也会引起混乱。
- 上一篇:CPE流涎薄膜机组主辅机监控系统设计与开发
- 下一篇:灌区供电系统设计与无功补偿容量计算
-
-
-
-
-
-
-
酸性水汽提装置总汽提塔设计+CAD图纸
乳业同业并购式全产业链...
大众媒体对公共政策制定的影响
当代大学生慈善意识研究+文献综述
杂拟谷盗体内共生菌沃尔...
电站锅炉暖风器设计任务书
中考体育项目与体育教学合理结合的研究
十二层带中心支撑钢结构...
java+mysql车辆管理系统的设计+源代码
河岸冲刷和泥沙淤积的监测国内外研究现状