




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、景德镇陶瓷学院 毕业设计(论文)正文中文题目: 陶瓷施釉和外观质量在线评测软件系统设计 英文题目: Design of Ceramic glazing and appearance evaluation system 院 系: 专 业: 姓 名: 学 号: 指导教师: 起讫时间: 摘 要目前,国内卫生陶瓷釉面质量的评价方式相对落后,大多采用人工评价方式,即利用有经验的师傅在特定的环境下,采用目测和触摸方法,检查陶瓷釉面色泽、平整性、厚度均匀性及表面产生的缺陷,根据检查结果进行综合判断以确定陶瓷釉面的分类。 这种人工评价方式,不仅效率低下,而且评价结果与人的经验有关,经验不足可能导致某些陶瓷釉面
2、分类不正确,分级不合理,从而影响卫生陶瓷产品质量的准确定位。因此,转变评价方式,提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。本文对卫生陶瓷产品釉面质量综合评价系统软件关键技术进行了研究,以C#语言开发评价管理等模块;采用Matlab编程开发图像预处理、综合评价等模块;利用组件实现Visual C#与Matlab混合编程;软件程序初步完成图像的采集、分析、评价等模块功能;经过测试软件实现了卫生陶瓷釉面的自动评价,操作简单方便,基本满足卫生陶瓷釉面质量综合评价的要求。关键词:卫生陶瓷釉面;综合评价;混合编程;C# Abstra
3、ctAt present, the domestic sanitary ceramics glazed quality evaluation methods is relatively backward, mostly artificial evaluation methods, namely the use of an experienced teacher in a particular environment, using visual and touch method, check glazed ceramic color, smoothness, thickness uniformi
4、ty and surface defects, according to the inspection results are integrated judgment to determine the classification of glazed ceramic. This manual evaluation methods, not only inefficient, but the evaluation results and the experiences related to lack of experience may cause some glazed ceramic inco
5、rrect classification, grading unreasonable, thus affecting the quality of sanitary ceramics products accurate positioning. Therefore, the change in evaluation methods, improve the efficiency and accuracy of evaluation, implementation evaluation glazed ceramic ceramic products for improving the quali
6、ty of automated positioning accuracy and China Ceramics Industry automation level is important. In this paper, sanitary ceramics glazed quality evaluation system software key technology research to develop C # language evaluation management module; using Matlab programming developed image preprocess
7、ing, comprehensive evaluation module; utilization component implements Visual C # and Matlab; software program initially completed image acquisition, analysis, evaluation module function; tested software enables the automatic evaluation of sanitary ceramic glaze, easy to operate, basically meet the
8、sanitary ceramic glaze quality evaluation requirements.Key words: glazed surface of sanitary ceramics; comprehensive evaluation; mixed language programming; C sharp language 目录摘 要1Abstract21引言42课题的任务和意义53 陶瓷产品釉面质量评价63.1 提高釉面质量的意义63.2 釉面光泽度73.3 釉面色调73.4 釉面平整度83.5 釉面质感83.6 釉面缺陷状况84 陶瓷釉面质量评价系统软件实现94.1
9、软件的模块化结构和功能94.2 基于PCI总线多通道图像数据采集94.2.1 基于PCI图像采集系统原理104.2.2 图像数据组合与缓存114.2.3 驱动程序编写124.2.4 应用程序的编写134.3 评价管理模块144.31 模糊评价的构成144.32 神经网络综合评价164.33 加权平均综合评价174.4 数据库访问模块184.4.1数据库(表)的建立194.5 数据库的安全性224.5.1利用存储过程实现数据库的安全性224.5.2应用程序服务器连接到 Internet 上的数据库安全性224.6 报表显示模块234.7 Visual C# 与 Matlab 混合编程254.7.
10、1 Visual C# 与 Matlab 混合编程实现的2种模式254.7.2 Visuat C #与 Matlab 接口分析284.7.3 Visuat C#与Matlab混合编程实现284.7.4 Matlab入口程序实现思路295 经济分析报告316 总结32致 谢33参考文献341引言上世纪80年代以来,随着国民生活水平与消费水平的不断提高,我国的卫生陶瓷产业也得到了迅猛的发展。如今我国的卫生陶瓷产量位居世界首位,然而,由于多年的重复建设以及各陶瓷企业的盲目扩张,导致产能严重过剩,市场长期供过于求,使得产品陷入低价位的严重混乱竞争态势,导致我国的建筑卫生陶瓷产业长期处于大而不强的境况。
11、导致产品质量及品位低下的重要原因之一是产品的釉面质量及装饰技术水平低下,如何提高产品的釉面质量及装饰技术水平从而提高我国卫生陶瓷产品的质量及档次,应是当前陶瓷色釉料生产厂商共同努力的目标,也是整个行业需要正视的问题。卫生陶瓷产品釉面评价是卫生陶瓷生产中关键的检验工序之一,评价结果直接影响卫生陶瓷产品的定位(优等、合格 和不合格)。卫生陶瓷釉面评价指标主要包括三个方面:1) 外观缺陷指标,包括裂纹、棕眼、斑点、桔釉、烟熏、落脏、 缺釉、磕碰、坑包、花斑、波纹等缺陷;2)卫生陶瓷釉面外观变形指标,包括安装面变形、表面变形、整体变形、边缘变形等;3)卫生陶瓷外观颜色指标,包括色差等。目前,国内卫生陶
12、瓷釉面质量的评价方式相对落后,大多采用人工评价方式,即利用有经验的师傅在特定的环境下,采用目测和触摸方法,检查陶瓷釉面色泽、平整性、厚度均匀性及表面产生的缺陷,根据检查结果进行综合判断以确定陶瓷釉面的分类。 这种人工评价方式,不仅效率低下,而且评价结果与人的经验有关,经验不足可能导致某些陶瓷釉面分类不正确,分级不合理,从而影响卫生陶瓷产品质量的准确定位。因此,转变评价方式,提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。2课题的任务和意义通过本次课题,我们要初步掌握应用软件的设计方法,熟练掌握C#编程及开发环境,了解评价系统的
13、原理、组成和常用的评价方法。对卫生陶瓷产品釉面质量综合评价系统软件关键技术进行了研究,以C#语言开发评价管理等模块;采用Matlab编程开发图像预处理、综合评价等模块;利用组件实现Visual C#与Matlab混合编程;软件程序要初步完成图像的采集、分析、评价等模块功能;实现对卫生陶瓷釉面的自动评价,软件达到操作简单方便,基本满足对卫生陶瓷釉面质量综合评价的要求。我国内卫生陶瓷釉面质量的评价方式相对落后,大多采用人工评价方式,即利用有经验的师傅在特定的环境下,采用目测和触摸方法,检查陶瓷釉面色泽、平整性、厚度均匀性及表面产生的缺陷,根据检查结果进行综合判断以确定陶瓷釉面的分类。 这种人工评价
14、方式,不仅效率低下,而且评价结果与人的经验有关,经验不足可能导致某些陶瓷釉面分类不正确,分级不合理,从而影响卫生陶瓷产品质量的准确定位。因此,转变自动评价方式,不仅提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。3 陶瓷产品釉面质量评价釉面质量是指把釉施于陶瓷坯体表面,并在规定的条件下,烧成后所获得的表面效果。釉面质量的评价内容包括釉面的光泽度、色调、平整度、质感(细腻度),以及釉面所存在的缺陷问题,如:针孔、气泡、杂质、黑点、色差等。3.1 提高釉面质量的意义釉是一种覆盖在陶瓷坯体表面的一种玻璃体或玻璃与晶体的连续粘着层。一
15、般的可以认为,釉是一种不均质的玻璃,它与玻璃相似之处是没有一定的熔点,只有熔融范围;光学上各向同性;而不同之处是釉的组分是不均匀的,釉层中除了玻璃相之外,还有许多微小的晶体和小气泡。因此定义釉是一种不均质的玻璃是比较确切的。 釉的作用是集实用性与装饰性为一体。一方面,釉层使陶瓷制品有一个光泽的、透明的、坚硬的、不吸水的表面层,使陶瓷制品不吸水、不透气、不被外物和大气沾污和侵蚀,一定程度上改善了陶瓷制品的热稳定性、化学稳定性、介电强度和机 械强度,提高了陶瓷制品的实用性;另一方面,釉 的遮盖能力和光泽度,特别是颜色釉、各种艺术釉 也给陶瓷制品起了表面装饰作用。 对于高档卫生陶瓷,上述两方面的作用
16、都显 得十分重要。因为高档卫生陶瓷要求产品的使用功能好、制造工艺水平高、艺术水平和配套水平 高,而釉面质量的好坏,不仅影响到高档产品的使 用功能,釉的装饰也影响到产品的艺术效果,釉面的白度、光泽度、色差等也影响到产品的整体配套,例如与浴缸等的配套效果。一句话,釉面质量是衡量卫生陶瓷档次的一个重要条件之一。也可以这样说,高档产品必须要有好的釉面质量。 为了提高釉面质量,通常可以采用以下主要措施:(l)开发和研究釉面质量较好的釉配方,使釉面的光泽度好,白度高,遮盖能力强,色泽符合人们的要求。 (2)选择最适合的釉料制备工艺,使釉浆的细度、比重、粘度、屈服值等性能都能更适合施釉工艺及设备。 (3)采
17、用最合适的施釉工艺及设备,控制釉层的厚度及厚薄均匀性。 (4)严格控制施釉的整个操作,使因施釉操作造成的釉面缺陷减少到最低程度。 (5)选择最合适的烧成制度,使窑炉的温度、 气氛更适合于烧制出釉面质量最好的产品,把因烧成陷减剪造成的烟熏、色差、落脏、釉面污光等缺最低速度。下面就釉面质量指标的评定标准、检测仪器及棕眼(针孔)、色差等部分缺陷和克服措施等方面谈一点看法。 3.2 釉面光泽度所谓光泽是物体表面的一种物理性能。光泽度就是物体表面镜面反射方向光线的强度占全部反射光线强度的系数。在光照射时,由于陶瓷釉表面状态不同,导致镜面反射的强弱不同,从而导致光泽度不同。当釉层中只有少量的极细小,且分布
18、均匀的晶体存在时,则该釉表面通常为光泽表面;当均匀分布在釉层内的晶体尺寸大于光的波长时,釉表面的晶体不会使光线产生镜面反射,从而降低釉面光泽度,形成半无光或无光釉面。测定陶瓷釉表面的光泽度一般采用光电光泽计,其测定原理是利用硒光电池测量照射在釉表面镜面反射方 的反光量,并规定折射率为1.567的黑色玻璃的反光量为100%,即把黑色玻璃镜面反射极小的反光量作为 100%(实际上黑色玻璃的镜面反射的反光量0时,表示釉面颜色为红色调,且数值越大,表明色调越偏红;a*0时,表示釉面颜色为黄色调,且数值越大,表明色调越偏黄;b*0时,表示釉面颜色为蓝色调,且数值越小(负数),表明色调越偏蓝。3.4 釉面
19、平整度对于陶瓷釉面,都希望其表面能像玻璃一样平整光滑,但实际上达不到。这是因为釉面的平整度受多方面因素的影响,如:釉层厚度、坯体表面的光滑程度、釉层形成过程的反应时间的长短等,这些因素都可能导致釉面达不到像玻璃表面一样的平整光滑程度。尤其是低温快烧的陶瓷砖产品,其釉面总会存在一些不平整。陶瓷釉面平整度是一个感性的指标,无法采用仪器测试,并进行量化比较,只能通过目视,并定性地进行比较判别。3.5 釉面质感陶瓷釉面的质感与平整度指标类似,也是用来衡量陶瓷釉面平整光滑的程度,但两者又有细微的差别。釉面平整度主要是指光泽釉釉面的平整光滑程度。而釉面质感则是指釉面细微部分的光滑、细腻程度,如根据光泽釉釉
20、面上的皱纹、针孔、气泡等缺陷;无光釉釉面平整、光滑程度及釉面缺陷有针孔、凸点、开口气泡、析晶晶体粗细等进行判断。若光泽釉釉面无细小皱纹,也没有细针孔、小气泡等缺陷,无光釉釉面平整光滑、析晶晶体大小均一 (细腻)、无针孔、凸点等缺陷,则认为该釉釉面质感细腻。3.6 釉面缺陷状况陶瓷产品的釉面或多、或少会存在一些缺陷,如针孔、气泡、杂质、黑点、色差、皱纹等,其缺陷的严重程度,是评判釉面质量好坏的重要指标。通常釉面缺陷越少,产 品的效果越好,尤其是釉面不能存在针孔、气泡、杂质、黑 点等缺陷。4 陶瓷釉面质量评价系统软件实现卫生陶瓷釉面质量综合评价系统软件主要功能图像采集控制,数据管理,报表生成等,以
21、Visual Studio2008为开发环境,c#为开发语言。4.1 软件的模块化结构和功能卫生陶瓷釉面质量综合评价系统软件由数据采集接口模块、数据维护模块、显示模块、数据库访问模块、报表模块、 Matlab算法模块等组成,如图4.1所示。图4.1 卫生陶瓷釉面质量实时评价系统软件系统结构4.2 基于PCI总线多通道图像数据采集数据采集接口模块主要实现步进电机、卫生陶瓷位置等一维信号和二维图像信号的传输和控制功能。采用现场可编程门阵列(FPGA)对不同数据源的多个图像数据进行组合,在FPGA内部进行一级缓存,将异步的图像数据源变换成同步数据;然后对得到的数据进一步组合送入独立的FFO芯片进行二
22、级缓存;最后通过专用的PCI接口芯片,将图像数据传输到PCI总线上。使用DriveWorks进行驱动程序的设计,采用多线程机制完成应用程序设计,实现了数据存储与实时显示同步。在合适的计算机平台上,系统可在保证实时存储和显示的同时,使数据采集速度达到80MB/s 。4.2.1 基于PCI图像采集系统原理从接口中输入的信号为低压差分信号(LVDS),经过电平转换芯片DS90LV032A转换成 一般的CMOS信号;在可编程逻辑器件内,将信号转换成计算机系统能够处理的32 bit信号,将其存入FFO芯片内进行缓存;在可编程逻辑器件的控制下,通过接口芯片PCL9054将静态存储单元内的数据传输到PCI总
23、线上;在驱动程序的驱动下,将数据存入内存以便进行硬盘存储和显示。 其系统框图如图4.2所示。如图 图像数据组合与缓存本文设计了最多3个通道的图像数据的情况,输入的图像数据是每个通道为5 bit为每个像元的图像数据的一半,所以在进行图像数据缓存时先将5 bit的数据转换成一个像元完整的10 bi图像数据,由于3个相机传输出来的图像是独立的,在使能和时钟信号上都是异步的,有时可能是相机1的数据先到,也有可能是相机3的数据先到。为了能够使得数据不丢失地传输,对3个通道的数据在FPGA内部进行一级缓存,然后将3路10 bit的数据组合成32 bit的数据,送入 FIFO进行二级缓存。其
24、数据转换的流程图如 图 4.2.2所示。图4.2.2数据格式转换流程图3路5bit的数据经过5 bit转换成10 bit的模块,3个相机的图像数据都转换成各自完整的图像数据,每一路都有自己的使能和时钟,且各路之间都是异步的。采用第一个缓存单元的状态来进行控制,当第一个缓存单元内的数据到达FIFO总深度的一半时就发出读信号,对3个缓存单元同时读取数据。FIFO深度的确定是根据3个数据通道之间的最大时序差来确定的。fbclk是 5 bi的数据同步时钟,fbdata在第一个时钟上升沿是一个像元值的高5 bit值,第二个时钟上升沿位低5 bit值,经过转换后生成产生tbdata的10 bit 数据为一
25、个像元的像素值。Xilinx Spaitan3 XC3S200 芯片内有216 K 大小的Block RAM资源,图2中的缓存单元FFO是基于芯片内的Block RAM资源的异步FFO。 Xilinx器件的开发软件ISE提供了很方便的操作,通过P核生成器就可以生成异步的FIFO,生成一个256 10 bit的异步FIFO。如下Veribg语 句所示,wr_ck、nl_clk分别是写入FFO和从 FIFO中读出的时钟。wr_coun、rd_count分别是写入到FFO数据的计数和从FIFO中读出数据 计数。读使能信号是根据写入FFO数据计数而确定的。计算机的PCI总线是多个PCI总线设备一起 共
26、用的,所以采集卡并不能一直占用PCI总线,外部FFO芯片就是在PCI总线繁忙时缓存数据用的IDT72V275芯片。4.2.3 驱动程序编写在Windows XP环境下开发驱动程序,采用的是WEM驱动程序模型,每个硬件设备需要两个驱动程序。一个为功能驱动程序,它由用户编写,负责初始化I/O操作,如读写设备等操作。另一个驱动程序为总线驱动程序,它负责管理硬件与计算机的连接,一般由操作系统来完成。设计一般的PCI总线的驱动程序一般只用设计功能驱动程序。为了能够满足应用程序能实时的存储和显示所采集的图像,在设计驱动程序时,开辟两个缓冲区,并且采用DMA突发传输机制来进行数据采集。这样在应用程序对一块内
27、存进行操作,而驱动程序则使用另一块内存进行采集。本设计使用驱动DriverWorks编写驱动程序,驱动程序的工作 流程如图4.2.3所示。图4.2.3 驱动程序工作流程在应用程序打开设备时,操作系统的i/o设备管理器自动调用驱动程序的OnStartDevice()例 程,进行一些初始化操作,如DMA适配器的初始化,创建两个NoPaged内存缓冲区。当应用程序开始采集数据时,先调用一个命令用于标识应用程序正在使用哪个缓冲区,驱动程序应该用哪个 Buffer的DeviceloContol函数。然后应用程序调用ReadFile()函数读取数据,I/O管理器相应调用StartIo函数,在驱动程序内调用
28、OnDmaRead() 用来初始化DMA适配器,然后调用StartDma开始传输数据,等到一个数据包传输完毕以后,进入中断调用中断服务程序,这时驱动程序将返回信息给I/O设备管理器完成一次读取操作。4.2.4 应用程序的编写本文中应用程序采用VS2008 C#来编写。驱动程序将采集卡输入的图像传输到计算机物理内存后, 有操作系统的I/O管理器通过映射,将这些物理内存映射为应用程序可以操作的应用程序内存, 应用程序可以直接对这些内存进行操作,在进行采集时,采集的数据到达指定大小后,应用程序就可以对应用程序内存1进行操作,此时驱动程序对物理内存2进行写入操作,如此循环以提高应用程序的效率。图4.2
29、.4所示是驱动程序和应用程序内存分配关系图4.2.4 驱动程序与应用程序的内存分配应用程序的实时显示是通过另外开辟一块显示缓冲区,将应用程序内存中的数据拷贝到显示缓冲区进行显示,同时通过Stream相应的函数将采集的数据存储到计算机硬盘中。对设备的采集操作、实时显示、以及实时存储操作都通过设计独立的线程来完成。4.3 评价管理模块评价管理模块主要对软件所提供评价方法、评价过程进行配置,简化评价过程,使评价过程更易于操作。软件所提供的评价方法包括模糊综合评价、神经网络综合评价和加权平均综合评价三种评价方法。由于图像预处理、图像分割及神经网络 计算等涉及大量运算,算法较复杂,而Matlab在计算上
30、具有较大优势,因此图像相关操作及评价算法模块等采用Matlab 编程实现。Matlab访问接口提供在Visual Studio2008环境下 访问Matlab的方法。4.31 模糊评价的构成模糊集合是模糊评价建立的基础,模糊集合的基本思想是改造普通集合中的特征函数,使元素对集合的隶属度从只能取0,1中的值扩充到0,18中的任一 值这样元素和集合的关系,从普通集合中的绝对“属于”或”不属于”延伸到以多大程度的属于通过建立模糊集合与普通集合之间的转化法则,可以使普通集合的规则应用到模糊集合上。由模糊集合发展起来的评价方法主要有模糊物元、模糊积分、模糊综合评价、模糊聚类、模糊神经网评价等。 模糊子集
31、间的运算,实际上是对隶属度作逐点的相应运算,利用相对隶属程 度建立起的模糊评价集可以实现对定性指标的数量化处理。模糊集解决实际问题,通常需要与普通集之间建立一种联系和转化,这种关系是通过水平截集、分解定理、表现定理和扩张原则等建立起来的。 进行模糊评价时,必须明确四个方面的问题:隶属关系矩阵确定的方法、模糊合成算子的选择、最大隶属原则和加权平均的原则,模糊评价大多数是围绕上述方面展开的。在进行模糊评价时,一般的步骤为: 第一步,选择评价指标; 第二步,选定评语集,确定指标权重礁 第三步,建立模糊关系矩阵R; 第四步,计算模糊关系矩阵的合成值B=W。R,。为合成算子; 第五步,加权综合评价。包括
32、模糊加、模糊乘在内的算法,都以取大取小为基础,这种算法是模糊运算的基础,偏离了这种算法的模糊评价方法,实质上已不再是模糊评价的方法。 但是,在应用某些模糊算法进行合成运算时,如果硬搬这些算法而忽略数值的实际意义,则会从逻辑上出现错误就指出应用取大取小的合成模糊算法进行综合评价时的错误。模糊矩阵的合成算法如下:将归一化处理后的综合评价结果为=(b1/b,b2/b,bn/b),式子中通过(1)式所得到的结果,要么取值Wi0,要么取值rij0。算子是通过比较取其小,算子V是通过比较取其大,这种比较应该在具有可比性的元素之间进行。Wi与rij的含义截然不同,前者是指标在指标集中所占的权重,后者是用来测
33、度指标元素的取值。它们之间根本不存在可比性。当进行Wiri计算时,所得到的结果是无意义的,是用Wirij的中间结果,通过比较取其最大者。这些比较无论是同类性质的参数之间的进行,还是在不同类型性质参数之间的进行,由于中间结果无意义,所以最终结果也是无意义的。这一问题的产生,是由于公式(l)合成运算本身造成的。刘玉斌 给出两种改进行的合成方法,实质上都是把权重用一般意义下乘的方法合成到指标值中,然后再应用模糊数学的方法形成评价结果。 4.32 神经网络综合评价复杂对象系统多目标综合评价的神经网络方法的原理是:将描述复杂对象系统的评价指标体系的基础指标的属性值作为神经网络的输入向量,将该复杂对象系统
34、的评价目标的评价指数值作为神经网络的输出,用足够的样本模式来训练这个神经网络,使不同的输入向量得到不同的输出值,这样神经网络所持有的那组权系数值便是网络经过自适应学习所得到的正确的内部表示。训练好的神经网络便可以作为一种定性与定量相结合的有效工具,对样本模式以外的对象系统作出综合评价。神经网络是一个以有向图为拓扑结构的动态系统,它通过各种输入信息作出反应而完 成信息处理,并具有自学习、自组织、自适应和非线性动态处理等特性。B-P(BaCk-Pmpa- gation)神经网络是由Rmnelhart等人组成的PDP小组于1985年提出的一种神经元模型, 目前已被用于模式识别、函数逼近和数据压缩等方
35、面。其三层B_P神经网络结构如图4.3.2所示图4.3.2 三层B_P神经网络结构图4.3.2中,n1和n2分别表示输入单元和隐单元个数;x1,x2,xn,为论域U=u1,u2,un上p个样品模式的评价指标属性值,记为Xp=(Xp1,Xp2Xpn);S个样本模式构成下列属性值矩阵:4.33 加权平均综合评价模糊综合评价- 加权平均综合评价。它既克服了单层评价模型因考虑的因素过多,权重难以分配的困难,又避免的二级模糊评价时。(1)权重的确定 为了充分利用模糊综合评价的信息,对各个等级的得分进行加权平均,求得权重 j = 1,2,m; k取正实数。1,2,n构成一组权重。(2)等级参数的选取对每个
36、等级Vj赋予一个参数aj,一般等级越高,等级参数就越大。由下式计算综合值:在模糊综合评价中引入加权平均而建立的模糊综合-加权平均复合模型具有计算简单、科学合理等特点,它克服了其它方法评价分辨率低的缺点。 4.4 数据库访问模块在VS2008中我们编写的代码做好的全部模块最终都要与我们的数据库连接,采集的图像信息都要记录存储在数据库中,利用连接数据库代码直接与我们做好的数据表格连接实现功能SQL Server 2005是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要
37、的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。这个平台有以下特点: 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。4.4.1数据库(表)的建立打开SQL Server Management Studio软件,新建一个名为:“SystemEval.mdf”数据库
38、。如图4.4.1所示:图4.4.1 SystemEval.mdf数据库。(1)用户注册表,该表包含用户编号、用户名、密码和角色,用户登角色分为二个角色,系统管理员普通用户。如图4.4.2字段名称类型长度是否主键描述UserIDint4是用户编号UserNamevarchar50否用户名PastWordvarchar20否密码CreatTimedatetime8否用户添加时间Roleint4否角色代码(0-系统管理员1-普通用户)图4.4.2 用户注册表(2)元件参数表格,该表包含单项指标,数据,单位,权重。如图4.4.3字段名称类型长度是否主键描述单项指标nchar(10)10是单项指标数据f
39、loat默认否数据单位nchar(10)10否单位权重float默认否权重图4.4.3 元件参数表格 已经储存在元件参数表格中部分数据如图4.4.3(B)显示:图4.4.3(B)元件参数数据(3)测试条件表格,该表格包含评价条件,描述。如图4.4.4字段名称类型长度是否主键描述评价条件nchar(10)10是评价条件描述nvarchar(50)50否描述图4.4.4 测试条件表格已经储存在测试条件表格中部分数据如图4.4.4(B)显示:图4.4.4(B)测试条件数据(4)评价各项指标数据如图4.4.5显示:图4.4.5 指标数据4.5 数据库的安全性4.5.1利用存储过程实现数据库的安全性利用
40、存储过程实现数据库的安全性的方法是给用户授予执行存储过程的权限,而不授予修改表的许可权限。即使用户不具有访问视图和表的权限,那么通过存储过程仍能够让其查询相应的数据信息,实现的方法很简单,只要让该用户具有存储过程的 EXEC 权限就可以了。当然要确保该存储过程中包含了语句。比如可创建的存储过程:create procedure worker_pro asselect * from worker然后将存储过程的 EXEC 权限授予用户,当用户执行该存储过程时就可以查询到相应信息。4.5.2应用程序服务器连接到 Internet 上的数据库安全性为了实现信息共享,有必要将应用程序连接到Inter-
41、net 上,互联网存在着许多不安全因素,这样对应用程序的数据安全存在很大的威胁性,我们必须加强防范。主要采用的安全措施有:代理服务器、防火墙和路由器来保证数据库的安全性;利用在线加密保护数据的安全性;对应用程序服务器 TCP/IP 进行配置实现数据库的安全性。(1)利用在线加密保护数据的安全性SQL Server 2005 使用的 Tabular Data Stream 协议来进行网络数据交换,只有通过在线加密保护数据,才能保护网络通信中的数据安全性。在线数据加密主要采用:通过定义规则和筛选集合的方式来对每个域或每台本地计算机配置具体的IPsec 安全策略,这些规则和筛选用于对与指定 IPse
42、c 客户之间的安全通信进行控制;使用安全套接字层(SSL)对客户端计算机和 SQL Server 实例间的所有网络通讯进行加密。 (2)对应用程序服务器 TCP/IP 进行配置实现数据库的安全性 通过对连接到 Internet 的数据库服务器 TCP/IP 进行有效的配置,拒绝应用程序所在服务器之外的 IP 进行商品连接,隐藏 SQLServer 实例,实现数据库的安全性。对 SQLServer 数据库应用程序所在服务器 TCP/IP 进行有效配置方法有:对访问应用程序服务器IP进行限制实现数据库的安全:SQLSer-ver 数据库系统利用 Windows 2000 提供了网络连接的安全机制,
43、对IP连接进行限制,只保证自己的IP能够访问,拒绝其它IP 进行的端口连接,把来自网络上的安全威胁进行有效的控制。修改应用程序服务器 TCP/IP 端口隐藏 SQL Server:由于SQLServer数据库的信息和所使用的TCP/IP端口很容易被1434 端口的 UDP 探测到,为了保护 SQL Server 数据库的安全性,一方面利用 Windows2000 所融合的 IPsec 协议过滤拒绝掉1434 端口的 UCP 通讯;另一方面在 SQL Server 实例属性中选择网络配置中的TCP/IP协议的属性,将 TCP/IP使用的默认的端口变为其它端口来隐藏 SQL Server。4.6
44、报表显示模块人机交互接口模块提供友好的人机操作界面,简化卫生陶瓷釉面评价过程;报表模块采用Crystat Reports,以图文形式显示评价结果;显示模块包括当前卫生陶瓷制品位置和状态显示,步进电机状态显示及二维图像信号预览等功能,方便用户对评价过程进行监测。如图4.6显示图4.6单项指标在综合评价中的比重代码如下: if (StepTree.SelectedNode.Text = 报表) RemoveAllControlsofPanel2(); CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer2 =
45、new CrystalDecisions.Windows.Forms.CrystalReportViewer(); splitContainer1.Panel2.Controls.Add(crystalReportViewer2); crystalReportViewer2.ReportSource = this.ResultReport1; crystalReportViewer2.Dock = DockStyle.Fill; crystalReportViewer2.DisplayGroupTree = false; 4.7 Visual C# 与 Matlab 混合编程4.7.1 Vis
46、ual C# 与 Matlab 混合编程实现的2种模式MATLAB是当今世界上使用最为广泛的数值计算软件之一, 具有强大的矩阵计算能力, 可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理等若干个领域的数学计算。 C# 是微软.NET战略中核心的开发工具, 它综合了 Visual Basic 的高效率和 C+功能的强大性,具有良好的界面设计功能,可以很方便地建立应用程序的可视化界面。整合 C# 界面设计能力和 MATLAB 的科学计算能力, 可以解决环境评价、金融计算、图像处理等多个领域的实际问题, 具有很好的应用前景。 目前, 采用 VB、VC、C+ Builder 等高级语
47、言与 MATLAB的混合编程技术已有较多的研究并且存在一定的应用成果, 而 C# 是近几年微软新推出的编程语言, 目前对于 C# 与 MATLAB混合编程的研究还很少,本人在实践应用的过程中,总结了以下关于C#与 MATLAB混合编程接口技术实现的经验。 DLL文件模式 利用 MATLAB的编译工具中的 mcc 命令可以方便地将 m文件转化为动态连接库文件(dll), 但由于转化时是采用 C或 C+编译 器, 所以产生的 dll 文件可以由 VC+直接调用, 却不能被 C#调用。但 C#可以调用由VC+编译生成的dll 文件, 由此想到由VC+作为 C# 和 MATLAB中间的一
48、个桥梁, 通过 VC+把 MATLAB生成的 dll 文件打包进 VC+的 dll文件中来, 这样 C# 就可以间接地调用 MATLAB生成的 dll 文件了。本文所用软件的版本为 VC+6.0 和 MATLAB6.5, 其中 Matlab 安装路径为 D:MATLAB6p5, 实现的 具体步骤如下: 第一步: 设置环境变量 在 Matlab 命令窗口中依次输入: mbuild setup 和 mex setup 选择 VC+ 6.0 编译器下的工具 选择 目录中的 Include files 添加 D: MATLAB6P5EXTERNINCLUDE 路径, 在 Library files 下
49、添加 D: MATLAB6P5EXTERNLIBWIN32MICROSOFTMSVC60 路径。 第二步: 使用 mcc 命令, 将 MATLAB中的 m文件编译成 dll 文件 mcc t -W libhg:dlltest - T link:lib test libmmfile.mlib 此例中 mlib 编译命令将 test.m文件编译成 C 代码, 函数接口为 Jisuan( )。同时生成 dlltest.exports、 dlltest.h、 dlltest.lib、 dlltest.c、 dlltest.dll、 dlltest.mlib、 dlltest.expt 等文件。 第三步
50、: 在 VC+中调用刚生成的 dll 文件, 再打包制作成 C# 可以调用的 dll 文件 在 VC+6.0 中将生成后的 dlltest.h、 dlltest.lib、 dlltest.dll 三个文件拷贝到名为 testMydll 的测试工程目录下, 并通过 Project Add To Project Files 将文件引入工程。 在 testMydll.cpp 中添加如下语句: #include dlltest.h Void testMydll( ) dlltestInitialize(); mlfJisuan_test();dlltestTerminate(); 在 testMydl
51、l 工程中新建一个名为 testMydll.def的文件, 在其中添加语句: LIBRARY testMydll.dll DESCRIPTION Implement EXPORTS testMydll 1 将 testMydll 工程编译后在其 Debug 目录下将生成 testMydll.dll、 testMydll.exp、 testMydll.lib 等文件, 其中 testMydll.dll 则是在 C# 中可以直接调用的 dll 动态链接库文件。 第四步: C# 调用 VC+编译生成的 dll 文件 将前面两步骤中由 Matlab 生成的 dlltest.h、 dlltest.lib
52、、 dlltest.dll 三个文件和由 VC+ 6.0 中生成的 testMydll.dll 文件拷贝到 C# 的工程中, 接着将 bin 和 obj 文件夹中的这四个文件导入工程, 在工程的程序中添加语句: DllImport ( “ testMydll.dll” , EntryPoint=” testMydll()” ) /调用 dll 文件声明 public static extern void testMydll(); /接口函数声明 testMydll(); /调用函数 COM组件模式 利用 MATLAB的 comtool 工具可以方便地将 m文件转化为 COM组件
53、, 生成的 COM组件只要在客户机上注册后即可像使用 ActivX控件一样方便被调用, 不同的编程语言可以对其实例化, 通过传参数的方式加以复用。此方法的具体步骤如下: 第一步: 在 MATLAB中生成 COM组件 将 Matlab 生成的 m文件保存名为 test.m。在 Matlab 命令窗口中输入命令: comtool, 打开 COMBuilder 窗口。 在该窗口中新建一个名为 component 的工程, 并在该工程中添加文件 test.m。 点击 Build COMobject 命令, 就可以生成 COM组件, 其版本号为 component 1.0, 该例中组件包含一个 test 类, 向外提供一 个接口函数为 jisuan( )。 在component 工程的文件夹 distrib 下可以找到一个 component_1_0.dll 文件, 这个文件即是所有遵循 COM组 件技术规范的高级语言都能够调用的 COM组件。 第二步: 在.NET中注册 COM组件 在 C# 调用该 COM组件之前, 需先对其进行注册。 在.NET开发平台中点击: Project Add Reference, 在弹出的对话框中选择 COM选项卡, 选中刚生成的 COM组件 component 1.0, 点击 OK按钮即完成了组件的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中数学省级课题申报书
- 宁波课题立项申报书
- 生物小课题立项申报书
- 艺术规划课题申报书范本
- 风湿课题申报书
- 卖车位定金合同范本
- 行为习惯养成课题申报书
- 合同范本文化传播
- 课题成果申报书范文
- 精准教学 课题申报书
- 幕墙工程作业活动风险分级管控清单
- 【海马汽车企业营运能力问题及解决策略(论文10000字)】
- 永安电力股份有限公司三台县凯河110千伏输变电新建工程环评报告
- 人体解剖生理学教案
- 减少噪音保护听力
- 网络安全技术与应用PPT完整全套教学课件
- 岩石力学与工程课后习题与思考解答
- 《民族乐器分类二》教案
- API520-安全阀计算PART1(中文版)
- 本科毕设论文--企业vpn的接入规划与设计
- 生产车间管理制度办法
评论
0/150
提交评论