版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、浙江理工大學本科畢業(yè)設計第1章 緒論1.1 課題研究的背景和意義隨著染色企業(yè)信息化的建設,利用計算機信息技術對染機進行集中管理已成為企業(yè)技術改造的重點。染色工藝管理工作的信息化尤為重要,因為染色數據的準確性和設置的高效性決定了著產品的產量、質量,關系到染整企業(yè)整體的效益1。但由于目前染色機種類繁多,自動化水平參差不齊,功能規(guī)格均有所區(qū)別,使得染色工藝的集中設置和管理成為企業(yè)技術改造的難點2。開發(fā)染色工藝的設置及管理軟件能夠減少人為誤差,可提高生產和管理效率,提高企業(yè)效益,提高市場競爭力。借助數據庫,可對各染機的染色工藝參數進行保存,對生產過程中的數據進行有效管理,大大降低企業(yè)人工記錄的成本,和
2、人為疏忽所產生的風險。染色工藝設置與管理系統(tǒng)的設計使染廠對染色工藝的管理更加自動化、信息化和規(guī)范化。有助于印染企業(yè)建立靈敏的生產體系,具有較強的現(xiàn)實意義。1.2 國內外現(xiàn)狀和發(fā)展趨勢雖然近年來我國染整行業(yè)經過多年快速發(fā)展,大量自動化程度較高的設備得到了使用,但由于染整工業(yè)屬于勞動密集型行業(yè),國內染整企業(yè)在染程庫建設方面很多停留在人工處理階段。而且染色行業(yè)普遍存在染色機種類各異、自動化程度差異化明顯、生產過程集成度低等現(xiàn)象,同時面臨著企業(yè)員工流動性大、操作人員對自動化設備操作的熟練程度不一等問題,嚴重影響了染色效果3。國內針對準備車間機群而開發(fā)的數據管理系統(tǒng)相對較少,少數企業(yè)僅使用了一些信息管理
3、系統(tǒng),絕大多數的數據需要手動輸入。這種管理方式無法保證生產數據的準確性,無法全面管理整個車間設備,更不能實現(xiàn)對染機的各種實時數據如運轉狀況、質量情況、停機狀態(tài)等的采集和生產過程中實時發(fā)生的各種異常事件的管理4。而國外染企的染機不僅具有多樣化的控制功能還有完善友好的人機界面。功能上,除了有溫度控制以外,還有壓力控制、主泵變頻控制、浴比控制、流量控制、節(jié)能入排水控制等功能,有的控制器還能實現(xiàn)曲線加染料的功能。染缸控制器提供了編輯現(xiàn)場染程和配方、記錄現(xiàn)場數據和查詢?yōu)g覽歷史數據等強大功能,并能和染缸集中控制系統(tǒ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è)將朝著更加智能化、開放性、分散化、網絡化、信息化的方向發(fā)展。1.3 研究內容和方案1.3.
5、1 主要研究內容本系統(tǒng)的目的在于對染色工藝進行集中設置與管理。該系統(tǒng)實現(xiàn)的功能包括染機的管理、染機功能和參數的設置、io預排、io配置以及參數的下載。為了完成該系統(tǒng)的設計,需要對染色過程進行分析,需要掌握一門數據庫和界面開發(fā)工具。 本系統(tǒng)的主要研究內容包括:1、選擇合適的數據庫平臺,分析染色工藝中需要設置與管理的數據,創(chuàng)建相應的數據表,根據各個數據表的關系設計主鍵和外鍵,并添加相應的數據。所有與染色工藝相關的數據都保存在這些數據表中。2、選擇合適的界面開發(fā)工具,根據系統(tǒng)的功能設計便于操作人員使用的界面。所有對數據庫數據的更改、添加或刪除都在這些界面內完成。3、選擇界面與數據庫之間的連接方案。4
6、、設計io預排的方式。5、選擇合適的通信控件,實現(xiàn)下載功能。6、設計合適的的數據封裝方式以及通信協(xié)議。7、選擇合適的調試工具,便于測試下載功能。1.3.2 系統(tǒng)的設計方案1、 在數據庫方面,鑒于開源的postgresql的優(yōu)點和本系統(tǒng)的特點,選擇windows下postgresql數據庫作為系統(tǒng)數據庫開發(fā)的平臺。2、 為了實現(xiàn)該系統(tǒng)的功能,并能在短時間內掌握界面開發(fā)工具的使用,選用了較為易學且編譯快捷的delphi2010開發(fā)用戶界面。3、delphi2010通過odbc建立與postgresql數據庫的連接,通過ado控件對數據庫中的配置參數進行修改和保存。4、為了實現(xiàn)io預排功能,即對染色
7、機控制器的輸入輸出功能進行定義,必須建立系統(tǒng)所支持的控制器表,其中包括io數量以及其他信息,使用人員完成對染機功能的定以后,系統(tǒng)可以統(tǒng)計所需的io口數量,依據染機功能對控制器io進行預排。生成io配置數據前必須進行io預排。5、下載分為io配置下載和參數下載。通過comport控件實現(xiàn)與下位機的通信,對于io配置下載,系統(tǒng)將io預排所生成的數據下載到下位機,下位機依據此數據對控制器io進行定義。對于參數下載,系統(tǒng)將參數表中的所有數據下載到下位機,下位機通過查詢找到功能對應的參數。6、數據下載任務分為兩層,上層只負責數據封裝,下層只負責數據發(fā)送。在發(fā)送數據前需要生成相應的數據,生成后的數據包含數
8、據頭和實際數據兩部分,以長字符串的形式儲存在數據庫中。本系統(tǒng)采用較為簡單的校驗方式。7、最后通過手機藍牙轉串口的方式接受上位機發(fā)送的數據,從而實現(xiàn)對系統(tǒng)下載功能的調試。通過驗證此方案可行。第2章 開發(fā)平臺介紹2.1 delphi2010簡介delphi 20107是borland公司研制的新一代可視化開發(fā)工具,可在windowsxp、windows7 、linux等環(huán)境下使用。采用面向對象的編程語言objectpascal和基于部件的開發(fā)結構框架。delphi 2010相對于delphi7擁有更加強大的功能,objectpascal被稱為第四代編程語言,它具有功能強大、簡單高效等特點。和vc相
9、比,delphi更簡單、更易于掌握,而在功能上卻絲毫不遜色;和vb相比,delphi則功能更強大、更實用??梢哉fdelphi同時兼?zhèn)淞藇c功能強大和vb簡單易學的特點。它一直是程序員至愛的編程工具8。delphi2010具有以下的特性:基于窗體和面向對象的方法,高速的編譯器,強大的數據庫支持,與windows編程緊密結合,強大而成熟的組件技術。但最重要的還是object pascal語言,它才是一切的根本。 object pascal語言是在pascal語言的基礎上發(fā)展起來的,簡單易學8。delphi20109內置的direct 2d模塊及開發(fā)庫,其新加的功能:擁有一個能同時運作于x86和x6
10、4的ide,在此ide下將會有跨平臺編譯器,能夠編譯用于linux和mac的應用程序;會支持windows7下的觸摸式編程;強化的datasnap;支持云計算;支持函數式編程。在delphi2010眾多的優(yōu)勢當中,它在數據庫方面的特長顯得尤為突出:適應于多種數據庫結構,從客戶機服務機模式到多層數據結構模式;高效率的數據庫管理系統(tǒng)和新一代更先進的數據庫引擎;最新的數據分析手段和提供大量的企業(yè)組件。由borland公司推出的delphi2010可視化編程環(huán)境,滿足染色工藝設置與管理系統(tǒng)的程序開發(fā)要求。它提供了非常豐富可供使用的控件,以及豐富的api函數滿足管理系統(tǒng)的各項功能要求。數據庫支持是del
11、phi的強項,并且使用易學、方便、快捷的delphi2010開發(fā)應用軟件,無疑會大大地提高編程效率,快速地構造出應用系統(tǒng)。2.2 postgresql簡介postgresql10是一種特性非常齊全的自由軟件的對象-關系型數據庫管理系統(tǒng)(ordbms),可以說是目前世界上最先進,功能最強大的自由數據庫管理系統(tǒng)。它的前身是以加州大學伯克利分校計算機系開發(fā)的 postgres,版本 4.2為基礎的對象關系型數據庫管理系統(tǒng)。 postgresql支持大部分 sql標準并且提供了許多其他現(xiàn)代特性:復雜查詢、外鍵、觸發(fā)器、視圖、事務完整性、多版本并發(fā)控制。同樣,postgresql 可以用許多方法擴展,比
12、如, 通過增加新的數據類型、函數、操作符、聚集函數、索引方法、過程語言。postgresql 的特性覆蓋了sql-2/sql-92 和 sql-3/sql-99,首先,它包括了可以說是目前世界上最豐富的數據類型的支持,其中有些數據類型可以說連商業(yè)數據庫都不具備,比如 ip 類型和幾何類型等;其次,postgresql 是全功能的自由軟件數據庫,很長時間以來,postgresql 是唯一支持事務、子查詢、多版本并行控制系統(tǒng)、數據完整性檢查等特性的唯一的一種自由軟件的數據庫管理系統(tǒng)11。任何人都可以以任何目的免費使用、修改、和分發(fā) postgresql,不管是私用、商用、還是學術研究使用。post
13、gresql 的確還欠缺一些比較高端的數據庫管理系統(tǒng)需要的特性,比如數據庫集群,更優(yōu)良的管理工具和更加自動化的系統(tǒng)優(yōu)化功能以及提高數據庫性能的機制等。在系統(tǒng)實現(xiàn)的功能上以及系統(tǒng)開發(fā)的效益上來考慮,使用postgresql數據庫應用于本系統(tǒng)的開發(fā)無疑是最佳的選擇。第3章 系統(tǒng)及數據庫分析3.1 系統(tǒng)功能結構根據系統(tǒng)的要求,對染色工藝設置與管理系統(tǒng)的功能圖如下: 圖3-1 系統(tǒng)功能結構框圖3.2 系統(tǒng)功能目標3.2.1 染機群組的查詢及管理點擊染機群組后系統(tǒng)能自動讀取數據庫中的關于染機群組表的基本信息,用戶可以在這里查詢染機群組信息,并且能夠進入相應的功能定義,參數設置,i/o口預排,查看染程和染
14、程下載界面。在菜單項內還包括串口參數設置、新建染機群組和染機功能界面等。3.2.2 染色功能的定義及保存系統(tǒng)自動連接與顯示postgresql數據庫中染機功能表,當選中相應的主功能時應顯示其子功能,并能對其進行復選和保存。新建染機群組,當沒有相應的功能時,可以添加染機功能,并添加至相應的數據表中。3.2.3 染色參數的設置及下載系統(tǒng)界面能顯示染機群組所有的參數及其數值和說明,當選中相應的參數時,可以對其進行修改和保存。 系統(tǒng)實現(xiàn)對染機群組所有類型參數設定的保存,能自動生成數據并能自動下載到對應的染機。3.2.4 io口的預排及配置下載系統(tǒng)顯示當前染機群組所需要的i/o端口數量,以及所選控制器的
15、i/o端口數量。系統(tǒng)能判斷是否符合要求,并自動對控制器io口進行預排,即為其定義主功能和子功能。點擊預排后的io口可查看具體功能說明,點擊數字輸入,數字輸出,模擬輸入,模擬輸出時查看對應的端口和功能說明。系統(tǒng)可自動生成io配置數據以供下載。下載的數據幀帶有校驗碼。3.3 數據庫的設計本節(jié)將介紹本系統(tǒng)所使用的postgresql數據庫的數據結構。以下為主要的數據表單。3.3.1染機群組設備表表3-1染機群組基本信息數據表(ctl_machine_group)字段序號字段名稱字段含義字段類型主外鍵非空1serialnumber機器群組代碼mgidcharacter varying主鍵是2mchin
16、etype機器代號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機
17、器控制器類型integer外鍵否 一個染機屬于一個群組,群組表和染機表基本相同,但少了一個機器id字段。3.3.2染機功能表表3-3染機主功能定義表(sysfunctionschn)字段順序字段名稱字段含義字段類型主外鍵非空1fnctid控制器類型integer否是2funcid功能編號integer主鍵是3fnccallname功能文字說明(顯示給用戶)character varying否否表3-4染機子功能定義數據表(syssubfunctionschn)字段順序字段名稱字段含義字段類型主外鍵非空1fncitd控制器類型integer否否2sbffunction功能編號integer主鍵是
18、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點擊序號intege
19、r否否是否需要分配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個子功能
20、。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)字段順序字段名稱字段含義字段類型長度主外鍵非
21、空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控制器表(sy
22、scontroller)字段序號字段名稱字段含義字段類型主外鍵非空1ctlid控制器編號integer主鍵是2ctlaiai數量integer否否3ctlaoao數量integer否否4ctldidi數量integer否否5ctldodo數量integer否否6ctlpipi數量integer否否7ctlrecsta數據character varying否否 控制器表存放系統(tǒng)所支持的控制器的類型和基本信息,控制器的配置信息在public_funcio表中。表3-9染機控制器io配置表(public_funcio)字段序號字段名稱字段含義字段類型主外鍵非空1ioio類型character var
23、ying主鍵是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章 系統(tǒng)界面及功能4.1 系統(tǒng)主要界面4.1.1 登錄界面用戶雙擊桌面快捷方式打開軟件,系統(tǒng)顯示啟動畫面,并要求用戶輸入數據庫密碼,輸
24、入正確即與數據庫建立連接,并進入系統(tǒng)操作界面。圖4-1 啟動畫面圖4-2 連接數據庫4.1.2 染機群組設置界面用戶進入操作界面后,系統(tǒng)顯示所有染機(下圖左)。用戶點擊染機群組設置下的新建群組和新建染機染將彈出以下兩個窗口(下圖右)。輸入并點擊添加確認后將在染機群組表和染機表生成一條記錄。 圖4-3 系統(tǒng)主界面及其菜單圖4-4 新建染機群組及染機點擊染機群組將進入染機群組界面,系統(tǒng)自動讀取數據庫中的關于染機群組表的基本信息,用戶在此窗口完成大多數的系統(tǒng)功能,當選中相應的染機群組時,界面中相應的功能按鈕顯示可用。圖4-5 染機群組界面4.1.3 功能定義界面用戶在左側列表選擇主功能,系統(tǒng)在右側列
25、表自動導入對應的子功能,用戶可在此處對子功能進行多項選擇,完成后按保存鍵,音效提示完成數據庫記錄的更新。如果沒有主功能,可進行添加,窗口提示添加完成后,可繼續(xù)完成子功能的選擇。圖4-6 染機功能定義界面4.1.4 參數設置界面當用戶選中相應的染機群組時,參數按鈕顯示為可用,當點擊參數設置按鈕時,系統(tǒng)自動連接數據庫的主參數數據表,在左側的區(qū)域選擇主參數和子參數后將在界面右區(qū)域顯示對應的參數說明,并顯示當前參數值。用戶在文本編輯框內對當前值進行修改,按下回車鍵即可保存數據。圖4-7 染機參數設置界面4.1.5 io預排界面 io預排是為了根據染機的功能定義,給其控制器的io口定義主功能和子功能。
26、io口類型和數量必須符合功能要求。不同的功能定義,不同的控制器會有不同的預排結果。用戶點擊查看按鍵系統(tǒng)自動顯示對應io數量。再點擊io預排之前生成數據按鍵無效,預排之后右側io口配置列表將自動更新。在生成按鍵點擊之前io配置下載按鍵無效,生成數據后可在memo窗口查看。點擊右側的io口可查看對應的功能定義說明。點擊io配置按鍵進入io配置下載界面。圖4-8 io預排界面4.1.6 io配置下載界面在手動發(fā)送和自動發(fā)送之前需要打開串口,當串口成功配對以后便可以發(fā)送數據。點擊手動發(fā)送前需點擊crc生成十六進制代碼。每點擊一次發(fā)送當前十六進制碼。點擊開始發(fā)送自動將數據放入數據字節(jié)內,完成所有數據的發(fā)
27、送。發(fā)送過程中顯示進度情況。發(fā)送完成彈出窗口提示。圖4-9 io配置下載界面4.1.7查看染程界面根據染機群組和染程代號查詢相應的染程情況,如圖顯示染程的基本信息。圖4-10 染程查看界面4.1.8 參數下載界面在參數下載之前需要打開串口設置串口參數。成功連接后點擊參數下載按鍵自動發(fā)送所有類型參數。圖4-11 參數下載窗口4.1.9 串口設置界面用戶再此界面完成串口參數設置,右側帶有測試窗口可接收發(fā)送數據。當串口捂手成功后dsr、cts、conn燈亮。圖4-12 串口設置窗口4.2 系統(tǒng)功能流程圖4.2.1 系統(tǒng)功能總流程圖根據整個系統(tǒng)功能的要求,設計系統(tǒng)功能總的流程圖如下:圖4-13 系統(tǒng)功
28、能總流程圖4.2.2 功能定義及參數設置流程圖根據系統(tǒng)功能定義的要求,設計功能定義這個界面的功能流程圖如下圖左參數設置的功能流程圖如下圖右。 圖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 系統(tǒng)主要代碼以下內容為實現(xiàn)本系統(tǒng)功能的主要程序和函數,詳細代碼請參見附錄。4.3.1 功能定義主要代碼點擊保存按鍵將執(zhí)行以下三個程序savefuncbits();/將listview的點情況已字符串
29、的形式保存在public_ctl_mchgrp_definitions的funcbits字段。 savecheck();根據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)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預排代碼1、io口數量查看鍵的功能分別查詢表public_sys
31、subfunctionschn中的各io口字段與check字段,對其進行相乘并累加得到各io需要的數量。根據combobox的選擇對表syscontroller進行查詢,顯示控制器所能提供的各io數量。2、 io預排鍵的功能先判斷所選控制器的io口數是否大于需要分配的io口數量,若滿足要求則根據public_syssubfunctionschn表中check字段的情況,對io配置表public_funcio進行更新。否則提示io口不足,這里需要說明的是,現(xiàn)階段默認控制器對io口沒有定義,系統(tǒng)根據按功能的順序,從小到大進行自動分配。3、 生成數據的功能根據io配置表public_funcio所有
32、io的配置情況,按一定的協(xié)議生成一長字符串并將其寫入表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);
33、/生成crc校驗碼frmcomset.comport1.write(pchar(arrayfun),8); /以字節(jié)數組的形式發(fā)送frmcomset.sendstring(viewstring); / 以字符的形式發(fā)送4.3.4 參數下載代碼在串口連接成功以后,用戶按參數下載鍵生成數據包并自動下載,其主要程序如下str2:=abcd01010101;/生成參數數據頭文件setparamdata(d);/生成d類參數字符串,并寫入表sysparametertypes對應的paramdata字段。其他類型參數通過調用setparamdata(參數類型)str:=pid+fun+sub+vallo+
34、valhi;/字符串生成代碼downloadparamdata();/下載參數數據程序procedure tfrmcom.downloadparamdata;的主要功能是將所有類型參數合成一個數據字符串,并將timer1.enabled設置為true啟動timer1控件。每一次timer1事件都調用frmcomset的sendstring(sendstr)程序發(fā)送相應的數據。4.3.5 串口通信代碼 串口通信部分使用comport控件,窗口comcombox控件自動獲取端口號,設置完端口、波特率、檢驗位、數據位、停止位、及控制流后點擊打開串口。當成功連接后comled控件燈亮。comport1
35、.open;/打開串口。其他說明請詳見附錄。4.4 數據封裝與協(xié)議數據下載任務分為兩層,上層只負責數據封裝,下層只負責數據發(fā)送。在發(fā)送數據前需要生成相應的數據,生成后的數據包含數據頭和實際數據兩部分,以長字符串的形式儲存在數據庫中。4.4.1 io配置數據結構數據頭由16個字符組成,登錄號代表用戶,默認abcd;染機代號前兩個字符表示其染機群組的代號;控制器代號表示接收該配置數據的控制器;數據長度為數據頭及實際數據的總長度。實際數據包含io口具體的配置信息,首地址代號為在下位機存放某一io口配置參數的寄存器地址首地址,每一個io口預留16字節(jié)的空間。io口號的含義是用10代表ai用11代表ao
36、用12代表di用13代表do用14代表pi。io口代號為對應io的序號。使能狀態(tài)01代表有分配功能,00代表無分配功能。功能編號前兩個字符代表主動能,后兩個字符代表子功能。 io配置數據可選用字符或字節(jié)的形式發(fā)送,io預排界面中生成數據按鍵的作用是從表public_funcio提取相關字段的數據,以如下表格的形式自動生成一個長字符的io配置數據。表4-1 io數據結構表數據頭登陸號染機代號染程代號控制器代號數據長度(字符)ab cd01 010101length()實際數據首地址代號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字段內儲存自動生成的io配置數據。 控制器1共配有ao口5個ai 口5個do口40個di 口3個pi 口1個加上數據頭共有55行數據,數據長度字符(0772)從第一行開始累加到最后一行生成一個完整的數據字符。4.4.2 參數數據結構每一類型參數將生產一個長字符數據,其數據保存在表syspar
38、ametertypes的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中的par
39、amdata字段內儲存自動生成的參數數據。4.4.3 通信協(xié)議循環(huán)冗余碼校驗簡稱crc,它是利用除法及余數的原理來作錯誤偵測(error detecting)的。實際應用時,發(fā)送裝置計算出crc值并隨數據一同發(fā)送給接收裝置,接收裝置對收到的數據重新計算crc并與收到的crc相比較,若兩個crc值不同,則說明數據通訊出現(xiàn)錯誤11。由于時間有限,本系統(tǒng)規(guī)定了較為簡單的crc校驗碼。其生成形式即crc等于命令字節(jié)與數據字節(jié)的和,要求輸入十六進制的字符,如果輸入不滿足要求將提示錯誤,點擊crc后自動生成對應的crc校驗碼,在傳輸過程中如果檢驗不對,則丟棄該數據幀幀。 手動輸入生成一數據的界面如下圖所示
40、。圖4-21 手動輸入數據幀界面 自動發(fā)送時將提取該長字符串,按順序將字符裝載進下層每一數據幀中,并自動生成crc碼。實現(xiàn)過程如下圖示。 圖4-22 數據傳輸上下層關系圖 圖4-23手機藍牙轉串口接收數據第5章 系統(tǒng)調試與總結在后期對軟件各個窗口的調試中發(fā)現(xiàn)了不少的錯誤,錯誤主要集中在按鍵的順序上,比如在發(fā)送數據之前沒有對串口進行設置,在生成io配置數據前沒有對其進行預排。在手動發(fā)送數據前沒有按crc按鍵生成數據幀,及保存按鍵中處在的錯誤等。解決辦法是在條件滿足前使按鍵無效,通過procedure setbtn(status: boolean)實現(xiàn)。調試完成后基本解決了用戶操作過程中可能會出現(xiàn)
41、的錯誤。但由于時間有限還有以下方面有待改進1、通信協(xié)議與檢驗碼本系統(tǒng)已經通過藍牙轉串口的方式實現(xiàn)了基本的通信功能,即筆記本與帶藍牙設備的之間的發(fā)送和接收數據。但在數據的封裝和編排上,目前還只是極其簡單的對io口配置數據及參數進行封裝的,由于經驗不足,還有很多需要改進的地方。特別是底層的通訊協(xié)議,如何生成較為通用的校驗碼。2、數據庫及界面內容完善數據庫的有序管理對本系統(tǒng)維護至關重要,特別是與染機群組與染機有關數據表的處理上,染機群組與染機的區(qū)別沒有得到很好的體現(xiàn)。現(xiàn)只有一組染機群組有完整的設定,其他染機群組還有待完善。界面設計中控件、窗口及按鍵的命名有待完善。3、染機對染機群組的繼承 本系統(tǒng)只能
42、添加新的染機群組和新的染機,即在相應的數據表中增加記錄,但染機相應的功能參數還未能從染機群組里得到繼承。4、遠程訪問數據庫本系統(tǒng)只能連接本地的postgresql數據庫,但是企業(yè)級的數據庫管理較多采用專用的服務器,通過網絡的方式將系統(tǒng)連接到數據庫也是有待改進的地方。參考文獻1 張建新. 基于工業(yè)以太網的染色設備監(jiān)控系統(tǒng)j. 紡織學報, 2005, 26(4): 1091122 王純賢, 王治森, 褚學寧, 等. 分散網絡化制造環(huán)境下基于移動agent和web的生產監(jiān)控研究j. 制造業(yè)自動化, 2002, 24(2): 36413 郝平, 陳平生. 多智能體的車間染缸集群監(jiān)控系統(tǒng)j. 自動化儀表
43、, 2010, 259(4): 25334 楊永剛. 間歇式染色機中央集成控制系統(tǒng)的研究與開發(fā)d. 杭州: 浙江理工大學機械與自動控制學院, 20115 徐智文, 延青. 用delphi開發(fā)監(jiān)控和管理系統(tǒng)的軟件j. 包鋼科技, 2008, 16(1): 11146 宋運通. 基于實時數據庫的工廠智能平臺研究開發(fā)d. 天津: 天津大學, 20097 張乾. 基于borland delphi開發(fā)平臺的數據庫應用系統(tǒng)開發(fā)的原理與應用研究d. 重慶:重慶大學, 20098 邵景峰, 李永剛, 任克儉等. 紡織廠生產信息監(jiān)控系統(tǒng)的設計j. 毛紡科技, 2010, 45(3): 67699 俞利國. 基于
44、linux的嵌入式間歇染色機控制器研究與開發(fā)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,
45、4(3): 8913 劉春波. 染色企業(yè)染色與配色管理系統(tǒng)的研究與開發(fā)d. 青島: 青島大學, 200914 王靜, 趙懷林, 孫玉強. delphi環(huán)境中的串口通信程序設計方法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è)設計以染色工藝設置與管理系統(tǒng)為課題,這對于我來說有很大的挑戰(zhàn),因為在開始之前沒有很好的計算機基礎,只能從零開始學習界面編程和數據庫管理。前期付出了較多的時間學習開發(fā)工具和以及理解染機集中管理系統(tǒng),才能實現(xiàn)和完善染色工藝管理系統(tǒng)的功能。在畢業(yè)設計的過程中,我深刻的體驗到要做好這個課題不僅需要熟練掌握開發(fā)工具,熟悉染色工藝的流程,更重要的在于與導師之
47、間的溝通,每一次的溝通都使我對課題更加深入的理解,對系統(tǒng)實現(xiàn)的功能更加明確,少走了不少彎路。沒有老師的細心講解我很難對染程工藝有系統(tǒng)的了解。更不可能完成數據庫及系統(tǒng)界面的開發(fā)。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過本次畢業(yè)設計,我體驗了軟件系統(tǒng)設計的全過程,在實踐中了解了軟件設計開發(fā)的步驟、流程以及思路,增長了在軟件開發(fā)方面的見識。很好地培養(yǎng)了我們的分析問題、解決問題的能力。同時獨立工作能力、合作能力也有了很好的提高。感謝張老師,在他的指導下,我從最初的一無所知,然后慢慢熟練,一步步完成了系統(tǒng)的功能。最終在規(guī)定的時間內完成了預定的設計要求,實現(xiàn)了預期的功能。
48、感謝在我身邊支持我的同學們,在與你們討論中總能碰撞出思想的火花。同時還要感謝所有的老師,是你們的培養(yǎng)才有今天的我,是你們寶貴的意見才能使得系統(tǒng)有更好的改進。由于時間比較倉促,本論文難免有一些不足之處,懇請各位老師和學友批評和指正!附錄軟件主要代碼:功能定義主要代碼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;參數下載代碼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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球顏料和染料噴墨標簽打印機行業(yè)調研及趨勢分析報告
- 2025年全球及中國跑道人造草坪行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球汽車內飾材料燃燒試驗機行業(yè)調研及趨勢分析報告
- 2025-2030全球大型球軸承(外徑尺寸在200mm以上)行業(yè)調研及趨勢分析報告
- 2025-2030全球住宅用窗戶防蟲網行業(yè)調研及趨勢分析報告
- 2025年全球及中國商用儲水式電熱水器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球汽車空調風門執(zhí)行器行業(yè)調研及趨勢分析報告
- 2025年全球及中國半導體高壓電源行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 幼兒繪本講述與演繹幼兒繪本的選擇講解
- 2025農村房屋贈與合同書
- 煤礦機電運輸培訓課件
- 初中數學思維能力的培養(yǎng)課件
- Link 16協(xié)議開發(fā)和關鍵技術研究的開題報告
- 紅色喜慶公司年會客戶答謝模板
- 鐵未來商業(yè)模擬挑戰(zhàn)賽規(guī)則與流程
- 防止電力生產事故的-二十五項重點要求2023版
- 氯諾昔康針劑在圍術期鎮(zhèn)痛與其它市場應用(代表培訓完整版)
- 經歷是流經裙邊的水
- 三年級下冊口算天天100題(A4打印版)
- 《同位角、內錯角、同旁內角》教學課件2
- 鋰硫電池介紹
評論
0/150
提交評論