武汉理工大学c课程设计报告书 精品Word格式.docx
- 文档编号:6367592
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:38
- 大小:879.27KB
武汉理工大学c课程设计报告书 精品Word格式.docx
《武汉理工大学c课程设计报告书 精品Word格式.docx》由会员分享,可在线阅读,更多相关《武汉理工大学c课程设计报告书 精品Word格式.docx(38页珍藏版)》请在冰点文库上搜索。
4)仪器功率信息表:
记录号、仪器功率。
5)记录号计数数据表,用于保存其他表格所需的记录号,包括:
记录号名称、记录号计数值。
6)用户信息表:
工号、用户名、密码、权限。
(选用)
图1系统功能模块图
2.进行相应的功能模块设计,包括:
1)串口通信设计;
(学习)
2)数据模块设计;
3)系统主窗体设计;
4)检测数据分析设计;
5)检测结果查询设计;
6)报表打印设计;
7)安全管理设计。
3.设计并绘制各个模块与函数的软件流程图,流程图要模块化并具有可读性(根据流程图知道程序功能实现过程);
编制模块化源程序;
4.编写并调试完整的程序代码(所有自定义的单元文件名、控件名、函数名、变量名不能与示例程序同名);
5.按学校课程设计说明书撰写规范提交一份课程设计说明书(6000字左右),设计说明书应详细说明设计思路、工作流程和软件设计与实现界面。
时间安排:
序号
内容
所用时间
1
布置课程设计任务,查阅资料,总体方案设计
1天
2
设计软件流程图
3
数据库设计
4
软件编写
4天
5
撰写设计说明书
2天
6
答辩
合计
10天
指导教师签名:
年月日
系主任(或责任教师)签名:
目录
1.绪论4
2.整体模块设计4
3.代码管理模块5
3.1类型代码管理5
3.2功率代码管理5
4.检测模块6
5.4.1开始检测6
4.2停止检测8
5.查询模块9
5.1结果查询9
5.2工位查询19
6.数据表浏览模块20
7.数据修改模块22
8.打印报表模块24
9.帮助模块25
10.总结与体会27
11.参考文献28
1.绪论
自工业革命以来,人类已经越来越意识到机器性工作的可代替性是多么的重要。
也正是由于这一点,自动化制造业得到了飞速的发展,到如今已经达到一个非常成熟的形态。
而作为当代一名当代的中国大学生,尤其是像我们这样的与制造业有关的工科专业学生,在这样的时代大潮中自然不能落于人后。
在自身专业知识学习过程中要全力以赴,抓住任何机会充实自己。
而恰好学校安排了测控系统软件设计这一课程让我们学习和锻炼,更要珍惜这样的机会。
主题是制作一个质量检测软件,利用日光灯试验台来检测点亮日光灯的整流器或逆变器是否合格,并且通过多次测量灯管两端的电压和电流,再通过分析,来验证整流器或逆变器工作是否正常。
总结之,本实训的目标是设计一个产品质量监测系统,保存日光灯试验台下位机产生的数据信息,并时行产品合格检查、产品质量查询、分类统计和报表打印操作,以期使产品的质量管理工作系统化、规范化、自动化,从而体现自动化制造业带来的高效率和收益。
2.整体模块设计
图1程序总体设计结构图
3.代码管理模块
3.1类型代码管理
(1)程序代码
void__fastcallTF_Main:
:
M_TypeClick(TObject*Sender)
{
//类型代码编辑
F_Assist->
ADOT_Count->
First();
//设定记录号计数数据表当前活动记录是第一条记录
MoveBy
(2);
//下移两条记录至计数表中的仪器类型
DBLookupListBox1->
ListField="
"
;
//先赋空值以免系统抛出异常
KeyField="
ListSource=DataModule1->
DS_Type;
//赋仪器类型表
Type_ID"
//赋类型记录号字段
Type_Name"
//赋类型名称字段
Label2->
Caption="
仪器类型代码表"
ShowModal();
//打开辅助资料窗体
}
(2)运行结果
图2仪器类型代码界面
3.2功率代码管理
void__fastcallTtcw:
M_PowerClick(TObject*Sender)
{x=2;
TableName="
Industry_Power"
//功率代码编辑
Open();
Edit();
DataModule1->
AT_Power->
//下移两条记录至计数表中的仪器功率
DS_Power;
//赋仪器功率代码表
Power_ID"
//赋功率记录号字段
Power_Name"
//赋功率名称字段
仪器功率代码表"
Show();
}
图3仪器功率代码界面
4.检测模块
4.1开始检测
(1)流程图
图4流程图
(2)程序代码
M_StartClick(TObject*Sender)
//打开串口,开启JudgeTimer定时器定时测控串口
MainMenu->
Items->
Items[2]->
Enabled=false;
//使开始检测菜单项非能
Items[3]->
Enabled=True;
//停止检测菜单项使能
if(Com1->
PortOpen==True)//如果串口已打开,则关闭之
Com1->
PortOpen=false;
PortOpen=True;
//打开串口
InBufferCount=0;
//消除输入缓冲区的内容
OutBufferCount=0;
//消除输出缓冲区的内容
if(!
Com1->
PortOpen)//判断串口初始化是否失败并显示
ShowMessage("
串口初始化失败"
);
JudgeTimer->
Enabled=true;
//开启串口监听定时器
RE_Mess->
Lines->
Add("
串口初始化成功,正在监听"
//在RichEdit控件显示串口状态
用户可以开始检测数据"
(3)运行结果
图5开始检测后界面
4.2停止检测
M_PauseClick(TObject*Sender)
//关闭串口,关闭JudgeTimer定时器定时测控串口
//开始检测菜单项使能
//停止检测菜单项非能
//关闭串口监听定时器
//关闭串口
串口已关闭,与下位机通信中断"
图6停止检测后界面
5.查询模块
5.1结果查询
(1)程序代码以及对应程序结果
#include<
vcl.h>
#pragmahdrstop
#include"
Query.h"
DM.h"
//---------------------------------------------------------------------------
#pragmapackage(smart_init)
#pragmaresource"
*.dfm"
TF_Query*F_Query;
__fastcallTF_Query:
TF_Query(TComponent*Owner)
:
TForm(Owner)
void__fastcallTF_Query:
CB_TimeClick(TObject*Sender)
{//判断时间查询复选框是否选中,以决定各单选按钮是否能使用
if(CB_Time->
Checked)
{//若时间框选中,则各单选按钮被激活
RadioButton1->
Enabled=true;
//
RadioButton2->
RadioButton3->
}
else
{//否则,各单选按钮处于失效状态
Enabled=false;
Enabled=false;
CB_CodeClick(TObject*Sender)
{//判断编号查询复选框是否被选中
if(CB_Code->
{
M_Code->
Enabled=true;
//memo控件被激活
Label2->
//标签控件被激活
{//memo与标签控件失效
图7时间设定查询界面
图8时间设定查询结果
CB_TypeClick(TObject*Sender)
{//判断类型查询是否选中
if(CB_Type->
E_Type->
图9按类型查询界面
图10类型查询结果
CB_PowerClick(TObject*Sender)
//判断功率查询是否选中
if(CB_Power->
E_Power->
}//---------------------------------------------------------------------------
图11按功率查询界面
图12功率查询结果
CB_NumClick(TObject*Sender)
//判断管数查询是否选中
if(CB_Num->
E_Num->
UpDown->
}}
图13按管数查询界面
图14按管数查询结果
B_CancelClick(TObject*Sender)
AQ_Record->
Close();
//关闭检测记录数据源
SQL->
Clear();
//清除SQL语句
SELECT*FROMIndustry_Record"
AQ_Data->
//关闭检测数据数据源
SELECT*FROMIndustry_Record,Industry_Data"
//执行SQL语句,打开检测记录表
//执行SQL语句,打开检测数据表
F_Query->
//关闭检测数据查看窗口
void__fastcallTF_Query:
B_QueryClick(TObject*Sender)
{//查询按钮单击事件
CB_Time->
Checked&
&
!
CB_Type->
CB_Power->
Checked
&
CB_Num->
CB_Code->
Checked)//若没有查询条件
Application->
MessageBoxA("
没有查询条件,请选择或输入"
"
查询出错"
MB_OKCANCEL);
return;
Stringstr1="
Industry_Record.Record_Type='
+E_Type->
Text+"
'
str2="
Record_Type='
str3="
Industry_Record.Record_Power='
+E_Power->
str4="
Record_Power='
SELECT*FROMIndustry_RecordWHERE"
//增加一条SQL语句,从检测记录表中提取数据记录
SELECT*FROMIndustry_Record,Industry_DataWHEREIndustry_Record.Record_SNumber=Industry_Data.Data_SNumberAND"
//增加一条SQL语句,从检测记录表、检测数据表中提取数据记录
//时间查询
Record_DateBETWEEN:
timel1AND:
timel2"
timer1AND:
timer2"
//timel1、2,timer1、2是在SQL语句中自定义的变量
if(RadioButton1->
Checked)//当天查询
Parameters->
ParamByName("
timel1"
)->
Value=
StrToDateTime(DateToStr(Now())+"
00:
00:
00"
23:
59:
59"
timer1"
if(RadioButton2->
Checked)//本周查询
TDateTime*DT=newTDateTime();
*DT=Now();
intconvert[]={0,6,0,1,2,3,4,5};
//国内外一周的起止不一样
TDateTimeMonday=DT->
operator-(convert[DT->
DayOfWeek()]);
//DayofWeek()取得今天是一周内的第几天,再进行当前星期一的日期推算
StrToDateTime(DateToStr(Monday)+"
if(RadioButton3->
Checked)//本月查询
unsignedshorti,j,k;
Now().DecodeDate(&
i,&
j,&
k);
//提取当前的年月日,分别存入变量i,j,k
StrToDateTime(IntToStr(i)+'
-'
+IntToStr(j)+"
-0100:
00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学c 课程设计报告书 精品 武汉理工大学 课程设计 报告书