《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 服裝吊掛系統(tǒng)上位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)
服裝吊掛系統(tǒng)上位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:微型機(jī)與應(yīng)用2013年第18期
吳 鑫,俞建定,趙鵬飛,駱國(guó)慶
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波315211)
摘要: 介紹了一種基于以太網(wǎng)和RS485總線的服裝吊掛系統(tǒng)設(shè)計(jì),闡述了該系統(tǒng)的上位機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)。上位機(jī)軟件是系統(tǒng)的控制中心,監(jiān)控管理每個(gè)工作站的生產(chǎn)狀況,實(shí)時(shí)生成薪資報(bào)表、產(chǎn)量報(bào)表、生產(chǎn)分析圖。軟件界面采用C#編程語(yǔ)言,通信模塊的程序采用Delphi技術(shù)實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫(kù)采用SQL2000。該系統(tǒng)已經(jīng)投入企業(yè)使用,系統(tǒng)各項(xiàng)功能運(yùn)行穩(wěn)定,界面友好,滿足用戶需求。
Abstract:
Key words :

摘  要: 介紹了一種基于以太網(wǎng)和RS485總線的服裝吊掛系統(tǒng)設(shè)計(jì),闡述了該系統(tǒng)的上位機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)。上位機(jī)軟件是系統(tǒng)的控制中心,監(jiān)控管理每個(gè)工作站的生產(chǎn)狀況,實(shí)時(shí)生成薪資報(bào)表、產(chǎn)量報(bào)表、生產(chǎn)分析圖。軟件界面采用C#編程語(yǔ)言,通信模塊的程序采用Delphi技術(shù)實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫(kù)采用SQL2000。該系統(tǒng)已經(jīng)投入企業(yè)使用,系統(tǒng)各項(xiàng)功能運(yùn)行穩(wěn)定,界面友好,滿足用戶需求。
關(guān)鍵詞: 服裝吊掛;上位機(jī)軟件;C#語(yǔ)言;Delphi;SQL2000

    服裝生產(chǎn)屬于勞動(dòng)密集型生產(chǎn),生產(chǎn)過(guò)程基本是流水式作業(yè)。目前,我國(guó)許多服裝企業(yè)采用的仍然是“捆綁式”生產(chǎn)模式,生產(chǎn)浮余率高,生產(chǎn)效率低下,而且生產(chǎn)過(guò)程中容易發(fā)生衣片遺失和錯(cuò)片等現(xiàn)象,造成較高的返工率。如何對(duì)生產(chǎn)過(guò)程進(jìn)行控制、提高生產(chǎn)效率、提升生產(chǎn)質(zhì)量,是每個(gè)服裝企業(yè)面臨的問(wèn)題,服裝吊掛系統(tǒng)就是在這種需求下應(yīng)運(yùn)而生的。通過(guò)電腦系統(tǒng)集成控制,對(duì)加工工位生產(chǎn)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集、分析和處理,改變了服裝行業(yè)傳統(tǒng)的“捆綁式”生產(chǎn)方式,有效解決了制作過(guò)程中輔助作業(yè)時(shí)間比例大、生產(chǎn)周期長(zhǎng)、成衣質(zhì)量難以控制等問(wèn)題[1]。作為一種先進(jìn)的服裝生產(chǎn)管理系統(tǒng),服裝吊掛系統(tǒng)在國(guó)內(nèi)服裝企業(yè)中的普及率并不高。本研究針對(duì)服裝加工工藝特點(diǎn),經(jīng)大量市場(chǎng)需求調(diào)研,設(shè)計(jì)并實(shí)現(xiàn)了一種基于以太網(wǎng)和RS485總線的服裝吊掛生產(chǎn)控制系統(tǒng)。上位機(jī)通過(guò)以太網(wǎng)和RS485與每個(gè)制衣工位進(jìn)行實(shí)時(shí)通信,實(shí)現(xiàn)對(duì)服裝生產(chǎn)加工過(guò)程的實(shí)時(shí)監(jiān)控管理。
1 系統(tǒng)構(gòu)成
    服裝吊掛系統(tǒng)宏觀上是一套懸空的流水線式物件傳輸流水線,它通過(guò)一個(gè)循環(huán)運(yùn)輸軌道把多個(gè)服裝生產(chǎn)工作站結(jié)合起來(lái),可根據(jù)生產(chǎn)加工工藝的要求,利用特制衣架,自動(dòng)將衣片、半成品及成衣按加工順序輸送到各個(gè)加工工作站,并且直接輸送到每個(gè)操作人員方便的位置上。它可以不受加工線路長(zhǎng)短和加工位置排列的限制,可長(zhǎng)可短,可高可低,可根據(jù)需要自由排列組合,靈活方便[2-3]。
    本研究設(shè)計(jì)的服裝吊掛系統(tǒng)由上位機(jī)、若干個(gè)數(shù)據(jù)一級(jí)下位機(jī)和多個(gè)二級(jí)下位機(jī)組成,如圖1所示。上位機(jī)作為總控設(shè)備,通過(guò)以太網(wǎng)對(duì)一級(jí)下位機(jī)通信,一級(jí)下位機(jī)重新對(duì)上位機(jī)數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)RS485與二級(jí)下位機(jī)進(jìn)行數(shù)據(jù)交換。上位機(jī)動(dòng)態(tài)顯示各個(gè)款式的加工狀況,為管理人員提供每個(gè)工作站、每個(gè)工人、每個(gè)衣架、每種款式等每時(shí)每刻的狀況,追蹤目標(biāo)產(chǎn)量,顯示生產(chǎn)進(jìn)度,產(chǎn)生生產(chǎn)報(bào)表以便管理人員及時(shí)掌握現(xiàn)場(chǎng)狀況,及時(shí)做出調(diào)整。一級(jí)下位機(jī)作為一個(gè)數(shù)據(jù)傳輸設(shè)備,完成兩種通信方式的連接和對(duì)上下間通信數(shù)據(jù)的轉(zhuǎn)換處理。二級(jí)下位機(jī)對(duì)應(yīng)各個(gè)加工工作站,對(duì)工作站的加工過(guò)程進(jìn)行控制,并實(shí)時(shí)采集工作的生產(chǎn)數(shù)據(jù)反饋給上位機(jī)。

    隨著電腦的普及,以太網(wǎng)接口成為目前使用最廣泛的網(wǎng)絡(luò)接口,具有接口簡(jiǎn)單、通信速度高、傳輸距離遠(yuǎn)、通信協(xié)議完善和工作性能穩(wěn)定等優(yōu)點(diǎn),能夠?qū)崿F(xiàn)遠(yuǎn)程高速數(shù)據(jù)通信[4]。RS485串行總線又有通信距離長(zhǎng)、抗干擾能力強(qiáng)[5]等優(yōu)點(diǎn),在工業(yè)控制系統(tǒng)中,尤其在中小型數(shù)據(jù)采集和控制系統(tǒng)中運(yùn)用廣泛。利用這兩種總線的控制方式,不僅有效解決了目前市場(chǎng)上服裝吊掛系統(tǒng)通信不穩(wěn)定、總控設(shè)備和控制設(shè)備存在數(shù)據(jù)傳輸?shù)钠款i問(wèn)題,而且整個(gè)系統(tǒng)的線路連接更加簡(jiǎn)潔方便,利用交換機(jī)就可以實(shí)現(xiàn)對(duì)多條流水線的集中控制,擴(kuò)展性增強(qiáng),整體的成本也不高。
2 上位機(jī)軟件設(shè)計(jì)
    從系統(tǒng)的總架構(gòu)圖看到,系統(tǒng)由上位機(jī)和下位機(jī)(包括一級(jí)下位機(jī)和二級(jí)下位機(jī))組成。上位機(jī)對(duì)下位機(jī)上傳的數(shù)據(jù)進(jìn)行分析、保存和顯示,下位機(jī)實(shí)時(shí)采集數(shù)據(jù),上傳給上位機(jī)并接收上位機(jī)指令完成相應(yīng)動(dòng)作。
    上位機(jī)軟件主要由通信模塊、人機(jī)交互界面模塊、數(shù)據(jù)庫(kù)模塊等組成,其結(jié)構(gòu)框架如圖2所示。

2.1 通信模塊設(shè)計(jì)
2.1.1 數(shù)據(jù)包格式

    上位機(jī)與每個(gè)工作站的通信其實(shí)并不是直接“點(diǎn)對(duì)點(diǎn)”式進(jìn)行,而是通過(guò)數(shù)據(jù)傳輸設(shè)備這一媒介進(jìn)行數(shù)據(jù)交互的。上位機(jī)與數(shù)據(jù)傳輸設(shè)備之間的通信數(shù)據(jù)包含了所有的制衣工位信息、數(shù)據(jù)傳輸設(shè)備對(duì)整體數(shù)據(jù)的拆解和工位數(shù)據(jù)的收集等數(shù)據(jù)轉(zhuǎn)換功能。為保證整個(gè)通信可靠高效,數(shù)據(jù)包格式必須規(guī)劃布置合理,其數(shù)據(jù)包格式如圖3所示。

    數(shù)據(jù)包總體格式為:公共數(shù)據(jù)+工位數(shù)據(jù),公共數(shù)據(jù)部分是上位機(jī)下發(fā)給每個(gè)工作站的統(tǒng)一調(diào)度信息或各個(gè)工作站上傳的共有信息。 因每個(gè)工位做的工序不一樣,執(zhí)行功能不同,每個(gè)時(shí)刻執(zhí)行的動(dòng)作也不一樣,所以將每個(gè)工位的數(shù)據(jù)分開,以工位數(shù)據(jù)的頭部作為地址。這種數(shù)據(jù)格式布局全面地涵蓋交互信息,利于拆解分析數(shù)據(jù)且有效地控制了數(shù)據(jù)包的大小。
2.1.2 功能命令
    整個(gè)制衣加工過(guò)程的順利進(jìn)行:上位機(jī)要設(shè)置制衣工作站的類型,即確立工作站做具體的某一道工序;合理控制工位的工作狀態(tài),衣料的分發(fā)要根據(jù)員工的上線、離線及時(shí)地調(diào)整;實(shí)時(shí)廣播給每個(gè)工位下個(gè)動(dòng)作的指令,保證衣料按照制定的加工方案調(diào)度;實(shí)時(shí)地將每個(gè)工位的生產(chǎn)情況發(fā)送給每個(gè)工位,督促員工的生產(chǎn)。每個(gè)工位根據(jù)生產(chǎn)情況,可以向上位機(jī)發(fā)送請(qǐng)求,以控制自己的生產(chǎn);每個(gè)工位完成上位機(jī)下發(fā)的指令動(dòng)作后需及時(shí)回復(fù)給上位機(jī),以便上位機(jī)對(duì)其下一個(gè)任務(wù)安排。上位機(jī)和工作站信息交互的命令種類如表1所示。

2.1.3 通信模塊程序?qū)崿F(xiàn)
    在整個(gè)制衣加工過(guò)程中,各個(gè)工位的操作并不是同步進(jìn)行,各個(gè)工位的數(shù)據(jù)量不一樣,為了實(shí)時(shí)監(jiān)控每個(gè)工位的生產(chǎn)情況,系統(tǒng)上位機(jī)和工位間需頻繁進(jìn)行數(shù)據(jù)交互,則對(duì)后臺(tái)數(shù)據(jù)庫(kù)操作會(huì)很頻繁。整個(gè)系統(tǒng)的數(shù)據(jù)大致可以分成兩類,一類數(shù)據(jù)需要頻繁更新,例如當(dāng)前工位存有的衣數(shù)、當(dāng)前的產(chǎn)量等;一類數(shù)據(jù)在較長(zhǎng)一段時(shí)間固定不變,例如各個(gè)款式的備用加工方案。 所以對(duì)后臺(tái)數(shù)據(jù)庫(kù)頻繁操作的數(shù)據(jù)表相對(duì)比較固定。基于這種考慮,將通信部分從上位機(jī)管理終端中分離獨(dú)立開來(lái),通信部分專門處理與工位的交互信息,操作后臺(tái)數(shù)據(jù)庫(kù)。管理終端負(fù)責(zé)數(shù)據(jù)查詢,呈現(xiàn)結(jié)果給用戶,兩者相輔相成,使得系統(tǒng)結(jié)構(gòu)穩(wěn)定性更強(qiáng)。
    基于Delphi在數(shù)據(jù)庫(kù)操作方面的強(qiáng)大優(yōu)勢(shì)[6],通信模塊使用Delphi技術(shù)實(shí)現(xiàn)。對(duì)通信模塊來(lái)說(shuō),對(duì)收到的數(shù)據(jù)要做兩個(gè)工作,一是對(duì)接收到的每個(gè)生產(chǎn)工位動(dòng)作命令及數(shù)據(jù)進(jìn)行處理,將生產(chǎn)工位的相關(guān)數(shù)據(jù)同步到數(shù)據(jù)庫(kù);二是響應(yīng)工位的上傳請(qǐng)求或?qū)の贿M(jìn)行操作,下發(fā)指令給每個(gè)生產(chǎn)工位。以太網(wǎng)數(shù)據(jù)通信在Delphi7中可以利用TcpClient控件比較方便地實(shí)現(xiàn)。處理程序的偽代碼如下:
    procedure TFormComm.TcpCommReceive( )
    {
        HandleRevData( )//處理所有工位信息進(jìn)行
        {
            While(…)
            {
            HandleAveStData( );//處理每個(gè)工位數(shù)據(jù)
            }
        }
        SendtoAllStData( ) //發(fā)送應(yīng)答信息
        {
            While(…)
            {
                SendWhatdatatoAveSation ( );
            }
        }
    }
    在主界面上通過(guò)點(diǎn)擊“開始”按鈕,啟動(dòng)通信模塊,進(jìn)行數(shù)據(jù)交互。
2.2 人機(jī)交互界面模塊設(shè)計(jì)
    本上位機(jī)界面是在Visual Studio 2005.NET編程環(huán)境中使用C#語(yǔ)言編程完成。C#語(yǔ)言是Microsoft專門為其推出.NET平臺(tái)“量身定做”的一種新型的面向?qū)ο蟮木幊陶Z(yǔ)言,它吸收了Java的許多優(yōu)點(diǎn),既具有VB的簡(jiǎn)單易用性,又具有C++的靈活和功能強(qiáng)大的特點(diǎn),而且克服了運(yùn)用C/C++進(jìn)行項(xiàng)目開發(fā)時(shí)難度大和周期長(zhǎng)的缺點(diǎn)。在.NET平臺(tái)上運(yùn)用C#可以很便捷地進(jìn)行企業(yè)大型應(yīng)用的開發(fā),特別是分布式應(yīng)用[7]。與SQL2000結(jié)合開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,Visual Studio.NET中提供的功能強(qiáng)大的控件和組件,可以輕松地生成非常復(fù)雜的SQL語(yǔ)句,使得對(duì)數(shù)據(jù)庫(kù)的各種操作和數(shù)據(jù)的展現(xiàn)更加方便。
2.2.1 功能設(shè)計(jì)
    上位機(jī)界面的功能是制定服裝加工方案、分配工序工位、對(duì)生產(chǎn)進(jìn)行智能調(diào)度、實(shí)時(shí)監(jiān)控整個(gè)生產(chǎn)過(guò)程并呈現(xiàn)各個(gè)工位的生產(chǎn)狀態(tài),及時(shí)提供生產(chǎn)報(bào)表、每個(gè)員工詳細(xì)薪資報(bào)表及生產(chǎn)分析圖等重要信息。界面分為4大模塊,具體功能模塊如圖4所示。

    其中工作工位實(shí)況、生產(chǎn)平衡信息和在生產(chǎn)服裝信息三部分內(nèi)容是生產(chǎn)過(guò)程中管理者最需要及時(shí)了解的信息,所以將這三個(gè)模塊布置在同一個(gè)界面,并作為軟件啟動(dòng)后的默認(rèn)主界面,友好性強(qiáng)。服裝款式管理和服裝加工方案設(shè)計(jì)這兩個(gè)模塊具有“父子”關(guān)系,每一款服裝都有對(duì)應(yīng)的一種或幾種服裝加工方案,在服裝款式管理模塊點(diǎn)擊一種款式即可進(jìn)入相應(yīng)的方案設(shè)計(jì)模塊。
2.2.2 主界面設(shè)計(jì)及界面組織
    由系統(tǒng)功能圖可以看出,整個(gè)上位機(jī)交互界面的層次性很強(qiáng),功能模塊較多,而且某些模塊除自己獨(dú)立成塊以外還是其他一些模塊的子模塊。為了增強(qiáng)控件的通用性和重用性,筆者按功能根據(jù)VS2005工具箱中的控件并利用.NET程序集創(chuàng)建相應(yīng)的用戶控件,在主界面對(duì)應(yīng)的功能調(diào)用用戶控件。
    主界面左面的窗格為系統(tǒng)功能樹,可依次展開,大致功能分布一目了然,利于用戶宏觀把握系統(tǒng)整個(gè)功能。右邊區(qū)域顯示各個(gè)功能的具體內(nèi)容,在功能樹中雙擊某一功能模塊對(duì)應(yīng)的樹節(jié)點(diǎn),右邊區(qū)域就把對(duì)應(yīng)模塊的用戶界面添加進(jìn)來(lái),實(shí)現(xiàn)代碼如下:
    sContainer.Panel2.Controls.Add( 用戶空件名 );
2.3 數(shù)據(jù)庫(kù)模塊設(shè)計(jì)
    服裝吊掛生產(chǎn)管理系統(tǒng)大致包含服裝款式、員工、生產(chǎn)工位、加工方案和產(chǎn)量五類數(shù)據(jù)。服裝款式是系統(tǒng)生產(chǎn)的對(duì)象,是數(shù)據(jù)庫(kù)組織的核心。它們之間的關(guān)系如圖5所示,每個(gè)款式制定在線加工方案,立即投入生產(chǎn),制定備用加工方案,以備生產(chǎn)調(diào)整,根據(jù)加工方案分配人員和工位。

    .NET提供的數(shù)據(jù)庫(kù)訪問(wèn)組件ADO.NET功能非常強(qiáng)大,與DataSet類對(duì)象配合,可以映射出一個(gè)完整的數(shù)據(jù)庫(kù)。同時(shí).NET還提供了功能強(qiáng)大的列表控件類DataGridView類,給類數(shù)據(jù)庫(kù)管理的可視化編程帶來(lái)了極大的方便[8]。
    數(shù)據(jù)庫(kù)訪問(wèn)的代碼實(shí)現(xiàn):由于系統(tǒng)在運(yùn)行時(shí)需要頻繁訪問(wèn)數(shù)據(jù)庫(kù),因此將數(shù)據(jù)庫(kù)數(shù)據(jù)訪問(wèn)部分的代碼封裝成通用的數(shù)據(jù)庫(kù)訪問(wèn)類,以便實(shí)現(xiàn)復(fù)用。數(shù)據(jù)庫(kù)訪問(wèn)類CDataHandle的偽代碼為:
    public class CDataHandle
    {
        private System.Data.SqlClient.SqlConnection connection;
//連接數(shù)據(jù)庫(kù)
        private System.Data.SqlClient.aAdapter adapter;
//用于填充和更新數(shù)據(jù)集
        private System.Data.SqlClient.SqlCommand selectCmd;
        private System.Data.SqlClient.SqlCommand insertCmd ;
        private System.Data.SqlClient.SqlCommand updateCmd ;
        private System.Data.SqlClient.SqlCommand deleteCmd ;
        …
        public DataTable Select (String sqText ,DataSet ds ,
String tableName)
        {
            try
            {
                this.selectCmd.CommandText = sqlText;
                this .selectCmd.Connection=this .connection;
                this.connection .Open( );
                if(ds.Table[tableName]==null)
                ds.Table.Add(tableName);
                this.adapter.Fill(ds.tableName);
                this.connection.Close( );
            }
            Catch(Exception ex)
            {
                this.connection.Close( );
                MessageBox.Show(ex.Message);
            }
            return ds.Tables[tableName];
        }
        …
        Public void Insert(string sqlText, DataSet ds,
String tableName){…};
        Public void Delete(string sqlText, DataSet ds,
String tableName){…};
        Public void Update(string sqlText, DataSet ds,
String tableName){…};
    }
    該類對(duì)ADO. NET進(jìn)行了封裝,實(shí)現(xiàn)了數(shù)據(jù)的查詢、插入、刪除、更新等數(shù)據(jù)庫(kù)操作,引用起來(lái)非常方便。
3 上位機(jī)軟件實(shí)現(xiàn)的關(guān)鍵點(diǎn)分析
3.1 數(shù)據(jù)的一致性

 


    管理人員在前臺(tái)界面上操作,可能會(huì)使得后臺(tái)數(shù)據(jù)庫(kù)對(duì)多個(gè)表的數(shù)據(jù)進(jìn)行Update、Insert或Delete的情形。如果前面的表數(shù)據(jù)已經(jīng)更新成功而后面的表卻更新失敗,這時(shí)就會(huì)出現(xiàn)相關(guān)聯(lián)的數(shù)據(jù)不一致的問(wèn)題。
    上位機(jī)界面中使用.NET中數(shù)據(jù)操作的事務(wù)處理對(duì)象SqlTransaction來(lái)解決此問(wèn)題。建立事務(wù)對(duì)象與sql命令對(duì)象綁定,由sql命令對(duì)象來(lái)負(fù)責(zé)數(shù)據(jù)操作的提交或回滾,這樣就可以達(dá)到保證數(shù)據(jù)一致性的目的。
3.2 跨線程訪問(wèn)控件
    在多線程編程中,經(jīng)常要在工作線程中去更新界面顯示,而在多線程中直接調(diào)用界面控件的做法是錯(cuò)誤的,一般采用Invoke和BeginLnvoke解決這個(gè)問(wèn)題。它們的參數(shù)為委托delegate,委托的方法在Control的線程上執(zhí)行,也就是平時(shí)所說(shuō)的UI線程,以此來(lái)實(shí)現(xiàn)跨線程操作。Invoke在擁有此控件的基礎(chǔ)窗口句柄的線程上執(zhí)行指定的委托,而BeginInvoke是在創(chuàng)建控件的基礎(chǔ)句柄所在線程上異步執(zhí)行指定委托,本系統(tǒng)主要采用Invoke方法。
    本研究設(shè)計(jì)的基于以太網(wǎng)和RS485總線的服裝吊掛生產(chǎn)控制系統(tǒng)將兩種通信方式混合集成使用達(dá)到了理想的效果,該系統(tǒng)已投入市場(chǎng),系統(tǒng)運(yùn)行穩(wěn)定、操作簡(jiǎn)單方便,用戶十分滿意。本上位機(jī)軟件操作方便,界面簡(jiǎn)潔。通信模塊獨(dú)立于界面的設(shè)計(jì),不僅增強(qiáng)了軟件的結(jié)構(gòu)性,而且對(duì)多線程的操作要求降低。本文對(duì)于工業(yè)控制系統(tǒng)的監(jiān)控管理類軟件的編寫也具有一定借鑒意義。
參考文獻(xiàn)
[1] 陳洪倩,陳雁,丁佳,等.服裝吊掛線生產(chǎn)組織分析[J].絲 綢,2012,49(1):30-32.
[2] 周旭東,宋曉霞,劉靜萍.智能服裝吊掛生產(chǎn)管理系統(tǒng)的研究[J].上海工程技術(shù)大學(xué)學(xué)報(bào),2000,14(3):63-67.
[3] 傅菊芬.服裝吊掛生產(chǎn)系統(tǒng)的工藝分析[J].上海紡織科技,2001(6):43-44.
[4] LAN/MAN Standards Committee.IEEE Std.802.3-2005/Corl-2006 part3:carrier sense multiple access with collision  detection(CSMA/CD) access method and physical layer specifications corrigendum 1[S].2006.
[5] 穆斌,羅珣.RS-485總線網(wǎng)絡(luò)應(yīng)用中的安全與可靠性[J].光學(xué)精密工程,2003,11(2):193-197.
[6] 王林瑋.delphi7數(shù)據(jù)庫(kù)工程實(shí)用編程技術(shù)[M].北京:電子工業(yè)出版社,2006.
[7] 李煒,孫志宏,陳慶龍,等.基于.NET的服裝生產(chǎn)管理系統(tǒng)的研究與實(shí)踐[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(9):127-129.
[8] 張立.C#程序設(shè)計(jì)編程經(jīng)典[M].北京:清華大學(xué)出版社,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。