專利名稱:一種焊接電源與計算機之間進行數(shù)據(jù)通信的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種焊接電源與計算機之間進行數(shù)據(jù)通信的方法,尤其涉及具有較高傳送可靠性的焊接電源與計算機數(shù)據(jù)通信方法,屬于焊接控制技術(shù)領(lǐng)域。
背景技術(shù):
隨著焊接電源數(shù)字化控制與互聯(lián)網(wǎng)通信技術(shù)的發(fā)展,出現(xiàn)了具有聯(lián)網(wǎng)功能的焊接電源。這種焊接電源通過網(wǎng)絡(luò)通信將其獲得的焊接參數(shù)上傳至計算機。在此基礎(chǔ)上,又出現(xiàn)了焊接電源自動將焊接參數(shù)保存至自身存儲器的方法。焊接參數(shù)以數(shù)據(jù)文件的方式保存至焊接電源內(nèi)部的Flash、SD卡等存儲介質(zhì)。在焊接電源使用過程中,焊接參數(shù)按時間順序形成數(shù)據(jù)文件。具有聯(lián)網(wǎng)功能的焊接電源與計算機建立網(wǎng)絡(luò)通信后,就可以將其存儲器中的數(shù)據(jù)文件上傳給計算機。焊接電源在焊接過程中會自動記錄下焊接數(shù)據(jù)(實時數(shù)據(jù)),并實時上傳到與之建立了通信連接的計算機中。然而,在野外焊接等特殊情況下,焊接電源產(chǎn)生的焊接數(shù)據(jù)可能無法實時上傳到計算機,就會以文件數(shù)據(jù)(文件包)的形式保存到焊接電源內(nèi)的存儲器中。在焊接電源連接到計算機后,焊接電源就需要將這些記錄了聯(lián)網(wǎng)前的焊接數(shù)據(jù)的文件數(shù)據(jù)(歷史文件)上傳到計算機中。在上傳這些歷史文件的同時,這些焊接電源還可能處于焊接過程中,會實時產(chǎn)生包含實時焊接數(shù)據(jù)的當(dāng)前文件。當(dāng)前文件是焊接電源在一定期間內(nèi)的實時焊接數(shù)據(jù)形成的文件數(shù)據(jù)。因此,在焊接電源端產(chǎn)生了同時上傳,包含歷史文件和當(dāng)前文件的文件數(shù)據(jù)以及實時焊接數(shù)據(jù)這兩類數(shù)據(jù)的需求。在計算機端,需要在優(yōu)先保證實時處理實時焊接數(shù)據(jù)的前提下,快速處理文件數(shù)據(jù)。然而,與計算機連接的上百臺的焊接電源如果都在工作,就會產(chǎn)生大量的實時焊接數(shù)據(jù),占用計算機的大部分資源。如果其中還有幾十臺的焊接電源要請求上傳文件數(shù)據(jù),則計算機只能用余下的少量的資源來處理這些文件數(shù)據(jù),容易造成網(wǎng)絡(luò)抑塞。此外,計算機會同時連接多臺焊接電源,從幾臺到上百臺。在焊機聯(lián)網(wǎng)規(guī)模較小的情況下,前述現(xiàn)有數(shù)據(jù)文件存儲與上傳方法尚能正常運行。在焊機聯(lián)網(wǎng)規(guī)模較大,例如上百臺的情況下,如果由于長時間沒有與計算機通信,每臺焊接電源的存儲器內(nèi)會存儲有大量的歷史文件,這些大量的歷史文件通過局域網(wǎng)上傳至計算機,會導(dǎo)致焊接電源與計算機之間的局域網(wǎng)網(wǎng)絡(luò)阻塞。同時,受限于計算機運算性能,部分焊接電源的文件無法正常接收與處理。為此需要一種能夠提高文件傳送的可靠性的焊接電源與計算機之間的數(shù)據(jù)通信方法。
發(fā)明內(nèi)容
本發(fā)明g在克服上述現(xiàn)有技術(shù)的不足,提供ー種能夠提高文件傳送可靠性的焊接電源與計算機數(shù)據(jù)通信方法。
本發(fā)明的也提供實現(xiàn)上述焊接電源與計算機數(shù)據(jù)通信方法的焊接系統(tǒng)和焊接管理用計算機。本發(fā)明所采用的技術(shù)方案如下ー種焊接電源與計算機數(shù)據(jù)通信方法,該計算機與多臺焊接電源通過網(wǎng)絡(luò)連接,該焊接電源內(nèi)存儲有包含焊接數(shù)據(jù)的文件,其特征在于步驟I :該焊接電源通過上傳請求向該計算機請求上傳文件;步驟2 :該計算機根據(jù)所述上傳請求,進行任務(wù)注冊,在任務(wù)列表中產(chǎn)生任務(wù)記錄,該任務(wù)記錄包含該焊接電源的ID ;步驟3 :該計算機從任務(wù)列表中選擇要執(zhí)行的當(dāng)前任務(wù),根據(jù)該當(dāng)前任務(wù)記錄中 的該焊接電源的ID,向該焊接電源發(fā)出允許上傳的回復(fù);步驟4 :該焊接電源接收到該回復(fù)后,向所述計算機上傳文件;步驟5 :該計算機接收到文件,并判斷是否上傳完畢,如果上傳完畢就進入步驟6 ;如果未上傳完畢就返回等待接收文件;步驟6 :注銷該當(dāng)前任務(wù)記錄。本發(fā)明通過任務(wù)列表,在計算機\數(shù)據(jù)庫端將來自大量焊接電源的文件上傳請求進行排隊,逐批處理,避免了由于大量文件同時上傳而造成的網(wǎng)絡(luò)阻塞,在提高傳送可靠性的同時,也可以保證各個焊接電源的文件都能高質(zhì)量地被傳送到計算機\數(shù)據(jù)庫端,不會出現(xiàn)丟包等問題。而且,因為避免了網(wǎng)絡(luò)阻塞,也就減少了網(wǎng)絡(luò)恢復(fù)帶來的硬件資源成本、時間成本和人力成本。
圖I是本發(fā)明的焊接系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明的任務(wù)狀態(tài)轉(zhuǎn)移圖;圖3是本發(fā)明第一實施例的文件傳送整體流程圖;圖4是本發(fā)明第一實施例的任務(wù)注冊流程圖;圖5是本發(fā)明第一實施例的任務(wù)周期刪除流程圖;圖6是本發(fā)明第一實施例的正常上傳的情況的任務(wù)列表示意圖;圖7是本發(fā)明第一實施例的上傳請求未被響應(yīng)的情況的任務(wù)列表示意圖;圖8是本發(fā)明第一實施例的正常上傳過程中新增請求的情況的任務(wù)列表示意圖;圖9是本發(fā)明第一實施例的上傳過程出現(xiàn)異常的情況的任務(wù)列表示意圖;圖10是本發(fā)明第二實施例的文件傳送整體流程圖;圖11是本發(fā)明第三實施例的任務(wù)注冊流程圖;圖12是本發(fā)明第三實施例的正常上傳的情況的任務(wù)列表示意圖;圖13是本發(fā)明第四實施例的任務(wù)注冊流程圖;圖14是本發(fā)明第四實施例的同一 ID下已存在記錄的情況的任務(wù)列表示意圖。
具體實施例方式如圖I所示,本發(fā)明應(yīng)用于有多臺,例如上百臺焊接電源50連接到計算機60和數(shù)據(jù)庫70的焊接系統(tǒng)。每臺焊接電源50與計算機60以及計算機60與數(shù)據(jù)庫70之間可以進行數(shù)據(jù)通信。在本實施例中,計算機60具有用于存儲文件的序列號的序列號存儲器2a、用于存儲文件的文件存儲器2b以及用于存儲所述任務(wù)列表的任務(wù)列表存儲器2c。每臺焊接電源50在接通電源后,就與計算機60之間建立通信連接,例如TCP連接。無論是焊接電源50在焊接過程中產(chǎn)生的實時數(shù)據(jù)還是歷史文件,都是通過同一個TCP連接進行數(shù)據(jù)的發(fā)送。計算機60通過數(shù)據(jù)包的包頭不同來識別出是實時數(shù)據(jù)還是歷史文件。對于實時數(shù)據(jù)則實時處理,對于歷史文件則按照后文所述步驟,在任務(wù)列表中排隊處理。歷史文件是以歷史文件或當(dāng)前文件這樣的文件的形式進行傳送;實時數(shù)據(jù)則是以數(shù)據(jù)的形式進行傳送。焊接電源50與計算機60之間進行傳送時,采用3種包頭。第一種是焊接電源50向計算機60請求上傳文件時使用的上傳請求中包含的包頭(上傳請求包頭)。第二種是實時數(shù)據(jù)上傳包頭。焊接電源50毎秒鐘產(chǎn)生新的實時數(shù)據(jù)時,會及時向計算機60上傳該實時數(shù)據(jù)。在上傳實時數(shù)據(jù)時就會使用實用上傳包頭。第三種是文件上傳包頭。焊接電源50每3分鐘將在此期間內(nèi)產(chǎn)生的實時數(shù)據(jù),以文件包(當(dāng)前文件)的形式上傳到計算機60。如果當(dāng)前文件上傳受限,例如是未聯(lián)網(wǎng)情況下的焊接,或者是網(wǎng)絡(luò)突然中斷,這些當(dāng)前文件就會作為歷史文件存儲在焊接電源50中,在網(wǎng)絡(luò)正常時才由焊接電源50重新上傳。上傳文件包,無論是當(dāng)前文件還是歷史文件,都使用文件上傳包頭。通過區(qū)分這三種文件包的包頭,計算機60就能獲知焊接電源50的指令類型,是上傳實時數(shù)據(jù),還是請求上傳,或者是上傳文件。相應(yīng)的,計算機60進行實時數(shù)據(jù)的實時處理,或者任務(wù)注冊處理,或者接收文件的處理。焊接電源的焊接數(shù)據(jù)文件按時間形成數(shù)據(jù)文件格式,例如每三分鐘(文件產(chǎn)生周期)生成ー個XXX. dat格式的數(shù)據(jù)文件(文件包),存儲在焊機內(nèi)部的存儲器中,例如SD卡或Flash芯片。無論焊接電源與計算機是否聯(lián)網(wǎng)通信,數(shù)據(jù)文件均按時間依次生成,每個文件的文件名為其序列號,例如十六進制格式的00001A. dat。數(shù)據(jù)庫70采用Oracle、SQL Server、MySQL等常用數(shù)據(jù)庫軟件。計算機60在開始運行數(shù)據(jù)接收軟件時在數(shù)據(jù)庫中創(chuàng)建文件任務(wù)列表,以數(shù)據(jù)表的形式存儲在數(shù)據(jù)庫中。任務(wù)列表字段包括設(shè)備ID號、文件數(shù)量、任務(wù)注冊時間、任務(wù)執(zhí)行時間。根據(jù)需要,任務(wù)列表的字段也可以包括任務(wù)狀態(tài),其作用在后文說明。如果計算機60的資源足夠,本發(fā)明也可以不用単獨的數(shù)據(jù)庫,而由計算機60取代數(shù)據(jù)庫的功能。設(shè)備ID號是分配給各個焊接電源的ID,每個焊接電源分配有唯一的ID。文件數(shù)量表示該焊接電源中等待上傳的文件個數(shù),其值可以是焊接電源的當(dāng)前最新文件包(簡稱當(dāng)前文件)的序列號,也可以是該焊接電源的當(dāng)前文件的序列號與第一個未上傳文件的序列號之差。在本實施例中采用的是第一種方案。由干“文件數(shù)量”的值是當(dāng)前文件的序列號(SRlast),且計算機60端每次都保存接收到的焊接電源的當(dāng)前文件的序列號(SR),這樣計算機60能夠自動從其已保存的文件(序列號為SR)之后的文件(序列號 為SR+1)開始接收新文件,直到接收到當(dāng)前文件(序列號為SRlast)。任務(wù)注冊時間是在計算機60收到焊接電源50的請求發(fā)送文件數(shù)據(jù)的請求時,進行任務(wù)注冊的時間。任務(wù)執(zhí)行時間是最近一次計算機60收到并存儲來自焊接電源50的文件包的時間。在計算機60收到來自焊接電源50的上傳請求時,任務(wù)執(zhí)行時間的賦值與注冊時間的值相等。之后,計算機60每收到一個文件包就更新一次任務(wù)執(zhí)行時間,并保持注冊時間不變。在本實施例中,如果任務(wù)注冊時間與任務(wù)執(zhí)行時間相等,則說明該任務(wù)未被響應(yīng);如果執(zhí)行時間大于注冊時間,則說明該任務(wù)正在處理中。當(dāng)然,如果任務(wù)列表中設(shè)置有“任務(wù)狀態(tài)”字段,則可以根據(jù)該字段的值來表明該任務(wù)處于未被響應(yīng)、正在處理等狀態(tài)。當(dāng)然,如果任務(wù)列表中有“任務(wù)狀態(tài)”字段,則可以利用“任務(wù)狀態(tài)”的值來表明當(dāng)前任務(wù)的處理狀態(tài),是未被響應(yīng),還是正在處理等狀態(tài)。焊接電源任務(wù)狀態(tài)表示焊接電源上傳文件過程所處的狀態(tài)。如圖2所示,焊接電源任務(wù)狀態(tài)分為三類(此處定義為A、B、C類)。A類為焊接電源50上傳任務(wù)申請后暫未獲得許可的狀態(tài)(未被響應(yīng)狀態(tài)),B類為計算機60已經(jīng)向焊接電源50回復(fù)“允許發(fā)送”但焊接電源50暫未上傳數(shù)據(jù)文件的狀態(tài),C類為焊接電源50收到許可后正在上傳數(shù)據(jù)文件、的狀態(tài)(正在處理)。每個任務(wù)的生命周期將遵從A類-B類-C類的變化趨勢。在焊接電源上傳其所有數(shù)據(jù)文件后,C類任務(wù)狀態(tài)回歸到等待狀態(tài)。<第一實施例>圖3表示了本發(fā)明第一實施例的整體流程圖。第一實施例的焊接電源與計算機之間進行數(shù)據(jù)通信的方法包括以下步驟。步驟I :焊接電源請求發(fā)送文件數(shù)據(jù)(任務(wù)請求)。在本實施中,只要焊接電源50連接到網(wǎng)絡(luò),就周期性地向計算機60請求上傳文件數(shù)據(jù)(文件包)。在本實施例中將請求周期設(shè)置為與焊接電源產(chǎn)生文件的文件產(chǎn)生周期相同,都是3分鐘??梢岳斫?,也可以根據(jù)實際情況將請求周期設(shè)置為文件產(chǎn)生周期的倍長。如果在3分鐘內(nèi),收到了計算機60的允許上傳回復(fù),則焊接電源50開始上傳;如果在3分鐘內(nèi)沒有收到計算機60的響應(yīng),則焊接電源50就一直等待,直到3分鐘屆滿重新發(fā)出上傳請求。根據(jù)實際需要,也可以不是周期性地發(fā)出上傳請求,而是在滿足事先設(shè)定的觸發(fā)條件的情況下發(fā)出上傳請求。例如待上傳的文件大小或者數(shù)量達到閾值時才請求上傳;或者是按下某ー按鍵時就請求上傳;或者是檢測到網(wǎng)絡(luò)連接建立時就請求上傳(適于野外焊接機)。例如,焊接電源50在向計算機60請求上傳文件數(shù)據(jù)之前,先判斷是否需要請求發(fā)送文件數(shù)據(jù)。如果焊接電源50的存儲器中的文件數(shù)據(jù)大小達到了閾值則發(fā)出上傳請求;如果沒有則不發(fā)送上傳請求。也可以是判斷焊接電源50的存儲器中的當(dāng)前文件的序列號是否是已請求上傳過的文件序列號,如果是則不發(fā)送上傳請求;如果不是則發(fā)送上傳請求。焊接電源50在請求發(fā)送文件數(shù)據(jù)時,上傳請求指令中包括設(shè)備ID號和文件數(shù)量。文件數(shù)量的值是請求當(dāng)時的最新文件(當(dāng)前文件)的序列號。如果焊接電源50在3分鐘內(nèi)未收到來自計算機60的響應(yīng),則在3分鐘屆滿時重新請求。重新進行上傳請求時,焊接電源50根據(jù)當(dāng)前文件的序列號來重新計算“文件數(shù)量”的值,以包含在此3分鐘內(nèi)新增的文件。換言之,重新進行上傳請求的上傳請求指令中包含的“文件數(shù)量”的值比前一上傳請求的“文件數(shù)量”的值增加I。如果焊接電源50在3分鐘內(nèi)收到了來自計算機60的響應(yīng),則進行文件上傳。如果在上傳途中有當(dāng)前文件產(chǎn)生,則焊接電源產(chǎn)生一個新的上傳請求。步驟2 :計算機進行任務(wù)注冊(任務(wù)注冊)。計算機60收到焊接電源50的上傳請求后,在數(shù)據(jù)庫的任務(wù)列表中產(chǎn)生一條任務(wù)記錄。在該任務(wù)記錄中,任務(wù)注冊時間為計算機60收到該上傳請求的時間;任務(wù)執(zhí)行時間與注冊時間相同。如果有“任務(wù)狀態(tài)”字段,則任務(wù)狀態(tài)設(shè)置為A狀態(tài)(未被響應(yīng))。后文將結(jié)合圖4進行詳細說明。步驟3 :計算機選定任務(wù),并允許上傳(選定上傳焊接電源)。計算機60在任務(wù)列表中選定ー批焊接電源ID不同的任務(wù)記錄后,向該任務(wù)記錄對應(yīng)的焊接電源50發(fā)出允許上傳的回復(fù),在回復(fù)中指示從什么序列號開始上傳。具體而言,計算機60在任務(wù)列表中選定ー批(根據(jù)計算機60的計算能力,在本實施例中設(shè)定為5條)任務(wù)記錄,計算機60根據(jù)選定的任務(wù)記錄中的焊接電源ID,查詢序列號存儲器,可以獲知已接收到的對應(yīng)焊接電源50的文件包序列號(序列號為SR)。在向該焊接電源50回復(fù)的指示中,就通知焊接電源50從下ー個序列號(序列號為SR+1)開始上傳。
計算機60可以根據(jù)多種原則來選定當(dāng)前任務(wù)。例如,可以根據(jù)每條記錄的注冊時間來選定,先注冊先處理。當(dāng)然也可以設(shè)定為,注冊時間在后的優(yōu)先處理,即后注冊先處理。也可以通過在任務(wù)列表中設(shè)定特定的字段,根據(jù)該字段的值來選定當(dāng)前任務(wù)。例如,設(shè)定“優(yōu)先級”字段,焊接電源50在發(fā)送需要優(yōu)先處理的文件之前,在上傳請求中就指定優(yōu)先級為高;計算機60在收到優(yōu)先級高的上傳請求吋,優(yōu)先選定為當(dāng)前任務(wù)進行處理。這種方案適用于有特殊需求的焊接電源,例如長期持續(xù)工作的未聯(lián)網(wǎng)焊接電源,只有短暫的時間用于上傳文件,所以必須優(yōu)先處理來自這些焊接電源的文件。也可以根據(jù)焊接電源的IP地址或者序號來設(shè)定,例如來自特定IP地址或者特定焊接電源序號的任務(wù)記錄優(yōu)先處理,這樣可以對特定的焊接電源的文件進行優(yōu)先處理,以滿足這些特定焊接電源的特殊需求。也可以根據(jù)需要上傳的文件大小(上傳請求中包含的文件數(shù)量的值,與計算機60的序列號存儲器2a中存儲的與該焊接電源對應(yīng)的序列號之差值)來選擇。文件越大,越優(yōu)先處理。這樣可以保證文件包積壓過多的焊接電源得到優(yōu)先處理。步驟4 :焊接電源上傳文件(文件上傳)。步驟5 :計算機判斷選定任務(wù)是否上傳完畢(上傳完畢判斷)。當(dāng)計算機60判斷從焊接電源50接收到的文件包的序列號,與其任務(wù)列表存儲器2c中存儲的當(dāng)前任務(wù)記錄中的“文件數(shù)量”字段的值相等的時候,計算機60就會判斷出任務(wù)上傳完畢,進入步驟6。反之,如果接收到的文件包的序列號與當(dāng)前任務(wù)記錄的“文件數(shù)量”字段的值不等,則判斷為未上傳完畢,正在處理中。此時,計算機60通知焊接電源50繼續(xù)上傳文件包。根據(jù)焊接電源的計算能力,也可以設(shè)計為由焊接電源根據(jù)其存儲的當(dāng)前文件序列號和上傳的文件序列號是否相等,由此來判斷文件包是否上傳完畢。步驟6 :計算機注銷已上傳完畢的當(dāng)前任務(wù)記錄(注銷任務(wù))。當(dāng)計算機60判斷出當(dāng)前任務(wù)的文件包已上傳完畢吋,就會將該當(dāng)前任務(wù)記錄從任務(wù)列表中刪除。通過步驟I到步驟6,計算機60與焊接電源50之間實現(xiàn)了無擁塞的文件上傳,提高了文件傳送的速度和可靠性。在步驟6注銷當(dāng)前任務(wù)記錄之后,還可以增加循環(huán)步驟判斷任務(wù)列表中是否還有任務(wù)記錄,如果任務(wù)列表中還有待執(zhí)行的任務(wù)記錄,則返回步驟3,從任務(wù)列表中選擇需要執(zhí)行的當(dāng)前任務(wù)記錄;如果任務(wù)列表中沒有待執(zhí)行的任務(wù),則結(jié)束。這樣,計算機60就會逐一執(zhí)行任務(wù)列表中的所有任務(wù)記錄。下面結(jié)合圖4任務(wù)注冊流程圖進行說明。計算機60在收到焊接電源50的上傳請求后,按以下步驟進行任務(wù)注冊步驟21 :查詢是否已存在該焊接電源的任務(wù)記錄根據(jù)在焊接電源50的上傳請求指令中的設(shè)備ID號,計算機60在任務(wù)列表中查詢是否已有來自該焊接電源50的記錄(已存記錄),即設(shè)備ID字段的值為焊接電源50的ID 的已存記錄。如果沒有具有相同設(shè)備ID號的任務(wù)記錄,則說明計算機60未收到過該焊接電源50的上傳請求,這是ー個新上傳請求,進入步驟22。如果在任務(wù)列表中已經(jīng)存在具有相同設(shè)備ID號的任務(wù)記錄,則認為已接收過該焊接電源50的上傳請求,進入步驟23。步驟22 :將新上傳請求添加到任務(wù)列表中對于計算機60未收到過的上傳請求,計算機60會將其添加到任務(wù)列表。計算機60對該任務(wù)記錄中的“注冊時間”賦值為當(dāng)前時間;對“執(zhí)行時間”賦值為當(dāng)前時間;對“任務(wù)狀態(tài)”賦值A(chǔ)狀態(tài);根據(jù)來自焊接電源50的上傳請求中的“文件數(shù)量”的值,對“文件數(shù)量”賦值。這樣就増加了一條新任務(wù)記錄。步驟23 :判斷已存記錄是否已被響應(yīng)在步驟21中,根據(jù)上傳請求中的設(shè)備ID查詢到已存記錄的情況下,計算機60在步驟23中判斷該已存記錄的注冊時間與執(zhí)行時間是否相等。如果注冊時間與執(zhí)行時間相等,則說明該已存記錄,雖然該任務(wù)已被注冊,但是仍未被計算機60響應(yīng),一直處于等待計算機60處理的狀態(tài),進入步驟24。當(dāng)然,如果任務(wù)列表中設(shè)置了 “任務(wù)狀態(tài)”,則根據(jù)“任務(wù)狀態(tài)”的值是否是A,就可以判斷該任務(wù)是否已被響應(yīng)。如果注冊時間與執(zhí)行時間不相等,則說明該已存記錄正在處理中(對應(yīng)焊接電源狀態(tài)B或C)中,進入步驟25。步驟24 :更新等待處理的已存記錄的內(nèi)容針對在步驟23中判斷為未被響應(yīng)的已存記錄,計算機60根據(jù)當(dāng)前收到的具有相同ID的上傳請求的內(nèi)容,更新已存記錄的內(nèi)容,而不是為當(dāng)前的上傳請求產(chǎn)生新記錄,這樣可以避免產(chǎn)生包含重復(fù)內(nèi)容的多條任務(wù)記錄。更新的內(nèi)容具體是將已存記錄中的“文件數(shù)量”的值更新為當(dāng)前上傳請求中的“文件數(shù)量”的值;將已存記錄中的“注冊時間”和“執(zhí)行時間”分別更新為當(dāng)前時間。更新后的已存記錄就在任務(wù)列表中排隊,等待計算機60的處理。如果在一定時間內(nèi)(本實施例中為6分鐘,兩個請求周期的長度)一直未處理,則會被系統(tǒng)自動刪除。然后,下一個請求周期到來吋,焊接電源50又會重新發(fā)出上傳請求,計算機60進入步驟21。然而,本領(lǐng)域普通技術(shù)人員可以理解,“更新等待處理的已存記錄的內(nèi)容”的步驟,也可以是重新生成一條記錄,在一個刪除周期內(nèi)同時保持兩條記錄,直到系統(tǒng)時間與第一條已存記錄中的執(zhí)行時間之間的差值達到10分鐘(設(shè)定的刪除周期),才將第一條已存記錄從任務(wù)列表中刪除。步驟25 :判斷上傳是否異常在步驟23中判斷已存記錄正在處理中,則進ー步根據(jù)當(dāng)前時間和執(zhí)行時間,來判斷該已存記錄的任務(wù)處理是否出現(xiàn)上傳異常。
如果系統(tǒng)的當(dāng)前時間與當(dāng)前任務(wù)記錄的執(zhí)行時間之差,大于或等于正常執(zhí)行時間,則說明該項任務(wù)的執(zhí)行出現(xiàn)異常,不再需要等待,進入步驟26;如果小于正常執(zhí)行時間,則說明該項任務(wù)處于正常傳送中,進入步驟27。該正常執(zhí)行時間是根據(jù)計算機60的運行時間來設(shè)定的,正常執(zhí)行時間大于或等于計算機60處理一次上傳的所有文件包所需的時間就可以。在本實施例中設(shè)定為5秒。步驟26 :刪除已存記錄,轉(zhuǎn)入步驟27既然在步驟25 中已判斷出已存記錄的任務(wù)處理出現(xiàn)異常,可能已經(jīng)中斷,成為“死任務(wù)”,那么在步驟26中就直接刪除該已存記錄。這樣可以避免在任務(wù)列表中保留“死任務(wù)”。步驟27:建立新任務(wù)記錄既然在步驟25中已判斷出已存記錄的任務(wù)處理正常,那么在步驟27中就根據(jù)步驟21中接收到的當(dāng)前上傳請求中的“文件數(shù)量”(最新文件序列號)來生成新的任務(wù)記錄。針對在步驟25中已判斷出已存記錄出現(xiàn)上傳異常的情況,根據(jù)步驟21中接收到的當(dāng)前上傳請求,計算機60在任務(wù)列表中為該焊接電源50生成新的任務(wù)記錄。這樣,雖然前述已存記錄中由于異常而未上傳的文件,可以通過這條新的任務(wù)記錄來上傳。因為計算機60保存有已上傳的文件的序列號,它可以根據(jù)步驟21中的當(dāng)前上傳請求中的“文件數(shù)量”(最新文件序列號)來自動獲知哪些文件需要上傳。并不因為任務(wù)異常而導(dǎo)致文件無法上傳。因為在已存記錄的任務(wù)正常處理完畢后,計算機60會保存已上傳的文件的序列號。它在執(zhí)行步驟27中生成的新的任務(wù)記錄時,會自動從已上傳過的文件之后的文件來接收新文件,不會造成重復(fù)上傳。上述說明中利用步驟21 27實現(xiàn)了任務(wù)注冊。但是可以理解,在不考慮上傳出現(xiàn)異常的情況下,步驟25到步驟26是可以省略的步驟,可以在步驟23中,判斷所述焊接電源的任務(wù)記錄是否被響應(yīng),如果沒有被響應(yīng),則更新所述焊接電源的任務(wù)記錄的內(nèi)容(參考步驟24);如果已被響應(yīng),則建立所述焊接電源的新任務(wù)記錄(參考步驟27)。這樣,在步驟21 23中就完成了任務(wù)注冊。上面具體介紹了任務(wù)注冊的流程。計算機60還可以増加周期刪除的步驟,以避免這樣的情況在出現(xiàn)任務(wù)執(zhí)行異常的時候,由于焊接電源突然故障而長期不重新發(fā)送新的上傳請求(由于沒有新的上傳請求,計算機也不會進入到步驟21 步驟26進行刪除),導(dǎo)致該項異常任務(wù)長期占用資源。同時,也可以避免任務(wù)列表過長。周期刪除的步驟如圖5所示。計算機60定期刪除超期任務(wù)記錄。刪除周期設(shè)定為比焊接電源文件上傳的請求周期更長的周期,在本實施例中設(shè)定為10分鐘。在每個刪除周期內(nèi),計算機60執(zhí)行一次任務(wù)注銷的操作。計算機60讀取任務(wù)列表,比較系統(tǒng)當(dāng)前時間與每條記錄的執(zhí)行時間的差值是否大于刪除周期。如果大于或等于刪除周期,則將該記錄刪除;如果小于刪除周期,則保留該記錄。下面結(jié)合圖6到圖9,具體說明每種情況下任務(wù)列表的內(nèi)容。在圖6到圖9中,將在焊接電源50開始正常聯(lián)網(wǎng)的時刻之前,焊接電源50已存儲的未上傳的文件,表示為歷史文件;將正常聯(lián)網(wǎng)時刻之后焊接過程中不斷產(chǎn)生的當(dāng)前文件,表示為“新文件”,以區(qū)別于正常聯(lián)網(wǎng)之前的歷史文件。嚴格意義上說,新文件中,除了最后ー個文件是當(dāng)前文件之外,其余的當(dāng)前文件也屬于歷史文件。圖6到圖9這樣表示是為了形象地顯示出,在聯(lián)網(wǎng)之前的文件,如何與不斷產(chǎn)生的當(dāng)前文件一起被傳送到計算機60中。可以理解,也可以將圖6到圖9中的最后ー個文件作為當(dāng)前文件,之前的文件都作為歷史文件。圖6表示了焊接電源50正常傳送文件的情況。在此情況下,焊接電源50會在第I請求周期的起始時刻(當(dāng)然,也可以是在結(jié)束時刻),向計算機60發(fā)出上傳請求(在圖6中表示為①請求上傳101)。此上傳請求包含最新文件序列號101,其中假設(shè)I到100是歷史文件,101是表示在上一個請求周期(即,文件產(chǎn)生周期,時長為3分鐘)中產(chǎn)生的包含實時數(shù)據(jù)的當(dāng)前文件。計算機60端收到焊接電源50的請求(101)后,在任務(wù)列表中產(chǎn)生新的記錄,即在圖6中①所在的那行記錄(以下稱為記錄①)。記錄①的第一字段值為焊接電源50的 ID(在本實施例中為I);文件數(shù)量字段值為當(dāng)前文件的序列號“ 101”,注冊時間字段值為當(dāng)前系統(tǒng)時間“T10”,執(zhí)行時間字段值同樣為“T10”(即,注冊時間與執(zhí)行時間相同,表示此記錄未被響應(yīng))。然后,計算機60向焊接電源50發(fā)送允許上傳的回復(fù)(②允許上傳),告訴焊接電源50從序列號為I的文件包開始上傳。焊接電源50接收到允許上傳的回復(fù)后,向計算機60上傳文件。在此假設(shè)一次只能上傳40個文件包(這是根據(jù)焊接電源和計算機的硬件配置和運行能力決定的)。因此,焊接電源50向計算機60上傳序列號為O 40的文件包(圖6中表示為③上傳I 40)。計算機60收到I 40文件包后,更新記錄①中的執(zhí)行時間為“T11”,得到記錄③。然后,焊接電源50再上傳41 80的文件包(圖6中表示為④上傳41 80),計算機60相應(yīng)更新記錄③中的執(zhí)行時間為“T12”,得到記錄④。最后焊接電源50上傳余下的文件包,序列號為81 101的文件包(圖6中表示為⑤上傳81 101)。計算機60相應(yīng)更新記錄④中的執(zhí)行時間為“T13”,到得記錄⑤。此時,計算機60檢測到接收到的文件包中,包含序列號為101的文件包,與任務(wù)記錄中的“文件數(shù)量”的值相等,則注銷該任務(wù)101。等到第2請求周期(第二個3分鐘)開始,焊接電源50發(fā)送請求,請求上傳序列號為102的文件包。類似的,計算機60會生成新記錄(圖6中表示為記錄⑥),并回復(fù)允許上傳文件包102。焊接電源50接收到回復(fù)后,上傳文件包102。計算機60接收到文件包102后,修改記錄⑥中的執(zhí)行時間為當(dāng)前系統(tǒng)時間“T14”,得到記錄⑧。之后,計算機60根據(jù)記錄⑥中的文件數(shù)量的值,以及接收到的文件包102的序列號,判斷出文件數(shù)據(jù)上傳完畢,于是注銷任務(wù)102。當(dāng)然,也可以在接收到文件包102后,直接注銷任務(wù)102,而不需要更新記錄⑥得到記錄⑧這個步驟。然后,進入第3請求周期,焊接電源50和計算機60進行類似處理。下面介紹說明重新請求的情況。在圖7中,焊接電源50發(fā)送請求(201),計算機60產(chǎn)生記錄①。在整個第I請求周期內(nèi),計算機60并未向焊接電源50發(fā)送允許上傳的回復(fù)。直到進入第2請求周期,焊接電源50產(chǎn)生當(dāng)前文件202,與文件201 —起作為新文件,等待發(fā)送。焊接電源50在第2請求周期發(fā)出上傳請求202。此時,計算機60在接收到上傳請求202之后,查詢到任務(wù)列表中已存在來自同一焊接電源50 (ID為I)的任務(wù)記錄①(已存記錄),并判斷出記錄①中的注冊■時間和執(zhí)行時間相等(這表示該項任務(wù)未被響應(yīng))。于是,計算機60更新記錄①的內(nèi)容,將文件數(shù)量更新為上傳請求202中包含的當(dāng)前文件序列號202,將注冊時間和執(zhí)行時間分別更新為當(dāng)前系統(tǒng)時間T20P,成為記錄②。然后,計算機60發(fā)出允許上傳151的回復(fù)。焊接電源50接收到回復(fù)后,開始上傳序列號為151 190文件包。計算機60收到151 190文件包后,更新記錄②中的執(zhí)行時間,成為記錄④。然后,焊接電源50發(fā)送序列號為191 202的文件包,計算機60收到后,更新記錄④的執(zhí)行時間,成為記錄⑤。最后注銷任務(wù)202。下面結(jié)合圖8說明正常上傳過程中新增請求的情況。在第I請求周期中,焊接電源50正常上傳了文件包251 290,計算機60生成了 記錄③。此時,由于網(wǎng)絡(luò)斷開、斷電或者焊接電源50本身故障等特殊原因,上傳中止了?;蛘撸捎诤附与娫?0上傳文件包251 290后就進入了第2請求周期,隨即產(chǎn)生了新文件中的當(dāng)前文件302,需要請求上傳(當(dāng)前文件的序列號302)。計算機60收到上傳請求302后,在任務(wù)列表中查詢到已存在相同ID的記錄,即任務(wù)301 (記錄③)。進ー步判斷出任務(wù)301的注冊時間和執(zhí)行時間不一致,并且兩者之差值小于正常執(zhí)行時間5秒(本實施例中設(shè)定的正常處理一條任務(wù)的最大處理時間);屬于正在處理的任務(wù)。此時,計算機60根據(jù)上傳請求302,新增一條記錄302 (注冊時間和執(zhí)行時間是當(dāng)前系統(tǒng)時間T30P),而不是更新任務(wù)記錄301。換言之,如圖8中的記錄④所示,任務(wù)列表中此時有兩條ID為I的任務(wù)記錄,分別是任務(wù)記錄301和任務(wù)記錄302。于是,通過查詢序列號存儲器2a獲知已收到序列號為290的文件包,在運行資源允許的情況下,計算機60就向焊接電源50發(fā)出允許上傳291的回復(fù)。焊接電源50收到回復(fù)后,從291開始上傳。但是,此時是繼續(xù)執(zhí)行任務(wù)記錄301,所以焊接電源50只上傳到序列號為301為止的文件包,而不上傳序列號為302的文件包。計算機60收到序列號為301的文件包之后,判斷出任務(wù)記錄301上傳完畢,就注銷任務(wù)記錄301。然后,計算機60在任務(wù)列表中重新選擇當(dāng)前任務(wù)。如果選擇到同一 ID(ID為I)的任務(wù)302,則向焊接電源50發(fā)出允許上傳302的回復(fù)。焊接電源50在上傳序列號為301的文件包之后,如果收到計算機60的允許上傳302的回復(fù),則開始上傳序列號為302的文件包。計算機60接收到文件包302之后,注銷任務(wù) 302。這樣ID為I的任務(wù)處理完畢,計算機60重新從任務(wù)列表中選擇當(dāng)前任務(wù)進行處理。下面結(jié)合圖9說明文件包傳送出現(xiàn)異常情況下的處理。
在第I請求周期,焊接電源50與計算機60之間進行正常傳送,但是只是上傳了一部分文件包。即,請求上傳序列號為301的文件包,實際只上傳到序列號為290的文件包。此時,出現(xiàn)網(wǎng)絡(luò)異常,焊接電源50在第2請求周期請求上傳文件包302。計算機60按照圖8所述流程,新增任務(wù)記錄302。之后,在整個第2請求周期焊接電源50未接收到計算機60的回復(fù)。進入第3請求周期后,焊接電源50產(chǎn)生了當(dāng)前文件303,井向計算機60請求上傳
303。計算機60仍然只是在任務(wù)列表中新增任務(wù)記錄303,未向焊接電源50發(fā)出回復(fù)。
這時刪除周期屆滿,計算機60對任務(wù)列表中所有記錄進行掃描,找出滿足刪除條件的記錄,并刪除這些記錄。本實施例中的刪除條件是,當(dāng)前系統(tǒng)時間與記錄中的執(zhí)行時間的值的差值大于刪除周期。本實施例中,設(shè)定刪除周期是大于等于ニ個請求周期,即大于等于6分鐘,當(dāng)然也可以根據(jù)實際情況設(shè)定為不同的值,例如10分鐘,或者9分鐘。因此,在圖9中,任務(wù)記錄301的執(zhí)行時間一直保持為T31,當(dāng)前系統(tǒng)時間與T31的差值已達到刪除周期6分鐘,因 此,計算機60刪除異常任務(wù)301。任務(wù)302和任務(wù)303不滿足刪除條件,則保留。進入第4請求周期吋,焊接電源50產(chǎn)生當(dāng)前文件304,請向計算機60請求上傳
304。計算機60在任務(wù)列表中新增任務(wù)記錄304(在圖9中用記錄⑥表示)。由于此時網(wǎng)絡(luò)已恢復(fù)正常,計算機60從任務(wù)列表中已存記錄302、303和304中選擇開始處理的當(dāng)前任務(wù)。在本實施例中,計算機60根據(jù)注冊時間的先后,從任務(wù)列表的所有任務(wù)中選擇任務(wù)302為當(dāng)前任務(wù)。計算機60向焊接電源50發(fā)出允許上傳291的回復(fù)。于是,焊接電源50開始正常上傳291 302。計算機60收到序列號為302的文件包后,判斷出任務(wù)302完成,注銷任務(wù)302。然后再從任務(wù)列表的所有任務(wù)中選擇新的任務(wù),逐漸完成所有任務(wù),包括任務(wù)303和304,并注銷。在第一實施例,計算機60的任務(wù)列表中,同一 ID(同一焊接電源)可能存在多條任務(wù)記錄,計算機60將這些同一 ID的任務(wù)記錄同其他ID的任務(wù)記錄混在一起,按照各條任務(wù)記錄的注冊時間先后或優(yōu)先級等排序并選定當(dāng)前任務(wù),逐一執(zhí)行。由于同一 ID的各條任務(wù)記錄存在包含關(guān)系,即注冊在后的任務(wù)記錄中的文件數(shù)量的值,一定不小于注冊在前的任務(wù)記錄的文件數(shù)量的值。如果采用注冊時間先后來排隊的話,計算機60會優(yōu)先執(zhí)行注冊在前的任務(wù)記錄,即文件數(shù)量的值較小的任務(wù)記錄;然后計算機60才會執(zhí)行注冊在后的文件數(shù)量值較大的任務(wù)記錄。如果計算機60優(yōu)先執(zhí)行同一ID的注冊在后的任務(wù)記錄,就可以一次性完成在注冊在后的任務(wù)記錄之前的同一 ID的所有任務(wù)記錄??梢?,在第一實施例中由于選擇當(dāng)前任務(wù)的方式不同,可能會造成原本可以一次執(zhí)行完畢的任務(wù),被分成兩次來執(zhí)行,從而減低了執(zhí)行效率。〈第二實施例〉為簡明起見,以下僅說明第二實施例中與第一實施例不同的方面。如圖10所示,計算機60如第一實施例的步驟2那樣進行任務(wù)注冊后,在步驟3a從同一 ID的所有記錄中判斷出注冊在后的記錄,選擇該注冊在后的記錄為當(dāng)前任務(wù),進行處理。如第一實施例所述,在步驟2的任務(wù)注冊可能為同一 ID產(chǎn)生多個記錄。計算機60在選擇當(dāng)前任務(wù)時,比較同一 ID的各條記錄的注冊時間或者文件數(shù)量,注冊時間在后或者文件數(shù)量最大的記錄,被計算機60選擇為當(dāng)前任務(wù)進行處理。同時,由于注冊在后的記錄包含了注冊時間在前的記錄的文件序列號,計算機60執(zhí)行了注冊在后的任務(wù),就不再需要執(zhí)行其他注冊時間在前的任務(wù)。因此在選定注冊在后的記錄為當(dāng)前任務(wù)之后,計算機60在步驟3a刪除該ID下的其他注冊時間在前的任務(wù)?;蛘?,在執(zhí)行完畢該注冊時間在后的任務(wù)之后,計算機60刪除該ID的所有記錄(因為注冊時間在后的任務(wù)已執(zhí)行完畢,也就一同被刪除)。在第二實施例中,在任務(wù)列表上會顯示出某一 ID下積壓的任務(wù)多少,計算機60在選擇任務(wù)記錄時,可以根據(jù)每個ID下積壓的任務(wù)記錄數(shù)量來選擇ID,然后再從該ID下的所有任務(wù)中選擇注冊時間在后的記錄為當(dāng)前任務(wù)。這樣,可以優(yōu)先處理積壓任務(wù)較多的焊接電源的任務(wù),或者為積壓任務(wù)較多的焊接電源分配更多的資源。優(yōu)先允許積壓任務(wù)較多的焊接電源上傳文件,能夠保證缺失較多的焊接電源的歷史文件數(shù)據(jù)優(yōu)先上傳至計算機,這樣保證歷史文件報表較快的實現(xiàn)數(shù)據(jù)的完整。 〈第三實施例〉為簡明起見,以下僅說明第三實施例中與第一實施例不同的方面。圖11和圖12表示了,與第一實施例中的注冊任務(wù)流程2不同的注冊任務(wù)流程2a。在步驟25a中,對于已被響應(yīng)的,即正在處理的記錄,判斷是否出現(xiàn)上傳異常。如果有異常,則刪除已存在的記錄,井新增當(dāng)前的上傳請求到任務(wù)列表中。如果沒有異常,則更新該已存在的記錄的內(nèi)容,而不是新增記錄。具體如圖12所示,假設(shè)計算機60的任務(wù)列表中已存在ID為I和2的兩條任務(wù)記錄。其中,ID = I的任務(wù)記錄的文件數(shù)量為300,注冊時間和執(zhí)行時間分別為T30,即處于未被響應(yīng)狀態(tài)。此時進入第I請求周期,計算機60收到來自焊接電源50 (ID = I)上傳請求301。于是,計算機60在任務(wù)列表中查詢ID = I的任務(wù)記錄。由于ID = I的任務(wù)記錄(任務(wù)記錄300)處于未被響應(yīng)狀態(tài),進入步驟24,計算機60更新任務(wù)記錄300的內(nèi)容將文件數(shù)量更新為301,將注冊時間和執(zhí)行時間分別更新為T30P。這樣,任務(wù)列表中仍然是2條記錄,其中ID為I的任務(wù)記錄被更新為記錄301。在計算機60收到焊接電源50上傳的251 290文件包時,其更新記錄301的執(zhí)行時間為T31,表示該記錄已是處理中的狀態(tài)。然后進入第2請求周期,計算機60收到來自焊接電源50的上傳請求302。計算機60根據(jù)步驟25a中的判斷得知,ID = I的任務(wù)記錄301處于正常傳送狀態(tài)(當(dāng)前系統(tǒng)時間與執(zhí)行時間之差小于正常執(zhí)行時間),于是更新任務(wù)記錄301的內(nèi)容將文件數(shù)量更新為302,將注冊時間和執(zhí)行時間分別更新為當(dāng)前系統(tǒng)時間T30Q。焊接電源50上傳291 302文件包,完成任務(wù)302。計算機60注銷任務(wù)302。由此可見,在第三實施例中,對于未被響應(yīng)的任務(wù)以及正常傳送的任務(wù),都是在出現(xiàn)新的上傳請求時,根據(jù)新的上傳請求的內(nèi)容來更新未被響應(yīng)的任務(wù)記錄以及正常傳送的任務(wù)記錄的內(nèi)容。對于傳送異常的任務(wù),則是在出現(xiàn)新的上傳請求吋,刪除該上傳異常的任務(wù)記錄,并根據(jù)新的上傳請求的內(nèi)容來新增一條任務(wù)記錄。由此在任務(wù)列表中保持同一 ID下只有一條記錄。由于同一 ID下只有一條記錄,第三實施例比第一實施例的任務(wù)列表短,查詢效率高。但是,因為對正常傳送的任務(wù)記錄也采用更新的方式(而不是第一實施例中的新增任務(wù)記錄的方式),會造成在任務(wù)處理過程中來更新任務(wù)記錄的文件數(shù)量的值。與第一實施例相比,第三實施例任務(wù)列表的信息量要少ー些,例如第一實施例中某個ID的焊接電源的任務(wù)條數(shù)能夠體現(xiàn)出該ID焊接電源自第一次任務(wù)注冊后已經(jīng)等待了多長時間,而在第三實施例中無法體現(xiàn)這一點,這會使得計算機激活任務(wù)列表的策略會少ー些。
〈第四實施例〉在圖13中表示了第四實施例的不同于第一實施例的任務(wù)注冊流程2b。在步驟21中,當(dāng)計算機60收到焊接電源50的新的上傳請求,計算機60判斷同一ID下是否已經(jīng) 存在任務(wù)記錄。沒有該ID下的任務(wù)記錄,則為該ID新增一條任務(wù)記錄(步驟22);如果已經(jīng)存在該ID的任務(wù)記錄,則更新該已存在的任務(wù)記錄的內(nèi)容(步驟23b)。通過第四實施例的任務(wù)注冊步驟2b,可以實現(xiàn)在任務(wù)列表中,同一 ID始終只有一條任務(wù)記錄。計算機60在選擇當(dāng)前任務(wù)時,可以根據(jù)ID的優(yōu)先級別而優(yōu)先處理某些特殊要求的焊接電源(例如,特定區(qū)域的焊接電源)的任務(wù);也可以根據(jù)待上傳文件包的數(shù)量來選擇待上傳文件包數(shù)量最少或最多(例如,任務(wù)記錄中的“文件數(shù)量”的值與文件包存儲器中存儲的已收到的文件包序列號之差值,差值越大說明待上傳文件包的數(shù)量越多)的焊接電源的任務(wù)。具體如圖14所示,假設(shè)計算機60的任務(wù)列表中已存在ID為I和2的兩條任務(wù)記錄。其中,ID = I的任務(wù)記錄的文件數(shù)量為300,注冊時間和執(zhí)行時間分別為T30,即處于未被響應(yīng)狀態(tài)。此時進入第I請求周期,計算機60收到來自焊接電源50 (ID = I)上傳請求301。于是,計算機60在任務(wù)列表中查詢ID = I的任務(wù)記錄。由于ID = I的任務(wù)記錄(任務(wù)記錄300)處于未被響應(yīng)狀態(tài),進入步驟23b,計算機60更新任務(wù)記錄300的內(nèi)容將文件數(shù)量更新為301,將注冊時間和執(zhí)行時間分別更新為T30P。這樣,任務(wù)列表中仍然是2條記錄,其中ID為I的任務(wù)記錄被更新為任務(wù)301 (記錄①)。在計算機60收到焊接電源50上傳的251 290文件包時,其更新任務(wù)301的執(zhí)行時間為T31,表示該記錄已是處理中的狀態(tài)。然后進入第2請求周期,計算機60收到來自焊接電源50的上傳請求302。計算機60在任務(wù)列表中查詢ID = I的任務(wù)記錄,于是更新任務(wù)301的內(nèi)容將文件數(shù)量更新為302,將注冊時間和執(zhí)行時間分別更新為當(dāng)前系統(tǒng)時間T30Q,得到記錄④。焊接電源50上傳291 302文件包,完成任務(wù)302。計算機60注銷任務(wù)302。由此可見,第四實施例與第三實施例的不同點在于,對于未被響應(yīng)的任務(wù)、正常傳送的任務(wù)以及傳送異常的任務(wù),都是在出現(xiàn)新的上傳請求時,根據(jù)新的上傳請求的內(nèi)容來更新該記錄的內(nèi)容。第四實施例優(yōu)點在于計算機中的任務(wù)記錄條數(shù)與焊機數(shù)量相等,毎次處理新的任務(wù)請求時只需更新現(xiàn)有ID對應(yīng)的任務(wù)記錄,算法實現(xiàn)簡單,但由于任務(wù)記錄無法體現(xiàn)該焊接電源第一次申請任務(wù)注冊的時間,也無法體現(xiàn)該焊接電源是否已經(jīng)關(guān)機或網(wǎng)絡(luò)中斷。當(dāng)然,作為第四實施例的變形例,對于未被響應(yīng)的任務(wù)、正常傳送的任務(wù)以及傳送異常的任務(wù),也可以是在出現(xiàn)新的上傳請求時,將已存在的同一 ID下的記錄刪除,并且根據(jù)新的上傳請求的內(nèi)容來建立新記錄。以上,已參照詳細或特定的實施方式,對本發(fā)明進行了說明,但本領(lǐng)域技術(shù)人員理解可以在不脫離本發(fā)明的精神與范圍的前提下進行各種變更及修正。
權(quán)利要求
1.一種焊接電源與計算機之間進行數(shù)據(jù)通信的方法,該計算機與多臺焊接電源通過網(wǎng)絡(luò)分別連接,該焊接電源內(nèi)存儲有包含焊接數(shù)據(jù)的文件,包括以下步驟 任務(wù)請求步驟該焊接電源通過上傳請求向該計算機請求上傳文件; 任務(wù)注冊步驟該計算機根據(jù)該上傳請求,進行任務(wù)注冊,在任務(wù)列表中產(chǎn)生任務(wù)記錄,該任務(wù)記錄包含該焊接電源的ID ; 選定上傳焊接電源步驟該計算機從該任務(wù)列表中選擇要執(zhí)行的當(dāng)前任務(wù)記錄,根據(jù)該當(dāng)前任務(wù)記錄中的該焊接電源的ID,向該焊接電源發(fā)出允許上傳的回復(fù); 文件上傳步驟該焊接電源向該計算機上傳文件; 上傳完畢判斷步驟該計算機接收到該文件,并判斷是否上傳完畢,如果上傳完畢就進入下一步驟;如果未上傳完畢就通知該焊接電源繼續(xù)上傳; 注銷任務(wù)步驟注銷該當(dāng)前任務(wù)記錄。
2.如權(quán)利要求I所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 所述文件分別具有序列號,所述上傳請求中包含所述焊接電源的當(dāng)前文件的序列號,所述任務(wù)記錄中還包含該當(dāng)前文件的序列號,該當(dāng)前文件的序列號與所述焊接電源的ID對應(yīng)存儲在所述任務(wù)記錄中。
3.如權(quán)利要求2所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 在所述上傳完畢判斷步驟中,所述計算機接收到的文件包的序列號,如果與所述當(dāng)前任務(wù)記錄中的當(dāng)前文件的序列號相同,則判斷為上傳完畢;如果小于所述當(dāng)前任務(wù)記錄中的當(dāng)前文件的序列號,則判斷為未上傳完畢。
4.如權(quán)利要求I 3中任一項權(quán)利要求所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 所述任務(wù)注冊步驟包括以下步驟 步驟21 :查詢所述任務(wù)列表中是否已存在所述焊接電源的任務(wù)記錄,如果不存在所述焊接電源的任務(wù)記錄,則進入步驟22 ;如果存在所述焊接電源的任務(wù)記錄則進入步驟23 ;步驟22 :將所述上傳請求添加到該任務(wù)列表中; 步驟23 :判斷所述焊接電源的任務(wù)記錄是否被響應(yīng),如果該焊接電源的任務(wù)記錄沒有被響應(yīng),則更新該焊接電源的任務(wù)記錄的內(nèi)容;如果該焊接電源的任務(wù)記錄已被響應(yīng),則將所述上傳請求添加到該任務(wù)列表中。
5.如權(quán)利要求4所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 所述步驟23中,如果判斷出已被響應(yīng),則進入步驟25 :判斷所述焊接電源的任務(wù)記錄是否出現(xiàn)上傳異常; 如果出現(xiàn)上傳異常,則刪除該焊接電源的任務(wù)記錄,并將所述上傳請求添加到該任務(wù)列表中; 如果沒有出現(xiàn)上傳異常,則將該上傳請求添加到該任務(wù)列表中。
6.如權(quán)利要求5所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 所述任務(wù)記錄中還包含注冊時間字段和執(zhí)行時間字段, 在注冊時,該注冊時間字段的值與該執(zhí)行時間字段的值相同; 在所述計算機接收到文件時,就更新該執(zhí)行時間字段的值為當(dāng)前系統(tǒng)時間。
在所述步驟25中判斷是否出現(xiàn)上傳異常是指,當(dāng)前系統(tǒng)時間與所述任務(wù)記錄中的執(zhí)行時間字段的值,兩者之差如果大于正常執(zhí)行時間,則判斷為出現(xiàn)上傳異常;如果小于等于正常執(zhí)行時間,則判斷為沒有出現(xiàn)上傳異常。
7.如權(quán)利要求I 3中任一項權(quán)利要求所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 所述任務(wù)注冊步驟包括以下步驟 步驟21 :查詢所述任務(wù)列表中是否已存在所述焊接電源的任務(wù)記錄,如果沒有,則進入步驟22 ;如果有該焊接電源的任務(wù)記錄則進入步驟23 ; 步驟22 :將所述上傳請求添加到任務(wù)列表中; 步驟23 :判斷所述焊接電源的任務(wù)記錄是否已被響應(yīng),如果該焊接電源的任務(wù)記錄未被響應(yīng),則更新該焊接電源的任務(wù)記錄的內(nèi)容;如果該焊接電源的任務(wù)記錄已被響應(yīng),則進入步驟25a :判斷該焊接電源的任務(wù)記錄是否出現(xiàn)上傳異常; 如果該焊接電源的任務(wù)記錄出現(xiàn)上傳異常,則刪除該焊接電源的任務(wù)記錄,并將該上傳請求添加到任務(wù)列表中;如果該焊接電源的任務(wù)記錄沒有出現(xiàn)上傳異常,則更新該所述焊接電源的任務(wù)記錄的內(nèi)容。
8.如權(quán)利要求I 3中任一項權(quán)利要求所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 所述任務(wù)注冊步驟包括以下步驟 步驟21 :查詢所述任務(wù)列表中是否已存在所述焊接電源的任務(wù)記錄,如果不存在該焊接電源的任務(wù)記錄,則進入步驟22 ;如果存在該焊接電源的任務(wù)記錄則進入步驟23b ; 步驟22 :將所述上傳請求添加到任務(wù)列表中; 步驟23b :根據(jù)該上傳請求的內(nèi)容,對該焊接電源的任務(wù)記錄的內(nèi)容進行更新。
9.如權(quán)利要求4所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法,其特征在于, 在所述選定上傳焊接電源步驟中,所述計算機從所述任務(wù)列表中的同一 ID的所有記錄中,判斷出注冊時間在后的記錄,選擇該注冊時間在后的記錄為所述當(dāng)前任務(wù)記錄;并且刪除該同一 ID下的其他記錄。
10.一種實現(xiàn)權(quán)利要求I所述的焊接電源與計算機之間進行數(shù)據(jù)通信的方法的焊接系統(tǒng)。
11.一種焊接電源與計算機之間進行數(shù)據(jù)通信的方法,該計算機與多臺焊接電源通過網(wǎng)絡(luò)連接,該焊接電源內(nèi)存儲有包含焊接數(shù)據(jù)的文件,其特征在于 該多臺焊接電源分別通過上傳請求向該計算機請求上傳文件,該計算機通過任務(wù)列表對該多臺焊接電源的上傳請求的任務(wù)記錄進行排隊,并選定部分或者全部該任務(wù)記錄作為當(dāng)前任務(wù)進行處理。
全文摘要
本發(fā)明涉及焊接電源與計算機之間進行數(shù)據(jù)通信的方法,屬于焊接控制技術(shù)領(lǐng)域。本發(fā)明的焊接電源與計算機數(shù)據(jù)通信方法包括以下步驟焊接電源通過上傳請求向計算機請求上傳文件;計算機根據(jù)上傳請求,進行任務(wù)注冊,在任務(wù)列表中產(chǎn)生任務(wù)記錄,任務(wù)記錄包含焊接電源的ID;計算機從任務(wù)列表中選擇要執(zhí)行的當(dāng)前任務(wù),根據(jù)當(dāng)前任務(wù)記錄中的焊接電源的ID,向焊接電源發(fā)出允許上傳的回復(fù);焊接電源接收到回復(fù)后,向計算機上傳文件;計算機接收到文件,并判斷是否上傳完畢,如果上傳完畢就注銷當(dāng)前任務(wù)記錄;如果未上傳完畢就返回等待接收文件。本發(fā)明通過任務(wù)列表,對來自大量焊接電源的文件上傳請求進行排隊,避免了大量文件同時上傳造成的網(wǎng)絡(luò)阻塞。
文檔編號H04L29/06GK102664950SQ20121011678
公開日2012年9月12日 申請日期2012年4月18日 優(yōu)先權(quán)日2012年4月18日
發(fā)明者劉金龍, 李海泉, 王偉 申請人:唐山松下產(chǎn)業(yè)機器有限公司