離散型企業智能作業控制方法

            文檔序號:6380360閱讀:441來源:國知局
            專利名稱:離散型企業智能作業控制方法
            技術領域
            本發明屬于智能作業控制技術,特別是一種離散型企業智能作業控制方法。
            背景技術
            現代企業必須提升生產控制水平,才能提高生產率,確保履約率。提升企業的生產效率有四種方式引進先進的生產設備、改進加工方法、提高作業人員的生產水平和提升生產控制水平。我國很多企業引入ERP系統,還有一些企業自行研發企業生產管理系統。它們都是采用自上而下的管理方式。在制定生產計劃,組織生產以及產成品、半成品入庫方面,實現了管理流程信息化。
            在離散型企業內部,面對多種具有不固定級級數的從屬關系的產品和具有一定先后順序的裝配部件,多采用把產品作為一種項目,把產品里的部件,子部件,最終器件、零件、部件同級化處理,人工拆分為項目的子項目平等對待的方法。人工拆分需要化大量時間,拆分的結果專門針對特定的模型,不具備通用性。單品種大批大量生產方式經常采用流水線方式來達到均衡的生產目的。其特點是事先設計好生產節拍和生產線。對多品種小批量的生產方式,采用傳統的流水線生產方式,生產能力不能有效控制,生產節拍經常變化,生產線頻繁搬遷需要化大量的人力物力。目前許多企業生產現場大多處于非完全控制狀態。生產現場的盲目性,隨意性非常大,生產控制手段匱乏,目視管理缺失,信息不能很好地公開,與生產準時化要求相距甚遠,質量過程控制不能很好地保證,生產潛在的問題不能及時發現,工作效率不能有效地提聞。我國的一些企業對生產管理多采用現場安排、手工記,錄方式。重復勞動多,生產數據沒有積累。生產計劃滯后,生產安排隨意性大,生產進度不確定性因素多,信息斷層。發達國家和世界級企業,特別注重基于時間研究基礎上的科學管理,注意到作業時間的研究。對多品種小批量的生產方式,隨著產品技術含量不斷增加,作業改進永無止境,通常采用的理想化的測量數據需要大量的人力和物力的投入。作業過程中偶然因素時有發生,測量結果會相差很大。對以盈利和履約為目的的離散型企業,專門的時間測量在生產控制中更具有示范性,可操作性不強。

            發明內容
            本發明的目的提供一種離散型企業智能作業控制方法,能夠提升企業快速響應能力,提高產品質量和生產率,確保履約率。實現本發明目的的技術方案為一種離散型企業智能作業控制方法,其特征在于對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組構建產品結構樹;按相似性分成鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八個生產單元,每個單元又安排可控制數量的工位,半天按210分鐘,計算生產能力初定各工序單元工位數;在考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種因素,控制具有從屬關系產品的每一個部件在每一個工位上裝配的最佳時間點,自動尋找部件裝配的最佳路徑;該最佳路徑以甘特圖方式實時顯示控制現場作業;作業開工勾選調用作業指導書進行作業和作業進程返饋,從而實現離散型企業智能的作業控制。本發明與現有技術相比,其顯著優點為(I)構建產品結構樹。產品的從屬關系級數不固定,子部件零部件的數量也不固定。針對產品不固定級數從屬關系的內在規律作專門研究,找出具備這類不固定級數從屬關系特性的產品的通用規律,采用不固定嵌套循環層數和數組的方法進行多種具有不固定子部件級數的產品結構樹顯示,以便快速讀懂產品結構和產品框架,實現產品同步化。(2)計算生產能力,并調配正常上班時間各工序單元工位數和加班時間各工序單元工位數。針對多品種小批量生產方式節奏快,批量小,路線存在區別的特點,將裝配工藝根據相似性進行分類,分為鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八個工序單元,計 算各工序單元的生產能力,調配正常上班時間各工序單元工位數和加班時間各工序單元工位數。作業指導書根據八種裝配工序單元分為鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八類,通過改變多能工密碼類型的方式同步自動控制該多能工顯饋終端的作業指導書的類型。用技術手段保證了削峰填谷,消除生產瓶頸,達到均衡生產的目的,實現生產均衡化。(3)在考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種實戰因素情況下,自動尋找具有不固定級數從屬關系的產品的部件裝配最佳路徑。生產中最大的浪費是等待的浪費。通過自動尋找部件裝配的最佳路徑,能最大程度消除過量生產、等待時間、運輸、庫存、過程、動作、產品缺陷等浪費,縮短產品制造周期,提高生產效率,適應現代企業多品種小批量的生產需求,提升離散型企業的快速響應能力,提高全員生產率,實現響應快速化。(4)以甘特圖方式實時顯示最佳路徑。以甘特圖方式顯示最佳路徑是有技術支撐的一種目視管理方式,是看板和網絡的完美接合。它以視覺信號顯示為手段,以信息公開為原則,是實現生產自動化、準時化的有力保證,能切實提高質量過程控制,發揮激勵和協調作用,產生良好的心理和生理效應,直觀地顯示生產潛在的問題。還能充分發揮網絡信息傳輸快速、及時和協同作戰的優勢。有利于工作效率的提高,實現信息目視化。(5)作業開工勾選調用作業指導書進行作業和作業進程返饋。在作業開工勾選后,作業人員顯饋終端出現作業指導書。作業進程返饋確認作業完成。用作業指導代替紙質裝配工藝和隨意操作;用科學的數據積累代替理想化的時間測量和隨意估算。將作業的時間數據實時積累,同時與自動尋找到的部件裝配的最佳路徑相關連,可以將生產率的提高落到實處,實現數據實戰化。下面結合附圖對本發明作進一步詳細描述。


            圖I是本發明離散型企業智能作業控制方法的結構圖。圖中實線表示正向產生,虛線表示反向產生;實框線表示采集的信息或生成的最終信息,虛框線表示生成的中間信肩、O圖2是實現離散型企業智能作業控制方法的硬件配置圖。本發明的方法采用C/S結構,通過組建局域網運行;數據存放在服務器端,客戶端根據作用分為采集終端、控制終端、顯饋終端。采集終端的作用是采集實現本發明方法所需的數據,控制終端的作用是調整和控制本發明方法的數據,顯饋終端的作用是顯示最佳路徑和反饋作業進程。采集終端、控制終端、顯饋終端均通過網線和服務器進行數 據交換,并將數據存放在服務器中。
            具體實施例方式結合圖I和圖2,本發明離散型企業智能作業控制方法,首先對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組構建產品結構樹;并按相似性分成鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八個生產單元,每個單元又安排可控制數量的工位,半天按210分鐘,計算生產能力初定各工序單元工位數;在考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種因素,控制具有從屬關系產品的每一個部件在每一個工位上裝配的最佳時間點,自動尋找部件裝配的最佳路徑;該最佳路徑以甘特圖方式實時顯示控制現場作業;作業開工勾選調用作業指導書進行作業和作業進程返饋,從而實現離散型企業智能的作業控制。具體內容如下。一、構建產品結構樹⑴注釋I)本發明中,如果產品的A部件從屬于B部件,稱B部件和A部件之間就存在一級從屬關系,A部件為B部件的一級子部件,B部件為A部件的父部件;如果A部件屬于B部件的一級子部件,那么B部件和A部件之間就存在二級從屬關系,A部件為B部件的二級子部件;本發明研究的產品對象的從屬關系的級數是不相同,不固定的,本發明中將這類具有不相同或不固定的從屬子部件的產品稱為具有不固定子部件級數的產品;2)本發明中,如果A循環放在B循環里,稱B循環和A循環組成二層循環,A循環為內層循環,B循環稱為外層循環;如果A循環放在B循環里,B循環又放在C循環,稱C循環、B循環、A循環組成三層循環;對于不固定子部件級數的產品,設置與之對應的循環的層數具有不固定性和不確定性,稱為不固定嵌套循環層數;3)本發明中所說的產品結構樹,指用如同計算機資源管理器的文件目錄一樣,以樹形視圖的方式來表達部件具有從屬關系的產品明細表,其中產品的每個零部件、器件在樹形視圖中顯示時稱為列表項,樹形視圖中表達每個零部件、器件的名稱的文字稱為列表項的顯示文本;4)樹形視圖只能通過編輯才能增加和刪除數據項,一層、二層或三層等固定層樹形視圖的構建方法已經成熟,本發明研究的是對不固定子部件級數的產品構建不固定層的樹形視圖的方法;5)本發明中與具有從屬關系的產品的父部件、子部件相對應的樹形視圖表達父節點和子節點的顯示文本稱為父項和子項;6)產品明細表含產品代號、部件代號、部件名稱、單臺數、關重性、所屬產品、所屬部件、配套工序和備注九個字段;(2 )產品明細表數據導入產品明細表反映了產品從屬關系,借助TrueTable軟件,將DWG格式文件生成文本文件,將文本文件導入軟件的產品明細表;(3)利用導入的產品明細表通過對不固定子部件級數的產品采用不固定嵌套循環層數和數組的方法構建產品結構樹tv_pst,步驟如下I)將產品明細表按產品代號cpdh、部件代號ljdh、所屬產品zee、所屬部件zeb字段升序排序;2)測試產品明細表的記錄數,記作變量li_row ;3)判斷產品明細表有沒有記錄,如果li_row=0,表示產品明細表沒有記錄,退出本步驟,如果li_row>0,表示產品明細表有記錄;讀取第一條記錄的產品代號cpdh,部件代號ljdh,所屬產品zee,所屬部件zeb,樹形視圖列表項子項顯示文本賦值; 4)設置變量內層循環層數 int i,數組 string zee[20], zeb[20], li_row[20];5)將產品明細表按zee,zeb字段過濾,得到所有子部件;6)賦值i=l,測試所有子部件的記錄數,記作li_row[i];7)判斷子部件有沒有記錄,如果li_row[i]=0,表示沒有子部件,那么添加樹形視圖列表項,此列表項前沒有子項不加“ + ”號;恢復父項過濾條件,光標指向其下一條記錄,讀取下一條記錄部件的產品代號cpdh,部件代號ljdh,所屬產品zee,所屬部件zeb,樹形視圖列表項顯示文本賦值;重復步驟5)、6)、7);如果li_row[i]>0,表示第一條記錄部件有子部件,那么添加樹形視圖列表項;此列表項前有子項加“ + ”號;讀取子部件的第一條記錄的產品代號cpdh,部件代號ljdh,所屬產品ZCC [i],所屬部件zeb [i],樹形視圖列表項子項顯示文本賦值;8)將產品明細表按zcc[i],zcb[i]字段過濾,得到所有子部件;9)測試所有子部件的記錄數,記作li_row[i+l];10)判斷所有子部件有沒有記錄,如果li_row[i+l]=0,表示其沒有子部件,那么添加樹形視圖列表項;此列表項前沒有子項不加“ + ”號;恢復父項過濾條件,光標指向其下一條記錄,讀取下一條記錄的產品代號cpdh,部件代號ljdh,所屬產品zee [i],所屬部件zeb [i];樹形視圖列表項顯示文本賦值,重復步驟8)、9)、10);如果li_row[i+l]>0,表示有子部件,那么添加樹形視圖列表項;此列表項前有子項加“ + ”號;賦值i=i+l ;讀取其子部件的第一條記錄的產品代號cpdh,部件代號ljdh,所屬產品ZCC [i],所屬部件zeb [i],樹形視圖列表項子項顯示文本賦值;11)重復步驟 8)、9)、10);12)當光標指向i級子部件的結尾時,回到父項,設置i=i _ I ;判斷光標回到是父項的從第I條到第li_row[i]條記錄之間的一條記錄還是父項的結尾記錄;如果是回到父項從第I條到第li_row[i]條記錄之間的一條記錄時,則恢復父項的過濾條件,進行下一條記錄的測試和判斷;如果是回到父項的結尾記錄,則進入上一層循環,再次設置i=i - I ;13)直到i=l,用這種方法就構建了產品目錄構。二、計算生產能力初定各工序單元工位數計算生產能力初定各工序單元工位數對不固定子部件級數的產品采用不固定嵌套循環層數和數組的方法尋找到產品所有的裝配部件,根據產品所有的裝配部件的作業時長計算產品的生產能力;確定各工序單元工位數量。(I)注釋I)本發明中裝配的部件有兩層含義一種是指將部件的一級子部件、零件、器件通過特定的工序裝成父部件,本發明中稱為裝配部件;裝成裝配部件的每一道工序所需的時間都可以通過時間測量和經驗積累確定,通過數據采集方式得到;裝配部件裝成的每一道工序所需的時間可以通過作業勾選得到的數據進行更新;另一種是指部件的全部子部件的所有級子部件逐級裝配的全部過程,本發明中稱為總裝配部件;2)生產能力計算表包含序號、產品代號、鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外、產品工時i^一個字段;3)工序單元工位表包含工序名稱和工位數兩個字段;4)生產計劃表包含產品代號、部件代號、部件名稱、批次號、數量、配套日期、完成 日期、完成情況、優先級和備注字段;生產計劃表可以由文本文件導入;5)裝配流程表包含產品代號、部件代號、部件名稱、工序號、工序名稱、作業時長、非作業時長和備注字段;作業時間(記作tj)是對工件和作業人員都累計的時間,非作業時長(記作te)是只對工件累計,對作業人員不累計的時間;裝配流程表可以由文本文件導A ;6)離散型企業所有產品的裝配工序按相似性進行分類,定義每工序單元的工序名稱,根據產品裝配工藝特點,將裝配工序分為鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八個工序單元;(2)對具有從屬關系的產品,根據導入的生產計劃表、裝配流程表計算生產能力的步驟如下I)選擇需要計算生產能力的截止時間,過濾這段時間內生產計劃表的產品計劃,測試過濾后生產計劃表有沒有記錄,如果沒有記錄,計算結束;如果有記錄,記錄數記作Ii_row,進行生產能力計算,生成生產能力計算表;2)生產計劃表按產品代號、部件代號、批次號字段升序排序;3)依次讀入已過濾的生產計劃表的不同的產品代號,作為生產能力計算表的各記錄項,記錄讀完后,增加計劃工時、達額工時、能力工時、工位數四個記錄匯總項;4)設置表示循環層數變量 int i,數組 string zee[20], zeb[20], long lii_row[20];讀取生產計劃表第一條記錄的產品代號、部件代號、計劃數量ljsll ;5)查找對應于裝配流程表各工序單元的作業時長,如果讀不到數據或讀的數據為空,那么作業時長值為0,將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據與生產能力計算表對應生產計劃表中產品代號的原數據相加,將結果設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;如果生產能力計算表中對應生產計劃表中產品代號的原數據為空,則將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;6)將產品明細表按產品代號、部件代號字段過濾,得到所有子部件;7)賦值i=l,測試子部件的記錄數,記作lii_row[i];8)判斷有沒有子部件,如果lii_row[i]=0,表示沒有子部件,那么生產計劃表中的光標指向下一條記錄,讀取下一條記錄的產品代號、部件代號、計劃數量ljsll,重復步驟5)、6)、7)、8);如果lii_row[i]>0,表示有子部件,讀取其子部件的第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zee [i]、所屬部件zcb[i]、所屬數量(Ijsl), ljsll=ljsll*ljsl ;9)以產品代號、部件代號為條件查找裝配流程表對應部件各工序單元的作業時長,如果讀不到數據或讀的數據為空,那么作業時長值為0,將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據與生產能力計算表中對應生產計劃表中產品代號的原數據相加,將結果設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;如果生產能力計算表中對應生產計劃表中產品代號的原數據為空,則將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;10)將產品明細表按zcc[i],zcb[i]字段過濾,得到所有子部件; 11)測試子部件的記錄數,記作lii_row[i+l];12)判斷有沒有子部件,如果lii_row[i+l]=0,表示沒有子部件,那么恢復父項過濾條件;光標指向下一條記錄,讀取下一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量(Ijsl) , ljsll=ljsll*ljsl ;重復步驟 9)、10)、11)、12);如果lii_row[i+l]>0,表示有子部件;賦值i=i+l ;讀取子部件的第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zeb [i]、所屬數量(Ijsl),ljsll=ljsll*ljsl ;13)重復步驟 9)、10)、11)、12);14)當光標指向i級子部件級的結尾時,回到父項,設置i=i _ I ;判斷光標是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄還是父項的結尾記錄;如果是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄,則恢復父項的過濾條件,進行下一條記錄的測試和判斷;如果是回到父項的結尾記錄,則進入上一層循環,再次設置i=i -1,直到i=l ;15)將生產能力計算表中計算得到的各條產品記錄中的各個工序單元橫向匯總求和,設置給該記錄的產品工時字段;16)將生產能力計算表中計算得到的各條產品記錄中的各個工序單元及產品工時進行縱向匯總求和,得到的數據設置給計劃工時記錄相對應的各字段;17)將生產能力計算表中計劃工時各工序單元的數值除以作業天數,再除以每天作業的分鐘數,就到得生產能力計算表中各工序單元數安排的近似值;18)將生產能力計算表中各工序單元的計劃工時和產品工時與達額率相乘,得到的數據設置給達額工時記錄相對應的各字段;19)將工作時長與各工序單元工位數相乘得到能力工時,得到的數據設置給達額工時記錄相對應的各字段;(3)根據生產能力計算表中工位數量安排的近似值填寫工序單元工位表中工位數字段。三、自動尋找具有不固定級數從屬關系的產品的部件裝配最佳路徑
            考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種因素的表,尋找控制具有從屬關系產品的每一個部件在每一個工位上裝配的最佳時間點,自動尋找具有不固定級數從屬關系的產品的部件裝配最佳路徑。(I)注釋I)本發明中在表示最佳路徑的部件進度表前,為了減少生成過程中的難度,先生成工序時間表;2)缺件補齊時間表包含序號、產品代號、部件代號、部件名稱、批次號、數量、補齊日期和備注八個字段;缺件補齊時間表由文本文件導入;3)加班表包含工序名稱、加班種類、工位數、加班日期和備注五個字段;加班表由文本文件導入;4)工序時間表包含次序號、順序號、工序名稱、起始時間、有效性六個字段;5)部件進度表包含批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、次序號、順序號、列號、序號、優先級、開始時間、結束時間、作業時長、非作業時長、有效性、轉向工序號、轉向工序名、轉向順序號字段;(2)由加班表和工序單元工位表運用顯示區間天數的確定,周末的判斷,循環中日期和時間的表達等方法生成工序時間表的步驟如下I)清除工序時間表原來的數據;2)用戶輸入截止日期em_2,今天的第二天與截止日期之間的日期稱為顯示區間,記作變量XX ;3)如果截止日期的年份等于今天today O的年份,顯示區間的天數xx為截止日期的號數,減去今天today O的號數,加上從今天today O的月份到截止日期月份的前一個月期間每個月最后一天的號數的累加和;4)如果截止日期的年份等于今天today O的年份加I,顯示區間的天數xx為截止日期的號數,減去今天todayO的號數,加上從今天today O的月份到今天todayO當年十二月期間每個月最后一天的號數,加上截止日期當年一月到截止日期月份前一個月期間每個月最后一天的號數的累加和;5)如果截止日期的年份大于今天today O的年份加I,顯示區間的天數xx為截止日期的號數,減去今天todayO的號數,加上從今天today O的月份到今天todayO當年十二月期間每個月最后一天的號數,加上截止日期當年一月到截止日期月份前一個月期間每個月最后一天的號數,加上從今天today O的次年一月到截止日期前一年十二月期間每個月最后一天的號數的累加和;6)取每個月最后一天的方法為月份設為變量li_month,如果li_month=12,那么最后一天的號數為31 ;如果li_month〈12,那么下個月月份為本月加I,即li_month+l,每個月的最后一天就是下個月I號的前一天;7)以顯示區間的天數為第一層循環的次數,以工序單元工位表的工序名稱字段為第二層循環的次數,以工序單元工位表的工位數字段為第三層循環次數進入循環,依次讀數、賦值、設置直至完成三層循環,工序時間表完成設置;8)在步驟7)的循環中,依次讀數、賦值、設置直至完成三層循環的方法如下·
            讀取工序單元工位表中每條記錄的工序名稱,設置給工序時間表的工序名稱字段;讀取工序單元工位表中每條記錄的工位數,設置給工序時間表的順序號字段;工序時間表的次序號用兩位數n-m表示,η表示今天today O后第幾天數,η從I到xx ;m表示時間段,用I、2、3表示;I表示上午班8:00-11:30,1表示下午班12 30-16:00,3表示晚班17:00-20:30 ;每班次上班時間分別為上午班時間08:00 ;下午班時間12:30 ;晚班時間17:00 ;工序時間表的起始時間為日期時間型數據,含日期和時間;取今天todayO后的第η天日期,判斷第η天是不是星期天或星期六;如果是,那 么工序單元工位表中的工位數不參與循環;工序時間表的有效性均設為O ;讀取加班表中的記錄;將工序時間表按順序號字段降序排列;查找工序時間表中對應同時段并且同工序名稱的記錄的順序號;如果查找到,則插入新的相應記錄,記錄的順序號從查找到的順序號以后排;如果查找不到,則插入新的相應記錄,記錄的順序號從I開始排,直到循環結束;9)工序時間表生成后,按工序名稱、起始時間、次序號字段升序,順序號字段降序排序;(3)保留部件進度表表示已開工的、異常的、完工的記錄,清除其他記錄,并綁定部件進度表的保留記錄與工序時間表對應的順序號。保留部件進度表有效性字段為表示已開工的值3、表示異常的值4、表示完工的值5的記錄,清除其他記錄。部件進度表有效性為3、4或5且開始時間不小于今天today O的第二天的記錄優先作綁定處理,綁定工序時間表對應的順序號,步驟如下I)有效性O表示項目確定;有效性I表示開始時間確定;有效性2表示結束時間確定;有效性3表示已作開工“作業勾選” ;4表示已填報作業異常;有效性5表示已作完成“作業勾選”;2)保留有效性為3,或有效性為4或有效性為5的記錄,清除部件進度表的其它數據;3)整理保留的有效性為3、或4、或5的記錄,將部件進度表中按批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號字段升序排序,設置批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號相同的記錄序號從I開始重新設置;將部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號相同,列號不相同的記錄列號從I開始重新設置;(4)對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組的方法,根據產品從屬關系、產品裝配流程、生產計劃、正常上班時間各單元工位數和加班時間各單元工位數五種因素,生成部件進度表所有記錄項,生成所有記錄項時賦值批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、列號、序號、優先級、作業時長、非作業時長、有效性字段的內容如下I)生產計劃表按批次號、產品代號、部件代號、開始時間字段升序排序;
            2)生產計劃表按完成情況不等于‘完成’條件進行過濾;3)測試生產計劃表記錄數,記作li_row,如果li_row=0,退出本步驟;如果li_row>0,表示生產計劃表有記錄;4)讀取生產計劃表第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、批次號cpph、數量ljsll、優先級yxji字段的數值;5)以產品代號為cpdh、部件代號為Ijdh過濾條件對裝配流程表過濾,測試部件對應于裝配流程表的記錄數,記作g_rownumber ;如果g_rownumber=0,表示裝配流程表沒有記錄,轉到下一節的內容;如果g_rownumber>0,表示裝配流程表有記錄,以g_rownumber為二層循環次數,以Ijsll為三層循環次數;讀取裝配流程表第一條記錄的工序號gxh和工序名稱gxmc,在部件進度表中查找有沒有批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號都相同的記錄,如果有,記作xx ;那么插入Ijsll條記錄,記錄的列號從xx到(xx+ljsll),記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品zccp、所屬 部件zcbj、產品代號cpdh、部件代號Ijdh、部件名稱Ljmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;如果沒有,插入Ijsll條記錄,記錄的列號從I到ljsll、記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品zccp、所屬部件zcbj、產品代號cpdh、部件代號Ijdh、部件名稱Ljmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;然后光標指向裝配流程表下一條記錄……直到二層循環結束,這樣就將對應的所有工序的信息設置給部件進度表中的批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、列號、序號、優先級、有效性相應字段;6)將產品明細表按產品代號cpdh,部件代號Ijdh字段過濾,得到產品明細表中的所有子部件;7)設置變量循環層數 i,數組 string zee[20], zeb[20] , long lii_row[20],賦值 i=l ;8)測試其記錄數,記作lii_row[i],判斷有沒有子部件如果lii_row[i]=0,表示沒有子部件,那么生產計劃表中的光標指向下一條記錄,讀取下一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、批次號cpph、數量ljsll、優先級yxji、完成日期wcrq ;重復步驟 5)、6)、7)、8);如果lii_row[i]>0,表示有子部件,讀取子部件的第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zee [i]、所屬部件zcb[i]、所屬數量Ijsl,賦值Ijsll=Ijsl木Ijsll ;9)以產品代號cpdh、部件代號Ijdh為過濾條件對裝配流程表過濾,測試裝配流程表記錄數,記作g_rownumber ;如果g_rownumber=0,表示裝配流程表沒有記錄,轉到下一節;如果g_rownumber>0,表示裝配流程表有記錄,表示裝配流程表有記錄,以g_rownumber為二層循環次數,以Ijsll為三層循環次數;讀取裝配流程表第一條記錄的工序號gxh和工序名稱gxmc,在部件進度表中查找有沒有批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號相同的記錄;如果有,記作xx,插入Ijsll條記錄,記錄的列號從xx到xx+ljsll,記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品、所屬部件、產品代號cpdh、部件代號ljdh、部件名稱ljmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;如果沒有,插入Ijsll條記錄,記錄的列號從I到ljsll,記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品、所屬部件、產品代號CPdh、部件代號ljdh、部件名稱ljmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;然后光標指向裝配流程表下一條記錄……直到二層循環結束;這樣就將對應的所有工序的信息設置給部件進度表中的批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、列號、優先級、有效性相應字段;10)將產品明細表按ZCC[i],ZCb[i]字段過濾,得到所有子部件;11)測試子部件的記錄數,記作lii_row[i+l];12)判斷有沒有子部件,如果lii_row[i+l]=0,表示沒有子部件,那么恢復父項過濾條件;光標指向下一條記錄;讀取下一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量Ijsl,賦值Ijsll=Ijsl*ljsll ;重復步驟9)、10)、11)、12);如果lii_row[i+l]>0,表示有子部件;賦值i=i+l ;讀取子部件每一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc,所屬產品zee [i],所屬部件zcb [i], 所屬數量 ljsl,賦值 ljsll=ljsl*ljsll ;13)重復步驟 9)、10)、11)、12);14)當光標指向i級的結尾時,回到父項,設置i=i - I ;判斷光標是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄還是父項的結尾記錄;如果是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄,則恢復父項的過濾條件,進行下一條記錄的測試和判斷;如果是回到父項的結尾記錄,則進入上一層循環,再次設置i=i - 1,直至i=l ;15)部件進度表按批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、列號字段升序排序,刪除批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、列號都相同的記錄中有效性為O的記錄;(5)運用一個子部件對應多個父部件,一個父部件對應多個子部件的多對多關系的對應方法,確定部件進度表保留記錄的轉向單元的工序號、轉向工序名、轉向順序的步驟如下優先確定有效性為3、4或5的記錄的下道工序,由部件進度表有效性為3、4或5的記錄的非作業時長zysc與結束時間wcrq,用連續時間相加的方法確定部件進度表下道工序或父部件第一道裝配工序的開始時間的方法如下I)測試部件進度表有效性為3、4或5的記錄數,如果記錄數為0,退出本步驟;如果記錄數不為0,作以下處理;2)將部件進度表中按批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號、序號字段升序排序,讀取部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號字段;如果讀取的部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號與上一條記錄相同,則跳過;如果讀取的部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號不相同,則將上一條記錄作如下處理;3)賦值wcrq的分鐘記為mw ;小時數記為hw,非作業時長記為zysc ;4)設置記錄的本班次上班時間,如果m=l,那么hsl=8, msl=0 ;如果m=2,那么hsl=12, msl=30 ;如果 m=3,那么 hsl=17, msl=0,設置 nl=n ;5)如果設置部件進度表下道工序或父部件第一道裝配工序的開始時間為ksrq,ksrq與當班次上班時間的時長為tysc,那么tysc= (hw_hsl)*60+(mw_msl)+zysc ;
            6)如果tysc〈=210且(mw + zysc)〈60,那么ksrq的分鐘數為mw+zysc,小時數為hw ;7)如果 tysc〈=210 且(mw+ zysc) >=60,那么 ksrq 的小時數為 hw +int ((mw + zysc)/60),分鐘數為 mw=mod ((mw + zysc) , 60);8)m=m+l,讀取記錄的下班次數據;如果m=4,那么m=l, n=n+l ;讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的記錄;如果讀到記錄,設工序時間表的起始時間為的小時數和分鐘數分別為hs2和ms2 ;記錄下班次的上班時間的小時數和分鐘數分別為hs 和 ms ;如果 m=l,賦值 hs=8, ms=0 ;如果 m=2,賦值 hs=12, ms=30 ;如果 m=3,賦值 hs=17,ms=0 ;如果讀不到工序時間表的記錄,那么回到本步驟8)開始處循環,直到讀到記錄,XX=(n_nl) *1440+ (hs2_hsl) *60+ (ms2_msl),yy= (n_nl) *1440+ (hs-hsl) *60+ (ms-msl) +210 ;9)如果tysc>210且tysc〈=xx,那么ksrq的小時數為hs2,分鐘數為ms2 ;如果tysc>xx 且 tysc〈=yy,那么非作業時長 zysc=zysc_((n_nl)*1440+ (hs2_hw)*60+(ms2_mw)) ;ksrq 的小時數為 hs2 +int ((ms2 + zysc ) /60),分鐘數為 mod((ms2 +zysc),60);如果tysc>yy,那么設置 hsl=hs, msl=ms, hw=hs2, mw=ms2,回到本步驟 9)開始處循環,直到tysc>xx不成立;10)判斷部件進度表記錄工序有沒有下道工序,如果部件進度表本條記錄的工序有下道工序,設置它的開始時間為ksrq,同時設置本條記錄的下道工序的有效性字段為1,同時讀取本條記錄的下道工序的工序號、工序名稱,寫入本條記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向;11)如果部件進度表本條記錄的工序沒有下道工序,則到產品明細表中查找產品代號、部件代號、所屬產品、所屬部件均對應的記錄的單臺數記為I jsl,說明子部件與父部件的關系為Ijsl條子部件對應I條父部件;讀取工序號為1,序號為O的同批次號的父部件的所有子部件,其記錄數記作XXI,再讀取工序號為1,序號為O的同批次號的父部件,其記錄數記作XX2,兩者相除的結果記作XX3,表明父部件被查找xx3次其有效性就可以改為1,這樣就建立了對于多個父部件對應多個子部件的多對多關系的對應的唯一性;12)如果該部件的工序號為I的父部件的記錄的開始時間不為空,那么記作ksrql,取ksrq與ksrql的最大值為ksrq,那么該部件的父部件的工序號為I的記錄的開始時間設置為ksrq ;同時讀取其父部件的工序號和工序名稱,寫入該子部件記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向;13)如果父部件的子部件對應了 xx3次父部件,則將該父部件的有效性改為I ;14)循環處理每條記錄,循環結束后按同樣的方法處理最后一條記錄;15)將部件進度表不設置條件過濾,如果轉向工序號為1,說明轉向父部件,轉向工序號不為1,說明轉向下道工序;依此方法依次查找每條記錄轉向工序號、轉向工序名對應的順序號,填入記錄的轉向順序號字段。(6)根據產品配套時間、缺件補齊時間、實際完成時間、作業異常推遲時間、優先級五種因素,運用條件符合時參與排序、把表示工件的部件進度表的開始時間與表示工位的工序時間表的起始時間作比較取最有利時間的方法、間斷時間相加的方法、連續時間相加的方法、多對多關系的對應方法四種方法,生成部件進度表開始時間、結束時間、順序號、轉向工序號、轉向工序名、轉向順序的步驟如下I)部件進度表按工序號為I且有效性為O條件過濾,確定部件進度表對應記錄的有效性為I且初定部件進度表有效性為I的記錄的開始時間,方法如下測試部件進度表記錄數,記作g_rownumber,如果g_rownumber=0,表示部件進度表沒有可操作的記錄,程序結束;如果g_rownumber>0,表示部件進度表有可操作的記錄,讀取部件進度表第一條記錄的產品代號記作變量cpdh、部件代號記作Ijdh ;查找部件進度表中所屬產品等于cpdh,所屬部件等于ljdh,有效性為O的記錄,如果查到,說明有子部件,跳出本節內容;如果查不到,表示沒有子部件,將部件進度表有效性設置為1,設置部件進度表中該記錄的開始時間的日期為今天today O后I天,時間為8點;依次讀取部件進度表的下一條記錄的產品代號記作變量cpdh、部件代號記作
            ljdh,重復上述內容;......經過g_rownumber次循環,取值、過濾、判斷,就確定了部件進度
            表中每條記錄的有效性是否為I,并初步確定有效性字段為I的記錄的開始時間;2)初定缺件補齊時間表對應部件進度表中的記錄的初始時間,方法如下測試缺件補齊時間表的記錄數為g_rownumber,如果g_rownumber>0,表示缺件補齊時間表有記錄;以g_rownumber為循環次數作循環,讀取缺件補齊時間表中的第一條記錄的補齊日期、產品代號、部件代號,在產品明細表中查找父部件,讀取父部件的所屬產品、所屬部件、工序名稱字段數據,將作為條件,查找部件進度表中的對應記錄,讀取部件進度表對應記錄的開始時間;如果缺件補齊時間表中的補齊日期的第二天與時間08 00合成,生成的日期時間大于部件進度表對應記錄的開始時間,那么將該缺件補齊時間表中的補齊日期的第二天與時間08 00合成生成的日期時間設置給該缺件所屬部件在部件進度表中對應記錄的開始時間;3)工序時間表按有效性為O的過濾條件進行過濾,部件進度表按有效性I的過濾條件進行過濾;測試部件進度表的記錄數記作g_rownumber,測試工序時間表的記錄數記作g_rownumberl ;如果都大于O,那么讀取部件進度表的第一條記錄;用DO·· LOOP WHILEcondition循環語句做以下步驟4)、5)、6)、7)、8)的處理;4)運用條件符合時參與排序、把表示工件的部件進度表的開始時間與表示工位的工序時間表的起始時間作比較取最有利時間的方法,確定有效性為I的部件進度表記錄的開始時間datetime ksrq和順序號的方法如下部件進度表按開始時間、優先級、工序名稱、批次號、所屬產品、所屬部件、產品代號、部件代號、列號、序號字段升序排序;工序時間表按次序號、起始時間、工序名稱、順序號字段升序排序;確定有效性為I的部件進度表記錄的開始時間datetime ksrq和順序號的方法如下讀取部件進度表第一條記錄的工序名稱賦值給變量gxmc、開始時間賦值給ksrq ;計算ksrq為今天today O后的第幾天,值賦給η,根據ksrq的小時數變量hk判斷作業時間段;如果hk>=8且hk〈12,那么是上午班,m=l,hs=8,ms=0 ;如果hk>=12且hk〈=16,那么是下午班,m=2, hs=12, ms=30 ;hk>=17 且 hk〈=20,那么是晚班,m=3, hs=17, ms=0 ;按n-m格式合成次序號,工序時間表按工序名稱為gxmc、有效性為O、次序號為(n-m)過濾條件進行過濾,測試工序時間表的記錄數li_row ;如果記錄數li_row大于O,讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的第一條記錄的順序號賦值給變量11,起始時間給變量qsrq,取qsrq和ksrq最大值賦給ksrq,設置部件進度表本條記錄的開始時間為ksrq,次序號為(n-m),順序號為yy ;如果測試工序時間表的記錄數li_row不大于O,那么m=m+l ;如果m=4,那么m=l,n=n+l,回到本步驟4)開始處循環,直到記錄數大于O,即找到空余時間段;5)根據部件進度表開始時間和作業時長,用間斷時間相加的方法確定結束時間datetime wcrq的方法如下讀取部件進度表的作業時長為zysc ; 設部件進度表第一條記錄的結束時間wcrq的分鐘記作變量int mw,小時記作變量int hw,其結束時間與上班時間的時長記作變量tysc,那么tysc= (hk_hs) *60+(mk-ms)+zysc,設置mw = mk + zysc ;半天的工作時間 3· 5 小時為 210 分鐘; 如果tysc〈210且mw〈60,那么結束時間wcrq的分鐘數為mw = mk + zysc,小時數為hw=hk,設置其有效性為2,設置其完成時間為wcrq,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的起始時間wcrq ;如果tysc〈210且mw>=60,那么結束時間wcrq的小時數為hw= hk +int ((mk +zysc ) /60),分鐘數為mw=mod ((mk + zysc),60),設置該記錄的有效性為2,設置該記錄的完成時間為wcrq,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n_m,順序號為yy的記錄的起始時間wcrq ;如果tysc=210,那么結束時間 wcrq 的小時數為 hw= hk +int ((mk + zysc ) /60),分鐘數為mw=mod((mk + zysc),60),設置該記錄的有效性為2,設置該記錄的完成時間為wcrq,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n_m,順序號為yy的記錄的有效性為I ;如果tysc>210,那么作以下處理6)設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的該記錄的有效性為1,同時需將部件進度表對應記錄拆分成兩部分記錄;部件進度表對應記錄拆分成的第一部分記錄的開始時間為原開始時間不變,hsl、ms I分別表示下班時間的小時數和分鐘數;如果m=l,那么hsl=ll, msl=30 ;如果m=2,那么hsl=16,msl=00 ;如果m=3,那么hsl=20,msl=30 ;部件進度表對應記錄拆分成的第一部分記錄的結束時間的日期設置為今天todayO后η天,時間的小時為hsl,時間的分鐘為msl ;部件進度表對應記錄拆分成的第一部分記錄的有效性為2 ;部件進度表該記錄第一部分記錄的作業時長為(hsl-hk)*60+(msl _ mk),部件進度表該記錄第一部分記錄的時長為0.00,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的有效性為 I, zysc=zysc_(hsl-hk)氺60-(ms1-mk);m=m+l,如果m=4,那么m=l, n=n+l,工序時間表按工序名稱為gxmc、有效性為O、次序號為(n-m)過濾條件進行過濾;測試工序時間表的記錄數li_row,如果記錄數li_row大于0,插入新的記錄行做為部件進度表對應記錄第二部分記錄,批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、優先級、列號、非作業時長與原記錄保持不變,其有效性值為2,作業時長為zysc ;讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的第一條記錄的順序號賦值給變量yy,起始時間給變量qsrq,將qsrq設置給部件進度表的開始時間,設置其次序號為(n-m),順序號為yy ;如果工序時間表記錄數li.row不大于0,那么回到本步驟6)開始處循環,直到記錄數大于0,即找到空余時間段;確定第二部分結束時間datetime wcrq,設其結束時間wcrq的分鐘記作變量intmw,小時記作變量int hw,其結束時間與上班時間的時長記作變量tysc,設qsrq的分鐘數為 mk,小時數為 hk,那么七5^。=(111^-118)*60+(1111^-1118)+25^(3,設置11 ¥ = mk + zysc ;半天的工作時間3. 5小時為210分鐘;如果tysc〈210且mw〈60,那么其結束時間wcrq的分鐘數為mw = mk + zysc,小時數為hw=hk,設置其結束時間為wcrq,設置其有效性為2 ;設置其序號為1,如果第二部分再拆分,則第三部件序號為2,依次類推;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的起始時間wcrq ;如果tysc〈210且mw>=60,那么部件進度表記錄的結束時間wcrq的小時數為hw= hk +int ((mk + zysc ) /60),分鐘數為 mw=mod((mk + zysc), 60);設置其結束時間為wcrq,設置其有效性為2,設置其序號為1,如果第二部分再拆分,則第三部件序號為2,依次類推;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的起始時間wcrq ;如果tysc=210,那么其結束時間wcrq的分鐘數為hw= hk +int ((mk + zysc)/60) ’小時數為mw=mod((mk + zysc),60),設置該記錄的有效性為2,設置該記錄的完成時間為wcrq,設置其序號為1,如果第二部分再拆分,則第三部件序號為2,依次類推;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的有效性為I ;如果tysc>210,回到步驟6)即本步驟開始處循環,直至tysc>=210不成立;這樣就設置部件進度表記錄的結束時間wcrq、有效性2 ;確定了新插入記錄的次序號、順序號、序號等字段;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m、順序號為yy的記錄的起始時間wcrq或有效性I ;7)由部件進度表非作業時長zysc與結束時間wcrq,用連續時間相加的方法確定部件進度表下道工序或父部件第一道裝配工序的開始時間的方法如下賦值wcrq的分鐘記為mw ;小時數記為hw,非作業時長記為zysc ;設置記錄的本班次上班時間,如果m=l,那么hs 1=8,ms 1=0 ;如果m=2,那么hsl=12,msl=30 ;如果 m=3,那么 hsl=17, msl=0,設置 nl=n ;如果設置部件進度表下道工序或父部件第一道裝配工序的開始時間為ksrq,ksrq與當班次上班時間的時長為tysc,那么tysc=(hw-hsl)*60+(mw-msl)+zysc,如果tysc〈=210 且(mw + zysc)〈60,那么 ksrq 的分鐘數為 mw+zysc,小時數為 hw ;如果tysc〈=210 且(mw+ zysc) >=60,那么 ksrq 的小時數為 hw +int ((mw + zysc)/60),分鐘數為 mw=mod ((mw + zysc), 60);m=m+l,讀取記錄的下班次數據;如果m=4,那么m=l, n=n+l,讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的記錄;如果讀到記錄,設工序時間表的起始時間為的小時數和分鐘數分別為hs2和ms2 ;記錄下班次的上班時間的小時數和分鐘數分別為hs和 ms ;如果 m=l,賦值 hs=8,ms=0 ;如果 m=2,賦值 hs=12,ms=30 ;如果 m=3,賦值 hs=17,ms=0 ;如果讀不到工序時間表的記錄,那么回到本節開始處循環,至到讀到記錄,XX= (n-nl)*1440+ (hs2_hsl) *60+ (ms2_msl),yy= (n-nl) *1440+ (hs-hsl) *60+ (ms-msl) +210 ;如果tysc>210且tysc〈=xx,那么ksrq的小時數為hs2,分鐘數為ms2 ;如果tysc>xx 且 tysc<=yy,那么非作業時長 zysc=zysc- ((n-nl) *1440+ (hs2_hw) *60+ (ms2_mw)) ;ksrq 的小時數為 hs2 +int ((ms2 + zysc ) /60),分鐘數為 mod((ms2 + zysc), 60);如果tysc>yy,那么設置hsl=hs, msl=ms, hw=hs2, mw=ms2,回到本步驟7)開始處循環,直到tysc>xx不成立;8)運用多對多關系的對應等方法找出部件進度表下道工序或父部件第一道裝配工序,將開始時間和有效性賦值判斷部件進度表記錄工序有沒有下道工序,如果部件進度表本條記錄的工序有下道工序,設置它的開始時間為ksrq,同時設置本條記錄的下道工序的有效性字段為1,同時讀取本條記錄的下道工序的工序號、工序名稱,寫入本條記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向;
            如果部件進度表本條記錄的工序沒有下道工序,則到產品明細表中查找產品代號、部件代號、所屬產品、所屬部件均對應的記錄的單臺數記為I jsl,說明子部件與父部件的關系為Ijsl條子部件對應I條父部件;讀取工序號為1,序號為O的同批次號的父部件的所有子部件,其記錄數記作xxl,再讀取工序號為1,序號為O的同批次號的父部件,其記錄數記作xx2,兩者相除的結果記作xx3,表明父部件被查找xx3次其有效性就可以改為1,這樣就建立了對于多個父部件對應多個子部件的多對多關系的對應的唯一性;如果該部件的工序號為I的父部件的記錄的開始時間不為空,那么記作ksrql,取ksrq與ksrql的最大值為ksrq,那么該部件的父部件的工序號為I的記錄的開始時間設置為ksrq,同時讀取其父部件的工序號和工序名稱,寫入該子部件記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向;如果父部件的子部件對應了 xx3次父部件,則將該父部件的有效性改為I ;9)用DO…LOOP WHILE condition 循環語句,進行步驟4)、5)、6)、7)、8);按這種方法一直下去,當部件進度表正在確定的所有部件均沒有父部件,且其對應的所有裝配工序的開始時間和結束時間都確定后,即部件進度表的開始時間、結束時間、順序號都生成后,或者工序時間表的所有記錄的有效性都為I后,循環結束;10)將部件進度表不設置條件過濾,如果轉向工序號為1,說明轉向父部件,轉向工序號不為1,說明轉向下道工序,依此規則依次查找每條記錄轉向工序號、轉向工序名對應的順序號,填入記錄的轉向順序號字段。四、顯示最佳路徑以甘特圖方式顯示(I)注釋I)顯示最佳路徑的甘特圖表包含天數、班次、順序號和S10、S20、S30、S40、S50、S60、S70、S80、S90、S100、S110、S120、S130、S140、S150、S160、S170、S180、S190、S200、S210共21個表示每十分鐘間隔的時間段的字段;2)設置顯示最佳路徑的甘特圖表單元格字體的背景色為空值為rgb( 255,O,O),非空值為 rgb( O, 255,O);3)選擇顯示最佳路徑的甘特圖表顯示的截止日期,考慮顯示的甘特圖表的清晰度要求,最佳路徑的甘特圖表顯示的時間間隔選擇十分鐘,上午班、下午班、晚班的作業時長均按210分鐘計算;4)顯示最佳路徑的甘特圖表按工序單元的工序名稱分成鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八個;部件進度表分別按八個工序單元的工序名稱字段過濾,分別得到甘特圖表菜單的八個子菜單,表示八個工序單元的甘特圖表;(2)以電裝工序單元為例,由部件進度表顯示最佳路徑的甘特圖表的步驟如下I)部件進度表按次序號、順序號、開始時間、批次號、所屬產品、所屬部件、產品代號、部件代號、列號、序號字段升序排序;2)部件進度表按工序名稱字段過濾條件進行過濾;3)測試部件進度表的記錄數,如果等于0,表示部件進度表按上述條件過濾后沒有記錄,退出本步驟; 4)如果部件進度表的記錄數大于0,設置循環語句依次讀取從部件進度表的每一條記錄;5)讀取部件進度表的第一條記錄的次序號,用函數找出在次序表中按從左到右的位置,記作I」[5];取次序號從左第I個到第(I」[5]-I)個字符串,轉換成Integer類型值,賦值給甘特圖表的天數字段,從第(I」[5] +1)個到最左邊字符串,轉換成Integer類型值,賦值給甘特圖表班次字段;設班次字段用變量m表示;則111的值為1、2或3 ;如果m=l,那么 hsl=8, ms 1=0 ;如果 m=2,那么 hsl=12, msl=30 ;m=3,那么 hsl=17, ms 1=0 ;讀取部件進度表第一條記錄的順序號賦值給甘特圖表的順序號字段;讀取部件進度表的第一條記錄的開始時間賦給變量ksrq,結束時間賦值給變量wcrq ;讀取部件進度表的第一條記錄的產品代號賦值給變量cpdh,部件代號賦值給變量Ijdh ;判斷部件進度表記錄的時間在甘特圖表半天21個時間段的哪一段,過程是如果不等式(hour(ksrq)-hsl) *60+(Minute (ksrq)-msl)〈10,同時(hour (wcrq)-hsl) *60+(Minute (wcrq)-msl) >0則查找甘特圖表本條記錄SlO字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給SlO字段;如果不等式(hour(ksrq)-hsl) *60+(Minute (ksrq)-msl)〈20,同時(hour (wcrq)-hsl) *60+(Minute (wcrq)-msl) >10則查找甘特圖表本條記錄S20字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S20字段;如果不等式(hour(ksrq)-hsl) *60+(Minute (ksrq)-msl)〈30,同時(hour (wcrq)-hsl) *60+ (Minute (wcrq) -msl) >20則查找甘特圖表本條記錄S30字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S30字段;……用同樣的方法一直到判斷部件進度表記錄的時間是否在甘特圖表半天第21個時間段;如果不等式(hour (ksrq)-hsl) *60+(Minute (ksrq)-msl)〈210,同時(hour(wcrq)-hsl) *60+ (Minute (wcrq) -msl) >200則查找甘特圖表本條記錄S210字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S210字段;6)讀取部件進度表的第二條記錄的次序號賦值給字符型變量zcc,用函數找出 在ZCC中按從左到右的位置,記作I」;取ZCC從左第I個到第(I」[5]-1)個字符串,
            轉換成Integer類型值賦值給數值型變量η ;從第(l_i [5] +1)個到最左邊字符串,轉換成Integer類型值賦值給數值型變量m,讀取部件進度表第二條記錄的順序號設置給數值型變量I」;查找甘特圖表中天數等于n,班次等于m,順序號等于I」的記錄,如果查找到,表明甘特圖表有符合條件的記錄,記作li_row ;如果查不到,表明甘特圖表沒有符合條件的記錄,在甘特圖表插入新的記錄,記錄號為li_row,插入的甘特圖表的新記錄的天數字段賦值為n,班次字段賦值為m,順序號字段賦值為I」;m 的值為 1、2 或 3 ;如果 m=l,那么 hsl=8, ms 1=0 ;如果 m=2,那么 hsl=12, msl=30 ;m=3,那么 hsl=17, ms 1=0 ;讀取部件進度表的第二條記錄的開始時間賦給變量ksrq,結束時間賦值給變量wcrq ;讀取部件進度表的第二條記錄的產品代號賦值給變量cpdh,部件代號賦值給變量Ijdh ;
            判斷部件進度表記錄的時間在甘特圖表半天21個時間段的哪一段,過程是如果不等式(hour(ksrq)-hsl) *60+(Minute (ksrq)-msl)〈10,同時(hour(wcrq)-hsl) *60+(Minute (wcrq)-msl) >0則查找甘特圖表本條記錄SlO字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給SlO字段;如果不等式(hour(ksrq)-hsl) *60+(Minute (ksrq)-msl)〈20,同時(hour (wcrq)-hsl) *60+(Minute (wcrq)-msl) >10則查找甘特圖表本條記錄S20字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S20字段;如果不等式(hour(ksrq)-hsl) *60+(Minute (ksrq)-msl)〈30,同時(hour (wcrq)-hsl) *60+ (Minute (wcrq) -msl) >20則查找甘特圖表本條記錄S30字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S30字段;……用同樣的方法一直到判斷部件進度表記錄的時間是否在甘特圖表半天第21個時間段;如果不等式(hour (ksrq)-hsl) *60+(Minute (ksrq)-msl)〈210,同時(hour(wcrq)-hsl) *60+ (Minute (wcrq) -msl) >200則查找甘特圖表本條記錄S210字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S210字段;7)依次讀取部件進度表的第三條到最后一條記錄,用步驟6)的方法完成甘特圖表數據的賦值;五、作業進程返饋過程如下( I)注釋I)作業情況表包括序號、產品代號、部件代號、部件名稱、批次號、工序號、工序名稱、開始時間、結束時間、作業人員、作業時長、備注等字段;作業情況表在作業人員勾選時程序自動將不同時間獲取的信息為相應字段賦值;2)異常反饋表包含序號、產品代號、部件代號、部件名稱、批次號、工序號、工序名稱、異常現象、異常類別、解決措施、原因分析、填報人員、解決人員、填報日期、預完日期和備注字段;異常反饋表由技術人員填報;3)作業指導書包含產品代號、部件代號、部件名稱、工序號、工序名稱、作業號、作業內容、設備、工裝、輔助材料和備注字段;作業指導書由技術人員填報;(2)用todayO和time O可以獲取本機當時的日期和當時的時間;為了防止作業人員本人通過修改本機時間達到修改作業時長的目的,程序采用自動讀取服務器時間做為系統時間的方法,增加開始時間、結束時間等時間數據的客觀性;自動獲取作業時間的具體步驟如下I)為讀取服務器時間設置一個游標declare get_date cursor for selectgetdate ();2)打開游標open get_date;3)設置給變量 tt_d :fetch get_date into : tt_d ;4)關閉游標close get_date;(3)作業“開工勾選”的步驟是I)當作業人員開始作業時,在顯饋終端的一體機上,用本人設置的密碼登錄,顯示甘特圖窗口; 2)在甘特圖窗口,雙擊甘特圖表,在上方部件進度表經過過濾的相關記錄的記錄行雙擊進行“開工勾選”;3)程序自動獲取勾選時服務器的時間,設置給部件進度表對應記錄的開始時間字段;設置部件進度表該記錄的有效性字段的值為3 ;4)同時作業情況表插入一條記錄,將作業情況表插入的記錄的批次號、產品代號、部件代號、部件名稱、工序號、工序名稱、開始時間、作業人員字段賦值;(4)作業完成后,作業人員需進行作業“完工勾選”;作業“完成勾選”的步驟是I)當作業人員完成作業后,在顯饋終端一體機上在用本人設置的密碼登錄的作業指導書窗口,單擊“完工勾選”按鈕進行“完工勾選”,作業指導書窗口退出;2)進行作業“完工勾選”時,讀取服務器時間設置給部件進度表對應記錄的結束時間;填報實際作業時長設置給部件進度表的作業時長字段;3)設置部件進度表中該記錄的有效性字段的值為5 ;4)根據產品代號、部件代號、批次號、工序號、作業人員信息查找對應記錄、找到后,將獲取的服務器時間賦值給結束時間;5)如果作業沒有完成,不需要進行“完工勾選”,想退出作業指導書窗口,單擊“退出”按鈕;(5)作業發生異常時,作業人員需進行作業“異常反饋”;作業“異常反饋”的步驟是I)對已作“開工勾選”的作業對象,在作業過程中,單擊作業指導書窗口“異常反饋”按鈕;2)當作業發生異常時單擊“異常反饋”按鈕,進入“異常反饋”窗口 ;3)部件進度表中該記錄的有效性為4 ;作業人員填報作業發生的異常現象;同時填寫因異常導致的作業時長延長的時間;4)技術人員到現場解決異常后,填寫異常原因和解決措施;5)部件進度表數據刷新時,按新的作業時長調整數據;實施例一、圖I是智能作業控制方法結構圖;產品結構樹的構建方法在編制生產計劃、部件流程等過程中涉及;根據生產計劃、裝配流程、各工序單元工位安排等數據進行具有從屬關系的產品的生產能力的計算,根據生產能力計算過程中工位數安排的近似值安排各工序單元工位數;錄入或導入產品明細表、裝配流程表、生產計劃表、缺件補齊時間表數據;調整產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數;根據產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十一種因素,運用本方法自動完成部件進度的計算;根據部件進度生成甘特圖,用甘特圖部件進度;二、在圖2智能作業控制方法硬件配置圖所示的配置,組建局域網;一臺服務器放在專門機房的機架上,通過一臺48端口交換機和網線與客戶端相連;客戶端設計7臺采集 終端、I臺控制終端、38臺顯饋終端;7臺米集終端和I臺控制終端米用普通臺式機,38臺顯饋終端采用一體機。服務器和交換機一同放在中心機房的機架上;服務器存放客戶端數據,交換機將服務器和采集終端、控制終端、顯饋終端連接;采集終端采集產品明細表、裝配流程表、作業指導書等技術數據和生產計劃表、缺件補齊時間表、加班表等管理數據;控制終端用于通過密碼類型控制各工序單元工位安排和生產計劃表中產品的優先級;顯饋終端顯示甘特圖、作業指導書和進行作業“開工勾選”、“完工勾選”和“異常反饋”。在圖2智能作業控制方法硬件配置圖控制終端臺式機上通過修改生產計劃表的優先級字段的數值大小改變產品優先級,通過生產能力計算結果來改變各工序單元工位數的安排,通過改變密碼表的密碼類型來同步改變工位顯饋終端顯示的信息。在圖2智能作業控制方法硬件配置圖采集終端臺式機,管理人員錄入和查詢加班表、生產計劃表、缺件補齊時間表;技術人員導入產品明細表、裝配流程表和作業指導書等技術數據。在圖2智能作業控制方法硬件配置圖顯饋終端的一體機顯示最佳路徑甘特圖;顯示最佳路徑甘特圖界面分兩部分,下部分為最佳路徑甘特圖,它用21個字段表示間隔10分鐘,時長半天210分鐘的甘特圖表,表示有作業的空間的背景色設置與表示沒有作業的空間的背景色不同;上部分是部件進度表;通過雙擊甘特圖表中記錄的任意一行,部件進度表得到符合條件的相關記錄。在圖2智能作業控制方法終端圖上的顯饋終端的一體機上,正常作業需要進行作業“開工勾選”和作業“完工勾選”;退出時程序自動填報作業情況表,并修改反饋部件進度表的開始時間等信息;同時調用數字裝配工藝;發生異常作業時填報異常情況反饋表,同時修改部件進度表中的完成時間和作業時長信息。在圖2智能作業控制方法終端圖上的顯饋終端的一體機上,顯示作業內容。
            權利要求
            1.一種離散型企業智能作業控制方法,其特征在于對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組構建產品結構樹;按相似性分成八個生產單元,每個單元又安排可控制數量的工位,半天按210分鐘,計算生產能力初定各工序單元工位數;在考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種因素,控制具有從屬關系產品的每一個部件在每一個工位上裝配的最佳時間點,自動尋找部件裝配的最佳路徑;該最佳路徑以甘特圖方式實時顯示控制現場作業;作業開工勾選調用作業指導書進行作業和作業進程返饋,從而實現離散型企業智能的作業控制。
            2.根據權利要求I所述的離散型企業智能作業控制方法,其特征在于對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組構建產品結構樹的過程如下 1)將產品明細表按產品代號cpdh、部件代號ljdh、所屬產品zee、所屬部件zcb字段升序排序; 2)測試產品明細表的記錄數,記作變量li_row; 3)判斷產品明細表有沒有記錄,如果li_row=0,表示產品明細表沒有記錄,退出本步驟,如果li_row>0,表示產品明細表有記錄;讀取第一條記錄的產品代號cpdh,部件代號ljdh,所屬產品zee,所屬部件zcb,樹形視圖列表項子項顯示文本賦值; 4)設置變量內層循環層數int i,數組 string zee[20], zcb[20], li_row[20]; 5)將產品明細表按zee,zcb字段過濾,得到所有子部件; 6)賦值i=l,測試所有子部件的記錄數,記作li_row[i]; 7)判斷子部件有沒有記錄,如果li_row[i]=0,表示沒有子部件,那么添加樹形視圖列表項,此列表項前沒有子項不加“ + ”號;恢復父項過濾條件,光標指向其下一條記錄,讀取下一條記錄部件的產品代號cpdh,部件代號ljdh,所屬產品zee,所屬部件zcb,樹形視圖列表項顯示文本賦值;重復步驟5)、6)、7); 如果li_row[i]>0,表示第一條記錄部件有子部件,那么添加樹形視圖列表項;此列表項前有子項加“ + ”號;讀取子部件的第一條記錄的產品代號cpdh,部件代號ljdh,所屬產品ZCC [i],所屬部件zcb [i],樹形視圖列表項子項顯示文本賦值; 8)將產品明細表按ZCC[i],ZCb[i]字段過濾,得到所有子部件; 9)測試所有子部件的記錄數,記作li_row[i+l]; 10)判斷所有子部件有沒有記錄,如果li_row[i+l]=0,表示其沒有子部件,那么添加樹形視圖列表項;此列表項前沒有子項不加“ + ”號;恢復父項過濾條件,光標指向其下一條記錄,讀取下一條記錄的產品代號cpdh,部件代號ljdh,所屬產品zee [i],所屬部件zcb [i];樹形視圖列表項顯示文本賦值,重復步驟8)、9)、10); 如果li_row[i+l]>0,表示有子部件,那么添加樹形視圖列表項;此列表項前有子項加“ + ”號;賦值i=i+l ;讀取其子部件的第一條記錄的產品代號cpdh,部件代號I jdh,所屬產品ZCC [i],所屬部件zcb [i],樹形視圖列表項子項顯示文本賦值; 11)重復步驟8)、9)、10); 12)當光標指向i級子部件的結尾時,回到父項,設置i=i- I ;判斷光標回到是父項的從第I條到第li_row[i]條記錄之間的一條記錄還是父項的結尾記錄;如果是回到父項從第I條到第li_row[i]條記錄之間的一條記錄時,則恢復父項的過濾條件,進行下一條記錄的測試和判斷;如果是回到父項的結尾記錄,則進入上一層循環,再次設置i=i - I ; 13)直到i=l,用這種方法就構建了產品目錄樹。
            3.根據權利要求I所述的離散型企業智能作業控制方法,其特征在于計算生產能力初定各工序單元工位數對不固定子部件級數的產品采用不固定嵌套循環層數和數組的方法尋找到產品所有的裝配部件,根據產品所有的裝配部件的作業時長計算產品的生產能力;確定各工序單元工位數量的過程如下 1)選擇需要計算生產能力的截止時間,過濾這段時間內生產計劃表的產品計劃,測試過濾后生產計劃表有沒有記錄,如果沒有記錄,計算結束;如果有記錄,記錄數記作ii_row,進行生產能力計算,生成生產能力計算表; 2)生產計劃表按產品代號、部件代號、批次號字段升序排序;將產品的裝配工序按相似性進行分類,定義各工序單元的工序名稱,本發明中根據產品裝配工藝相似性的特點,將裝配工序定義為鉗裝、裝擦、電裝、電調、總校、聯調、裝箱、裝外八個工序單元; 3)依次讀入已過濾的生產計劃表的不同的產品代號,作為生產能力計算表的各記錄項,記錄讀完后,增加計劃工時、達額工時、能力工時、各工序單元工位數四個記錄匯總項; 4)設置表示循環層數變量int i,數組 string zee[20] ,zcb[20], long lii_row[20];讀取生產計劃表第一條記錄的產品代號、部件代號、計劃數量Ijsll ; 5)查找對應于裝配流程表各工序單元的作業時長,如果讀不到數據或讀的數據為空,那么作業時長值為0,將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據與生產能力計算表對應生產計劃表中產品代號的原數據相加,將結果設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;如果生產能力計算表中對應生產計劃表中產品代號的原數據為空,則將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段; 6)將產品明細表按產品代號、部件代號字段過濾,得到所有子部件; 7)賦值i=l,測試子部件的記錄數,記作lii_row[i]; 8)判斷有沒有子部件,如果lii_row[i]=0,表示沒有子部件,那么生產計劃表中的光標指向下一條記錄,讀取下一條記錄的產品代號、部件代號、計劃數量I jsll,重復步驟5)、6)、7)、8); 如果lii_row[i]>0,表示有子部件,讀取其子部件的第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量(Ijsl),ljsll=ljsll*ljsl ; 9)以產品代號、部件代號為條件查找裝配流程表對應部件各工序單元的作業時長,如果讀不到數據或讀的數據為空,那么作業時長值為0,將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據與生產能力計算表中對應生產計劃表中產品代號的原數據相加,將結果設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;如果生產能力計算表中對應生產計劃表中產品代號的原數據為空,則將計劃數量Ijsll與對應部件對應工序單元的作業時長相乘的數據設置給生產能力計算表中對應生產計劃表中產品代號的記錄的相應字段;10)將產品明細表按ZCC[i],zcb[i]字段過濾,得到所有子部件; 11)測試子部件的記錄數,記作lii_row[i+l]; 12)判斷有沒有子部件,如果lii_row[i+l]=0,表示沒有子部件,那么恢復父項過濾條件;光標指向下一條記錄,讀取下一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量(Ijsl) , ljsll=ljsll*ljsl ;重復步驟 9)、10)、11)、12); 如果lii_row[i+l]>0,表示有子部件;賦值i=i+l ;讀取子部件的第一條記錄的產品代號cpdh、部件代號I jdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量(Ijsl),ljsll=ljsll*ljsl ; 13)重復步驟9)、10)、11)、12); 14)當光標指向i級子部件級的結尾時,回到父項,設置i=i- I ;判斷光標是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄還是父項的結尾記錄;如果是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄,則恢復父項的過濾條件,進行下一條記錄的測試和判斷;如果是回到父項的結尾記錄,則進入上一層循環,再次設置i=i - 1,直到 i=l ; 15)將生產能力計算表中計算得到的各條產品記錄中的各個工序單元橫向匯總求和,設置給該記錄的產品工時字段; 16)將生產能力計算表中計算得到的各條產品記錄中的各個工序單元及產品工時進行縱向匯總求和,得到的數據設置給計劃工時記錄相對應的各字段; 17)將生產能力計算表中計劃工時各工序單元的數值除以作業天數,再除以每天作業的分鐘數,就到得生產能力計算表中工位數量安排的近似值; 18)將生產能力計算表中各工序單元的計劃工時和產品工時與達額率相乘,得到的數據設置給達額工時記錄相對應的各字段; 19)將工作時長與各工序單元工位數相乘得到能力工時,得到的數據設置給達額工時記錄相對應的各字段。
            4.根據權利要求I所述的離散型企業智能作業控制方法,其特征在于考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種因素的表,尋找控制具有從屬關系產品的每一個部件在每一個工位上裝配的最佳時間點,自動尋找具有不固定級數從屬關系的產品的部件裝配最佳路徑,過程如下 (I)由加班表和工序單元工位表運用顯示區間天數的確定,周末的判斷,循環中日期和時間的表達等方法生成工序時間表,步驟如下 1)清除工序時間表原來的數據; 2)用戶輸入截止日期em_2,今天的第二天與截止日期之間的日期稱為顯示區間,記作變量XX ; 3)如果截止日期的年份等于今天todayO的年份,顯示區間的天數XX為截止日期的號數,減去今天todayO的號數,加上從今天today O的月份到截止日期月份的前一個月期間每個月最后一天的號數的累加和; 4)如果截止日期的年份等于今天todayO的年份加1,顯示區間的天數XX為截止日期的號數,減去今天today O的號數,加上從今天today O的月份到今天today O當年十二月期間每個月最后一天的號數,加上截止日期當年一月到截止日期月份前一個月期間每個月最后一天的號數的累加和; 5)如果截止日期的年份大于今天todayO的年份加1,顯示區間的天數XX為截止日期的號數,減去今天today O的號數,加上從今天today O的月份到今天today O當年十二月期間每個月最后一天的號數,加上截止日期當年一月到截止日期月份前一個月期間每個月最后一天的號數,加上從今天today O的次年一月到截止日期前一年十二月期間每個月最后一天的號數的累加和; 6)取每個月最后一天的方法為月份設為變量li_month,如果li_month=12,那么最后一天的號數為31 ;如果li_month〈12,那么下個月月份為本月加I,即li_month+l,每個月的最后一天就是下個月I號的前一天; 7)以顯示區間的天數為第一層循環的次數,以工序單元工位表的工序名稱字段為第二層循環的次數,以工序單元工位表的工位數字段為第三層循環次數進入循環,依次讀數、賦值、設置直至完成三層循環,工序時間表完成設置; 8)在步驟7)的循環中,依次讀數、賦值、設置直至完成三層循環的方法如下 讀取工序單元工位表中每條記錄的工序名稱,設置給工序時間表的工序名稱字段; 讀取工序單元工位表中每條記錄的工位數,設置給工序時間表的順序號字段; 工序時間表的次序號用兩位數n-m表示,η表示今天today O后第幾天數,η從I到χχ ;m表示時間段,用1、2、3表示;1表示上午班8:00-11:30,1表示下午班12 :30_16:00, 3表示晚班17:00-20:30 ;每班次上班時間分別為上午班時間08:00 ;下午班時間12:30 ;晚班時間 17:00 ; 工序時間表的起始時間為日期時間型數據,含日期和時間; 取今天today O后的第η天日期,判斷第η天是不是星期天或星期六;如果是,那么工序單元工位表中的工位數不參與循環; 工序時間表的有效性均設為O ; 讀取加班表中的記錄;將工序時間表按順序號字段降序排列;查找工序時間表中對應同時段并且同工序名稱的記錄的順序號;如果查找到,則插入新的相應記錄,記錄的順序號從查找到的順序號以后排;如果查找不到,則插入新的相應記錄,記錄的順序號從I開始排,直到循環結束; 9)工序時間表生成后,按工序名稱、起始時間、次序號字段升序,順序號字段降序排序。
            (2)保留部件進度表表示已開工的、異常的、完工的記錄,清除其他記錄,并綁定部件進度表的保留記錄與工序時間表對應的順序號,步驟如下 1)有效性O表示項目確定;有效性I表示開始時間確定;有效性2表示結束時間確定;有效性3表示已作開工“作業勾選” ;4表示已填報作業異常;有效性5表示已作完成“作業勾選”; 2)保留有效性為3,或有效性為4或有效性為5的記錄,清除部件進度表的其它數據; 3)整理保留的有效性為3、或4、或5的記錄,將部件進度表中按批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號字段升序排序,設置批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號相同的記錄序號從I開始重新設置;將部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號相同,列號不相同的記錄列號從I開始重新設置。
            (3)對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組的方法,根據產品從屬關系、產品裝配流程、生產計劃、正常上班時間各單元工位數和加班時間各單元工位數五種因素,生成部件進度表所有記錄項,生成所有記錄項時賦值批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、列號、序號、優先級、作業時長、非作業時長、有效性字段,步驟如下 1)生產計劃表按批次號、產品代號、部件代號、開始時間字段升序排序; 2)生產計劃表按完成情況不等于‘完成’條件進行過濾; 3)測試生產計劃表記錄數,記作li_row,如果li_row=0,退出本步驟;如果li_row>0,表示生產計劃表有記錄; 4)讀取生產計劃表第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、批次號cpph、數量ljsll、優先級yxji字段的數值; 5)以產品代號為cpdh、部件代號為Ijdh過濾條件對裝配流程表過濾,測試部件對應于裝配流程表的記錄數,記作g_rownumber ;如果g_rownumber=0,表示裝配流程表沒有記錄,轉到下一節的內容;如果g_rownumber>0,表示裝配流程表有記錄,以g_rownumber為二層循環次數,以Ijsll為三層循環次數;讀取裝配流程表第一條記錄的工序號gxh和工序名稱gxmc,在部件進度表中查找有沒有批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號都相同的記錄,如果有,記作χχ ;那么插入Ijsll條記錄,記錄的列號從χχ到(xx+1 jsll),記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品zccp、所屬部件zcbj、產品代號cpdh、部件代號Ijdh、部件名稱Ljmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;如果沒有,插入Ijsll條記錄,記錄的列號從I到ljsll、記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品zccp、所屬部件zcbj、產品代號cpdh、部件代號Ijdh、部件名稱Ljmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;然后光標指向裝配流程表下一條記錄……直到二層循環結束,這樣就將對應的所有工序的信息設置給部件進度表中的批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、列號、序號、優先級、有效性相應字段; 6)將產品明細表 按產品代號cpdh,部件代號Ijdh字段過濾,得到產品明細表中的所有子部件; 7)設置變量循環層數i,數組 string zee [20], zcb [20] ,long lii_row[20],賦值i=l ; 8)測試其記錄數,記作lii_row[i],判斷有沒有子部件如果lii_rOW[i]=0,表示沒有子部件,那么生產計劃表中的光標指向下一條記錄,讀取下一條記錄的產品代號cpdh、部件代號I jdh、部件名稱ljmc、批次號cpph、數量I jsll、優先級yxji、完成日期wcrq ;重復步驟5)、6)、7)、8); 如果lii_row[i]>0,表示有子部件,讀取子部件的第一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量Ijsl,賦值ljsll=ljsl*ljsll ; 9)以產品代號cpdh、部件代號Ijdh為過濾條件對裝配流程表過濾,測試裝配流程表記錄數,記作g_rownumber ;如果g_rownumber=0,表示裝配流程表沒有記錄,轉到下一節;如果g_rownumber>0,表示裝配流程表有記錄,表示裝配流程表有記錄,以g_rownumber為二層循環次數,以Ijsll為三層循環次數;讀取裝配流程表第一條記錄的工序號gxh和工序名稱gxmc,在部件進度表中查找有沒有批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號相同的記錄;如果有,記作XX,插入Ijsll條記錄,記錄的列號從XX到xx+ljsll,記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品、所屬部件、產品代號cpdh、部件代號I j dh、部件名稱I jmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yx j i、有效性字段賦值;如果沒有,插入Ijsll條記錄,記錄的列號從I到ljsll,記錄的序號和有效性的值為O,記錄的批次號cpph、所屬產品、所屬部件、產品代號cpdh、部件代號I jdh、部件名稱I jmc、工序號gxh、工序名稱gxmc、列號、序號、優先級yxji、有效性字段賦值;然后光標指向裝配流程表下一條記錄……直到二層循環結束;這樣就將對應的所有工序的信息設置給部件進度表中的批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、列號、優先級、有效性相應字段; 10)將產品明細表按zcc[i],zcb[i]字段過濾,得到所有子部件; 11)測試子部件的記錄數,記作lii_row[i+l]; 12)判斷有沒有子部件,如果lii_row[i+l]=0,表示沒有子部件,那么恢復父項過濾條件;光標指向下一條記錄;讀取下一條記錄的產品代號cpdh、部件代號ljdh、部件名稱ljmc、所屬產品zcc[i]、所屬部件zcb[i]、所屬數量Ijsl,賦值Ijsll=Ijsl*ljsll ;重復步驟9)、10)、11)、12);如果lii_row[i+l]>0,表示有子部件;賦值i=i+l ;讀取子部件每一條記錄的產品代號cpdh、部件代號I jdh、部件名稱ljmc,所屬產品zee [i],所屬部件zcb [i],所屬數量 ljsl,賦值 ljsll=ljsl*ljsll ; 13)重復步驟9)、10)、11)、12); 14)當光標指向i級的結尾時,回到父項,設置i=i- I ;判斷光標是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄還是父項的結尾記錄;如果是回到父項的從第I條到第li_row[i]條記錄之間的一條記錄,則恢復父項的過濾條件,進行下一條記錄的測試和判斷;如果是回到父項的結尾記錄,則進入上一層循環,再次設置i=i - 1,直至i=l ; 15)部件進度表按批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、列號字段升序排序,刪除批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、列號都相同的記錄中有效性為O的記錄。
            (4)運用一個子部件對應多個父部件,一個父部件對應多個子部件的多對多關系的對應方法,確定部件進度表保留記錄的轉向單元的工序號、轉向工序名、轉向順序的步驟如下 優先確定有效性為3、4或5的記錄的下道工序,由部件進度表有效性為3、4或5的記錄的非作業時長zysc與結束時間wcrq,用連續時間相加的方法確定部件進度表下道工序或父部件第一道裝配工序的開始時間的方法如下 1)測試部件進度表有效性為3、4或5的記錄數,如果記錄數為0,退出本步驟;如果記 錄數不為0,作以下處理; 2)將部件進度表中按批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號、序號字段升序排序,讀取部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號字段;如果讀取的部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號與上一條記錄相同,則跳過;如果讀取的部件進度表中批次號、所屬產品、所屬部件、產品代號、部件代號、工序號、列號不相同,則將上一條記錄作如下處理; 3)賦值wcrq的分鐘記為mw;小時數記為hw,非作業時長記為zysc ; 4)設置記錄的本班次上班時間,如果m=l,那么hsl=8,ms I =O ;如果m=2,那么hsl=12,msl=30 ;如果 m=3,那么 hsl=17, msl=0,設置 nl=n ; 5)如果設置部件進度表下道工序或父部件第一道裝配工序的開始時間為ksrq,ksrq與當班次上班時間的時長為tysc,那么tysc=(hw-hsl)*60+(mw-msl)+zysc ; 6)如果tysc〈=210且(mw+ zysc)〈60,那么ksrq的分鐘數為mw+zysc,小時數為hw ;7)如果tysc〈=210 且(mw+ zysc) >=60,那么 ksrq 的小時數為 hw +int ((mw + zysc)/60),分鐘數為 mw=mod ((mw + zysc), 60); 8)m=m+l,讀取記錄的下班次數據;如果m=4,那么m=l,n=n+l ;讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的記錄;如果讀到記錄,設工序時間表的起始時間為的小時數和分鐘數分別為hs2和ms2 ;記錄下班次的上班時間的小時數和分鐘數分別為hs和ms ;如果 m=l,賦值 hs=8, ms=0 ;如果 m=2,賦值 hs=12, ms=30 ;如果 m=3,賦值 hs=17,ms=0 ;如果讀不到工序時間表的記錄,那么回到本步驟8)開始處循環,直到讀到記錄,χχ= (n-nl)*1440+ (hs2_hsl) *60+ (ms2_msl),yy= (n-nl) *1440+ (hs-hsl) *60+ (ms-msl) +210 ; 9)如果tysc>210且tysc〈=xx,那么ksrq的小時數為hs2,分鐘數為ms2; 如果 tysc>xx 且 tysc<=yy,那么非作業時長 zysc=zysc- ((n-nl) *1440+ (hs2_hw) *60+ (ms2-mw)) ;ksrq 的小時數為 hs2 +int ((ms2 + zysc ) /60),分鐘數為 mod((ms2 +zysc),60); 如果tysc>yy,那么設置hsl=hs, msl=ms, hw=hs2, mw=ms2,回到本步驟9)開始處循環,直到tysc>xx不成立; 10)判斷部件進度表記錄工序有沒有下道工序,如果部件進度表本條記錄的工序有下道工序,設置它的開始時間為ksrq,同時設置本條記錄的下道工序的有效性字段為1,同時讀取本條記錄的下道工序的工序號、工序名稱,寫入本條記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向; 11)如果部件進度表本條記錄的工序沒有下道工序,則到產品明細表中查找產品代號、部件代號、所屬產品、所屬部件均對應的記錄的單臺數記為I jsl,說明子部件與父部件的關系為Ijsl條子部件對應I條父部件;讀取工序號為1,序號為O的同批次號的父部件的所有子部件,其記錄數記作xxl,再讀取工序號為1,序號為O的同批次號的父部件,其記錄數記作xx2,兩者相除的結果記作xx3,表明父部件被查找xx3次其有效性就可以改為1,這樣就建立了對于多個父部件對應多個子部件的多對多關系的對應的唯一性; 12)如果該部件的工序號為I的父部件的記錄的開始時間不為空,那么記作ksrql,取ksrq與ksrql的最大值為ksrq,那么該部件的父部件的工序號為I的記錄的開始時間設置為ksrq;同時讀取其父部件的工序號和工序名稱,寫入該子部件記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向; 13)如果父部件的子部件對應了xx3次父部件,則將該父部件的有效性改為I ; 14)循環處理每條記錄,循環結束后按同樣的方法處理最后一條記錄;15)將部件進度表不設置條件過濾,如果轉向工序號為1,說明轉向父部件,轉向工序號不為1,說明轉向下道工序;依此方法依次查找每條記錄轉向工序號、轉向工序名對應的順序號,填入記錄的轉向順序號字段。
            (5)根據產品配套時間、缺件補齊時間、實際完成時間、作業異常推遲時間、優先級五種因素,運用條件符合時參與排序、把表示工件的部件進度表的開始時間與表示工位的工序時間表的起始時間作比較取最有利時間的方法、間斷時間相加的方法、連續時間相加的方法、多對多關系的對應方法四種方法,生成部件進度表開始時間、結束時間、順序號、轉向工序號、轉向工序名、轉向順序號的步驟如下 1)部件進度表按工序號為I且有效性為O條件過濾,確定部件進度表對應記錄的有效 性為I且初定部件進度表有效性為I的記錄的開始時間,方法如下 測試部件進度表記錄數,記作g_rownumber,如果g_rownumber=0,表示部件進度表沒有可操作的記錄,程序結束;如果g_rownumber>0,表示部件進度表有可操作的記錄,讀取部件進度表第一條記錄的產品代號記作變量cpdh、部件代號記作Ijdh ; 查找部件進度表中所屬產品等于cpdh,所屬部件等于I jdh,有效性為O的記錄,如果查至IJ,說明有子部件,跳出本節內容;如果查不到,表示沒有子部件,將部件進度表有效性設置為1,設置部件進度表中該記錄的開始時間的日期為今天todayO后I天,時間為8點; 依次讀取部件進度表的下一條記錄的產品代號記作變量cpdh、部件代號記作ljdh,重復上述內容;......經過g_rownumber次循環,取值、過濾、判斷,就確定了部件進度表中每條記錄的有效性是否為1,并初步確定有效性字段為I的記錄的開始時間; 2)初定缺件補齊時間表對應部件進度表中的記錄的初始時間,方法如下 測試缺件補齊時間表的記錄數為g_rownumber,如果g_rownumber>0,表示缺件補齊時間表有記錄;以g_rownumber為循環次數作循環,讀取缺件補齊時間表中的第一條記錄的補齊日期、產品代號、部件代號,在產品明細表中查找父部件,讀取父部件的所屬產品、所屬部件、工序名稱字段數據,將作為條件,查找部件進度表中的對應記錄,讀取部件進度表對應記錄的開始時間;如果缺件補齊時間表中的補齊日期的第二天與時間08 00合成,生成的日期時間大于部件進度表對應記錄的開始時間,那么將該缺件補齊時間表中的補齊日期的第二天與時間08 00合成生成的日期時間設置給該缺件所屬部件在部件進度表中對應記錄的開始時間; 3)工序時間表按有效性為O的過濾條件進行過濾,部件進度表按有效性I的過濾條件進行過濾;測試部件進度表的記錄數記作g_rownumber,測試工序時間表的記錄數記作g_rownumberl ;如果都大于O,那么讀取部件進度表的第一條記錄;用DO·· LOOP WHILEcondition循環語句做以下步驟4)、5)、6)、7)、8)的處理; 4)運用條件符合時參與排序、把表示工件的部件進度表的開始時間與表示工位的工序時間表的起始時間作比較取最有利時間的方法,確定有效性為I的部件進度表記錄的開始時間datetime ksrq和順序號的方法如下 部件進度表按開始時間、優先級、工序名稱、批次號、所屬產品、所屬部件、產品代號、部件代號、列號、序號字段升序排序; 工序時間表按次序號、起始時間、工序名稱、順序號字段升序排序; 確定有效性為I的部件進度表記錄的開始時間datetime ksrq和順序號的方法如下讀取部件進度表第一條記錄的工序名稱賦值給變量gxmc、開始時間賦值給ksrq ; 計算ksrq為今天today O后的第幾天,值賦給η,根據ksrq的小時數變量hk判斷作業時間段;如果hk>=8且hk〈12,那么是上午班,m=l,hs=8,ms=0 ;如果hk>=12且hk〈=16,那么是下午班,m=2, hs=12, ms=30 ;hk>=17 且 hk〈=20,那么是晚班,m=3, hs=17, ms=0 ; 按n-m格式合成次序號,工序時間表按工序名稱為gxmc、有效性為0、次序號為(n-m)過濾條件進行過濾,測試工序時間表的記錄數Ii_row ;如果記錄數li_row大于O,讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的第一條記錄的順序號賦值給變量yy,起始時間給變量qsrq,取qsrq和ksrq最大值賦給ksrq,設置部件進度表本條記錄的開始時間為ksrq,次序號為(n-m),順序號為yy ;如果測試工序時間表的記錄數li_row不大于O,那么m=m+l ;如果m=4,那么m=l,n=n+l,回到本步驟4)開始處循環,直到記錄數大于O,即找到空余時間段; 5)根據部件進度表開始時間和作業時長,用間斷時間相加的方法確定結束時間datetime wcrq的方法如下 讀取部件進度表的作業時長為zysc ; 設部件進度表第一條記錄的結束時間wcrq的分鐘記作變量int mw,小時記作變量inthw,其結束時間與上班時間的時長記作變量tysc,那么tysc=(hk_hs) *60+ (mk-ms) +zysc,設置mw = mk + zysc ;半天的工作時間3. 5小時為210分鐘; 如果tysc〈210且mw〈60,那么結束時間wcrq的分鐘數為mw = mk + zysc,小時數為hw=hk,設置其有效性為2,設置其完成時間為wcrq,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的起始時間wcrq ; 如果tysc〈210且mw>=60,那么結束時間wcrq的小時數為hw= hk +int ((mk + zysc)/60) ’分鐘數為mw=mod ((mk + zysc),60),設置該記錄的有效性為2,設置該記錄的完成時間為wcrq,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n_m,順序號為yy的記錄的起始時間wcrq ; 如果tysc=210,那么結束時間wcrq的小時數為hw= hk +int ((mk + zysc )/60),分鐘數為mw=mod((mk + zysc), 60),設置該記錄的有效性為2,設置該記錄的完成時間為wcrq,設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的有效性為I ; 如果tysc>210,那么作以下處理 6)設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的該記錄的有效性為1,同時需將部件進度表對應記錄拆分成兩部分記錄; 部件進度表對應記錄拆分成的第一部分記錄的開始時間為原開始時間不變,hsl、ms I分別表示下班時間的小時數和分鐘數;如果m=l,那么hsl=ll, msl=30 ;如果m=2,那么hsl=16,msl=00 ;如果m=3,那么hsl=20,msl=30 ;部件進度表對應記錄拆分成的第一部分記錄的結束時間的日期設置為今天todayO后η天,時間的小時為hsl,時間的分鐘為msl ;部件進度表對應記錄拆分成的第一部分記錄的有效性為2 ;部件進度表該記錄第一部分記錄的作業時長為(hsl-hk)*60+(msl _ mk),部件進度表該記錄第一部分記錄的時長為0.00, 設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的有效性為 I, zysc=zysc_(hsl-hk)氺60-(ms1-mk);m=m+l,如果m=4,那么m=l, n=n+l,工序時間表按工序名稱為gxmc、有效性為O、次序號為(n-m)過濾條件進行過濾;測試工序時間表的記錄數li_row,如果記錄數li_row大于O,插入新的記錄行做為部件進度表對應記錄第二部分記錄,批次號、所屬產品、所屬部件、產品代號、部件代號、部件名稱、工序號、工序名稱、優先級、列號、非作業時長與原記錄保持不變,其有效性值為2,作業時長為zysc ;讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的第一條記錄的順序號賦值給變量yy,起始時間給變量qsrq,將qsrq設置給部件進度表的開始時間,設置其次序號為(n-m),順序號為yy ;如果工序時間表記錄數li_row不大于O,那么回到本步驟6)開始處循環,直到記錄數大于O,即找到空余時間段; 確定第二部分結束時間datetime wcrq,設其結束時間wcrq的分鐘記作變量int mw,小時記作變量int hw,其結束時間與上班時間的時長記作變量tysc,設qsrq的分鐘數為mk,小時數為 hk,那么 tysc= (hk_hs) *60+(mk-ms)+zysc,設置 mw = mk + zysc ;半天的工作時間3. 5小時為210分鐘; 如果tysc〈210且mw〈60,那么其結束時間wcrq的分鐘數為mw = mk + zysc,小時數為hw=hk,設置其結束時間為wcrq,設置其有效性為2 ;設置其序號為1,如果第二部分再拆分,則第三部件序號為2,依次類推;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的起始時間wcrq ; 如果tysc〈210且mw>=60,那么部件進度表記錄的結束時間wcrq的小時數為hw= hk+int ((mk + zysc ) /60),分鐘數為mw=mod ((mk + zysc), 60);設置其結束時間為 wcrq,設置其有效性為2,設置其序號為1,如果第二部分再拆分,則第三部件序號為2,依次類推;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的起始時間wcrq ; 如果tysc=210,那么其結束時間wcrq的分鐘數為hw= hk +int ((mk + zysc ) /60),小時數為mw=mod((mk + zysc),60),設置該記錄的有效性為2,設置該記錄的完成時間為wcrq,設置其序號為1,如果第二部分再拆分,則第三部件序號為2,依次類推;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m,順序號為yy的記錄的有效性為I ; 如果tysc>210,回到步驟6)即本步驟開始處循環,直至tysc>=210不成立;這樣就設置部件進度表記錄的結束時間wcrq、有效性2 ;確定了新插入記錄的次序號、順序號、序號等字段;設置工序時間表工序名稱為gxmc、有效性為O、次序號為n-m、順序號為yy的記錄的起始時間wcrq或有效性I ; 7)由部件進度表非作業時長zysc與結束時間wcrq,用連續時間相加的方法確定部件進度表下道工序或父部件第一道裝配工序的開始時間的方法如下 賦值wcrq的分鐘記為mw ;小時數記為hw,非作業時長記為zysc ; 設置記錄的本班次上班時間,如果m=l,那么hsl=8, ms 1=0 ;如果m=2,那么hsl=12,msl=30 ;如果 m=3,那么 hsl=17, msl=0,設置 nl=n ; 如果設置部件進度表下道工序或父部件第一道裝配工序的開始時間為ksrq,ksrq與當班次上班時間的時長為tysc,那么tysc= (hw-hsl)*60+(mw-msl)+zysc, 如果tysc〈=210且(mw + zysc)〈60,那么ksrq的分鐘數為mw+zysc,小時數為hw ; 如果 tysc〈=210 且(mw+ zysc) >=60,那么 ksrq 的小時數為 hw +int ((mw + zysc)/60),分鐘數為 mw=mod ((mw + zysc), 60);·8)m=m+l,讀取記錄的下班次數據;如果m=4,那么m=l,n=n+l,讀取工序時間表工序名稱為gxmc、有效性為O、次序號為n-m的記錄;如果讀到記錄,設工序時間表的起始時間為的小時數和分鐘數分別為hs2和ms2 ;記錄下班次的上班時間的小時數和分鐘數分別為hs和ms ;如果 m=l,賦值 hs=8, ms=0 ;如果 m=2,賦值 hs=12, ms=30 ;如果 m=3,賦值 hs=17,ms=0 ;如果讀不到工序時間表的記錄,那么回到步驟8)開始處循環,至到讀到記錄,χχ= (n-nl) *1440+ (hs2_hsl) *60+ (ms2_msl),yy= (n-nl) *1440+ (hs-hsl) *60+ (ms-msl) +210 ; 如果tysc>210且tysc〈=xx,那么ksrq的小時數為hs2,分鐘數為ms2 ;如果tysc>xx且tysc<=yy,那么非作業時長 zysc=zysc_ ((n-nl) *1440+ (hs2_hw) *60+ (ms2_mw)) ;ksrq 的小時數為 hs2 +int ((ms2 + zysc ) /60),分鐘數為 mod((ms2 + zysc), 60);如果 tysc>yy,那么設置hsl=hs, msl=ms, hw=hs2, mw=ms2,回到本步驟7)開始處循環,直到tysc>xx不成立; 9)運用多對多關系的對應等方法找出部件進度表下道工序或父部件第一道裝配工序,將開始時間和有效性賦值 判斷部件進度表記錄工序有沒有下道工序,如果部件進度表本條記錄的工序有下道工序,設置它的開始時間為ksrq,同時設置本條記錄的下道工序的有效性字段為1,同時讀取本條記錄的下道工序的工序號、工序名稱,寫入本條記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向; 如果部件進度表本條記錄的工序沒有下道工序,則到產品明細表中查找產品代號、部件代號、所屬產品、所屬部件均對應的記錄的單臺數記為I jsl,說明子部件與父部件的關系為Ijsl條子部件對應I條父部件;讀取工序號為1,序號為O的同批次號的父部件的所有子部件,其記錄數記作xxl,再讀取工序號為1,序號為O的同批次號的父部件,其記錄數記作xx2,兩者相除的結果記作xx3,表明父部件被查找xx3次其有效性就可以改為1,這樣就建立了對于多個父部件對應多個子部件的多對多關系的對應的唯一性; 如果該部件的工序號為I的父部件的記錄的開始時間不為空,那么記作ksrql,取ksrq與ksrql的最大值為ksrq,那么該部件的父部件的工序號為I的記錄的開始時間設置為ksrq,同時讀取其父部件的工序號和工序名稱,寫入該子部件記錄轉向工序號、轉向工序名字段,做為工件完工勾選后的流轉方向; 如果父部件的子部件對應了 xx3次父部件,則將該父部件的有效性改為I ; 10)用DO…LOOPWHILE condition循環語句,進行步驟4)、5)、6)、7)、8);按這種方法一直下去,當部件進度表正在確定的所有部件均沒有父部件,且其對應的所有裝配工序的開始時間和結束時間都確定后,即部件進度表的開始時間、結束時間、順序號都生成后,或者工序時間表的所有記錄的有效性都為I后,循環結束; 11)將部件進度表不設置條件過濾,如果轉向工序號為1,說明轉向父部件,轉向工序號不為1,說明轉向下道工序,依此規則依次查找每條記錄轉向工序號、轉向工序名對應的順序號,填入記錄的轉向順序號字段。
            5.根據權利要求I所述的離散型企業智能作業控制方法,其特征在于運用天數、班次、邊界時間等字段的生成方法和三層循環中變量和數據的關聯方法,將部件裝配的最佳路徑以背景色不同的甘特圖方式實時顯示控制工位作業的時間,方法如下 I)部件進度表按次序號、順序號、開始時間、批次號、所屬產品、所屬部件、產品代號、部件代號、列號、序號字段升序排序; 2)部件進度表按工序名稱字段過濾條件進行過濾; 3)測試部件進度表的記錄數,如果等于O,表示部件進度表按上述條件過濾后沒有記錄,退出本步驟; 4)如果部件進度表的記錄數大于O,設置循環語句依次讀取從部件進度表的每一條記錄; 5)讀取部件進度表的第一條記錄的次序號,用函數找出在次序表中按從左到右的位置,記作I」[5];取次序號從左第I個到第(I」[5]-I)個字符串,轉換成Integer類型值,賦值給甘特圖表的天數字段,從第(I」[5] +1)個到最左邊字符串,轉換成Integer類型值,賦值給甘特圖表班次字段;設班次字段用變量m表示;則111的值為1、2或3 ;如果m=l, 那么 hsl=8, ms I =O ;如果 m=2,那么 hsl=12, msl=30 ;m=3,那么 hsl=17, ms 1=0 ; 讀取部件進度表第一條記錄的順序號賦值給甘特圖表的順序號字段; 讀取部件進度表的第一條記錄的開始時間賦給變量ksrq,結束時間賦值給變量wcrq ; 讀取部件進度表的第一條記錄的產品代號賦值給變量cpdh,部件代號賦值給變量Ijdh ; 判斷部件進度表記錄的時間在甘特圖表半天21個時間段的哪一段,過程是如果不等式(hour (ksrq) -hsl) *60+ (Minute (ksrq) -msl) <10,同時(hour (wcrq) -hsl)*60+ (Minute (wcrq) -msl) >0則查找甘特圖表本條記錄SlO字段是否有數據,如果沒有,將變量 string (cpdh+,-,+ljdh)賦值給 SlO 字段;如果不等式(hour (ksrq) -hsl) *60+ (Minute (ksrq) -msl) <20,同時(hour (wcrq) -hsl)*60+(Minute (wcrq)-msl) >10則查找甘特圖表本條記錄S20字段是否有數據,如果沒有,將變量 string (cpdh+,-,+ljdh)賦值給 S20 字段;如果不等式(hour (ksrq) -hsl) *60+ (Minute (ksrq) -msl) <30,同時(hour (wcrq) -hsl)*60+(Minute (wcrq)-msl) >20則查找甘特圖表本條記錄S30字段是否有數據,如果沒有,將變量 string (cpdh+,-,+ljdh)賦值給 S30 字段; ……用同樣的方法一直到判斷部件進度表記錄的時間是否在甘特圖表半天第21個時間段;如果不等式(hour (ksrq)-hsl) *60+(Minute (ksrq)-msl)〈210,同時(hour (wcrq)-hsI)*60+ (Minute (wcrq) -msl) >200則查找甘特圖表本條記錄S210字段是否有數據,如果沒有,將變量string (cpdh+,-,+ljdh)賦值給S210字段; 6)讀取部件進度表的第二條記錄的次序號賦值給字符型變量zcc,用函數找出在zee中按從左到右的位置,記作I」;取zcc從左第I個到第(I」[5]-I)個字符串,轉換成Integer類型值賦值給數值型變量η ;從第(I」[5]+1)個到最左邊字符串,轉換成Integer類型值賦值給數值型變量m,讀取部件進度表第二條記錄的順序號設置給數值型變量I」;查找甘特圖表中天數等于n,班次等于m,順序號等于I」的記錄,如果查找到,表明甘特圖表有符合條件的記錄,記作li_row ;如果查不到,表明甘特圖表沒有符合條件的記錄,在甘特圖表插入新的記錄,記錄號為li_row,插入的甘特圖表的新記錄的天數字段賦值為n,班次字段賦值為m,順序號字段賦值為I」;m 的值為 1、2 或 3 ;如果 m=l,那么 hsl=8, ms 1=0 ;如果 m=2,那么 hsl=12, msl=30 ;m=3,那么 hsl=17, ms 1=0 ;讀取部件進度表的第二條記錄的開始時間賦給變量ksrq,結束時間賦值給變量wcrq ;讀取部件進度表的第二條記錄的產品代號賦值給變量cpdh,部件代號賦值給變量Ijdh ; 判斷部件進度表記錄的時間在甘特圖表半天21個時間段的哪一段,過程是如果不等式(hour (ksrq) -hsl) *60+ (Minute (ksrq) -msl) <10,同時(hour (wcrq) -hsl)*60+ (Minute (wcrq) -msl) >0則查找甘特圖表本條記錄SlO字段是否有數據,如果沒有,將變量 string (cpdh+,-,+ljdh)賦值給 SlO 字段;如果不等式(hour (ksrq) -hsl) *60+ (Minute (ksrq) -msl) <20,同時(hour (wcrq) -hsl)*60+(Minute (wcrq)-msl) >10則查找甘特圖表本條記錄S20字段是否有數據,如果沒有,將變量 string (cpdh+,-,+ljdh)賦值給 S20 字段;如果不等式(hour (ksrq) -hsl) *60+ (Minute (ksrq) -msl) <30,同時(hour (wcrq) -hsl) *60+(Minute (wcrq)-msl) >20則查找甘特圖表本條記錄S30字段是否有數據,如果沒有,將變量 string (cpdh+,-,+ljdh)賦值給 S30 字段; ……用同樣的方法一直到判斷部件進度表記錄的時間是否在甘特圖表半天第21個時間段;如果不等式(hour (ksrq)-hsl) *60+(Minute (ksrq)-msl)〈210,同時(hour (wcrq)-hsI) *60+ (Minute (wcrq) -msl) >200則查找甘特圖表本條記錄S210字段是否有數據,如果沒 有,將變量string (cpdh+,-,+ljdh)賦值給S210字段; 7)依次讀取部件進度表的第三條到最后一條記錄,用步驟6)的方法完成甘特圖表數據的賦值。
            6.根據權利要求I所述的離散型企業智能作業控制方法,其特征在于作業開工勾選調用作業指導書進行作業和作業進程返饋,方法如下 (O自動獲取作業時間的具體步驟如下 1)為讀取服務器時間設置一個游標declareget_date cursor for selectgetdate (); 2)打開游標openget_date ; 3)設置給變量tt_d :fetch get_date into : tt_d ; 4)關閉游標closeget_date。
            (2)作業“開工勾選”的步驟是 1)當作業人員開始作業時,在顯饋終端的一體機上,用本人設置的密碼登錄,顯示甘特圖窗口 ; 2)在甘特圖窗口,雙擊甘特圖表,在上方部件進度表經過過濾的相關記錄的記錄行雙擊進行“開工勾選”; 3)程序自動獲取勾選時服務器的時間,設置給部件進度表對應記錄的開始時間字段;設置部件進度表該記錄的有效性字段的值為3 ; 4)同時作業情況表插入一條記錄,將作業情況表插入的記錄的批次號、產品代號、部件代號、部件名稱、工序號、工序名稱、開始時間、作業人員字段賦值。
            (3)作業完成后,作業人員需進行作業“完工勾選”;作業“完成勾選”的步驟是 I)當作業人員完成作業后,在顯饋終端一體機上在用本人設置的密碼登錄的作業指導書窗口,單擊“完工勾選”按鈕進行“完工勾選”,作業指導書窗口退出;2)進行作業“完工勾選”時,讀取服務器時間設置給部件進度表對應記錄的結束時間;填報實際作業時長設置給部件進度表的作業時長字段; 3)設置部件進度表中該記錄的有效性字段的值為5; 4)根據產品代號、部件代號、批次號、工序號、作業人員信息查找對應記錄、找到后,將獲取的服務器時間賦值給結束時間; 5)如果作業沒有完成,不需要進行“完工勾選”,想退出作業指導書窗口,單擊“退出”按鈕。(4)作業發生異常時,作業人員需進行作業“異常反饋”;作業“異常反饋”的步驟是 1)對已作“開工勾選”的作業對象,在作業過程中,單擊作業指導書窗口“異常反饋”按鈕; 2)當作業發生異常時單擊“異常反饋”按鈕,進入“異常反饋”窗口; 3)部件進度表中該記錄的有效性為4;作業人員填報作業發生的異常現象;同時填寫因異常導致的作業時長延長的時間; 4)技術人員到現場解決異常后,填寫異常原因和解決措施; 5)部件進度表數據刷新時,按新的作業時長調整數據。
            全文摘要
            本發明公開了一種離散型企業智能作業控制方法,首先對多種具有不固定子部件級數和多道裝配工序的產品采用不固定嵌套循環層數和數組構建產品結構樹,并計算生產能力初定各工序單元工位數;在考慮產品從屬關系、產品裝配流程、生產計劃時間、產品配套時間、缺件補齊時間、異常推遲時間、實際完成時間、產品優先級、正常上班時間各工序單元工位數和加班時間各工序單元工位數十種因素自動尋找部件裝配的最佳路徑,該最佳路徑以甘特圖方式實時顯示控制現場作業,作業開工勾選調用作業指導書進行作業和作業進程返饋,從而實現離散型企業智能的作業控制。本發明能夠提升企業快速響應能力,提高產品質量和生產率,確保履約率。
            文檔編號G06Q10/06GK102930397SQ20121043313
            公開日2013年2月13日 申請日期2012年11月1日 優先權日2012年11月1日
            發明者陳友春, 許清, 王龍瑩, 陳國勝, 胡文花, 唐曉冬, 聶永海, 張云龍, 吳慶, 曹磊, 郭曉丹, 馬寧, 程曉敏, 付羽翀, 趙曉寶, 季冬, 孫士亮 申請人:北方信息控制集團有限公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品