染色工艺设置与管理系统设计毕业设计.doc_第1页
染色工艺设置与管理系统设计毕业设计.doc_第2页
染色工艺设置与管理系统设计毕业设计.doc_第3页
染色工艺设置与管理系统设计毕业设计.doc_第4页
染色工艺设置与管理系统设计毕业设计.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江理工大学本科毕业设计第1章 绪论1.1 课题研究的背景和意义随着染色企业信息化的建设,利用计算机信息技术对染机进行集中管理已成为企业技术改造的重点。染色工艺管理工作的信息化尤为重要,因为染色数据的准确性和设置的高效性决定了着产品的产量、质量,关系到染整企业整体的效益1。但由于目前染色机种类繁多,自动化水平参差不齐,功能规格均有所区别,使得染色工艺的集中设置和管理成为企业技术改造的难点2。开发染色工艺的设置及管理软件能够减少人为误差,可提高生产和管理效率,提高企业效益,提高市场竞争力。借助数据库,可对各染机的染色工艺参数进行保存,对生产过程中的数据进行有效管理,大大降低企业人工记录的成本,和人为疏忽所产生的风险。染色工艺设置与管理系统的设计使染厂对染色工艺的管理更加自动化、信息化和规范化。有助于印染企业建立灵敏的生产体系,具有较强的现实意义。1.2 国内外现状和发展趋势虽然近年来我国染整行业经过多年快速发展,大量自动化程度较高的设备得到了使用,但由于染整工业属于劳动密集型行业,国内染整企业在染程库建设方面很多停留在人工处理阶段。而且染色行业普遍存在染色机种类各异、自动化程度差异化明显、生产过程集成度低等现象,同时面临着企业员工流动性大、操作人员对自动化设备操作的熟练程度不一等问题,严重影响了染色效果3。国内针对准备车间机群而开发的数据管理系统相对较少,少数企业仅使用了一些信息管理系统,绝大多数的数据需要手动输入。这种管理方式无法保证生产数据的准确性,无法全面管理整个车间设备,更不能实现对染机的各种实时数据如运转状况、质量情况、停机状态等的采集和生产过程中实时发生的各种异常事件的管理4。而国外染企的染机不仅具有多样化的控制功能还有完善友好的人机界面。功能上,除了有温度控制以外,还有压力控制、主泵变频控制、浴比控制、流量控制、节能入排水控制等功能,有的控制器还能实现曲线加染料的功能。染缸控制器提供了编辑现场染程和配方、记录现场数据和查询浏览历史数据等强大功能,并能和染缸集中控制系统进行集成。在人机交互界面上,大多数染缸控制器采用液晶屏,不仅能及时向用户反应染色过程的温度、液位、压力等信息并带有图文茂的动画显示功能。以国外以色列Ard(亚瑞)公司为例,其开发的Ard染色工艺库软件将染程分为主染程和子染程,可以将染程组合形成新的染程,也可以合并相似的染程,并可对染程库进行优化。Ard系统与其它系统相比,其独特之处是,其染程中不仅仅包含工艺动作信息,还包含配方信息,这就使得染程成为联系印染企业ERP系统、染缸集中控制系统和染助剂称重配送系统等之间联系的纽带,实现染厂的集成控制成为可能4 。通过比较得出,国内染色行业自动化程度还远远落后于国外一些发达国家。总体来说有,国内染色行业将朝着更加智能化、开放性、分散化、网络化、信息化的方向发展。1.3 研究内容和方案1.3.1 主要研究内容本系统的目的在于对染色工艺进行集中设置与管理。该系统实现的功能包括染机的管理、染机功能和参数的设置、IO预排、IO配置以及参数的下载。为了完成该系统的设计,需要对染色过程进行分析,需要掌握一门数据库和界面开发工具。 本系统的主要研究内容包括:1、选择合适的数据库平台,分析染色工艺中需要设置与管理的数据,创建相应的数据表,根据各个数据表的关系设计主键和外键,并添加相应的数据。所有与染色工艺相关的数据都保存在这些数据表中。2、选择合适的界面开发工具,根据系统的功能设计便于操作人员使用的界面。所有对数据库数据的更改、添加或删除都在这些界面内完成。3、选择界面与数据库之间的连接方案。4、设计IO预排的方式。5、选择合适的通信控件,实现下载功能。6、设计合适的的数据封装方式以及通信协议。7、选择合适的调试工具,便于测试下载功能。1.3.2 系统的设计方案1、 在数据库方面,鉴于开源的PostgreSQL的优点和本系统的特点,选择Windows下PostgreSQL数据库作为系统数据库开发的平台。2、 为了实现该系统的功能,并能在短时间内掌握界面开发工具的使用,选用了较为易学且编译快捷的Delphi2010开发用户界面。3、Delphi2010通过ODBC建立与PostgreSQL数据库的连接,通过ADO控件对数据库中的配置参数进行修改和保存。4、为了实现IO预排功能,即对染色机控制器的输入输出功能进行定义,必须建立系统所支持的控制器表,其中包括IO数量以及其他信息,使用人员完成对染机功能的定以后,系统可以统计所需的IO口数量,依据染机功能对控制器IO进行预排。生成IO配置数据前必须进行IO预排。5、下载分为IO配置下载和参数下载。通过ComPort控件实现与下位机的通信,对于IO配置下载,系统将IO预排所生成的数据下载到下位机,下位机依据此数据对控制器IO进行定义。对于参数下载,系统将参数表中的所有数据下载到下位机,下位机通过查询找到功能对应的参数。6、数据下载任务分为两层,上层只负责数据封装,下层只负责数据发送。在发送数据前需要生成相应的数据,生成后的数据包含数据头和实际数据两部分,以长字符串的形式储存在数据库中。本系统采用较为简单的校验方式。7、最后通过手机蓝牙转串口的方式接受上位机发送的数据,从而实现对系统下载功能的调试。通过验证此方案可行。第2章 开发平台介绍2.1 Delphi2010简介Delphi 20107是Borland公司研制的新一代可视化开发工具,可在WindowsXP、Windows7 、Linux等环境下使用。采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi 2010相对于Delphi7拥有更加强大的功能,ObjectPascal被称为第四代编程语言,它具有功能强大、简单高效等特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具8。Delphi2010具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学8。Delphi20109内置的Direct 2D模块及开发库,其新加的功能:拥有一个能同时运作于x86和x64的IDE,在此IDE下将会有跨平台编译器,能够编译用于Linux和MAC的应用程序;会支持Windows7下的触摸式编程;强化的DataSnap;支持云计算;支持函数式编程。在Delphi2010众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。由Borland公司推出的Delphi2010可视化编程环境,满足染色工艺设置与管理系统的程序开发要求。它提供了非常丰富可供使用的控件,以及丰富的API函数满足管理系统的各项功能要求。数据库支持是Delphi的强项,并且使用易学、方便、快捷的Delphi2010开发应用软件,无疑会大大地提高编程效率,快速地构造出应用系统。2.2 PostgreSQL简介PostgreSQL10是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),可以说是目前世界上最先进,功能最强大的自由数据库管理系统。它的前身是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2为基础的对象关系型数据库管理系统。 PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。PostgreSQL 的特性覆盖了SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备,比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统11。任何人都可以以任何目的免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能以及提高数据库性能的机制等。在系统实现的功能上以及系统开发的效益上来考虑,使用PostgreSQL数据库应用于本系统的开发无疑是最佳的选择。第3章 系统及数据库分析3.1 系统功能结构根据系统的要求,对染色工艺设置与管理系统的功能图如下: 图3-1 系统功能结构框图3.2 系统功能目标3.2.1 染机群组的查询及管理点击染机群组后系统能自动读取数据库中的关于染机群组表的基本信息,用户可以在这里查询染机群组信息,并且能够进入相应的功能定义,参数设置,I/O口预排,查看染程和染程下载界面。在菜单项内还包括串口参数设置、新建染机群组和染机功能界面等。3.2.2 染色功能的定义及保存系统自动连接与显示PostgreSQL数据库中染机功能表,当选中相应的主功能时应显示其子功能,并能对其进行复选和保存。新建染机群组,当没有相应的功能时,可以添加染机功能,并添加至相应的数据表中。3.2.3 染色参数的设置及下载系统界面能显示染机群组所有的参数及其数值和说明,当选中相应的参数时,可以对其进行修改和保存。 系统实现对染机群组所有类型参数设定的保存,能自动生成数据并能自动下载到对应的染机。3.2.4 IO口的预排及配置下载系统显示当前染机群组所需要的I/O端口数量,以及所选控制器的I/O端口数量。系统能判断是否符合要求,并自动对控制器IO口进行预排,即为其定义主功能和子功能。点击预排后的IO口可查看具体功能说明,点击数字输入,数字输出,模拟输入,模拟输出时查看对应的端口和功能说明。系统可自动生成IO配置数据以供下载。下载的数据帧带有校验码。3.3 数据库的设计本节将介绍本系统所使用的PostgreSQL数据库的数据结构。以下为主要的数据表单。3.3.1染机群组设备表表3-1染机群组基本信息数据表(ctl_machine_group)字段序号字段名称字段含义字段类型主外键非空1SerialNumber机器群组代码MgidCharacter varying主键是2MchineType机器代号Character varying否否3CALLNAME机器简称字符型否否4FULLNAME机器全称字符型否否5CONTROLLER机器控制器类型integer否否表3-2染机基本信息(ctl_machines)字段序号字段名称字段含义字段类型长度主外键非空1Mcid机器代码Character varying主键是2Mgid机器群组代码Character varying外键是3MchType类型代号Character varying否否4MchTypeNumber机器简称integer否否5CALLNAME机器全称Character varying否否6CONTROLLER机器控制器类型integer外键否 一个染机属于一个群组,群组表和染机表基本相同,但少了一个机器ID字段。3.3.2染机功能表表3-3染机主功能定义表(sysfunctionschn)字段顺序字段名称字段含义字段类型主外键非空1FnCTID控制器类型integer否是2funcid功能编号integer主键是3fnccallname功能文字说明(显示给用户)Character varying否否表3-4染机子功能定义数据表(syssubfunctionschn)字段顺序字段名称字段含义字段类型主外键非空1fncitd控制器类型integer否否2sbffunction功能编号integer主键是3sbfnumber子功能编号integer主键是4sbfname每个子功能的文字说明Character varying否否5sbftexttrue真值文字Character varying否否6sbftextfalse假值文字Character varying否否7sbforioalloc是否需要分配IOboolean否否8do需分配DO个数integer否否9di需分配DI个数integer否否10ao需分配AO个数integer否否11ai需分配AI个数integer否否12pi需分配PI个数integer否否13check是否点击integer否否14checkid点击序号integer否否是否需要分配IO口以及需要分配的IO数量需根据各个功能的定义说明来决定,IO的预排参考此表。表3-5染机群组功能定义数据表(ctl_mchgrp_definitions)字段顺序字段名称字段含义字段类型主外键非空1mgid机器群组代码Character varying主键是2mcid机器代码Character varying主键是3funcnumber功能编号integer主键是4funcbits功能定义Character varying否否每个功能根据定义与否分别用0(未定义)或者1(已定义)表示,形成一个以0和1为字符的字符串,其最大长度为150,即每个功能下最多可定义150个子功能。3.3.3染机参数表表3-6染机群组主参数数据表(sysparametertypes)字段顺序字段名称字段含义字段类型主外键非空1ptid参数类别Character varying主键是2callname短名称Character varying否否3fullname长名称Character varying否否4comment备注Character varying否否5paramdata参数数据Character varying否否6typeid主参数编号integer否否表3-7染机子参数信息数据表(public_ctl_machine_parm)字段顺序字段名称字段含义字段类型长度主外键非空1mcid机器代码Character varying主键是2mgid机器群组代码Character varying主键是3ptid参数类型Character varying主键、外键是4pid参数位置代码smallint主键是5callname参数名称Character varying否否6valuelo参数最小值(双精度)Double precision否否7valuehi参数最大值(双精度)Double precision否否8function参数对应的功能主代码integer外键否9subfunc参数对应的功能次代码integer外键否3.3.4控制器及IO配置表表3-8控制器表(sysController)字段序号字段名称字段含义字段类型主外键非空1ctlid控制器编号integer主键是2ctlaiAI数量integer否否3ctlaoAO数量integer否否4ctldiDI数量integer否否5ctldoDO数量integer否否6ctlpiPI数量integer否否7ctlrecsta数据character varying否否 控制器表存放系统所支持的控制器的类型和基本信息,控制器的配置信息在public_funcio表中。表3-9染机控制器IO配置表(public_funcio)字段序号字段名称字段含义字段类型主外键非空1ioIO类型character varying主键是2ionumberIO序号integer主键是3ioenableIO始能integer否否4sbffunction所属主功能integer否否5sbfnumber所属子功能integer否否6iocommandIO命令号integer否否7ioaddress存放首地址character varying否否8ioidIO编号integer否否染机控制器IO配置表用于设置染机控制器的IO配置情况。3.4 数据库ER关系图图3-2 数据库E-R关系图第4章 系统界面及功能4.1 系统主要界面4.1.1 登录界面用户双击桌面快捷方式打开软件,系统显示启动画面,并要求用户输入数据库密码,输入正确即与数据库建立连接,并进入系统操作界面。图4-1 启动画面图4-2 连接数据库4.1.2 染机群组设置界面用户进入操作界面后,系统显示所有染机(下图左)。用户点击染机群组设置下的新建群组和新建染机染将弹出以下两个窗口(下图右)。输入并点击添加确认后将在染机群组表和染机表生成一条记录。 图4-3 系统主界面及其菜单图4-4 新建染机群组及染机点击染机群组将进入染机群组界面,系统自动读取数据库中的关于染机群组表的基本信息,用户在此窗口完成大多数的系统功能,当选中相应的染机群组时,界面中相应的功能按钮显示可用。图4-5 染机群组界面4.1.3 功能定义界面用户在左侧列表选择主功能,系统在右侧列表自动导入对应的子功能,用户可在此处对子功能进行多项选择,完成后按保存键,音效提示完成数据库记录的更新。如果没有主功能,可进行添加,窗口提示添加完成后,可继续完成子功能的选择。图4-6 染机功能定义界面4.1.4 参数设置界面当用户选中相应的染机群组时,参数按钮显示为可用,当点击参数设置按钮时,系统自动连接数据库的主参数数据表,在左侧的区域选择主参数和子参数后将在界面右区域显示对应的参数说明,并显示当前参数值。用户在文本编辑框内对当前值进行修改,按下回车键即可保存数据。图4-7 染机参数设置界面4.1.5 IO预排界面 IO预排是为了根据染机的功能定义,给其控制器的IO口定义主功能和子功能。 IO口类型和数量必须符合功能要求。不同的功能定义,不同的控制器会有不同的预排结果。用户点击查看按键系统自动显示对应IO数量。再点击IO预排之前生成数据按键无效,预排之后右侧IO口配置列表将自动更新。在生成按键点击之前IO配置下载按键无效,生成数据后可在memo窗口查看。点击右侧的IO口可查看对应的功能定义说明。点击IO配置按键进入IO配置下载界面。图4-8 IO预排界面4.1.6 IO配置下载界面在手动发送和自动发送之前需要打开串口,当串口成功配对以后便可以发送数据。点击手动发送前需点击CRC生成十六进制代码。每点击一次发送当前十六进制码。点击开始发送自动将数据放入数据字节内,完成所有数据的发送。发送过程中显示进度情况。发送完成弹出窗口提示。图4-9 IO配置下载界面4.1.7查看染程界面根据染机群组和染程代号查询相应的染程情况,如图显示染程的基本信息。图4-10 染程查看界面4.1.8 参数下载界面在参数下载之前需要打开串口设置串口参数。成功连接后点击参数下载按键自动发送所有类型参数。图4-11 参数下载窗口4.1.9 串口设置界面用户再此界面完成串口参数设置,右侧带有测试窗口可接收发送数据。当串口捂手成功后DSR、CTS、Conn灯亮。图4-12 串口设置窗口4.2 系统功能流程图4.2.1 系统功能总流程图根据整个系统功能的要求,设计系统功能总的流程图如下:图4-13 系统功能总流程图4.2.2 功能定义及参数设置流程图根据系统功能定义的要求,设计功能定义这个界面的功能流程图如下图左参数设置的功能流程图如下图右。 图4-14 功能定义流程图 图4-15 参数设置流程图4.2.3 IO口预排流程图IO预排模块的功能流程图如下。图4-16 IO预排流程图4.2.4 IO口配置下载流程图图4-17 IO配置下载流程图4.2.5 参数下载流程图图4-18 参数下载流程图4.3 系统主要代码以下内容为实现本系统功能的主要程序和函数,详细代码请参见附录。4.3.1 功能定义主要代码点击保存按键将执行以下三个程序SaveFuncbits();/将Listview的点情况已字符串的形式保存在public_ctl_mchgrp_definitions的funcbits字段。 SaveCheck();根据funcbits字段的内容,对public_syssubfunctionschn的check进行更新。 sndPlaySound(path, SND_ASYNC);音效提示用户已保存,即执行了前面两个程序。 procedure Tfrmfunction.SaveCheck;主要包含两个SQL查询语句和一个SQL更新语句 SQL.Add(SELECT funcbits FROM public_ctl_mchgrp_definitions Where (mgid=:p1)AND(funcnumber=:p2) );/获取某一主功能的字符串 SQL.Add(Select check From public_syssubfunctionschn WHERE (sbffunction=:p1) AND (fncitd=:p2) order by checkid asc);SQL.Add(UPDATE public_syssubfunctionschn SET check=:p1 WHERE (sbffunction=:p2) AND (sbfnumber=:p3);/更新子功能,若选择将至14.3.2 IO预排代码1、IO口数量查看键的功能分别查询表public_syssubfunctionschn中的各IO口字段与check字段,对其进行相乘并累加得到各IO需要的数量。根据Combobox的选择对表syscontroller进行查询,显示控制器所能提供的各IO数量。2、 IO预排键的功能先判断所选控制器的IO口数是否大于需要分配的IO口数量,若满足要求则根据public_syssubfunctionschn表中check字段的情况,对IO配置表public_funcio进行更新。否则提示IO口不足,这里需要说明的是,现阶段默认控制器对IO口没有定义,系统根据按功能的顺序,从小到大进行自动分配。3、 生成数据的功能根据IO配置表public_funcio所有IO的配置情况,按一定的协议生成一长字符串并将其写入表syscontroller的 ctlrecsta字段,配置下载界面将对其进行下载。4.3.3 IO配置下载代码SQL.Add(Select ctlrecsta From syscontroller where ctlid=1);str:=fieldbyname(ctlrecsta).Value;/提取IO配置数据字符串edit7.Text:=inttostr(strtoint($+edit3.Text)+strtoint($+edit4.Text)+strtoint($+edit5.Text)+strtoint($+edit6.Text);/生成CRC校验码frmcomset.ComPort1.Write(PChar(arrayfun),8); /以字节数组的形式发送frmcomset.SendString(viewstring); / 以字符的形式发送4.3.4 参数下载代码在串口连接成功以后,用户按参数下载键生成数据包并自动下载,其主要程序如下str2:=ABCD01010101;/生成参数数据头文件setparamdata(D);/生成D类参数字符串,并写入表sysparametertypes对应的Paramdata字段。其他类型参数通过调用setparamdata(参数类型)str:=pid+fun+sub+vallo+valhi;/字符串生成代码downloadparamdata();/下载参数数据程序procedure Tfrmcom.downloadparamdata;的主要功能是将所有类型参数合成一个数据字符串,并将timer1.Enabled设置为true启动timer1控件。每一次Timer1事件都调用frmcomset的SendString(sendstr)程序发送相应的数据。4.3.5 串口通信代码 串口通信部分使用ComPort控件,窗口Comcombox控件自动获取端口号,设置完端口、波特率、检验位、数据位、停止位、及控制流后点击打开串口。当成功连接后ComLed控件灯亮。ComPort1.Open;/打开串口。其他说明请详见附录。4.4 数据封装与协议数据下载任务分为两层,上层只负责数据封装,下层只负责数据发送。在发送数据前需要生成相应的数据,生成后的数据包含数据头和实际数据两部分,以长字符串的形式储存在数据库中。4.4.1 IO配置数据结构数据头由16个字符组成,登录号代表用户,默认ABCD;染机代号前两个字符表示其染机群组的代号;控制器代号表示接收该配置数据的控制器;数据长度为数据头及实际数据的总长度。实际数据包含IO口具体的配置信息,首地址代号为在下位机存放某一IO口配置参数的寄存器地址首地址,每一个IO口预留16字节的空间。IO口号的含义是用10代表AI用11代表AO用12代表DI用13代表DO用14代表PI。IO口代号为对应IO的序号。使能状态01代表有分配功能,00代表无分配功能。功能编号前两个字符代表主动能,后两个字符代表子功能。 IO配置数据可选用字符或字节的形式发送,IO预排界面中生成数据按键的作用是从表public_funcio提取相关字段的数据,以如下表格的形式自动生成一个长字符的IO配置数据。表4-1 IO数据结构表数据头登陆号染机代号染程代号控制器代号数据长度(字符)AB CD01 010101Length()实际数据首地址代号IO号IO口代号使能状态功能编号10 0010010103 0110 1010020103 1310 2010 030103 1410 5011010104 1910 6011020000 0910 7011030002 1010 A012010002 1110 D013010105 0110 E013020104 02图4-19 syscontroller表 如图,表syscontroller中的ctlrecsta字段内储存自动生成的IO配置数据。 控制器1共配有AO口5个AI 口5个DO口40个DI 口3个PI 口1个加上数据头共有55行数据,数据长度字符(0772)从第一行开始累加到最后一行生成一个完整的数据字符。4.4.2 参数数据结构每一类型参数将生产一个长字符数据,其数据保存在表sysparametertypes的paramdata字段内,数据头中包含登陆号、染机代号、控制器代号以及数据长度等信息。每一个参数都包含参数类型、序号、功能编号以及最低值和最高值。最高值不应超过65535。表4-2 参数据结构表登陆号染机代号染程代号控制器号数据长度AB CD01 010101参数类型号序号功能编号最低值最高值D0100 0100 00FF FFF0100 0100 00FF FFL0100 0100 00FF FFP0100 0100 00FF FFT0100 0100 00FF FF图4-20 sysparametertypes表 如图,表sysparametertypes中的paramdata字段内储存自动生成的参数数据。4.4.3 通信协议循环冗余码校验简称CRC,它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误11。由于时间有限,本系统规定了较为简单的CRC校验码。其生成形式即CRC等于命令字节与数据字节的和,要求输入十六进制的字符,如果输入不满足要求将提示错误,点击CRC后自动生成对应的CRC校验码,在传输过程中如果检验不对,则丢弃该数据帧帧。 手动输入生成一数据的界面如下图所示。图4-21 手动输入数据帧界面 自动发送时将提取该长字符串,按顺序将字符装载进下层每一数据帧中,并自动生成CRC码。实现过程如下图示。 图4-22 数据传输上下层关系图 图4-23手机蓝牙转串口接收数据第5章 系统调试与总结在后期对软件各个窗口的调试中发现了不少的错误,错误主要集中在按键的顺序上,比如在发送数据之前没有对串口进行设置,在生成IO配置数据前没有对其进行预排。在手动发送数据前没有按CRC按键生成数据帧,及保存按键中处在的错误等。解决办法是在条件满足前使按键无效,通过procedure setBtn(status: Boolean)实现。调试完成后基本解决了用户操作过程中可能会出现的错误。但由于时间有限还有以下方面有待改进1、通信协议与检验码本系统已经通过蓝牙转串口的方式实现了基本的通信功能,即笔记本与带蓝牙设备的之间的发送和接收数据。但在数据的封装和编排上,目前还只是极其简单的对IO口配置数据及参数进行封装的,由于经验不足,还有很多需要改进的地方。特别是底层的通讯协议,如何生成较为通用的校验码。2、数据库及界面内容完善数据库的有序管理对本系统维护至关重要,特别是与染机群组与染机有关数据表的处理上,染机群组与染机的区别没有得到很好的体现。现只有一组染机群组有完整的设定,其他染机群组还有待完善。界面设计中控件、窗口及按键的命名有待完善。3、染机对染机群组的继承 本系统只能添加新的染机群组和新的染机,即在相应的数据表中增加记录,但染机相应的功能参数还未能从染机群组里得到继承。4、远程访问数据库本系统只能连接本地的PostgreSQL数据库,但是企业级的数据库管理较多采用专用的服务器,通过网络的方式将系统连接到数据库也是有待改进的地方。参考文献1 张建新. 基于工业以太网的染色设备监控系统J. 纺织学报, 2005, 26(4): 1091122 王纯贤, 王治森, 褚学宁, 等. 分散网络化制造环境下基于移动Agent和Web的生产监控研究J. 制造业自动化, 2002, 24(2): 36413 郝平, 陈平生. 多智能体的车间染缸集群监控系统J. 自动化仪表, 2010, 259(4): 25334 杨永刚. 间歇式染色机中央集成控制系统的研究与开发D. 杭州: 浙江理工大学机械与自动控制学院, 20115 徐智文, 延青. 用Delphi开发监控和管理系统的软件J. 包钢科技, 2008, 16(1): 11146 宋运通. 基于实时数据库的工厂智能平台研究开发D. 天津: 天津大学, 20097 张乾. 基于Borland Delphi开发平台的数据库应用系统开发的原理与应用研究D. 重庆:重庆大学, 20098 邵景峰, 李永刚, 任克俭等. 纺织厂生产信息监控系统的设计J. 毛纺科技, 2010, 45(3): 67699 俞利国. 基于Linux的嵌入式间歇染色机控制器研究与开发D. 杭州: 浙江理工大学, 201210 R.Garca-Flores. Agent-based information flow for process industries supply chain modellingJ. Computers and Chemical Engineering,2000,24(2)11 王丽纳, 陈皓, 赵力, 邹采荣. 基于串口通信的无线数据传输A. 江苏省通信学会2004年学术年会论文集C. 2004. 22522812 杨丹红. Delphi与数据库连接技巧与方法的探索J. 上海电力学院学报, 2009, 4(3): 8913 刘春波. 染色企业染色与配色管理系统的研究与开发D. 青岛: 青岛大学, 200914 王静, 赵怀林, 孙玉强. Delphi环境中的串口通信程序设计方法J. 微机发展, 2002,130(4): 262815 Li Si Hui. Realization of RS485 Serial Communication Between Microcomputer and Multiple Inverters Based on DelphiJ. Advanced Materials Research,2011,1289(268)16 P BChen, C W MYuen, C KYeung. Limits of accuracy of dyeing process control and dyeing qualityJ. Coloration Technology, 2006, 120(3): 138143致 谢 本次毕业设计以染色工艺设置与管理系统为课题,这对于我来说有很大的挑战,因为在开始之前没有很好的计算机基础,只能从零开始学习界面编程和数据库管理。前期付出了较多的时间学习开发工具和以及理解染机集中管理系统,才能实现和完善染色工艺管理系统的功能。在毕业设计的过程中,我深刻的体验到要做好这个课题不仅需要熟练掌握开发工具,熟悉染色工艺的流程,更重要的在于与导师之间的沟通,每一次的沟通都使我对课题更加深入的理解,对系统实现的功能更加明确,少走了不少弯路。没有老师的细心讲解我很难对染程工艺有系统的了解。更不可能完成数据库及系统界面的开发。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过本次毕业设计,我体验了软件系统设计的全过程,在实践中了解了软件设计开发的步骤、流程以及思路,增长了在软件开发方面的见识。很好地培养了我们的分析问题、解决问题的能力。同时独立工作能力、合作能力也有了很好的提高。感谢张老师,在他的指导下,我从最初的一无所知,然后慢慢熟练,一步步完成了系统的功能。最终在规定的时间内完成了预定的设计要求,实现了预期的功能。感谢在我身边支持我的同学们,在与你们讨论中总能碰撞出思想的火花。同时还要感谢所有的老师,是你们的培养才有今天的我,是你们宝贵的意见才能使得系统有更好的改进。由于时间比较仓促,本论文难免有一些不足之处,恳请各位老师和学友批评和指正!附录软件主要代码:功能定义主要代码procedure Tfrmfunction.SaveCheck;var I,K:integer;funcbits:string;beginfor I := 1 to 11 doBegin with dm.ADOQuery_funciobits do begin Close; SQL.Clear; SQL.Add(SELECT funcbits FROM public_ctl_mchgrp_definitions Where (mgid=:p1)AND(funcnumber=:p2) ); Parameters.ParamByName(p1).Value:=100; Parameters.ParamByName(p2).Value:=I; Open; funcbits:=fieldbyname(funcbits).Value; end; with dm.ADOQuery_check do begin Close; SQL.Clear; SQL.Add(Select check From public_syssubfunctionschn WHERE (sbffunction=:p1) AND (fncitd=:p2) order by checkid asc); Parameters.ParamByName(p1).Value:=I; Parameters.ParamByName(p2).Value:=1; open; K:=1; First; while not Eof do begin with dm.ADOQuery_funcioset do begin Close; SQL.Clear; SQL.Add(UPDATE public_syssubfunctionschn SET check=:p1 WHERE (sbffunction=:p2) AND (sbfnumber=:p3); Parameters.ParamByName(p1).Value:=strtoint(funcbitsK); Parameters.ParamByName(p2).Value:=I; Parameters.ParamByName(p3).Value:=K; ExecSQL; end; inc(K); Next; end; end;End;end;参数下载代码implementationuses Udm,Ufrmcomset;$R *.dfmprocedure Tfrmcom.setBtn(status: Boolean);begin Button2.Enabled:=status;Button3.Enabled:=status;end;procedure Tfrmcom.Butto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论