收藏 分销(赏)

学士学位论文--染色工艺设置与管理系统设计.doc

上传人:胜**** 文档编号:2172820 上传时间:2024-05-21 格式:DOC 页数:49 大小:1.64MB 下载积分:10 金币
下载 相关 举报
学士学位论文--染色工艺设置与管理系统设计.doc_第1页
第1页 / 共49页
学士学位论文--染色工艺设置与管理系统设计.doc_第2页
第2页 / 共49页


点击查看更多>>
资源描述
浙江理工大学本科毕业设计 第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 2010[7]是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]。 Delphi2010[9]内置的Direct 2D模块及开发库,其新加的功能:拥有一个能同时运作于x86和x64的IDE,在此IDE下将会有跨平台编译器,能够编译用于Linux和MAC的应用程序;会支持Windows7下的触摸式编程;强化的DataSnap;支持云计算;支持函数式编程。 在Delphi2010众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。 由Borland公司推出的Delphi2010可视化编程环境,满足染色工艺设置与管理系统的程序开发要求。它提供了非常丰富可供使用的控件,以及丰富的API函数满足管理系统的各项功能要求。数据库支持是Delphi的强项,并且使用易学、方便、快捷的Delphi2010开发应用软件,无疑会大大地提高编程效率,快速地构造出应用系统。 2.2 PostgreSQL简介 PostgreSQL[10]是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(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) 字段序号 字段名称 字段含义 字段类型 主外键 非空 1 SerialNumber 机器群组代码Mgid Character varying 主键 是 2 MchineType 机器代号 Character varying 否 否 3 CALLNAME 机器简称 字符型 否 否 4 FULLNAME 机器全称 字符型 否 否 5 CONTROLLER 机器控制器类型 integer 否 否 表3-2染机基本信息(ctl_machines) 字段序号 字段名称 字段含义 字段类型长度 主外键 非空 1 Mcid 机器代码 Character varying 主键 是 2 Mgid 机器群组代码 Character varying 外键 是 3 MchType 类型代号 Character varying 否 否 4 MchTypeNumber 机器简称 integer 否 否 5 CALLNAME 机器全称 Character varying 否 否 6 CONTROLLER 机器控制器类型 integer 外键 否 一个染机属于一个群组,群组表和染机表基本相同,但少了一个机器ID字段。 3.3.2染机功能表 表3-3染机主功能定义表(sysfunctionschn) 字段顺序 字段名称 字段含义 字段类型 主外键 非空 1 FnCTID 控制器类型 integer 否 是 2 funcid 功能编号 integer 主键 是 3 fnccallname 功能文字说明 (显示给用户) Character varying 否 否 表3-4染机子功能定义数据表(syssubfunctionschn) 字段顺序 字段名称 字段含义 字段类型 主外键 非空 1 fncitd 控制器类型 integer 否 否 2 sbffunction 功能编号 integer 主键 是 3 sbfnumber 子功能编号 integer 主键 是 4 sbfname 每个子功能的文字说明 Character varying 否 否 5 sbftexttrue 真值文字 Character varying 否 否 6 sbftextfalse 假值文字 Character varying 否 否 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 机器群组代码 Character varying 主键 是 2 mcid 机器代码 Character varying 主键 是 3 funcnumber 功能编号 integer 主键 是 4 funcbits 功能定义 Character varying 否 否 每个功能根据定义与否分别用0(未定义)或者1(已定义)表示,形成一个以0和1为字符的字符串,其最大长度为150,即每个功能下最多可定义150个子功能。 3.3.3染机参数表 表3-6染机群组主参数数据表(sysparametertypes) 字段顺序 字段名称 字段含义 字段类型 主外键 非空 1 ptid 参数类别 Character varying 主键 是 2 callname 短名称 Character varying 否 否 3 fullname 长名称 Character varying 否 否 4 comment 备注 Character varying 否 否 5 paramdata 参数数据 Character varying 否 否 6 typeid 主参数编号 integer 否 否 表3-7染机子参数信息数据表(public_ctl_machine_parm) 字段顺序 字段名称 字段含义 字段类型长度 主外键 非空 1 mcid 机器代码 Character varying 主键 是 2 mgid 机器群组代码 Character varying 主键 是 3 ptid 参数类型 Character varying 主键、外键 是 4 pid 参数位置代码 smallint 主键 是 5 callname 参数名称 Character varying 否 否 6 valuelo 参数最小值(双精度) Double precision 否 否 7 valuehi 参数最大值(双精度) Double precision 否 否 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 数据 character varying 否 否 控制器表存放系统所支持的控制器的类型和基本信息,控制器的配置信息在public_funcio表中。 表3-9染机控制器IO配置表(public_funcio) 字段序号 字段名称 字段含义 字段类型 主外键 非空 1 io IO类型 character varying 主键 是 2 ionumber IO序号 integer 主键 是 3 ioenable IO始能 integer 否 否 4 sbffunction 所属主功能 integer 否 否 5 sbfnumber 所属子功能 integer 否 否 6 iocommand IO命令号 integer 否 否 7 ioaddress 存放首地址 character varying 否 否 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.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))');//更新子功能,若选择将至1 4.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 CD 01 01 01 01 Length() 实际数据 首地址代号 IO号 IO口代号 使能状态 功能编号 10 00 10 01 01 03 01 10 10 10 02 01 03 13 10 20 10 03 01 03 14 10 50 11 01 01 04 19 10 60 11 02 00 00 09 10 70 11 03 00 02 10 10 A0 12 01 00 02 11 10 D0 13 01 01 05 01 10 E0 13 02 01 04 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 CD 01 01 01 01 参数类型号 序号 功能编号 最低值 最高值 D 01 00 01 00 00 FF FF F 01 00 01 00 00 FF FF L 01 00 01 00 00 FF FF P 01 00 01 00 00 FF FF T 01 00 01 00 00 FF 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): 109~112 [2] 王纯贤, 王治森, 褚学宁, 等. 分散网络化制造环境下基于移动Agent和Web的生产监控研究[J]. 制造业自动化, 2002, 24(2): 36~41 [3] 郝平, 陈平生. 多智能体的车间染缸集群监控系统[J]. 自动化仪表, 2010, 259(4): 25~33 [4] 杨永刚. 间歇式染色机中央集成控制系统的研究与开发[D]. 杭州: 浙江理工大学机械与自动控制学院, 2011 [5] 徐智文, 延青. 用Delphi开发监控和管理系统的软件[J]. 包钢科技, 2008, 16(1): 11~14 [6] 宋运通. 基于实时数据库的工厂智能平台研究开发[D]. 天津: 天津大学, 2009 [7] 张乾. 基于Borland Delphi开发平台的数据库应用系统开发的原理与应用研究[D]. 重庆:重庆大学, 2009 [8] 邵景峰, 李永刚, 任克俭等. 纺织厂生产信息监控系统的设计[J]. 毛纺科技, 2010, 45(3): 67~69 [9] 俞利国. 基于Linux的嵌入式间歇染色机控制器研究与开发[D]. 杭州: 浙江理工大学, 2012 [10] R.García-Flores. Agent-based information flow for process industries' supply chain modelling[J]. Computers and Chemical Engineering,2000,24(2) [11] 王丽纳, 陈皓, 赵力, 邹采荣. 基于串口通信的无线数据传输[A]. 江苏省通信学会2004年学术年会论文集[C]. 2004. 22
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服