專利名稱:班組化信息的查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息查詢方法,尤其涉及一種更快、更好地查詢班組號(hào)信息的方法。
背景技術(shù):
班組號(hào)信息是一個(gè)工廠信息系統(tǒng)必須獲取的一個(gè)重要信息。通常,一個(gè)班組號(hào)信息將用于工廠信息系統(tǒng)進(jìn)行產(chǎn)量統(tǒng)計(jì)、資財(cái)消耗、故障分析等相關(guān)過程的自動(dòng)化處理,以及相關(guān)的報(bào)表生成和過程控制等。
在一個(gè)工廠信息系統(tǒng)中,一個(gè)正確的班組號(hào)信息控制是一個(gè)必須苛求的重要功能。也常常成為一個(gè)工廠信息系統(tǒng)的設(shè)計(jì)要點(diǎn)。幾乎每一個(gè)工廠信息系統(tǒng),尤其是過程控制系統(tǒng),都擁有一套班組號(hào)信息控制方案。但是,很多的解決方案在確保信息準(zhǔn)確度之后,常常忽略了對(duì)系統(tǒng)后期友善維護(hù)的支持。或者是方案過于局限,結(jié)構(gòu)和程序過于復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種班組化信息查詢方法,其可非常輕松地獲取當(dāng)前的,或者是任意時(shí)刻的工廠班組號(hào)信息,可以自由地進(jìn)行后期班組號(hào)信息控制的維護(hù),而無需進(jìn)行任何形式的應(yīng)用程序改動(dòng)。
為了解決上述技術(shù)問題,本發(fā)明提供一種班組號(hào)信息的查詢方法,其包括如下步驟a、從工廠班組運(yùn)轉(zhuǎn)表中選擇一個(gè)班組運(yùn)轉(zhuǎn)大周期,以繪制班組運(yùn)轉(zhuǎn)圖;
b、組建以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的SQL數(shù)據(jù)庫(kù)班組映像表;c、為坐標(biāo)投影算法繪制一個(gè)以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的大周期坐標(biāo)系統(tǒng);d、基于一個(gè)已構(gòu)造的班組映像表,通過坐標(biāo)投影算法,就可獲取某一給定時(shí)刻的班組運(yùn)轉(zhuǎn)表上的投影,進(jìn)而通過一個(gè)簡(jiǎn)單的查詢,就可獲取其相對(duì)應(yīng)的班組號(hào)信息;本發(fā)明在確保精確的班組號(hào)信息控制的同時(shí),提供了一個(gè)極其友善的維護(hù)策略,技術(shù)充分考慮了對(duì)信息準(zhǔn)確度的控制,以及對(duì)后期友善維護(hù)的支持。
具體優(yōu)勢(shì)主要包括四個(gè)方面(1)完全SQL數(shù)據(jù)庫(kù)后臺(tái)的結(jié)構(gòu)設(shè)計(jì)完全SQL數(shù)據(jù)庫(kù)后臺(tái)的結(jié)構(gòu)設(shè)計(jì)為后期維護(hù)活動(dòng)提供了一種便利。在后期可能發(fā)生的班組號(hào)信息控制相關(guān)的維護(hù)活動(dòng)中,維護(hù)活動(dòng)是友善和自由的。相關(guān)的活動(dòng)無需進(jìn)行任何形式的應(yīng)用程序改動(dòng),避免可能發(fā)生的編譯活動(dòng)。
(2)可視化組態(tài)的結(jié)構(gòu)設(shè)計(jì)一個(gè)以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的SQL數(shù)據(jù)庫(kù)班組映像表提供了一種可視化組態(tài)的結(jié)構(gòu)設(shè)計(jì)?;诎嘟M映像表,設(shè)計(jì)提供了三種優(yōu)勢(shì)A、班組號(hào)信息控制的設(shè)計(jì)開發(fā)和后期維護(hù)是可視的、直觀的B、相關(guān)的開發(fā)和維護(hù)過程是簡(jiǎn)單的C、相關(guān)的控制算法和程序結(jié)構(gòu)是簡(jiǎn)單的(3)坐標(biāo)投影算法一個(gè)以班組映像表為基礎(chǔ)的坐標(biāo)投影算法,提供了一種最大可能的應(yīng)對(duì)能力。對(duì)于任何可能形式的工廠班組運(yùn)轉(zhuǎn)表,只要是有規(guī)律的、可配置的,班組號(hào)信息都是可以控制的。
(4)支持任意時(shí)刻的班組號(hào)信息查詢需求除了支持當(dāng)前時(shí)刻的班組號(hào)信息查詢需求外,技術(shù)同時(shí)提供了對(duì)任意時(shí)刻班組號(hào)信息查詢的支持。當(dāng)前時(shí)刻是缺省的。
圖1是本發(fā)明的坐標(biāo)投影算法的示意圖。
具體實(shí)施例方式
發(fā)明提供了一種在工廠信息系統(tǒng)中進(jìn)行可視化組態(tài)的班組號(hào)信息控制方法,其包括如下步驟1、從工廠班組運(yùn)轉(zhuǎn)表中選擇一個(gè)班組運(yùn)轉(zhuǎn)大周期,以繪制班組運(yùn)轉(zhuǎn)圖;2、組建以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的SQL數(shù)據(jù)庫(kù)班組映像表;3、為坐標(biāo)投影算法繪制一個(gè)以工廠班組運(yùn)作表為基礎(chǔ)的大周期坐標(biāo)系統(tǒng);4、基于一個(gè)已構(gòu)造的班組映像表,通過坐標(biāo)投影算法只需執(zhí)行一個(gè)簡(jiǎn)單的查詢,就可獲取某一給定時(shí)刻的班組運(yùn)轉(zhuǎn)表上的投影,進(jìn)而獲取其相對(duì)應(yīng)的班組號(hào)信息;相關(guān)的技術(shù)描述,使用了MICROSOFT SQL SERVER 2000數(shù)據(jù)庫(kù)系統(tǒng)。對(duì)于其他類型的數(shù)據(jù)庫(kù)系統(tǒng),本技術(shù)同樣適用。
一、一個(gè)典型的班組運(yùn)轉(zhuǎn)表如下表所示的是寶鋼2004年1月的班組運(yùn)轉(zhuǎn)表。對(duì)于其他工廠、其他形式的班組運(yùn)轉(zhuǎn)表,利用我們的技術(shù)是非常容易應(yīng)對(duì)的。
三班運(yùn)作時(shí)間表 在這個(gè)班組運(yùn)轉(zhuǎn)表中,我們可以非常容易地發(fā)現(xiàn)一些規(guī)律A三班作業(yè)時(shí)刻固定以夜班起始,以中班結(jié)束。各班的持續(xù)時(shí)間不一定完全相等。
B2個(gè)工作日為一個(gè)小周期以2個(gè)工作日為單位調(diào)整班組作業(yè)時(shí)刻。
C8個(gè)工作日為一個(gè)大周期班組輪換在持續(xù)8個(gè)工作日后,重新開始新一輪的輪換。
這些規(guī)律將是本發(fā)明的可視化組態(tài)班組號(hào)信息控制方法的設(shè)計(jì)和算法理論基礎(chǔ)。
二、班組運(yùn)轉(zhuǎn)圖班組運(yùn)轉(zhuǎn)圖是一個(gè)理論上抽象的概念,其抽象的對(duì)象為一個(gè)工廠的班組運(yùn)轉(zhuǎn)表,是我們整個(gè)可視化組態(tài)技術(shù)的基礎(chǔ)核心。
構(gòu)造一個(gè)班組運(yùn)轉(zhuǎn)圖,是我們班組號(hào)信息控制可視化組態(tài)技術(shù)實(shí)現(xiàn)的核心。其實(shí)施要領(lǐng)包括A一個(gè)班組運(yùn)轉(zhuǎn)圖僅僅需要包含一個(gè)完整的班組運(yùn)轉(zhuǎn)大周期B一個(gè)班組運(yùn)轉(zhuǎn)圖必須包含一個(gè)完整的班組運(yùn)轉(zhuǎn)大周期C一個(gè)班組運(yùn)轉(zhuǎn)圖可以是任意一個(gè)完整的班組運(yùn)轉(zhuǎn)大周期
D一個(gè)班組運(yùn)轉(zhuǎn)圖可以選擇起始日的任意一班為起點(diǎn),但結(jié)束日的結(jié)束班必須是該起始班的上一個(gè)班E一個(gè)班組運(yùn)轉(zhuǎn)圖每個(gè)班的開始必須是該班在三班運(yùn)轉(zhuǎn)時(shí)間表上的開始時(shí)間一個(gè)班組運(yùn)轉(zhuǎn)小周期是構(gòu)造班組運(yùn)轉(zhuǎn)圖的最小單位,不可以進(jìn)行任何形式的拆分。換句話說,一個(gè)大周期的起點(diǎn)必須同時(shí)是一個(gè)小周期的起點(diǎn)。這是確保一個(gè)完整班組運(yùn)轉(zhuǎn)大周期的基本原則。
遵循上述要領(lǐng),我們可以從圖1的班組運(yùn)轉(zhuǎn)表中選擇一個(gè)班組運(yùn)轉(zhuǎn)大周期,用于構(gòu)造一個(gè)典型的班組運(yùn)轉(zhuǎn)圖。例如班組運(yùn)轉(zhuǎn)圖以2004年1月1日開始;班組運(yùn)轉(zhuǎn)圖以2004年1月8日結(jié)束;班組運(yùn)轉(zhuǎn)圖以2004年1月1日夜班開始;班組運(yùn)轉(zhuǎn)圖以2004年1月8日中班結(jié)束。
其中包括4個(gè)完整的小周期,1個(gè)完整的大周期。獲得一個(gè)完整的班組運(yùn)轉(zhuǎn)圖如下
三、基于SQL數(shù)據(jù)庫(kù)的班組運(yùn)轉(zhuǎn)表班組運(yùn)轉(zhuǎn)圖是一個(gè)理論上抽象的概念,其抽象的對(duì)象為一個(gè)工廠的班組運(yùn)轉(zhuǎn)表。相對(duì)應(yīng)的班組運(yùn)作表則僅僅是班組運(yùn)轉(zhuǎn)圖概念基于SQL數(shù)據(jù)庫(kù)的一種表現(xiàn)形式。換句話說,一個(gè)抽象的班組運(yùn)轉(zhuǎn)圖必須通過一個(gè)基于SQL數(shù)據(jù)庫(kù)的班組運(yùn)轉(zhuǎn)表來實(shí)現(xiàn)。
一個(gè)班組運(yùn)轉(zhuǎn)表是一個(gè)由用戶創(chuàng)建的SQL數(shù)據(jù)庫(kù)基表。對(duì)于MICROSOFT SQLSERVER 2000數(shù)據(jù)庫(kù)的基表,我們可以直接使用其維護(hù)工具企業(yè)管理器進(jìn)行可視化的操作和維護(hù)。相關(guān)的動(dòng)作是以數(shù)據(jù)庫(kù)事務(wù)為基礎(chǔ)的,所執(zhí)行的數(shù)據(jù)變動(dòng),不會(huì)導(dǎo)致應(yīng)用程序級(jí)的改動(dòng)。這是我們整個(gè)全后臺(tái)可視化設(shè)計(jì)策略的基礎(chǔ)。
基于已構(gòu)造的班組運(yùn)轉(zhuǎn)圖,一個(gè)班組運(yùn)轉(zhuǎn)表的實(shí)現(xiàn)必須包括2個(gè)部分
創(chuàng)建和填充。
1、創(chuàng)建一個(gè)班組運(yùn)作表的完整結(jié)構(gòu)如下 注意A我們必須為班組運(yùn)作表提供一個(gè)表名稱。該表名可以是任意的,但無論如何,他應(yīng)該被視為系統(tǒng)的保留字,不能被另作他表名使用。
B對(duì)于一個(gè)應(yīng)用系統(tǒng),我們必須人工創(chuàng)建班組運(yùn)作表表。
2、填充班組運(yùn)作表創(chuàng)建后,我們必須人工為表填充全部的班組運(yùn)作數(shù)據(jù)。該表的基礎(chǔ)數(shù)據(jù)來自于我們剛剛構(gòu)造的班組運(yùn)作圖。所填充的數(shù)據(jù)在需要的時(shí)候,可以根據(jù)新的班組運(yùn)作圖進(jìn)行維護(hù)調(diào)整。
對(duì)應(yīng)于前面所創(chuàng)建的班組運(yùn)轉(zhuǎn)圖,一個(gè)班組運(yùn)作表的全部數(shù)據(jù)如下
其中,位于班組運(yùn)作表首行(ID=1)的班組日期(2003-12-31 22:00:00)將用作我們下面的坐標(biāo)投影算法的基礎(chǔ)時(shí)刻。
在上述的班組運(yùn)作表中,我們?yōu)榘嘟M號(hào)各配置了一個(gè)標(biāo)志字段。通常,在實(shí)際的應(yīng)用系統(tǒng)中,一個(gè)標(biāo)志子段更具效率。
這里,我們?yōu)榘嘟M號(hào)標(biāo)志定義了一組約定。這些約定不是強(qiáng)制性的。換句話說,可以使用另外的可能約定。
四、坐標(biāo)投影算法基于一個(gè)以構(gòu)造的班組映像表,我們將通過一個(gè)坐標(biāo)投影算法獲取某一給定時(shí)刻在班組運(yùn)轉(zhuǎn)圖上的投影,進(jìn)而獲取其對(duì)應(yīng)的班組號(hào)信息。
坐標(biāo)投影算法是我們可視化組態(tài)技術(shù)的核心算法,其基本的原理圖如圖1所示基本的原理主要包含了三個(gè)要領(lǐng)1.大周期坐標(biāo)系統(tǒng)將工廠的班組運(yùn)作表、以大周期為單位置于一個(gè)時(shí)間坐標(biāo)系統(tǒng)中。
2.班組運(yùn)轉(zhuǎn)圖和班組運(yùn)轉(zhuǎn)表選取t0時(shí)刻所對(duì)應(yīng)的班組運(yùn)轉(zhuǎn)大周期,構(gòu)造基本的班組運(yùn)轉(zhuǎn)圖和班組運(yùn)轉(zhuǎn)表。
3.投影和投影日期根據(jù)圖示,很顯然,只要簡(jiǎn)單地將t1時(shí)刻所在的班組運(yùn)轉(zhuǎn)大周期投影于班組運(yùn)轉(zhuǎn)圖中,即可以獲得t1時(shí)刻在班組運(yùn)轉(zhuǎn)圖中的一個(gè)投影時(shí)刻(tShadow)。
根據(jù)獲得的投影時(shí)刻,隨后我們只需要執(zhí)行一個(gè)簡(jiǎn)單的查詢,即可以從班組運(yùn)作圖中獲得我們所希望的t1時(shí)刻的班組號(hào)信息。
五、存儲(chǔ)過程基于全后臺(tái)的設(shè)計(jì)策略,我們使用了一個(gè)SQL數(shù)據(jù)庫(kù)的存儲(chǔ)過程,用于實(shí)現(xiàn)我們的坐標(biāo)投影算法。
該過程包括了三個(gè)主要的邏輯1、獲取基礎(chǔ)時(shí)刻t0很顯然,t0時(shí)刻即班組運(yùn)作表首行(ID=1)的班開始時(shí)間。
2、獲取投影時(shí)刻該邏輯的最終目的是獲取t1時(shí)刻在班組運(yùn)轉(zhuǎn)圖中的一個(gè)投影時(shí)刻(tShadow)。一個(gè)基本的算法如下。算法以秒為單位進(jìn)行日期數(shù)據(jù)的運(yùn)算。
tShadow=t1-(t1-t0)\(T*24*60*60)*(T*24*60*60)其中T一個(gè)班組運(yùn)轉(zhuǎn)大周期的天數(shù)。
T*24*60*60一個(gè)班組運(yùn)轉(zhuǎn)大周期的秒數(shù)。這樣的表示,僅僅是為了便于理解。
\一個(gè)整除運(yùn)算符。
算法的核心是對(duì)一個(gè)以工廠班組運(yùn)作表為基礎(chǔ)的坐標(biāo)系統(tǒng)執(zhí)行一個(gè)對(duì)大周期的格式化操作。
算法的后半部分通過對(duì)t1時(shí)刻執(zhí)行一個(gè)對(duì)大周期的格式化操作,獲得了t1時(shí)刻所在班組大周期起點(diǎn)對(duì)基礎(chǔ)時(shí)刻間相差的全部秒數(shù)。
可以逐步分解算法I.(t1-t0)\(24*60*60)t1時(shí)刻對(duì)t0時(shí)刻的天數(shù)。
II.(t1-t0)\(24*60*60)\Tt1時(shí)刻對(duì)t0時(shí)刻的大周期數(shù),同時(shí)也是t1時(shí)刻所在班組大周期起點(diǎn)對(duì)基礎(chǔ)時(shí)刻間的大周期數(shù)。
III.(t1-t0)\(24*60*60)\T*T*(24*60*60)t1時(shí)刻所在班組大周期起點(diǎn)對(duì)基礎(chǔ)時(shí)刻間相差的全部秒數(shù)。
3、獲取班組號(hào)信息這是存儲(chǔ)過程的最后一個(gè)邏輯?;谕队八惴ㄋ@得的投影時(shí)刻(tShadow),只需要執(zhí)行一個(gè)簡(jiǎn)單的查詢,即可以從班組運(yùn)作圖中獲得我們所希望的t1時(shí)刻的班組號(hào)信息。
六、測(cè)試和應(yīng)用過程上面的算法存儲(chǔ)過程中,獲取班組號(hào)信息邏輯通過一個(gè)簡(jiǎn)單的查詢返回了一組t1時(shí)刻的班組號(hào)信息。這些信息是一種SQL數(shù)據(jù)庫(kù)的視圖類型,簡(jiǎn)單的說,是一個(gè)表格。
測(cè)試可以使用多種方法進(jìn)行,比如使用SQL數(shù)據(jù)庫(kù)系統(tǒng)的查詢分析器,通過執(zhí)行上面的存儲(chǔ)過程,可以獲得一個(gè)包含班組號(hào)信息的SQL數(shù)據(jù)庫(kù)視圖。
1.對(duì)于一個(gè)信息應(yīng)用系統(tǒng),集成的需求可以通過使用諸如ADO類型的工具以實(shí)現(xiàn)。
權(quán)利要求
1.一種班組號(hào)信息的查詢方法,其包括如下步驟a、從工廠班組運(yùn)轉(zhuǎn)表中選擇一個(gè)班組運(yùn)轉(zhuǎn)大周期,以繪制班組運(yùn)轉(zhuǎn)圖;b、組建以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的SQL數(shù)據(jù)庫(kù)班組映像表;c、為坐標(biāo)投影算法繪制一個(gè)以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的大周期坐標(biāo)系統(tǒng);d、基于一個(gè)已構(gòu)造的班組映像表,通過坐標(biāo)投影算法,就可獲取某一給定時(shí)刻的班組運(yùn)轉(zhuǎn)表上的投影,進(jìn)而通過一個(gè)簡(jiǎn)單的查詢,就可獲取其相對(duì)應(yīng)的班組號(hào)信息;所述的坐標(biāo)投影算法的公式為tShadow=t1-(t1-t0)\(T*24*60*60)*(T*24*60*60)其中T為一個(gè)班組運(yùn)轉(zhuǎn)大周期的天數(shù),T*24*60*60為一個(gè)班組運(yùn)轉(zhuǎn)大周期的秒數(shù),tShadow為t1時(shí)刻在班組映像表中的一個(gè)投影時(shí)刻。
2.根據(jù)權(quán)利求1所述的班組號(hào)信息的查詢方法,其特征在于,所述的一個(gè)班組運(yùn)轉(zhuǎn)圖僅僅需要包含一個(gè)完整的班組運(yùn)轉(zhuǎn)大周期。
3.根據(jù)權(quán)利求1所述的班組號(hào)信息的查詢方法,其特征在于,所述的組建以班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的SQL數(shù)據(jù)庫(kù)班組映像表包括兩個(gè)步驟創(chuàng)建步驟和填充步驟。
4.根據(jù)權(quán)利求3所述的班組號(hào)信息的查詢方法,其特征在于,所述的創(chuàng)建時(shí)必須為班組運(yùn)轉(zhuǎn)表提供一個(gè)表名稱。
5.根據(jù)權(quán)利求1所述的班組號(hào)信息的查詢方法,其特征在于,所述的大周期坐標(biāo)系統(tǒng)是指將班組運(yùn)轉(zhuǎn)表以大周期為單位置于一個(gè)時(shí)間坐標(biāo)系統(tǒng)中。
6.根據(jù)權(quán)利求1所述的班組號(hào)信息的查詢方法,其特征在于,所述的班組號(hào)信息是一種SQL數(shù)據(jù)庫(kù)的視圖類型,是一個(gè)表格。
全文摘要
本發(fā)明提供一種班組號(hào)信息的查詢方法,其包括如下步驟a.從工廠班組運(yùn)轉(zhuǎn)表中選擇一個(gè)班組運(yùn)轉(zhuǎn)大周期,以繪制班組運(yùn)轉(zhuǎn)圖;b.組建以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的SQL數(shù)據(jù)庫(kù)班組映像表;c.為坐標(biāo)投影算法繪制一個(gè)以工廠班組運(yùn)轉(zhuǎn)表為基礎(chǔ)的大周期坐標(biāo)系統(tǒng);d.基于一個(gè)已構(gòu)造的班組映像表,通過坐標(biāo)投影算法,就可獲取某一給定時(shí)刻的班組運(yùn)轉(zhuǎn)表上的投影,進(jìn)而通過一個(gè)簡(jiǎn)單的查詢,就可獲取其相對(duì)應(yīng)的班組號(hào)信息;本發(fā)明在確保精確的班組號(hào)信息控制的同時(shí),提供了一個(gè)極其友善的維護(hù)策略,技術(shù)充分考慮了對(duì)信息準(zhǔn)確度的控制,以及對(duì)后期友善維護(hù)的支持。
文檔編號(hào)G06F17/30GK1766869SQ20041006752
公開日2006年5月3日 申請(qǐng)日期2004年10月27日 優(yōu)先權(quán)日2004年10月27日
發(fā)明者衛(wèi)萬勇 申請(qǐng)人:上海寶信軟件股份有限公司