刀具参数视觉检测用户程序设计V0522Word格式文档下载.docx
《刀具参数视觉检测用户程序设计V0522Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《刀具参数视觉检测用户程序设计V0522Word格式文档下载.docx(45页珍藏版)》请在冰点文库上搜索。
第一章绪论
1.1计算机编程语言的发展现状
计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。
具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。
计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。
目前通用的编程语言有两种形式:
汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。
1.2开发背景
切削刀具的切削角度,是在提高生产率和降低成本的前提,是产品质量的重要条件,如要达到符合技术要求的形状、尺寸精度和表面等。
刀具的标注角度是标注在刀具设计图上作为刀具制造与刃磨依据的角度。
传统测量使用角度样板、万能量角器、重力量角器以及各种刀具量角台等。
这些方法在实际生产加工和理论研究中发挥过重要作用,但是随着科技的进步,传统测量方法已经不能适应生产过程自动化的要求。
为此提供了解决方案。
刀具参数视觉检测系统通过视觉检测刀具,获得相应的参数,然后对其参加进行匹配或是修改,最后可以传送给下位机,由下位机进行处理。
由此在工程实践中可以更好地提高其生产效率与质量。
第二章开发语言及功能概述
2.1VisualBasic开发工具
VisualBasic是在早期Basic语言的基础上发展起来的一种可视化的Windows平台上的程序开发工具。
.所谓"
可视化"
是一种开发图形用户界面的方法,用户不再需要编写太量代码去描述界面的外观,而只需在可视化的编程环境中,将形象直观的预置对象直接拖放在屏幕上即可,这一点是VB最显著的特点。
它继承了Basic语言语法简练,简单易学的特点。
但是,在WIndows环境下编程与在DOS环绕下编程有着很大区别,VB不仅仅只是Basic的扩展,而且采用了新的事件驱动和面向对象的编程机制,而且可以直接调用windowAPI中的函数,这使得VB的应用范围极其广泛.利用VB用户不仅可以编写各种Windows应用程序,而且还能将Excel电子表格、word字处理软件等嵌入其中直接使用:
此外还可以通过调用Access等多种格式的数据库系统,对数据库进行管理与操作。
VB具有以下七个主要特点[1]:
(1)面向对象的可视化编程,使开发人员只需编写很少量的程序代码,就可以快速开发出标准的wmdows应用程序,极大地提高了程序设计效率。
(2)事件驱动的编程机制,比传统的过程驱动方式更适合于windows图形用户界面的开发.因为在图形用户界面应用程序中,程序的执行是由用户的操作动作即事件决定的,而不是由事先设计好的程序流程所控制.这样在VB中程序员只需对各种用户动作编写相应的处理代码,程序既简练又易于维护。
(3)友好的VB集成开发环境,使用户可以在其中很轻松地进行界面设计、代码编写、程序调试及编译运行等工作。
(4)可以对多种数据库系统进行数据访问,包括MicrosoftAccess、dBASE、MicrosoftFoxPro和MicrosoftSQLServer等。
(5)通过ActiveX技术,可以使用其他程序提供的功能,例如MicrosoftWord字处理软件、MicrosoftExcel电子表格以及其他windows应用程序。
(6)支持动态数据交换、动态链接库、对象链接与嵌入以及ActiveX技术。
动态数据交换技术可使VB应用程序与其他Wmdows应用程序之间建立动态的数据通信;
动态链接库技术使VB程序可以方便地调用C语言、汇编语言或windowsAPI的函数;
对象链接与嵌入技术允许将其他各种基于Wmdows的应用软件作为一个对象链接或嵌入到VB应用程序中,并对其进行操作;
ActiveX技术则是OLE技术的进一步发展。
(7)完善的联机帮助功能通过与VB6.0的安装程序捆绑在一起的MicrosoftMSDN(MicrosoftDevelopNetwork)联机帮助文档。
用户可以随时方便地得到各种帮助信息,以解决用户在开发过程中遇到的各种各样的问题。
2.2功能概述
2.2.1对操作系统的要求
由于本系统采用了微软的Access数据库,所以本系统使用windowsXP系统。
2.2.2功能需求分析
本系统的功能需求包括:
●登录模块用户进入系统进的检测
●系统模块包括管理员的添加,及修改当前密码
●管理模块对参数进行修改,保存或者查询相应的参数数据
●通信检测模块用户通过该模块对刀具进行检测,获得刀具的参数信息,也可将需要的参数传输给下位机,由下位机做出相应的处理
系统功能模块划分如下图所示:
图2-1功能模块图
第三章开发刀具参数视觉检测用户软件
3.1软件的设计
3.1.1界面设计
在界面设计方面,本系统遵循了以下几点原则:
(1)Windows的统一界面风格;
(2)标准的图标风格设计,统一的构图布局,统一的色调、对比度、色阶;
(3)图片风格一致;
(4)提示信息、帮助文档文字表达遵循的开发原则。
3.1.2总体设计
下图表述了本系统的总体工作流程:
图3-1系统流程图
3.1.3数据库设计
数据库中需要的数据表如下:
(1)刀具类别表
编号
字段名称
数据类型
说明
1
类别名称
数字
刀具的种类名称
2
类别编号
刀具的种类的编号
表3-1刀具类别表
(2)刀具信息表
文本
刀具编号
3
名称
刀具的名称
类别
刀具的类别
4
材料
刀具参数
5
转速
6
长度
7
直径
8
前角
9
刃倾角
10
主偏角
表3-2刀具信息表
(4)管理员表
用户名
登录时用的用户名
密码
登录时用的密码
(5)表与表间的关系
图3-2表间关系
3.1.4模块功能设计
(1)登录模块设计
登录流程图如下:
图3-3登录流程
对应代码如下:
DimsqlAsString
Dimrs_loginAsNewADODB.Recordset
IfTrim(Combo1.Text)="
"
Then
MsgBox"
没有这个用户"
vbOKOnly+vbExclamation,"
Combo1.SetFocus
Else
sql="
select*from系统管理where用户名='
&
Combo1.Text&
"
'
rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_login.EOF=TrueThen
Else
IfTrim(rs_login.Fields
(1))=Trim(txtpwd.Text)Then
userID=Combo1.Text
rs_login.Close
UnloadMe
form1.Show
密码不正确"
txtpwd.SetFocus
EndIf
EndIf
cnt=cnt+1
Ifcnt=3Then
ExitSub
(2)系统管理模块
以下为系统管理模块的流程图:
图3-4系统管理
(3)刀具管理
以下为刀具管理的流程图:
图3-5刀具管理流程
(4)通信检测
通信检测模块的流程图如下:
图3-6通信流程图
3.2通过ADO实现数据存取及检索查阅功能
目前在VisualBasic中开发数据库程序主要有DAO、RDO、ADO3种数据库开发技术。
其中最流行的是ADO。
它是建立在基于低层数据访问接口OLEDB,对象连接与嵌入数据库技术上的数据对象。
3.2.1ADO对象模型及功能
ADO按照访问和更新数据源的顺序定义了一个模型,在这个对象模型中包含了7个对象.它们的具体功能是:
(1)Connection对象。
Connection对象用于建立与数据库的连接,通过连接可从应用程序访问数据源。
它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。
(2)Error对象。
包含数据提供程序出错时的扩展信息。
(3)Property对象。
包含某个ADO对象的提供程序定义的特征。
(4)Command对象。
包含关于某个命令,例如查询字符串、参数定义等信息。
在建立Connection后,可以发出命令操作数据源。
一般情况下Command对象可以在数据库中添加、删除或更新数据.或者在表中进行数据查询。
Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。
(5)Parameter对象。
包含参数化的Command对象的某单个参数的信息。
该Command对象有一个包含其所有Parameter对象Parameters集合。
(6)Recordset对象。
用来存储数据操作返回的记录集。
Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集。
在ADO对象模型中,在行中检查和修改数据是最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。
Record对象用于指定行、移动行、添加、更改、删除记录。
(7)Field对象。
包含记录集中数据的某个列的信息。
掌握其中的Command、Connection、Recordsetf象就可以实现基本的数据库操作。
3.2.2使用ADO访问数据库的两种方式
ADO设计为一种极简单的格式.通过ODBC的方法同数据库接口连接。
用户可以使用任何一种ODBC数据源,即不仅适合于SQLServer、Oracle、Access等数据库,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。
在VB中,使用ADO访问数据库主要有两种方式.一种是非编程访问方式,使用ADOData控件方式,通过对控件的绑定来访问数据库中数据,另一种是ADO对象模型编程访问方式,通过定义对象和编写代码来实现对数据的访问[2]。
(1)使用非编程访问方式ADOData控件访问数据库。
①在工具箱中添加ADOData控件,操作为:
选择工程菜单中的部件选项,再选择“MicrosoftADODataControl”。
②在窗体上把新出现在工具栏的ADOData控件拖入;
③设置相关属性。
(2)使用编程访问方式ADO对象模型访问数据库(可以插入代码)。
①引用ADO对象库。
操作为:
“工程”菜单下选择引用选项,再选择“MicrosoftActivexDataObject2.6Library;
②为了能够在程序中使用ADO对象,首先需要声明该对象,然后才能连接数据库进行操作。
3.3通过socket与下位机实现通信功能
3.3.1TCP通讯技术
TCP,面向连接的可靠的传输协议。
利用TCP协议进行通信时,首先要通过三步握手,以建立通讯双方的连接。
一旦连接建立好,就可以进行通信了[3]。
TCP提供了数据确认和数据重传的机制,保证了发送的数据一定能到达通信的对方。
这就与打电话一样,首先要拨打对方的电话号码以建立连接,一旦电话拨通,连接建立之后,你所说的每一句话都能够传送到通话的另一方。
3.3.2Socket通讯
Socket是进行网络通信编程的API,也是Unix、Windows等操作系统的通用网络编程标准。
在网络编程中最常用的方案便是客户/服务器模型。
套接字(Socket)是一种双向的通信接口,可以通过这个端口与任何一个具有Socket端口的计算机通信,套接字是网络通信的基础。
Socket在Windows以句柄的形式被创建。
使用Socket进行网络通信必须包含下面的几种信息:
双方认可的协议,本地主机的IP地址,本地进程的协议端口,对方主机的IP地址,对方进程的协议端口。
3.3.3利用Winsock控件编写通信程序
(1)服务器端程序
PrivateSubCommand1.Click
‘设置本地服务端口号
Winsock1.localport=2048
‘服务器进入监听状态
Winsock1.listen
EndSub
PrivateSubWinsock1_ConnectionRequest
‘收到客户连接请求
‘检查Socket状态
IfWinsock1.State<
>
sckClosedThenWinsock1.Close
‘接受客户请求
Winsock1.AcceptrequestID
PrivateSubWinsock1_DataArrival
‘对方数据已准备好
‘可用GetData/SendData接收/发送数据
‘处理客户数据
PrivateSubForm_Unload
Winsock1.Close
(2)客户器端程序
‘设置服务器网络名
Winsock1.RemoteHost=“193.168.1.40”
‘设置服务器相应服务端口号
Winsock1.RemotePort=2048
‘向服务器发出连接请求
Winsock1.Connect
PrivateSubWinsock1_Connect
‘服务器响应连接
‘可以进行GetData/SendData进行数据传输
PrivateSubForm1.Unload
3.4软件的调试及改进
在系统制作过程中,对整体进行测试各个功能,发现数据更新不了。
结果通过编译器调试发现是没有给相应的控件赋值,还有一个原因就是没有把sql语句写对。
系统制作中发现功能太少,后面新增两个功能,一个是检测功能,另一个通信功能.这两个是非常必要的.一个是检测参数,如果是手动输入参数的话,效率会很低.通信功能则是将参数传输给下位机,这样下位机可以做出相应的处理。
第四章刀具参数视觉检测用户软件说明书
4.1软件说明书的功能分析
本刀具参数视觉检测系统是针对工厂刀具磨损而影响其生产效率及质量的软件。
它面向一个产品制造工厂。
对现在有检测系统进行了分析、比较和研究,并在查阅大量资料逐渐了解系统需求后,设计功能为:
登录功能、系统管理功能、刀具参数管理功能、通信检测功能。
4.2软件说明书
4.2.1登陆模块
初始用户名为管理员,初始密码为aa。
进入到系统后可以再添加一些用户,方便其它人操作。
打开刀具参数视觉检测系统,初始界面如图1所示。
图4-1登录界面
选择相应的用户名及输入正确的密码,即可进入系统:
如下如图所示
图4-2系统界面
本程序内部另分为三大模块:
刀具管理模块、系统管理模块、通信模块。
4.2.2系统管理模块
首先进入系统管理,点击菜单栏上的系统管理菜单;
如下图所示有三个子菜单:
添加管理员、修改密码、退出系统。
图片4-3系统管理
(1)点击添加管理员可以添加管理员,方便其它人操作该系统。
输入用户名及密码就可以添加管理员了。
如下图所示
图片4-4新增用户
(2)点击修改密码就可对当前用户的密码进行修改,可以修改为自己熟悉的密码或复杂的密码,以防被不法分子破解。
如下图所示:
图4-5修改密码
(3)点击退出系统,系统将退出,所有窗口将被销毁。
4.2.3刀具管理模块
进入刀具管理,刀具管理模块有二个子模块:
刀具类别管理和刀具信息管理。
(1)刀具类别管理:
刀具类别管理又有两个子项:
刀具类别添加和刀具类别修改。
点击刀具类别添加,输入种类名称和类别的编号就可以添加刀具类别,如下图所示:
图4-6刀具类别添加
点击刀具类别修改会出现以下界面:
图4-7刀具类别修改
然后点击界面下方的修改按钮,就可以上面的列表中进行修改了,最后点击下方的保存。
若弹出以下对话框,说明修改成功了。
图4-8保存成功对话框
(2)刀具信息管理
刀具信息管理模块有三个子项,如下图所示:
图4-9刀具信息管理
<
1>
点击添加刀具信息,输入刀具编号、刀具长度、刀具名称、刀具材料、刀具名称、刀具转速、刀具直径、刀具前角、主偏角、刃倾角,选择相应的刀具类别,最后点击确定就可以添加一项刀具信息了。
图4-10添加刀具信息
2>
点击修改刀具信息,进入以下界面:
图4-11刀具信息修改
首先点击下方的修改按钮,就可以在上面的列表中修改相应的参数了,最后点击保存,如果弹出保存成功的对话框,即说明修改刀具信息成功。
第二,选中列表的某一行,再点删除按钮,还可以对某一项刀具信息进行删除。
3>
点击查询刀具信息,会出现以下界面:
图4-12查询刀具信息
先选择你要查询的条件:
刀具名称、刀具编号、刀具种类、刀具材料其中的一项或多项。
点击确定即可查询所要的刀具信息。
如下图为选择刀具种类:
铣刀后产生的结果:
图4-13查询结果
4.2.4通信检测模块
通信模块有两个子项:
检测和传输。
(1)检测模块为通过视觉技术来检测刀具,由本程序接受传过来的参数,由于设备的缺乏,