染色工藝設(shè)置與管理系統(tǒng)設(shè)計說明_第1頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計說明_第2頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計說明_第3頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計說明_第4頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計說明_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第1章 緒論1.1 課題研究的背景和意義隨著染色企業(yè)信息化的建設(shè),利用計算機信息技術(shù)對染機進行集中管理已成為企業(yè)技術(shù)改造的重點。染色工藝管理工作的信息化尤為重要,因為染色數(shù)據(jù)的準(zhǔn)確性和設(shè)置的高效性決定了著產(chǎn)品的產(chǎn)量、質(zhì)量,關(guān)系到染整企業(yè)整體的效益1。但由于目前染色機種類繁多,自動化水平參差不齊,功能規(guī)格均有所區(qū)別,使得染色工藝的集中設(shè)置和管理成為企業(yè)技術(shù)改造的難點2。開發(fā)染色工藝的設(shè)置與管理軟件能夠減少人為誤差,可提高生產(chǎn)和管理效率,提高企業(yè)效益,提高市場競爭力。借助數(shù)據(jù)庫,可對各染機的染色工藝參數(shù)進行保存,對生產(chǎn)過程中的數(shù)據(jù)進行有效管理,大大降低企業(yè)人工記錄的成本,和人為疏忽所產(chǎn)生的風(fēng)險。染

2、色工藝設(shè)置與管理系統(tǒng)的設(shè)計使染廠對染色工藝的管理更加自動化、信息化和規(guī)化。有助于印染企業(yè)建立靈敏的生產(chǎn)體系,具有較強的現(xiàn)實意義。1.2 國外現(xiàn)狀和發(fā)展趨勢雖然近年來我國染整行業(yè)經(jīng)過多年快速發(fā)展,大量自動化程度較高的設(shè)備得到了使用,但由于染整工業(yè)屬于勞動密集型行業(yè),國染整企業(yè)在染程庫建設(shè)方面很多停留在人工處理階段。而且染色行業(yè)普遍存在染色機種類各異、自動化程度差異化明顯、生產(chǎn)過程集成度低等現(xiàn)象,同時面臨著企業(yè)員工流動性大、操作人員對自動化設(shè)備操作的熟練程度不一等問題,嚴(yán)重影響了染色效果3。國針對準(zhǔn)備車間機群而開發(fā)的數(shù)據(jù)管理系統(tǒng)相對較少,少數(shù)企業(yè)僅使用了一些信息管理系統(tǒng),絕大多數(shù)的數(shù)據(jù)需要手動輸入

3、。這種管理方式無法保證生產(chǎn)數(shù)據(jù)的準(zhǔn)確性,無法全面管理整個車間設(shè)備,更不能實現(xiàn)對染機的各種實時數(shù)據(jù)如運轉(zhuǎn)狀況、質(zhì)量情況、停機狀態(tài)等的采集和生產(chǎn)過程中實時發(fā)生的各種異常事件的管理4。而國外染企的染機不僅具有多樣化的控制功能還有完善友好的人機界面。功能上,除了有溫度控制以外,還有壓力控制、主泵變頻控制、浴比控制、流量控制、節(jié)能入排水控制等功能,有的控制器還能實現(xiàn)曲線加染料的功能。染缸控制器提供了編輯現(xiàn)場染程和配方、記錄現(xiàn)場數(shù)據(jù)和查詢?yōu)g覽歷史數(shù)據(jù)等強大功能,并能和染缸集中控制系統(tǒng)進行集成。在人機交互界面上,大多數(shù)染缸控制器采用液晶屏,不僅能與時向用戶反應(yīng)染色過程的溫度、液位、壓力等信息并帶有圖文茂的動

4、畫顯示功能。以國外以色列Ard(亞瑞)公司為例,其開發(fā)的Ard染色工藝庫軟件將染程分為主染程和子染程,可以將染程組合形成新的染程,也可以合并相似的染程,并可對染程庫進行優(yōu)化。Ard系統(tǒng)與其它系統(tǒng)相比,其獨特之處是,其染程中不僅僅包含工藝動作信息,還包含配方信息,這就使得染程成為聯(lián)系印染企業(yè)ERP系統(tǒng)、染缸集中控制系統(tǒng)和染助劑稱重配送系統(tǒng)等之間聯(lián)系的紐帶,實現(xiàn)染廠的集成控制成為可能4 。通過比較得出,國染色行業(yè)自動化程度還遠遠落后于國外一些發(fā)達國家??傮w來說有,國染色行業(yè)將朝著更加智能化、開放性、分散化、網(wǎng)絡(luò)化、信息化的方向發(fā)展。1.3 研究容和方案1.3.1 主要研究容本系統(tǒng)的目的在于對染色工

5、藝進行集中設(shè)置與管理。該系統(tǒng)實現(xiàn)的功能包括染機的管理、染機功能和參數(shù)的設(shè)置、IO預(yù)排、IO配置以與參數(shù)的下載。為了完成該系統(tǒng)的設(shè)計,需要對染色過程進行分析,需要掌握一門數(shù)據(jù)庫和界面開發(fā)工具。 本系統(tǒng)的主要研究容包括:1、選擇合適的數(shù)據(jù)庫平臺,分析染色工藝中需要設(shè)置與管理的數(shù)據(jù),創(chuàng)建相應(yīng)的數(shù)據(jù)表,根據(jù)各個數(shù)據(jù)表的關(guān)系設(shè)計主鍵和外鍵,并添加相應(yīng)的數(shù)據(jù)。所有與染色工藝相關(guān)的數(shù)據(jù)都保存在這些數(shù)據(jù)表中。2、選擇合適的界面開發(fā)工具,根據(jù)系統(tǒng)的功能設(shè)計便于操作人員使用的界面。所有對數(shù)據(jù)庫數(shù)據(jù)的更改、添加或刪除都在這些界面完成。3、選擇界面與數(shù)據(jù)庫之間的連接方案。4、設(shè)計IO預(yù)排的方式。5、選擇合適的通信控件

6、,實現(xiàn)下載功能。6、設(shè)計合適的的數(shù)據(jù)封裝方式以與通信協(xié)議。7、選擇合適的調(diào)試工具,便于測試下載功能。1.3.2系統(tǒng)的設(shè)計方案1、 在數(shù)據(jù)庫方面,鑒于開源的PostgreSQL的優(yōu)點和本系統(tǒng)的特點,選擇Windows下PostgreSQL數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)庫開發(fā)的平臺。2、 為了實現(xiàn)該系統(tǒng)的功能,并能在短時間掌握界面開發(fā)工具的使用,選用了較為易學(xué)且編譯快捷的Delphi2010開發(fā)用戶界面。3、Delphi2010通過ODBC建立與PostgreSQL數(shù)據(jù)庫的連接,通過ADO控件對數(shù)據(jù)庫中的配置參數(shù)進行修改和保存。4、為了實現(xiàn)IO預(yù)排功能,即對染色機控制器的輸入輸出功能進行定義,必須建立系統(tǒng)所支

7、持的控制器表,其中包括IO數(shù)量以與其他信息,使用人員完成對染機功能的定以后,系統(tǒng)可以統(tǒng)計所需的IO口數(shù)量,依據(jù)染機功能對控制器IO進行預(yù)排。生成IO配置數(shù)據(jù)前必須進行IO預(yù)排。5、下載分為IO配置下載和參數(shù)下載。通過ComPort控件實現(xiàn)與下位機的通信,對于IO配置下載,系統(tǒng)將IO預(yù)排所生成的數(shù)據(jù)下載到下位機,下位機依據(jù)此數(shù)據(jù)對控制器IO進行定義。對于參數(shù)下載,系統(tǒng)將參數(shù)表中的所有數(shù)據(jù)下載到下位機,下位機通過查詢找到功能對應(yīng)的參數(shù)。6、數(shù)據(jù)下載任務(wù)分為兩層,上層只負(fù)責(zé)數(shù)據(jù)封裝,下層只負(fù)責(zé)數(shù)據(jù)發(fā)送。在發(fā)送數(shù)據(jù)前需要生成相應(yīng)的數(shù)據(jù),生成后的數(shù)據(jù)包含數(shù)據(jù)頭和實際數(shù)據(jù)兩部分,以長字符串的形式儲存在數(shù)據(jù)

8、庫中。本系統(tǒng)采用較為簡單的校驗方式。7、最后通過手機藍牙轉(zhuǎn)串口的方式接受上位機發(fā)送的數(shù)據(jù),從而實現(xiàn)對系統(tǒng)下載功能的調(diào)試。通過驗證此方案可行。第2章 開發(fā)平臺介紹2.1 Delphi2010簡介Delphi 20107是Borland公司研制的新一代可視化開發(fā)工具,可在WindowsXP、Windows7 、Linux等環(huán)境下使用。采用面向?qū)ο蟮木幊陶Z言O(shè)bjectPascal和基于部件的開發(fā)結(jié)構(gòu)框架。Delphi 2010相對于Delphi7擁有更加強大的功能,ObjectPascal被稱為第四代編程語言,它具有功能強大、簡單高效等特點。和VC相比,Delphi更簡單、更易于掌握,而在功能上卻

9、絲毫不遜色;和VB相比,Delphi則功能更強大、更實用??梢哉fDelphi同時兼?zhèn)淞薞C功能強大和VB簡單易學(xué)的特點。它一直是程序員至愛的編程工具8。Delphi2010具有以下的特性:基于窗體和面向?qū)ο蟮姆椒?,高速的編譯器,強大的數(shù)據(jù)庫支持,與Windows編程緊密結(jié)合,強大而成熟的組件技術(shù)。但最重要的還是Object Pascal語言,它才是一切的根本。 Object Pascal語言是在Pascal語言的基礎(chǔ)上發(fā)展起來的,簡單易學(xué)8。Delphi20109置的Direct 2D模塊與開發(fā)庫,其新加的功能:擁有一個能同時運作于x86和x64的IDE,在此IDE下將會有跨平臺編譯器,能夠編

10、譯用于Linux和MAC的應(yīng)用程序;會支持Windows7下的觸摸式編程;強化的DataSnap;支持云計算;支持函數(shù)式編程。在Delphi2010眾多的優(yōu)勢當(dāng)中,它在數(shù)據(jù)庫方面的特長顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機服務(wù)機模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進的數(shù)據(jù)庫引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。由Borland公司推出的Delphi2010可視化編程環(huán)境,滿足染色工藝設(shè)置與管理系統(tǒng)的程序開發(fā)要求。它提供了非常豐富可供使用的控件,以與豐富的API函數(shù)滿足管理系統(tǒng)的各項功能要求。數(shù)據(jù)庫支持是Delphi的強項,并且使用易學(xué)、方便、快捷的Delph

11、i2010開發(fā)應(yīng)用軟件,無疑會大提高編程效率,快速地構(gòu)造出應(yīng)用系統(tǒng)。2.2 PostgreSQL簡介PostgreSQL10是一種特性非常齊全的自由軟件的對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),可以說是目前世界上最先進,功能最強大的自由數(shù)據(jù)庫管理系統(tǒng)。它的前身是以加州大學(xué)伯克利分校計算機系開發(fā)的 POSTGRES,版本 4.2為基礎(chǔ)的對象關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。 PostgreSQL支持大部分 SQL標(biāo)準(zhǔn)并且提供了許多其他現(xiàn)代特性:復(fù)雜查詢、外鍵、觸發(fā)器、視圖、事務(wù)完整性、多版本并發(fā)控制。同樣,PostgreSQL 可以用許多方法擴展,比如, 通過增加新的數(shù)據(jù)類型、函數(shù)、操作符、聚集函數(shù)、索

12、引方法、過程語言。PostgreSQL 的特性覆蓋了SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以說是目前世界上最豐富的數(shù)據(jù)類型的支持,其中有些數(shù)據(jù)類型可以說連商業(yè)數(shù)據(jù)庫都不具備,比如 IP 類型和幾何類型等;其次,PostgreSQL 是全功能的自由軟件數(shù)據(jù)庫,很長時間以來,PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫管理系統(tǒng)11。任何人都可以以任何目的免費使用、修改、和分發(fā) PostgreSQL,不管是私用、商用、還是學(xué)術(shù)研究使用。PostgreSQL 的確還欠缺一些比較高端的數(shù)據(jù)庫管理系統(tǒng)需

13、要的特性,比如數(shù)據(jù)庫集群,更優(yōu)良的管理工具和更加自動化的系統(tǒng)優(yōu)化功能以與提高數(shù)據(jù)庫性能的機制等。在系統(tǒng)實現(xiàn)的功能上以與系統(tǒng)開發(fā)的效益上來考慮,使用PostgreSQL數(shù)據(jù)庫應(yīng)用于本系統(tǒng)的開發(fā)無疑是最佳的選擇。第3章 系統(tǒng)與數(shù)據(jù)庫分析3.1 系統(tǒng)功能結(jié)構(gòu)根據(jù)系統(tǒng)的要求,對染色工藝設(shè)置與管理系統(tǒng)的功能圖如下: 圖3-1 系統(tǒng)功能結(jié)構(gòu)框圖3.2 系統(tǒng)功能目標(biāo)3.2.1 染機群組的查詢與管理點擊染機群組后系統(tǒng)能自動讀取數(shù)據(jù)庫中的關(guān)于染機群組表的基本信息,用戶可以在這里查詢?nèi)緳C群組信息,并且能夠進入相應(yīng)的功能定義,參數(shù)設(shè)置,I/O口預(yù)排,查看染程和染程下載界面。在菜單項還包括串口參數(shù)設(shè)置、新建染機群組和

14、染機功能界面等。3.2.2 染色功能的定義與保存系統(tǒng)自動連接與顯示PostgreSQL數(shù)據(jù)庫中染機功能表,當(dāng)選中相應(yīng)的主功能時應(yīng)顯示其子功能,并能對其進行復(fù)選和保存。新建染機群組,當(dāng)沒有相應(yīng)的功能時,可以添加染機功能,并添加至相應(yīng)的數(shù)據(jù)表中。3.2.3 染色參數(shù)的設(shè)置與下載系統(tǒng)界面能顯示染機群組所有的參數(shù)與其數(shù)值和說明,當(dāng)選中相應(yīng)的參數(shù)時,可以對其進行修改和保存。 系統(tǒng)實現(xiàn)對染機群組所有類型參數(shù)設(shè)定的保存,能自動生成數(shù)據(jù)并能自動下載到對應(yīng)的染機。3.2.4 IO口的預(yù)排與配置下載系統(tǒng)顯示當(dāng)前染機群組所需要的I/O端口數(shù)量,以與所選控制器的I/O端口數(shù)量。系統(tǒng)能判斷是否符合要求,并自動對控制器I

15、O口進行預(yù)排,即為其定義主功能和子功能。點擊預(yù)排后的IO口可查看具體功能說明,點擊數(shù)字輸入,數(shù)字輸出,模擬輸入,模擬輸出時查看對應(yīng)的端口和功能說明。系統(tǒng)可自動生成IO配置數(shù)據(jù)以供下載。下載的數(shù)據(jù)幀帶有校驗碼。3.3 數(shù)據(jù)庫的設(shè)計本節(jié)將介紹本系統(tǒng)所使用的PostgreSQL數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)。以下為主要的數(shù)據(jù)表單。3.3.1染機群組設(shè)備表表3-1染機群組基本信息數(shù)據(jù)表(ctl_machine_group)字段序號字段名稱字段含義字段類型主外鍵非空1SerialNumber機器群組代碼MgidCharacter varying主鍵是2MchineType機器代號Character varying否否

16、3CALLNAME機器簡稱字符型否否4FULLNAME機器全稱字符型否否5CONTROLLER機器控制器類型integer否否表3-2染機基本信息(ctl_machines)字段序號字段名稱字段含義字段類型長度主外鍵非空1Mcid機器代碼Character varying主鍵是2Mgid機器群組代碼Character varying外鍵是3MchType類型代號Character varying否否4MchTypeNumber機器簡稱integer否否5CALLNAME機器全稱Character varying否否6CONTROLLER機器控制器類型integer外鍵否 一個染機屬于一個群組,

17、群組表和染機表基本一樣,但少了一個機器ID字段。3.3.2染機功能表表3-3染機主功能定義表(sysfunctionschn)字段順序字段名稱字段含義字段類型主外鍵非空1FnCTID控制器類型integer否是2funcid功能編號integer主鍵是3fnccallname功能文字說明(顯示給用戶)Character varying否否表3-4染機子功能定義數(shù)據(jù)表(syssubfunctionschn)字段順序字段名稱字段含義字段類型主外鍵非空1fncitd控制器類型integer否否2sbffunction功能編號integer主鍵是3sbfnumber子功能編號integer主鍵是4sb

18、fname每個子功能的文字說明Character varying否否5sbftexttrue真值文字Character varying否否6sbftextfalse假值文字Character varying否否7sbforioalloc是否需要分配IOboolean否否8do需分配DO個數(shù)integer否否9di需分配DI個數(shù)integer否否10ao需分配AO個數(shù)integer否否11ai需分配AI個數(shù)integer否否12pi需分配PI個數(shù)integer否否13check是否點擊integer否否14checkid點擊序號integer否否是否需要分配IO口以與需要分配的IO數(shù)量需根據(jù)各個

19、功能的定義說明來決定,IO的預(yù)排參考此表。表3-5染機群組功能定義數(shù)據(jù)表(ctl_mchgrp_definitions)字段順序字段名稱字段含義字段類型主外鍵非空1mgid機器群組代碼Character varying主鍵是2mcid機器代碼Character varying主鍵是3funcnumber功能編號integer主鍵是4funcbits功能定義Character varying否否每個功能根據(jù)定義與否分別用0(未定義)或者1(已定義)表示,形成一個以0和1為字符的字符串,其最大長度為150,即每個功能下最多可定義150個子功能。3.3.3染機參數(shù)表表3-6染機群組主參數(shù)數(shù)據(jù)表(sy

20、sparametertypes)字段順序字段名稱字段含義字段類型主外鍵非空1ptid參數(shù)類別Character varying主鍵是2callname短名稱Character varying否否3fullname長名稱Character varying否否4comment備注Character varying否否5paramdata參數(shù)數(shù)據(jù)Character varying否否6typeid主參數(shù)編號integer否否表3-7染機子參數(shù)信息數(shù)據(jù)表(public_ctl_machine_parm)字段順序字段名稱字段含義字段類型長度主外鍵非空1mcid機器代碼Character varying主

21、鍵是2mgid機器群組代碼Character varying主鍵是3ptid參數(shù)類型Character varying主鍵、外鍵是4pid參數(shù)位置代碼smallint主鍵是5callname參數(shù)名稱Character varying否否6valuelo參數(shù)最小值(雙精度)Double precision否否7valuehi參數(shù)最大值(雙精度)Double precision否否8function參數(shù)對應(yīng)的功能主代碼integer外鍵否9subfunc參數(shù)對應(yīng)的功能次代碼integer外鍵否3.3.4控制器與IO配置表表3-8控制器表(sysController)字段序號字段名稱字段含義字段類型

22、主外鍵非空1ctlid控制器編號integer主鍵是2ctlaiAI數(shù)量integer否否3ctlaoAO數(shù)量integer否否4ctldiDI數(shù)量integer否否5ctldoDO數(shù)量integer否否6ctlpiPI數(shù)量integer否否7ctlrecsta數(shù)據(jù)character varying否否 控制器表存放系統(tǒng)所支持的控制器的類型和基本信息,控制器的配置信息在public_funcio表中。表3-9染機控制器IO配置表(public_funcio)字段序號字段名稱字段含義字段類型主外鍵非空1ioIO類型character varying主鍵是2ionumberIO序號integer主

23、鍵是3ioenableIO始能integer否否4sbffunction所屬主功能integer否否5sbfnumber所屬子功能integer否否6iocommandIO命令號integer否否7ioaddress存放首地址character varying否否8ioidIO編號integer否否染機控制器IO配置表用于設(shè)置染機控制器的IO配置情況。3.4 數(shù)據(jù)庫ER關(guān)系圖圖3-2 數(shù)據(jù)庫E-R關(guān)系圖第4章 系統(tǒng)界面與功能4.1 系統(tǒng)主要界面4.1.1 登錄界面用戶雙擊桌面快捷方式打開軟件,系統(tǒng)顯示啟動畫面,并要求用戶輸入數(shù)據(jù)庫密碼,輸入正確即與數(shù)據(jù)庫建立連接,并進入系統(tǒng)操作界面。圖4-1

24、啟動畫面圖4-2 連接數(shù)據(jù)庫4.1.2 染機群組設(shè)置界面用戶進入操作界面后,系統(tǒng)顯示所有染機(下圖左)。用戶點擊染機群組設(shè)置下的新建群組和新建染機染將彈出以下兩個窗口(下圖右)。輸入并點擊添加確認(rèn)后將在染機群組表和染機表生成一條記錄。圖4-3 系統(tǒng)主界面與其菜單圖4-4 新建染機群組與染機點擊染機群組將進入染機群組界面,系統(tǒng)自動讀取數(shù)據(jù)庫中的關(guān)于染機群組表的基本信息,用戶在此窗口完成大多數(shù)的系統(tǒng)功能,當(dāng)選中相應(yīng)的染機群組時,界面中相應(yīng)的功能按鈕顯示可用。圖4-5 染機群組界面4.1.3 功能定義界面用戶在左側(cè)列表選擇主功能,系統(tǒng)在右側(cè)列表自動導(dǎo)入對應(yīng)的子功能,用戶可在此處對子功能進行多項選擇,

25、完成后按保存鍵,音效提示完成數(shù)據(jù)庫記錄的更新。如果沒有主功能,可進行添加,窗口提示添加完成后,可繼續(xù)完成子功能的選擇。圖4-6 染機功能定義界面4.1.4 參數(shù)設(shè)置界面當(dāng)用戶選中相應(yīng)的染機群組時,參數(shù)按鈕顯示為可用,當(dāng)點擊參數(shù)設(shè)置按鈕時,系統(tǒng)自動連接數(shù)據(jù)庫的主參數(shù)數(shù)據(jù)表,在左側(cè)的區(qū)域選擇主參數(shù)和子參數(shù)后將在界面右區(qū)域顯示對應(yīng)的參數(shù)說明,并顯示當(dāng)前參數(shù)值。用戶在文本編輯框?qū)Ξ?dāng)前值進行修改,按下回車鍵即可保存數(shù)據(jù)。圖4-7 染機參數(shù)設(shè)置界面4.1.5 IO預(yù)排界面IO預(yù)排是為了根據(jù)染機的功能定義,給其控制器的IO口定義主功能和子功能。 IO口類型和數(shù)量必須符合功能要求。不同的功能定義,不同的控制器

26、會有不同的預(yù)排結(jié)果。用戶點擊查看按鍵系統(tǒng)自動顯示對應(yīng)IO數(shù)量。再點擊IO預(yù)排之前生成數(shù)據(jù)按鍵無效,預(yù)排之后右側(cè)IO口配置列表將自動更新。在生成按鍵點擊之前IO配置下載按鍵無效,生成數(shù)據(jù)后可在memo窗口查看。點擊右側(cè)的IO口可查看對應(yīng)的功能定義說明。點擊IO配置按鍵進入IO配置下載界面。圖4-8 IO預(yù)排界面4.1.6 IO配置下載界面在手動發(fā)送和自動發(fā)送之前需要打開串口,當(dāng)串口成功配對以后便可以發(fā)送數(shù)據(jù)。點擊手動發(fā)送前需點擊CRC生成十六進制代碼。每點擊一次發(fā)送當(dāng)前十六進制碼。點擊開始發(fā)送自動將數(shù)據(jù)放入數(shù)據(jù)字節(jié),完成所有數(shù)據(jù)的發(fā)送。發(fā)送過程中顯示進度情況。發(fā)送完成彈出窗口提示。圖4-9 IO

27、配置下載界面4.1.7查看染程界面根據(jù)染機群組和染程代號查詢相應(yīng)的染程情況,如圖顯示染程的基本信息。圖4-10 染程查看界面4.1.8 參數(shù)下載界面在參數(shù)下載之前需要打開串口設(shè)置串口參數(shù)。成功連接后點擊參數(shù)下載按鍵自動發(fā)送所有類型參數(shù)。圖4-11 參數(shù)下載窗口4.1.9 串口設(shè)置界面用戶再此界面完成串口參數(shù)設(shè)置,右側(cè)帶有測試窗口可接收發(fā)送數(shù)據(jù)。當(dāng)串口捂手成功后DSR、CTS、Conn燈亮。圖4-12 串口設(shè)置窗口4.2 系統(tǒng)功能流程圖4.2.1 系統(tǒng)功能總流程圖根據(jù)整個系統(tǒng)功能的要求,設(shè)計系統(tǒng)功能總的流程圖如下:圖4-13 系統(tǒng)功能總流程圖4.2.2 功能定義與參數(shù)設(shè)置流程圖根據(jù)系統(tǒng)功能定義的

28、要求,設(shè)計功能定義這個界面的功能流程圖如下圖左參數(shù)設(shè)置的功能流程圖如下圖右。 圖4-14 功能定義流程圖 圖4-15 參數(shù)設(shè)置流程圖4.2.3 IO口預(yù)排流程圖IO預(yù)排模塊的功能流程圖如下。圖4-16 IO預(yù)排流程圖4.2.4 IO口配置下載流程圖圖4-17 IO配置下載流程圖4.2.5 參數(shù)下載流程圖圖4-18 參數(shù)下載流程圖4.3 系統(tǒng)主要代碼以下容為實現(xiàn)本系統(tǒng)功能的主要程序和函數(shù),詳細代碼請參見附錄。4.3.1 功能定義主要代碼點擊保存按鍵將執(zhí)行以下三個程序SaveFuncbits();/將Listview的點情況已字符串的形式保存在public_ctl_mchgrp_definitio

29、ns的funcbits字段。 SaveCheck();根據(jù)funcbits字段的容,對public_syssubfunctionschn的check進行更新。 sndPlaySound(path, SND_ASYNC);音效提示用戶已保存,即執(zhí)行了前面兩個程序。procedure Tfrmfunction.SaveCheck;主要包含兩個SQL查詢語句和一個SQL更新語句 SQL.Add('SELECT funcbits FROM public_ctl_mchgrp_definitions Where (mgid=:p1)AND(funcnumber=:p2) ');/獲取某一

30、主功能的字符串 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預(yù)排代碼1、IO口數(shù)量查

31、看鍵的功能分別查詢表public_syssubfunctionschn中的各IO口字段與check字段,對其進行相乘并累加得到各IO需要的數(shù)量。根據(jù)Combobox的選擇對表syscontroller進行查詢,顯示控制器所能提供的各IO數(shù)量。2、 IO預(yù)排鍵的功能先判斷所選控制器的IO口數(shù)是否大于需要分配的IO口數(shù)量,若滿足要求則根據(jù)public_syssubfunctionschn表中check字段的情況,對IO配置表public_funcio進行更新。否則提示IO口不足,這里需要說明的是,現(xiàn)階段默認(rèn)控制器對IO口沒有定義,系統(tǒng)根據(jù)按功能的順序,從小到大進行自動分配。3、 生成數(shù)據(jù)的功能根據(jù)

32、IO配置表public_funcio所有IO的配置情況,按一定的協(xié)議生成一長字符串并將其寫入表syscontroller的 ctlrecsta字段,配置下載界面將對其進行下載。4.3.3 IO配置下載代碼SQL.Add('Select ctlrecsta From syscontroller where ctlid=1');str:=fieldbyname('ctlrecsta').Value;/提取IO配置數(shù)據(jù)字符串edit7.Text:=inttostr(strtoint('$'+edit3.Text)+strtoint('$'

33、;+edit4.Text)+strtoint('$'+edit5.Text)+strtoint('$'+edit6.Text);/生成CRC校驗碼frmcomset Port1.Write(PChar(arrayfun),8); /以字節(jié)數(shù)組的形式發(fā)送frmcomset.SendString(viewstring); / 以字符的形式發(fā)送4.3.4 參數(shù)下載代碼在串口連接成功以后,用戶按參數(shù)下載鍵生成數(shù)據(jù)包并自動下載,其主要程序如下str2:='ABCD01010101'/生成參數(shù)數(shù)據(jù)頭文件setparamdata('D');/生

34、成D類參數(shù)字符串,并寫入表sysparametertypes對應(yīng)的Paramdata字段。其他類型參數(shù)通過調(diào)用setparamdata(參數(shù)類型)str:=pid+fun+sub+vallo+valhi;/字符串生成代碼downloadparamdata();/下載參數(shù)數(shù)據(jù)程序procedure Tfrmcom.downloadparamdata;的主要功能是將所有類型參數(shù)合成一個數(shù)據(jù)字符串,并將timer1.Enabled設(shè)置為true啟動timer1控件。每一次Timer1事件都調(diào)用frmcomset的SendString(sendstr)程序發(fā)送相應(yīng)的數(shù)據(jù)。4.3.5 串口通信代碼 串口

35、通信部分使用ComPort控件,窗口Comcombox控件自動獲取端口號,設(shè)置完端口、波特率、檢驗位、數(shù)據(jù)位、停止位、與控制流后點擊打開串口。當(dāng)成功連接后ComLed控件燈亮。ComPort1.Open;/打開串口。其他說明請詳見附錄。4.4 數(shù)據(jù)封裝與協(xié)議數(shù)據(jù)下載任務(wù)分為兩層,上層只負(fù)責(zé)數(shù)據(jù)封裝,下層只負(fù)責(zé)數(shù)據(jù)發(fā)送。在發(fā)送數(shù)據(jù)前需要生成相應(yīng)的數(shù)據(jù),生成后的數(shù)據(jù)包含數(shù)據(jù)頭和實際數(shù)據(jù)兩部分,以長字符串的形式儲存在數(shù)據(jù)庫中。4.4.1 IO配置數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)頭由16個字符組成,登錄號代表用戶,默認(rèn)ABCD;染機代號前兩個字符表示其染機群組的代號;控制器代號表示接收該配置數(shù)據(jù)的控制器;數(shù)據(jù)長度為數(shù)據(jù)頭

36、與實際數(shù)據(jù)的總長度。實際數(shù)據(jù)包含IO口具體的配置信息,首地址代號為在下位機存放某一IO口配置參數(shù)的寄存器地址首地址,每一個IO口預(yù)留16字節(jié)的空間。IO口號的含義是用10代表AI用11代表AO用12代表DI用13代表DO用14代表PI。IO口代號為對應(yīng)IO的序號。使能狀態(tài)01代表有分配功能,00代表無分配功能。功能編號前兩個字符代表主動能,后兩個字符代表子功能。 IO配置數(shù)據(jù)可選用字符或字節(jié)的形式發(fā)送,IO預(yù)排界面中生成數(shù)據(jù)按鍵的作用是從表public_funcio提取相關(guān)字段的數(shù)據(jù),以如下表格的形式自動生成一個長字符的IO配置數(shù)據(jù)。表4-1 IO數(shù)據(jù)結(jié)構(gòu)表數(shù)據(jù)頭登陸號染機代號染程代號控制器代

37、號數(shù)據(jù)長度(字符)AB CD01 010101Length()實際數(shù)據(jù)首地址代號IO號IO口代號使能狀態(tài)功能編號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配置數(shù)據(jù)。 控制器1共配有AO口5個AI 口5個DO口40個DI 口3個PI

38、口1個加上數(shù)據(jù)頭共有55行數(shù)據(jù),數(shù)據(jù)長度字符(0772)從第一行開始累加到最后一行生成一個完整的數(shù)據(jù)字符。4.4.2 參數(shù)數(shù)據(jù)結(jié)構(gòu)每一類型參數(shù)將生產(chǎn)一個長字符數(shù)據(jù),其數(shù)據(jù)保存在表sysparametertypes的paramdata字段,數(shù)據(jù)頭中包含登陸號、染機代號、控制器代號以與數(shù)據(jù)長度等信息。每一個參數(shù)都包含參數(shù)類型、序號、功能編號以與最低值和最高值。最高值不應(yīng)超過65535。表4-2 參數(shù)據(jù)結(jié)構(gòu)表登陸號染機代號染程代號控制器號數(shù)據(jù)長度AB CD01 010101參數(shù)類型號序號功能編號最低值最高值D0100 0100 00FF FFF0100 0100 00FF FFL0100 0100

39、00FF FFP0100 0100 00FF FFT0100 0100 00FF FF圖4-20 sysparametertypes表 如圖,表sysparametertypes中的paramdata字段儲存自動生成的參數(shù)數(shù)據(jù)。4.4.3 通信協(xié)議循環(huán)冗余碼校驗簡稱CRC,它是利用除法與余數(shù)的原理來作錯誤偵測(Error Detecting)的。實際應(yīng)用時,發(fā)送裝置計算出CRC值并隨數(shù)據(jù)一同發(fā)送給接收裝置,接收裝置對收到的數(shù)據(jù)重新計算CRC并與收到的CRC相比較,若兩個CRC值不同,則說明數(shù)據(jù)通訊出現(xiàn)錯誤11。由于時間有限,本系統(tǒng)規(guī)定了較為簡單的CRC校驗碼。其生成形式即CRC等于命令字節(jié)與數(shù)

40、據(jù)字節(jié)的和,要求輸入十六進制的字符,如果輸入不滿足要求將提示錯誤,點擊CRC后自動生成對應(yīng)的CRC校驗碼,在傳輸過程中如果檢驗不對,則丟棄該數(shù)據(jù)幀幀。 手動輸入生成一數(shù)據(jù)的界面如下圖所示。圖4-21 手動輸入數(shù)據(jù)幀界面 自動發(fā)送時將提取該長字符串,按順序?qū)⒆址b載進下層每一數(shù)據(jù)幀中,并自動生成CRC碼。實現(xiàn)過程如下圖示。 圖4-22 數(shù)據(jù)傳輸上下層關(guān)系圖 圖4-23手機藍牙轉(zhuǎn)串口接收數(shù)據(jù)第5章 系統(tǒng)調(diào)試與總結(jié)在后期對軟件各個窗口的調(diào)試中發(fā)現(xiàn)了不少的錯誤,錯誤主要集中在按鍵的順序上,比如在發(fā)送數(shù)據(jù)之前沒有對串口進行設(shè)置,在生成IO配置數(shù)據(jù)前沒有對其進行預(yù)排。在手動發(fā)送數(shù)據(jù)前沒有按CRC按鍵生成數(shù)

41、據(jù)幀,與保存按鍵中處在的錯誤等。解決辦法是在條件滿足前使按鍵無效,通過procedure setBtn(status: Boolean)實現(xiàn)。調(diào)試完成后基本解決了用戶操作過程中可能會出現(xiàn)的錯誤。但由于時間有限還有以下方面有待改進1、通信協(xié)議與檢驗碼本系統(tǒng)已經(jīng)通過藍牙轉(zhuǎn)串口的方式實現(xiàn)了基本的通信功能,即筆記本與帶藍牙設(shè)備的之間的發(fā)送和接收數(shù)據(jù)。但在數(shù)據(jù)的封裝和編排上,目前還只是極其簡單的對IO口配置數(shù)據(jù)與參數(shù)進行封裝的,由于經(jīng)驗不足,還有很多需要改進的地方。特別是底層的通訊協(xié)議,如何生成較為通用的校驗碼。2、數(shù)據(jù)庫與界面容完善數(shù)據(jù)庫的有序管理對本系統(tǒng)維護至關(guān)重要,特別是與染機群組與染機有關(guān)數(shù)據(jù)表

42、的處理上,染機群組與染機的區(qū)別沒有得到很好的體現(xiàn)?,F(xiàn)只有一組染機群組有完整的設(shè)定,其他染機群組還有待完善。界面設(shè)計中控件、窗口與按鍵的命名有待完善。3、染機對染機群組的繼承 本系統(tǒng)只能添加新的染機群組和新的染機,即在相應(yīng)的數(shù)據(jù)表中增加記錄,但染機相應(yīng)的功能參數(shù)還未能從染機群組里得到繼承。4、遠程訪問數(shù)據(jù)庫本系統(tǒng)只能連接本地的PostgreSQL數(shù)據(jù)庫,但是企業(yè)級的數(shù)據(jù)庫管理較多采用專用的服務(wù)器,通過網(wǎng)絡(luò)的方式將系統(tǒng)連接到數(shù)據(jù)庫也是有待改進的地方。參考文獻1 建新. 基于工業(yè)以太網(wǎng)的染色設(shè)備監(jiān)控系統(tǒng)J. 紡織學(xué)報, 2005, 26(4):1091122 王純賢, 王治森, 褚學(xué)寧, 等.分散網(wǎng)

43、絡(luò)化制造環(huán)境下基于移動Agent和Web的生產(chǎn)監(jiān)控研究J. 制造業(yè)自動化,2002, 24(2):36413 郝平, 平生. 多智能體的車間染缸集群監(jiān)控系統(tǒng)J. 自動化儀表, 2010,259(4): 25334 永剛.間歇式染色機中央集成控制系統(tǒng)的研究與開發(fā)D. : 理工大學(xué)機械與自動控制學(xué)院,20115 徐智文,延青. 用Delphi開發(fā)監(jiān)控和管理系統(tǒng)的軟件J. 包鋼科技, 2008, 16(1): 11146 宋運通.基于實時數(shù)據(jù)庫的工廠智能平臺研究開發(fā)D. : 大學(xué), 20097 乾.基于Borland Delphi開發(fā)平臺的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的原理與應(yīng)用研究D. :大學(xué), 20098

44、 邵景峰, 永剛, 任克儉等. 紡織廠生產(chǎn)信息監(jiān)控系統(tǒng)的設(shè)計J. 毛紡科技, 2010, 45(3):67699 俞利國. 基于Linux的嵌入式間歇染色機控制器研究與開發(fā)D. : 理工大學(xué),201210 R.García-Flores. Agent-based information flow for process industries' supply chain modellingJ.Computers and Chemical Engineering,2000,24(2)11 王麗納, 皓, 力, 鄒采榮. 基于串口通信的無線數(shù)據(jù)傳輸A. 省通信學(xué)會2004年學(xué)術(shù)年會

45、論文集C. 2004. 22522812 丹紅. Delphi與數(shù)據(jù)庫連接技巧與方法的探索J. 電力學(xué)院學(xué)報, 2009, 4(3): 8913 春波. 染色企業(yè)染色與配色管理系統(tǒng)的研究與開發(fā)D. : 大學(xué), 200914 王靜,懷林, 玉強. Delphi環(huán)境中的串口通信程序設(shè)計方法J. 微機發(fā)展, 2002,130(4): 262815Li Si Hui. Realization of RS485 Serial Communication Between Microcomputer and Multiple Inverters Based on DelphiJ.Advanced Mater

46、ials 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致 本次畢業(yè)設(shè)計以染色工藝設(shè)置與管理系統(tǒng)為課題,這對于我來說有很大的挑戰(zhàn),因為在開始之前沒有很好的計算機基礎(chǔ),只能從零開始學(xué)習(xí)界面編程和數(shù)據(jù)庫管理。前期付出了較多的時間學(xué)習(xí)開發(fā)工具和以與理解染機集中管理系統(tǒng),才能實現(xiàn)和完善染色工藝管理系統(tǒng)的功能。在畢業(yè)設(shè)計的過

47、程中,我深刻的體驗到要做好這個課題不僅需要熟練掌握開發(fā)工具,熟悉染色工藝的流程,更重要的在于與導(dǎo)師之間的溝通,每一次的溝通都使我對課題更加深入的理解,對系統(tǒng)實現(xiàn)的功能更加明確,少走了不少彎路。沒有老師的細心講解我很難對染程工藝有系統(tǒng)的了解。更不可能完成數(shù)據(jù)庫與系統(tǒng)界面的開發(fā)。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。通過本次畢業(yè)設(shè)計,我體驗了軟件系統(tǒng)設(shè)計的全過程,在實踐中了解了軟件設(shè)計開發(fā)的步驟、流程以與思路,增長了在軟件開發(fā)方面的見識。很好地培養(yǎng)了我們的分析問題、解決問題的能力。同時獨立工作能力、合作能力也有了很好的提高。感老師,在他的指導(dǎo)下,我從最初的一無所知,

48、然后慢慢熟練,一步步完成了系統(tǒng)的功能。最終在規(guī)定的時間完成了預(yù)定的設(shè)計要求,實現(xiàn)了預(yù)期的功能。感在我身邊支持我的同學(xué)們,在與你們討論中總能碰撞出思想的火花。同時還要感所有的老師,是你們的培養(yǎng)才有今天的我,是你們寶貴的意見才能使得系統(tǒng)有更好的改進。由于時間比較倉促,本論文難免有一些不足之處,懇請各位老師和學(xué)友批評和指正!附錄軟件主要代碼:功能定義主要代碼procedure Tfrmfunction.SaveCheck;var I,K:integer;funcbits:string;beginfor I := 1 to 11 doBegin with dm.ADOQuery_funciobits

49、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;

50、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;

51、 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'

52、;).Value:=I; Parameters.ParamByName('p3').Value:=K; ExecSQL; end; inc(K); Next; end; end;End;end;參數(shù)下載代碼implementationuses Udm,Ufrmcomset;$R *.dfmprocedure Tfrmcom.setBtn(status: Boolean);begin Button2.Enabled:=status;Button3.Enabled:=status;end;procedure Tfrmcom.Button1Click(Sender: TObject);beginself.Close;end;procedure Tfrmcom.Button3Click(Sender: TObject);varI:integer;str:array of string;str2,ptid,pid,vallo,valhi,fun,sub:string;begin str2:='ABCD01010101' memo3.Clear;memo3.Lines.Add(str2); setparamdata('D');setparamdata('F'); setpara

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論