染色工藝設(shè)置與管理系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁
染色工藝設(shè)置與管理系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、機(jī)控制器的輸入輸出功能進(jìn)行定義,必須建立系統(tǒng)所支持的控制器表,其中包括io數(shù)量以及其他信息,使用人員完成對染機(jī)功能的定以后,系統(tǒng)可以統(tǒng)計(jì)所需的io口數(shù)量,依據(jù)染機(jī)功能對控制器io進(jìn)行預(yù)排。生成io配置數(shù)據(jù)前必須進(jìn)行io預(yù)排。5、下載分為io配置下載和參數(shù)下載。通過comport控件實(shí)現(xiàn)與下位機(jī)的通信,對于io配置下載,系統(tǒng)將io預(yù)排所生成的數(shù)據(jù)下載到下位機(jī),下位機(jī)依據(jù)此數(shù)據(jù)對控制器io進(jìn)行定義。對于參數(shù)下載,系統(tǒng)將參數(shù)表中的所有數(shù)據(jù)下載到下位機(jī),下位機(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ù)

8、據(jù)頭和實(shí)際數(shù)據(jù)兩部分,以長字符串的形式儲存在數(shù)據(jù)庫中。本系統(tǒng)采用較為簡單的校驗(yàn)方式。7、最后通過手機(jī)藍(lán)牙轉(zhuǎn)串口的方式接受上位機(jī)發(fā)送的數(shù)據(jù),從而實(shí)現(xiàn)對系統(tǒng)下載功能的調(diào)試。通過驗(yàn)證此方案可行。第2章 開發(fā)平臺介紹2.1 delphi2010簡介delphi 20107是borland公司研制的新一代可視化開發(fā)工具,可在windowsxp、windows7 、linux等環(huán)境下使用。采用面向?qū)ο蟮木幊陶Z言objectpascal和基于部件的開發(fā)結(jié)構(gòu)框架。delphi 2010相對于delphi7擁有更加強(qiáng)大的功能,objectpascal被稱為第四代編程語言,它具有功能強(qiáng)大、簡單高效等特點(diǎn)。和vc相

9、比,delphi更簡單、更易于掌握,而在功能上卻絲毫不遜色;和vb相比,delphi則功能更強(qiáng)大、更實(shí)用。可以說delphi同時兼?zhèn)淞藇c功能強(qiáng)大和vb簡單易學(xué)的特點(diǎn)。它一直是程序員至愛的編程工具8。delphi2010具有以下的特性:基于窗體和面向?qū)ο蟮姆椒?,高速的編譯器,強(qiáng)大的數(shù)據(jù)庫支持,與windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是object pascal語言,它才是一切的根本。 object pascal語言是在pascal語言的基礎(chǔ)上發(fā)展起來的,簡單易學(xué)8。delphi20109內(nèi)置的direct 2d模塊及開發(fā)庫,其新加的功能:擁有一個能同時運(yùn)作于x86和x6

10、4的ide,在此ide下將會有跨平臺編譯器,能夠編譯用于linux和mac的應(yīng)用程序;會支持windows7下的觸摸式編程;強(qiáng)化的datasnap;支持云計(jì)算;支持函數(shù)式編程。在delphi2010眾多的優(yōu)勢當(dāng)中,它在數(shù)據(jù)庫方面的特長顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機(jī)服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。由borland公司推出的delphi2010可視化編程環(huán)境,滿足染色工藝設(shè)置與管理系統(tǒng)的程序開發(fā)要求。它提供了非常豐富可供使用的控件,以及豐富的api函數(shù)滿足管理系統(tǒng)的各項(xiàng)功能要求。數(shù)據(jù)庫支持是del

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

12、如, 通過增加新的數(shù)據(jù)類型、函數(shù)、操作符、聚集函數(shù)、索引方法、過程語言。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èi)使用、修改、和分發(fā) postgresql,不管是私用、商用、還是學(xué)術(shù)研究使用。post

13、gresql 的確還欠缺一些比較高端的數(shù)據(jù)庫管理系統(tǒng)需要的特性,比如數(shù)據(jù)庫集群,更優(yōu)良的管理工具和更加自動化的系統(tǒng)優(yōu)化功能以及提高數(shù)據(jù)庫性能的機(jī)制等。在系統(tǒng)實(shí)現(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 染機(jī)群組的查詢及管理點(diǎn)擊染機(jī)群組后系統(tǒng)能自動讀取數(shù)據(jù)庫中的關(guān)于染機(jī)群組表的基本信息,用戶可以在這里查詢?nèi)緳C(jī)群組信息,并且能夠進(jìn)入相應(yīng)的功能定義,參數(shù)設(shè)置,i/o口預(yù)排,查看染程和染

14、程下載界面。在菜單項(xiàng)內(nèi)還包括串口參數(shù)設(shè)置、新建染機(jī)群組和染機(jī)功能界面等。3.2.2 染色功能的定義及保存系統(tǒng)自動連接與顯示postgresql數(shù)據(jù)庫中染機(jī)功能表,當(dāng)選中相應(yīng)的主功能時應(yīng)顯示其子功能,并能對其進(jìn)行復(fù)選和保存。新建染機(jī)群組,當(dāng)沒有相應(yīng)的功能時,可以添加染機(jī)功能,并添加至相應(yīng)的數(shù)據(jù)表中。3.2.3 染色參數(shù)的設(shè)置及下載系統(tǒng)界面能顯示染機(jī)群組所有的參數(shù)及其數(shù)值和說明,當(dāng)選中相應(yīng)的參數(shù)時,可以對其進(jìn)行修改和保存。 系統(tǒng)實(shí)現(xiàn)對染機(jī)群組所有類型參數(shù)設(shè)定的保存,能自動生成數(shù)據(jù)并能自動下載到對應(yīng)的染機(jī)。3.2.4 io口的預(yù)排及配置下載系統(tǒng)顯示當(dāng)前染機(jī)群組所需要的i/o端口數(shù)量,以及所選控制器的

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

16、etype機(jī)器代號character varying否否3callname機(jī)器簡稱字符型否否4fullname機(jī)器全稱字符型否否5controller機(jī)器控制器類型integer否否表3-2染機(jī)基本信息(ctl_machines)字段序號字段名稱字段含義字段類型長度主外鍵非空1mcid機(jī)器代碼character varying主鍵是2mgid機(jī)器群組代碼character varying外鍵是3mchtype類型代號character varying否否4mchtypenumber機(jī)器簡稱integer否否5callname機(jī)器全稱character varying否否6controller機(jī)

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

18、3sbfnumber子功能編號integer主鍵是4sbfname每個子功能的文字說明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是否點(diǎn)擊integer否否14checkid點(diǎn)擊序號intege

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

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

21、空1mcid機(jī)器代碼character varying主鍵是2mgid機(jī)器群組代碼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控制器表(sy

22、scontroller)字段序號字段名稱字段含義字段類型主外鍵非空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染機(jī)控制器io配置表(public_funcio)字段序號字段名稱字段含義字段類型主外鍵非空1ioio類型character var

23、ying主鍵是2ionumberio序號integer主鍵是3ioenableio始能integer否否4sbffunction所屬主功能integer否否5sbfnumber所屬子功能integer否否6iocommandio命令號integer否否7ioaddress存放首地址character varying否否8ioidio編號integer否否染機(jī)控制器io配置表用于設(shè)置染機(jī)控制器的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ù)庫密碼,輸

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

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

26、io口類型和數(shù)量必須符合功能要求。不同的功能定義,不同的控制器會有不同的預(yù)排結(jié)果。用戶點(diǎn)擊查看按鍵系統(tǒng)自動顯示對應(yīng)io數(shù)量。再點(diǎn)擊io預(yù)排之前生成數(shù)據(jù)按鍵無效,預(yù)排之后右側(cè)io口配置列表將自動更新。在生成按鍵點(diǎn)擊之前io配置下載按鍵無效,生成數(shù)據(jù)后可在memo窗口查看。點(diǎn)擊右側(cè)的io口可查看對應(yīng)的功能定義說明。點(diǎn)擊io配置按鍵進(jìn)入io配置下載界面。圖4-8 io預(yù)排界面4.1.6 io配置下載界面在手動發(fā)送和自動發(fā)送之前需要打開串口,當(dāng)串口成功配對以后便可以發(fā)送數(shù)據(jù)。點(diǎn)擊手動發(fā)送前需點(diǎn)擊crc生成十六進(jìn)制代碼。每點(diǎn)擊一次發(fā)送當(dāng)前十六進(jìn)制碼。點(diǎn)擊開始發(fā)送自動將數(shù)據(jù)放入數(shù)據(jù)字節(jié)內(nèi),完成所有數(shù)據(jù)的發(fā)

27、送。發(fā)送過程中顯示進(jìn)度情況。發(fā)送完成彈出窗口提示。圖4-9 io配置下載界面4.1.7查看染程界面根據(jù)染機(jī)群組和染程代號查詢相應(yīng)的染程情況,如圖顯示染程的基本信息。圖4-10 染程查看界面4.1.8 參數(shù)下載界面在參數(shù)下載之前需要打開串口設(shè)置串口參數(shù)。成功連接后點(diǎn)擊參數(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è)計(jì)系統(tǒng)功能總的流程圖如下:圖4-13 系統(tǒng)功

28、能總流程圖4.2.2 功能定義及參數(shù)設(shè)置流程圖根據(jù)系統(tǒng)功能定義的要求,設(shè)計(jì)功能定義這個界面的功能流程圖如下圖左參數(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)主要代碼以下內(nèi)容為實(shí)現(xiàn)本系統(tǒng)功能的主要程序和函數(shù),詳細(xì)代碼請參見附錄。4.3.1 功能定義主要代碼點(diǎn)擊保存按鍵將執(zhí)行以下三個程序savefuncbits();/將listview的點(diǎn)情況已字符串

29、的形式保存在public_ctl_mchgrp_definitions的funcbits字段。 savecheck();根據(jù)funcbits字段的內(nèi)容,對public_syssubfunctionschn的check進(jìn)行更新。 sndplaysound(path, snd_async);音效提示用戶已保存,即執(zhí)行了前面兩個程序。 procedure tfrmfunction.savecheck;主要包含兩個sql查詢語句和一個sql更新語句 sql.add(select funcbits from public_ctl_mchgrp_definitions where (mgid=:p1)an

30、d(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預(yù)排代碼1、io口數(shù)量查看鍵的功能分別查詢表public_sys

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

32、io的配置情況,按一定的協(xié)議生成一長字符串并將其寫入表syscontroller的 ctlrecsta字段,配置下載界面將對其進(jìn)行下載。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($+edit4.text)+strtoint($+edit5.text)+strtoint($+edit6.text);

33、/生成crc校驗(yàn)碼frmcomset.comport1.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);/生成d類參數(shù)字符串,并寫入表sysparametertypes對應(yīng)的paramdata字段。其他類型參數(shù)通過調(diào)用setparamdata(參數(shù)類型)str:=pid+fun+sub+vallo+

34、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 串口通信代碼 串口通信部分使用comport控件,窗口comcombox控件自動獲取端口號,設(shè)置完端口、波特率、檢驗(yàn)位、數(shù)據(jù)位、停止位、及控制流后點(diǎn)擊打開串口。當(dāng)成功連接后comled控件燈亮。comport1

35、.open;/打開串口。其他說明請?jiān)斠姼戒洝?.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í)際數(shù)據(jù)兩部分,以長字符串的形式儲存在數(shù)據(jù)庫中。4.4.1 io配置數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)頭由16個字符組成,登錄號代表用戶,默認(rèn)abcd;染機(jī)代號前兩個字符表示其染機(jī)群組的代號;控制器代號表示接收該配置數(shù)據(jù)的控制器;數(shù)據(jù)長度為數(shù)據(jù)頭及實(shí)際數(shù)據(jù)的總長度。實(shí)際數(shù)據(jù)包含io口具體的配置信息,首地址代號為在下位機(jī)存放某一io口配置參數(shù)的寄存器地址首地址,每一個io口預(yù)留16字節(jié)的空間。io口號的含義是用10代表ai用11代表ao

36、用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ù)頭登陸號染機(jī)代號染程代號控制器代號數(shù)據(jù)長度(字符)ab cd01 010101length()實(shí)際數(shù)據(jù)首地址代號io號io口代號使能狀態(tài)功能編號10 0010010103 0110 1010020103 1310 2010

37、030103 1410 5011010104 1910 6011020000 0910 7011030002 1010 a012010002 1110 d013010105 0110 e013020104 02圖4-19 syscontroller表 如圖,表syscontroller中的ctlrecsta字段內(nèi)儲存自動生成的io配置數(shù)據(jù)。 控制器1共配有ao口5個ai 口5個do口40個di 口3個pi 口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ù)保存在表syspar

38、ametertypes的paramdata字段內(nèi),數(shù)據(jù)頭中包含登陸號、染機(jī)代號、控制器代號以及數(shù)據(jù)長度等信息。每一個參數(shù)都包含參數(shù)類型、序號、功能編號以及最低值和最高值。最高值不應(yīng)超過65535。表4-2 參數(shù)據(jù)結(jié)構(gòu)表登陸號染機(jī)代號染程代號控制器號數(shù)據(jù)長度ab cd01 010101參數(shù)類型號序號功能編號最低值最高值d0100 0100 00ff fff0100 0100 00ff ffl0100 0100 00ff ffp0100 0100 00ff fft0100 0100 00ff ff圖4-20 sysparametertypes表 如圖,表sysparametertypes中的par

39、amdata字段內(nèi)儲存自動生成的參數(shù)數(shù)據(jù)。4.4.3 通信協(xié)議循環(huán)冗余碼校驗(yàn)簡稱crc,它是利用除法及余數(shù)的原理來作錯誤偵測(error detecting)的。實(shí)際應(yīng)用時,發(fā)送裝置計(jì)算出crc值并隨數(shù)據(jù)一同發(fā)送給接收裝置,接收裝置對收到的數(shù)據(jù)重新計(jì)算crc并與收到的crc相比較,若兩個crc值不同,則說明數(shù)據(jù)通訊出現(xiàn)錯誤11。由于時間有限,本系統(tǒng)規(guī)定了較為簡單的crc校驗(yàn)碼。其生成形式即crc等于命令字節(jié)與數(shù)據(jù)字節(jié)的和,要求輸入十六進(jìn)制的字符,如果輸入不滿足要求將提示錯誤,點(diǎn)擊crc后自動生成對應(yīng)的crc校驗(yàn)碼,在傳輸過程中如果檢驗(yàn)不對,則丟棄該數(shù)據(jù)幀幀。 手動輸入生成一數(shù)據(jù)的界面如下圖所示

40、。圖4-21 手動輸入數(shù)據(jù)幀界面 自動發(fā)送時將提取該長字符串,按順序?qū)⒆址b載進(jìn)下層每一數(shù)據(jù)幀中,并自動生成crc碼。實(shí)現(xiàn)過程如下圖示。 圖4-22 數(shù)據(jù)傳輸上下層關(guān)系圖 圖4-23手機(jī)藍(lán)牙轉(zhuǎn)串口接收數(shù)據(jù)第5章 系統(tǒng)調(diào)試與總結(jié)在后期對軟件各個窗口的調(diào)試中發(fā)現(xiàn)了不少的錯誤,錯誤主要集中在按鍵的順序上,比如在發(fā)送數(shù)據(jù)之前沒有對串口進(jìn)行設(shè)置,在生成io配置數(shù)據(jù)前沒有對其進(jìn)行預(yù)排。在手動發(fā)送數(shù)據(jù)前沒有按crc按鍵生成數(shù)據(jù)幀,及保存按鍵中處在的錯誤等。解決辦法是在條件滿足前使按鍵無效,通過procedure setbtn(status: boolean)實(shí)現(xiàn)。調(diào)試完成后基本解決了用戶操作過程中可能會出現(xiàn)

41、的錯誤。但由于時間有限還有以下方面有待改進(jìn)1、通信協(xié)議與檢驗(yàn)碼本系統(tǒng)已經(jīng)通過藍(lán)牙轉(zhuǎn)串口的方式實(shí)現(xiàn)了基本的通信功能,即筆記本與帶藍(lán)牙設(shè)備的之間的發(fā)送和接收數(shù)據(jù)。但在數(shù)據(jù)的封裝和編排上,目前還只是極其簡單的對io口配置數(shù)據(jù)及參數(shù)進(jìn)行封裝的,由于經(jīng)驗(yàn)不足,還有很多需要改進(jìn)的地方。特別是底層的通訊協(xié)議,如何生成較為通用的校驗(yàn)碼。2、數(shù)據(jù)庫及界面內(nèi)容完善數(shù)據(jù)庫的有序管理對本系統(tǒng)維護(hù)至關(guān)重要,特別是與染機(jī)群組與染機(jī)有關(guān)數(shù)據(jù)表的處理上,染機(jī)群組與染機(jī)的區(qū)別沒有得到很好的體現(xiàn)。現(xiàn)只有一組染機(jī)群組有完整的設(shè)定,其他染機(jī)群組還有待完善。界面設(shè)計(jì)中控件、窗口及按鍵的命名有待完善。3、染機(jī)對染機(jī)群組的繼承 本系統(tǒng)只能

42、添加新的染機(jī)群組和新的染機(jī),即在相應(yīng)的數(shù)據(jù)表中增加記錄,但染機(jī)相應(yīng)的功能參數(shù)還未能從染機(jī)群組里得到繼承。4、遠(yuǎn)程訪問數(shù)據(jù)庫本系統(tǒng)只能連接本地的postgresql數(shù)據(jù)庫,但是企業(yè)級的數(shù)據(jù)庫管理較多采用專用的服務(wù)器,通過網(wǎng)絡(luò)的方式將系統(tǒng)連接到數(shù)據(jù)庫也是有待改進(jìn)的地方。參考文獻(xiàn)1 張建新. 基于工業(yè)以太網(wǎng)的染色設(shè)備監(jiān)控系統(tǒng)j. 紡織學(xué)報(bào), 2005, 26(4): 1091122 王純賢, 王治森, 褚學(xué)寧, 等. 分散網(wǎng)絡(luò)化制造環(huán)境下基于移動agent和web的生產(chǎn)監(jiān)控研究j. 制造業(yè)自動化, 2002, 24(2): 36413 郝平, 陳平生. 多智能體的車間染缸集群監(jiān)控系統(tǒng)j. 自動化儀表

43、, 2010, 259(4): 25334 楊永剛. 間歇式染色機(jī)中央集成控制系統(tǒng)的研究與開發(fā)d. 杭州: 浙江理工大學(xué)機(jī)械與自動控制學(xué)院, 20115 徐智文, 延青. 用delphi開發(fā)監(jiān)控和管理系統(tǒng)的軟件j. 包鋼科技, 2008, 16(1): 11146 宋運(yùn)通. 基于實(shí)時數(shù)據(jù)庫的工廠智能平臺研究開發(fā)d. 天津: 天津大學(xué), 20097 張乾. 基于borland delphi開發(fā)平臺的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的原理與應(yīng)用研究d. 重慶:重慶大學(xué), 20098 邵景峰, 李永剛, 任克儉等. 紡織廠生產(chǎn)信息監(jiān)控系統(tǒng)的設(shè)計(jì)j. 毛紡科技, 2010, 45(3): 67699 俞利國. 基于

44、linux的嵌入式間歇染色機(jī)控制器研究與開發(fā)d. 杭州: 浙江理工大學(xué), 201210 r.garca-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ù)年會論文集c. 2004. 22522812 楊丹紅. delphi與數(shù)據(jù)庫連接技巧與方法的探索j. 上海電力學(xué)院學(xué)報(bào), 2009,

45、4(3): 8913 劉春波. 染色企業(yè)染色與配色管理系統(tǒng)的研究與開發(fā)d. 青島: 青島大學(xué), 200914 王靜, 趙懷林, 孫玉強(qiáng). delphi環(huán)境中的串口通信程序設(shè)計(jì)方法j. 微機(jī)發(fā)展, 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

46、 kyeung. limits of accuracy of dyeing process control and dyeing qualityj. coloration technology, 2006, 120(3): 138143致 謝 本次畢業(yè)設(shè)計(jì)以染色工藝設(shè)置與管理系統(tǒng)為課題,這對于我來說有很大的挑戰(zhàn),因?yàn)樵陂_始之前沒有很好的計(jì)算機(jī)基礎(chǔ),只能從零開始學(xué)習(xí)界面編程和數(shù)據(jù)庫管理。前期付出了較多的時間學(xué)習(xí)開發(fā)工具和以及理解染機(jī)集中管理系統(tǒng),才能實(shí)現(xiàn)和完善染色工藝管理系統(tǒng)的功能。在畢業(yè)設(shè)計(jì)的過程中,我深刻的體驗(yàn)到要做好這個課題不僅需要熟練掌握開發(fā)工具,熟悉染色工藝的流程,更重要的在于與導(dǎo)師之

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

48、感謝在我身邊支持我的同學(xué)們,在與你們討論中總能碰撞出思想的火花。同時還要感謝所有的老師,是你們的培養(yǎng)才有今天的我,是你們寶貴的意見才能使得系統(tǒng)有更好的改進(jìn)。由于時間比較倉促,本論文難免有一些不足之處,懇請各位老師和學(xué)友批評和指正!附錄軟件主要代碼:功能定義主要代碼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 fun

49、cbits 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_syssubfunct

50、ionschn 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 whe

51、re (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;參數(shù)下載代碼implementationuses udm,ufrmcomset;$r *.dfmprocedure tfrmcom.setbtn(status: boolean);begin button2.enabled:=status;button3.enabled:=status;end;procedure tfrmcom.button

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論