染色工艺设置与管理系统设计毕业设计.docx
《染色工艺设置与管理系统设计毕业设计.docx》由会员分享,可在线阅读,更多相关《染色工艺设置与管理系统设计毕业设计.docx(67页珍藏版)》请在冰豆网上搜索。
染色工艺设置与管理系统设计毕业设计
染色工艺设置与管理系统设计
第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.1Delphi2010简介
Delphi2010[7]是Borland公司研制的新一代可视化开发工具,可在WindowsXP、Windows7、Linux等环境下使用。
采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。
Delphi2010相对于Delphi7拥有更加强大的功能,ObjectPascal被称为第四代编程语言,它具有功能强大、简单高效等特点。
和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。
可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。
它一直是程序员至爱的编程工具[8]。
Delphi2010具有以下的特性:
基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。
但最重要的还是ObjectPascal语言,它才是一切的根本。
ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学[8]。
Delphi2010[9]内置的Direct2D模块及开发库,其新加的功能:
拥有一个能同时运作于x86和x64的IDE,在此IDE下将会有跨平台编译器,能够编译用于Linux和MAC的应用程序;会支持Windows7下的触摸式编程;强化的DataSnap;支持云计算;支持函数式编程。
在Delphi2010众多的优势当中,它在数据库方面的特长显得尤为突出:
适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。
由Borland公司推出的Delphi2010可视化编程环境,满足染色工艺设置与管理系统的程序开发要求。
它提供了非常丰富可供使用的控件,以及丰富的API函数满足管理系统的各项功能要求。
数据库支持是Delphi的强项,并且使用易学、方便、快捷的Delphi2010开发应用软件,无疑会大大地提高编程效率,快速地构造出应用系统。
2.2PostgreSQL简介
PostgreSQL[10]是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),可以说是目前世界上最先进,功能最强大的自由数据库管理系统。
它的前身是以加州大学伯克利分校计算机系开发的POSTGRES,版本4.2为基础的对象关系型数据库管理系统。
PostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:
复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。
同样,PostgreSQL可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。
PostgreSQL的特性覆盖了SQL-2SQL-92和SQL-3SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备,比如IP类型和几何类型等;其次,PostgreSQL是全功能的自由软件数据库,很长时间以来,PostgreSQL是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统[11]。
任何人都可以以任何目的免费使用、修改、和分发PostgreSQL,不管是私用、商用、还是学术研究使用。
PostgreSQL的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能以及提高数据库性能的机制等。
在系统实现的功能上以及系统开发的效益上来考虑,使用PostgreSQL数据库应用于本系统的开发无疑是最佳的选择。
第3章系统及数据库分析
3.1系统功能结构
根据系统的要求,对染色工艺设置与管理系统的功能图如下:
图3-1系统功能结构框图
3.2系统功能目标
3.2.1染机群组的查询及管理
点击染机群组后系统能自动读取数据库中的关于染机群组表的基本信息,用户可以在这里查询染机群组信息,并且能够进入相应的功能定义,参数设置,IO口预排,查看染程和染程下载界面。
在菜单项内还包括串口参数设置、新建染机群组和染机功能界面等。
3.2.2染色功能的定义及保存
系统自动连接与显示PostgreSQL数据库中染机功能表,当选中相应的主功能时应显示其子功能,并能对其进行复选和保存。
新建染机群组,当没有相应的功能时,可以添加染机功能,并添加至相应的数据表中。
3.2.3染色参数的设置及下载
系统界面能显示染机群组所有的参数及其数值和说明,当选中相应的参数时,可以对其进行修改和保存。
系统实现对染机群组所有类型参数设定的保存,能自动生成数据并能自动下载到对应的染机。
3.2.4IO口的预排及配置下载
系统显示当前染机群组所需要的IO端口数量,以及所选控制器的IO端口数量。
系统能判断是否符合要求,并自动对控制器IO口进行预排,即为其定义主功能和子功能。
点击预排后的IO口可查看具体功能说明,点击数字输入,数字输出,模拟输入,模拟输出时查看对应的端口和功能说明。
系统可自动生成IO配置数据以供下载。
下载的数据帧带有校验码。
3.3数据库的设计
本节将介绍本系统所使用的PostgreSQL数据库的数据结构。
以下为主要的数据表单。
3.3.1染机群组设备表
表3-1染机群组基本信息数据表(ctl_machine_group)
字段序号
字段名称
字段含义
字段类型
主外键
非空
1
SerialNumber
机器群组代码Mgid
Charactervarying
主键
是
2
MchineType
机器代号
Charactervarying
否
否
3
CALLNAME
机器简称
字符型
否
否
4
FULLNAME
机器全称
字符型
否
否
5
CONTROLLER
机器控制器类型
integer
否
否
表3-2染机基本信息(ctl_machines)
字段序号
字段名称
字段含义
字段类型长度
主外键
非空
1
Mcid
机器代码
Charactervarying
主键
是
2
Mgid
机器群组代码
Charactervarying
外键
是
3
MchType
类型代号
Charactervarying
否
否
4
MchTypeNumber
机器简称
integer
否
否
5
CALLNAME
机器全称
Charactervarying
否
否
6
CONTROLLER
机器控制器类型
integer
外键
否
一个染机属于一个群组,群组表和染机表基本相同,但少了一个机器ID字段。
3.3.2染机功能表
表3-3染机主功能定义表(sysfunctionschn)
字段顺序
字段名称
字段含义
字段类型
主外键
非空
1
FnCTID
控制器类型
integer
否
是
2
funcid
功能编号
integer
主键
是
3
fnccallname
功能文字说明
(显示给用户)
Charactervarying
否
否
表3-4染机子功能定义数据表(syssubfunctionschn)
字段顺序
字段名称
字段含义
字段类型
主外键
非空
1
fncitd
控制器类型
integer
否
否
2
sbffunction
功能编号
integer
主键
是
3
sbfnumber
子功能编号
integer
主键
是
4
sbfname
每个子功能的文字说明
Charactervarying
否
否
5
sbftexttrue
真值文字
Charactervarying
否
否
6
sbftextfalse
假值文字
Charactervarying
否
否
7
sbforioalloc
是否需要分配IO
boolean
否
否
8
do
需分配DO个数
integer
否
否
9
di
需分配DI个数
integer
否
否
10
ao
需分配AO个数
integer
否
否
11
ai
需分配AI个数
integer
否
否
12
pi
需分配PI个数
integer
否
否
13
check
是否点击
integer
否
否
14
checkid
点击序号
integer
否
否
是否需要分配IO口以及需要分配的IO数量需根据各个功能的定义说明来决定,IO的预排参考此表。
表3-5染机群组功能定义数据表(ctl_mchgrp_definitions)
字段顺序
字段名称
字段含义
字段类型
主外键
非空
1
mgid
机器群组代码
Charactervarying
主键
是
2
mcid
机器代码
Charactervarying
主键
是
3
funcnumber
功能编号
integer
主键
是
4
funcbits
功能定义
Charactervarying
否
否
每个功能根据定义与否分别用0(未定义)或者1(已定义)表示,形成一个以0和1为字符的字符串,其最大长度为150,即每个功能下最多可定义150个子功能。
3.3.3染机参数表
表3-6染机群组主参数数据表(sysparametertypes)
字段顺序
字段名称
字段含义
字段类型
主外键
非空
1
ptid
参数类别
Charactervarying
主键
是
2
callname
短名称
Charactervarying
否
否
3
fullname
长名称
Charactervarying
否
否
4
comment
备注
Charactervarying
否
否
5
paramdata
参数数据
Charactervarying
否
否
6
typeid
主参数编号
integer
否
否
表3-7染机子参数信息数据表(public_ctl_machine_parm)
字段顺序
字段名称
字段含义
字段类型长度
主外键
非空
1
mcid
机器代码
Charactervarying
主键
是
2
mgid
机器群组代码
Charactervarying
主键
是
3
ptid
参数类型
Charactervarying
主键、外键
是
4
pid
参数位置代码
smallint
主键
是
5
callname
参数名称
Charactervarying
否
否
6
valuelo
参数最小值(双精度)
Doubleprecision
否
否
7
valuehi
参数最大值(双精度)
Doubleprecision
否
否
8
function
参数对应的功能主代码
integer
外键
否
9
subfunc
参数对应的功能次代码
integer
外键
否
3.3.4控制器及IO配置表
表3-8控制器表(sysController)
字段序号
字段名称
字段含义
字段类型
主外键
非空
1
ctlid
控制器编号
integer
主键
是
2
ctlai
AI数量
integer
否
否
3
ctlao
AO数量
integer
否
否
4
ctldi
DI数量
integer
否
否
5
ctldo
DO数量
integer
否
否
6
ctlpi
PI数量
integer
否
否
7
ctlrecsta
数据
charactervarying
否
否
控制器表存放系统所支持的控制器的类型和基本信息,控制器的配置信息在public_funcio表中。
表3-9染机控制器IO配置表(public_funcio)
字段序号
字段名称
字段含义
字段类型
主外键
非空
1
io
IO类型
charactervarying
主键
是
2
ionumber
IO序号
integer
主键
是
3
ioenable
IO始能
integer
否
否
4
sbffunction
所属主功能
integer
否
否
5
sbfnumber
所属子功能
integer
否
否
6
iocommand
IO命令号
integer
否
否
7
ioaddress
存放首地址
charactervarying
否
否
8
ioid
IO编号
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.5IO预排界面
IO预排是为了根据染机的功能定义,给其控制器的IO口定义主功能和子功能。
IO口类型和数量必须符合功能要求。
不同的功能定义,不同的控制器会有不同的预排结果。
用户点击查看按键系统自动显示对应IO数量。
再点击IO预排之前生成数据按键无效,预排之后右侧IO口配置列表将自动更新。
在生成按键点击之前IO配置下载按键无效,生成数据后可在memo窗口查看。
点击右侧的IO口可查看对应的功能定义说明。
点击IO配置按键进入IO配置下载界面。
图4-8IO预排界面
4.1.6IO配置下载界面
在手动发送和自动发送之前需要打开串口,当串口成功配对以后便可以发送数据。
点击手动发送前需点击CRC生成十六进制代码。
每点击一次发送当前十六进制码。
点击开始发送自动将数据放入数据字节内,完成所有数据的发送。
发送过程中显示进度情况。
发送完成弹出窗口提示。
图4-9IO配置下载界面
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.3IO口预排流程图
IO预排模块的功能流程图如下。
图4-16IO预排流程图
4.2.4IO口配置下载流程图
图4-17IO配置下载流程图
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);
音效提示用户已保存,即执行了前面两个程序。
procedureTfrmfunction.SaveCheck;主要包含两个SQL查询语句和一个SQL更新语句
SQL.Add('SELECTfuncbitsFROMp