国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      提供工程工具服務(wù)的方法

      文檔序號:6427895閱讀:156來源:國知局
      專利名稱:提供工程工具服務(wù)的方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及可編程控制器領(lǐng)域。具體地,本發(fā)明提供一種方法,所述方法用于給用戶提供魯棒的工程工具服務(wù),而無需以物理形式給用戶提供工程工具。
      背景技術(shù)
      可編程控制器,包括可編程邏輯控制器(“PLC”)用于許多商業(yè)及工業(yè)應(yīng)用??删幊炭刂破鞯湫偷乇O(jiān)控輸入,根據(jù)其如何編程來產(chǎn)生結(jié)果,并控制自動化程序或機(jī)器的輸出。使用的最普通的可編程控制器之一是PLC。PLC包括輸入模塊或輸入點(diǎn),中央處理單元(“CPU”),及輸出模塊或輸出點(diǎn)。輸入接收來自不同類型的裝置例如傳感器的各種數(shù)字或模擬信號,并將其轉(zhuǎn)換為可以被CPU使用的邏輯信號。CPU根據(jù)存儲在存儲器中的程序指令作出決定并執(zhí)行控制指令。這些程序指令決定PLC對特定的輸入會干什么。輸出模塊將來自CPU的控制指令轉(zhuǎn)換為數(shù)字或模擬信號以便控制各種現(xiàn)場裝置,例如執(zhí)行機(jī)構(gòu)或閥。
      既然多數(shù)包括PLC在內(nèi)的可編程控制器本質(zhì)上屬于計(jì)算機(jī),它們以通(On)或斷(Off)的形式(就是1或0)存儲信息,稱為二進(jìn)制數(shù)字(就是位)??删幊炭刂破鞯某绦虬ㄒ粋€或多個實(shí)現(xiàn)一項(xiàng)任務(wù)的指令。給PLC或其它控制器編程就是建立一系列指令的工作。編程通常也包括生成配置數(shù)據(jù)。配置可編程控制器包括將控制器的輸入/輸出(“I/O”)域映射到物理I/O。配置編輯通常是圖形形式的。
      查看程序有幾種方法,例如,設(shè)計(jì)流程圖,梯形邏輯(Ladder Logic),指令列表,或功能塊圖。梯形邏輯(“LAD”)是PLC使用的一種程序語言。如

      圖1所示,梯形邏輯編碼10使用與用在繼電器邏輯框圖中的機(jī)電元件相類似的圖形符號來描述硬連線控制。在一典型的梯形邏輯框圖中的左側(cè)的垂直線通常表示一電源或帶電導(dǎo)體。右側(cè)的垂直線,表示在硬連線控制線路圖中的返回路徑,可被省略。梯形邏輯框圖是從左向右,從上向下閱讀。梯線通常稱之為網(wǎng)絡(luò)。網(wǎng)絡(luò)可有幾個輸入輸出指令。由一系列在一個或多個平行的分支中的觸點(diǎn)表示的輸入指令執(zhí)行比較或測試,且在梯線中通常是左調(diào)整的。由線圈表示的輸出指令,因此其在每個輸出分支中可能只有一個,執(zhí)行一些操作或功能,且在梯線中通常是右調(diào)整的。如圖1中所示的梯形邏輯編碼10所示,IO.0,IO.1,及QO.0表示第一指令組合。如果輸入IO.0及IO.1都受到激勵,則輸出QO.0受到激勵。輸入可以是開關(guān),按鈕,或接點(diǎn)閉合。輸出可以例如是線圈或燈泡。IO.4,IO.5,及QO.1表示第二指令組合。如果輸入IO.4或IO.5任一個受到激勵,則輸出QO.1受到激勵。
      指令列表(“IL”)提供一組指令的另一種形式,在圖1中用20所示。操作,就是將要完成的工作,示于圖的左側(cè)。操作對象,就是被操作的對象,示于圖右側(cè)。LAD及IL具有相似的結(jié)構(gòu)。在圖1中的IL20中的那組指令執(zhí)行與10中的LAD相同的任務(wù)。
      功能塊圖(“FBD”)提供一組指令的另一種形式,照圖1中用30表示。各功能塊有表明其特定任務(wù)的名稱。功能通過矩形表示。輸入顯示在矩形的左側(cè),輸出示于其右側(cè)。圖1中所示的功能塊30執(zhí)行與圖1中所示的LAD10和IL20相同的任務(wù)。
      一般的可編程控制器,具體地說是PLC,以重復(fù)的步驟執(zhí)行程序碼,稱之為掃描。掃描可以在CPU讀取輸入狀態(tài)時開始。應(yīng)用程序使用輸入狀態(tài)來執(zhí)行。一旦程序完成,CPU執(zhí)行內(nèi)部診斷和通信任務(wù)。掃描循環(huán)更新輸出后結(jié)束,然后重新開始。循環(huán)時間依賴于程序的大小,I/O的數(shù)量,和需要的通信量。
      為了編寫程序指令和生成配置數(shù)據(jù)及將代碼和配置數(shù)據(jù)下載到可編程控制器,需要幾種工具。如圖1所示,編程裝置,個人計(jì)算機(jī)1,與PLC對接典型地,專用電纜5,如SiemensPC/PPI,將PLC7連接到計(jì)算機(jī)的RS232口。在本發(fā)明之前,工程軟件工具3,例如西門子STEP7,必須安裝在PC上,以使PC可以用于給PLC編寫程序指令。典型地,該工程工具在CD上或其它計(jì)算機(jī)可以讀取的介質(zhì)上銷售。
      圖2概述了購買一份工程工具拷貝導(dǎo)致的典型步驟和缺點(diǎn)。工程工具的用戶通常購買一份軟件拷貝并獲得使用該工具的許可,步驟20。用戶然后必須將該軟件安裝到他的個人計(jì)算機(jī)上,步驟25。用戶只能開發(fā)應(yīng)用軟件,就是在具有該工程工具的計(jì)算機(jī)上編寫可編程控制器的程序代碼,步驟27。通常伴隨該工程工具的許可協(xié)議限制用戶在沒有支付允許更多計(jì)算機(jī)的協(xié)議的情況下將工具安裝在多于一臺的計(jì)算機(jī)上。
      上述軟件或工程工具,如西門子STEP7或MicroWin,經(jīng)常是控制器制造商開發(fā)的專用工具。典型地,開發(fā)這些工程工具需要數(shù)千人工時。經(jīng)常設(shè)計(jì)和測試這些工具,以使其工作在特定的計(jì)算機(jī)操作系統(tǒng)上,例如MicrosoftWindows98。當(dāng)應(yīng)用該工具的計(jì)算機(jī)的操作系統(tǒng)改變時,該工具需要重新驗(yàn)證。PC的出售者常常僅在他們的PC上安裝最新的微軟操作系統(tǒng)。這迫使工程工具的出售者也支持新的操作系統(tǒng),這通常意味著額外增加的數(shù)百或數(shù)千人工時的投資。在許多組織中,PC操作系統(tǒng)升級時沒有注意該P(yáng)C上存在的軟件,入上述工程工具。
      工程工具也經(jīng)常隨著時間更新。因此,這些工具的不同版本會同時存在。在一個大型的制造設(shè)備中可能不是所有的編程工具都使用相同的版本。這不僅增加了所有者的花費(fèi),而且當(dāng)使用不同的編程裝置為相同的PLC應(yīng)用寫程序代碼時還會引起問題。經(jīng)常安排一組工程師為PLC編程。這個組中的每位工程師可能獨(dú)立負(fù)責(zé)應(yīng)用的一個獨(dú)立的方面。然后,這些不同的獨(dú)立方面被組合成一個在PLC上工作的程序。如果工程師不都使用此工具的相同版本,從此工具某一版本產(chǎn)生的代碼有可能與此工具另一更早期版本不兼容。
      除了關(guān)于在編程裝置上運(yùn)行不同操作系統(tǒng)及不同版本的工程工具在操作系統(tǒng)上運(yùn)行的問題外,用于可編程控制器的程序代碼經(jīng)常不是以集中的方式存檔。在工廠中用于一個PLC的代碼可能存儲在一個膝上型電腦或臺式個人計(jì)算機(jī)中,而用于另一PLC的代碼可能存儲在別處。如果一個PLC最初使用第一臺PC編程,并且這臺PC后來被第二臺PC代替,以及如果這個PLC使用第二臺PC重新編程,常常會沒有辦法恢復(fù)原始程序,這使得新程序不完善。
      發(fā)明概要本發(fā)明提供一種方法,用于給用戶提供一給可編程控制器編程的工程工具。不是出售一工程工具的物理形式的拷貝,而是給最好具有一客戶裝置的用戶提供到網(wǎng)絡(luò)上的服務(wù)器的訪問權(quán)限。該工程工具提供者或其它機(jī)構(gòu)在服務(wù)器上保留一份支持網(wǎng)絡(luò)應(yīng)用的工程工具。該工具可以通過運(yùn)行在客戶裝置上的瀏覽器應(yīng)用軟件進(jìn)行訪問。用戶可以使用該工程工具給用戶的可編程控制器創(chuàng)作程序代碼。該工程工具提供者從用戶處收費(fèi)做為使用該工具的交換。有利地,本發(fā)明省去了工程工具提供者提供安裝支持和服務(wù)的需要。
      本發(fā)明提供了工程工具市場的一新的范例。在一個實(shí)施例中,給用戶提供了給可編程控制器開發(fā)程序代碼的工程工具的使用。使用該工具開發(fā)的代碼被編譯,并且向用戶收取該程序代碼的費(fèi)用。在一些實(shí)施例中,在向用戶收費(fèi)以前,編譯過的程序代碼可以下載到可編程控制器。有一些情況下,可能希望在服務(wù)器上保存一份編譯過的代碼的拷貝,以及該代碼的后續(xù)版本。該服務(wù)器也可以配備具有版本管理功能的配置管理器。這允許用戶在一個版本中查找代碼的特定屬性,以及這些屬性何時被改變。也可以允許用戶比較代碼的不同版本。
      本發(fā)明也改進(jìn)了給具有可編程控制器的機(jī)構(gòu)開發(fā)用于其控制器代碼的方式。不是購買和在編程設(shè)備上安裝一工程工具,而是擁有一帶有網(wǎng)絡(luò)接口應(yīng)用程序如網(wǎng)絡(luò)瀏覽器的客戶裝置的工程師或其它用戶,通過客戶裝置訪問位于網(wǎng)絡(luò)服務(wù)器上的工程工具。在一實(shí)施例中,網(wǎng)絡(luò)是因特網(wǎng)的環(huán)球網(wǎng)部分,網(wǎng)絡(luò)接口應(yīng)用程序是網(wǎng)絡(luò)瀏覽器。所述工程工具運(yùn)行在客戶裝置中的網(wǎng)絡(luò)接口應(yīng)用程序上,并用來創(chuàng)建程序代碼,其中可能包括配置數(shù)據(jù)。然后該工程代碼在服務(wù)器上編譯,然后編譯后的代碼從服務(wù)器上下載到所述可編程裝置。有些地方,用戶為使用工程工具創(chuàng)建的程序代碼或使用工程工具而付費(fèi)。
      本發(fā)明提供了多種用于將在具有可訪問工程工具的服務(wù)器上生成的程序代碼下載到客戶裝置的方法。一種方法包括將可編程控制器連接到網(wǎng)絡(luò),從網(wǎng)絡(luò)中將程序代碼下載到可編程裝置,并付費(fèi)。在一個實(shí)施例中,程序代碼生成于一具有可通過客戶裝置訪問的工程工具的服務(wù)器。
      本發(fā)明可以由需要高度保密的機(jī)構(gòu)使用。在有些情況下,最好為擁有可編程控制器的企業(yè)提供其自己的具有支持網(wǎng)絡(luò)的工程工具的服務(wù)器。該工程工具保持在服務(wù)器上,并允許客戶通過客戶裝置訪問此工具。企業(yè)為使用該工程工具付費(fèi)。費(fèi)用可以根據(jù)工具的使用次數(shù)或使用頻率來計(jì)算。或者費(fèi)用可以是一個固定(flat)費(fèi)用。因?yàn)榉?wù)器公眾無法訪問,可以提供其它方法允許授權(quán)的企業(yè)人員訪問該服務(wù)器。例如,服務(wù)器可以通過專用內(nèi)部網(wǎng)訪問或可以是局域網(wǎng)(LAN)的一部分。
      附圖簡要說明圖1是現(xiàn)有技術(shù)中編程可編程控制器需要的工具的圖解。
      圖2是表示現(xiàn)有技術(shù)中用于編程可編程控制器的方法和工具的步驟及缺點(diǎn)的方框圖。
      圖3是本發(fā)明的一個實(shí)施例的圖解,其中連接到一PLC的客戶裝置通過網(wǎng)絡(luò)與服務(wù)器通信,所述服務(wù)器包括支持網(wǎng)絡(luò)的工程工具,用于給PLC編寫程序代碼并配置I/O網(wǎng)絡(luò)及設(shè)備。
      圖4是本發(fā)明的一個實(shí)施例的一般結(jié)構(gòu)的圖解,其中用于給可編程控制器編寫程序代碼,并用于配置I/O網(wǎng)絡(luò)及設(shè)備的工程工具存在于服務(wù)器上并可通過網(wǎng)絡(luò)由客戶裝置訪問。
      圖5是本發(fā)明另一可替換的實(shí)施例的圖解,其中所述服務(wù)器還包括一網(wǎng)絡(luò)服務(wù)層。
      圖6從客戶和服務(wù)器的角度圖示了按照本發(fā)明的在因特網(wǎng)上操作的支持網(wǎng)絡(luò)的工程工具的組成,其中使用了圖形編程技術(shù)。
      圖7圖示了按照本發(fā)明的網(wǎng)絡(luò)應(yīng)用工程工具使用XML格式的另一可選擇的方法。
      圖8圖示了使用傳統(tǒng)工具的應(yīng)用程序接口通過網(wǎng)絡(luò)啟動根據(jù)本發(fā)明的傳統(tǒng)工程工具。
      圖9是按照本發(fā)明支持網(wǎng)絡(luò)的流程圖編程工程工具的屏幕視圖。
      圖10是按照本發(fā)明支持網(wǎng)絡(luò)的梯形邏輯編程工程工具的屏幕視圖。
      圖11是概述本發(fā)明一個實(shí)施例的方法步驟的流程圖。
      圖12是概述按照本發(fā)明用于編程一可編程控制器的方法的流程圖。
      圖13圖示了按照本發(fā)明的一個系統(tǒng)的配置,其中一客戶裝置通過網(wǎng)絡(luò)與服務(wù)器連接,所述服務(wù)器具有一支持網(wǎng)絡(luò)的工程工具,以及一個通過網(wǎng)絡(luò)連接于服務(wù)器的第二客戶裝置,所述第二客戶裝置在具有一個或多個可編程控制器的局域網(wǎng)(LAN)上。
      圖14圖示了按照本發(fā)明的另一配置,其中可編程控制器直接與一具有支持網(wǎng)絡(luò)的工程工具的服務(wù)器對接,所述服務(wù)器與客戶裝置進(jìn)行通信。
      圖15圖示了按照本發(fā)明的又一個結(jié)構(gòu),其中具有支持網(wǎng)絡(luò)的工程工具的服務(wù)器在因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)上與客戶裝置連接,以及一個或多個可編程控制器通過因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)與服務(wù)器連接成網(wǎng)絡(luò)。
      圖16是概述按照本發(fā)明用于提供工程工具服務(wù)的步驟的流程圖。
      圖17是概述按照本發(fā)明用于離線生成程序代碼步驟的流程圖。
      圖18是按照本發(fā)明用于出售工程工具服務(wù)的一個新的商業(yè)范例的圖解。
      圖19是按照本發(fā)明用于出售工程工具服務(wù)的另一個新的商業(yè)范例的圖解。
      圖20是本發(fā)明一個實(shí)施例的圖解,其中人可閱讀的工程代碼存儲在服務(wù)器上并與運(yùn)行在可編程控制器上的編譯后的代碼鏈接,并可訪問一自動服務(wù)器。
      圖21示出了本發(fā)明在一家公司或商業(yè)實(shí)體中如何建立。
      圖22是按照本發(fā)明的一個合作工程系統(tǒng)的圖解。
      圖23是概述按照本發(fā)明開發(fā)和測試可編程控制器和/或配置數(shù)據(jù)的程序代碼的方法的流程圖。
      圖24是概述按照本發(fā)明用于生成程序代碼,并將程序代碼安裝到可編程控制器上的方法的流程圖。
      圖25示出了本發(fā)明的一個實(shí)施例,其中位于服務(wù)器上的一工程工具組包括配置編輯器,并可通過網(wǎng)絡(luò)被客戶裝置調(diào)用。
      圖26是概述由本發(fā)明實(shí)施的合作工程方法的流程圖。
      圖27是概述由本發(fā)明實(shí)施的另一可選擇合作工程方法的流程圖。
      圖28是概述由本發(fā)明實(shí)施的又一可選擇的合作工程方法的流程圖。
      本發(fā)明詳細(xì)描述除了其它方面,本發(fā)明還提供了用于在一中心服務(wù)器上編寫程序代碼(這通常也包括生成配置數(shù)據(jù)),及用于將編譯后的程序代碼連同任何配置數(shù)據(jù)下載到可編程控制器,如PLC,的系統(tǒng)和方法。如圖3所示,一客戶裝置30例如一臺包含一瀏覽器的個人計(jì)算機(jī)位于一公用或?qū)S镁W(wǎng)絡(luò)35中。所述瀏覽器例如可以是微軟Internet Explorer或Netscape Navigator。網(wǎng)絡(luò)35可以是因特網(wǎng)或者是企業(yè)內(nèi)部互聯(lián)網(wǎng)。在一個實(shí)施例中,PLC40,如SiemensS7-200PLC,通過一接口電纜45例如SiemensPC/PPI電纜連接到客戶裝置30。該電纜可以包括控制設(shè)置如波特率的雙列直插式開關(guān)48。在此實(shí)施例中,客戶裝置30做為給PLC40編程的編程裝置。但是,與現(xiàn)有技術(shù)中用于給PLC40編程的工程工具安裝在編程裝置上的情況不同,對程序代碼進(jìn)行寫和編譯所需的工程工具位于服務(wù)器50上,客戶裝置30通過因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)或其它的網(wǎng)絡(luò)35可以訪問服務(wù)器50。該工程工具最好能夠支持網(wǎng)絡(luò),以在任何客戶裝置30中的瀏覽器應(yīng)用程序中進(jìn)行操作。
      用戶55用客戶裝置30通過網(wǎng)絡(luò)35訪問服務(wù)器50。客戶裝置30可以是很小的客戶機(jī),即,除了瀏覽器外它不包括其它任何軟件。這樣,客戶裝置30可以采用多種形式,包括個人計(jì)算機(jī),支持網(wǎng)絡(luò)的PDA,蜂窩電話,支持因特網(wǎng)的電視裝置,和因特網(wǎng)設(shè)備,等等。本發(fā)明是可伸縮的,因?yàn)樗梢栽诰哂胁煌δ艿牟煌目蛻粞b置上進(jìn)行不同模式的操作。例如,本發(fā)明可以在一具有有限功能和計(jì)算能力的支持網(wǎng)絡(luò)的移動電話瀏覽器上操作有限的功能,或者可以在一臺具有高速處理器和大容量存儲器及強(qiáng)大的圖形能力的先進(jìn)的個人計(jì)算機(jī)上操作強(qiáng)大的功能。
      按照本發(fā)明,工程工具,類似于諸如西門子STEP7等工具的工程工具存在于服務(wù)器50上并支持網(wǎng)絡(luò)。典型地,這些工程工具將使用圖形編程方案,如梯形邏輯圖,流程圖編程,功能序列圖,或功能塊圖。(參見圖1)。優(yōu)選地,它們配置為處理不同的程序語言,包括指令表編程和所有其它標(biāo)準(zhǔn)語言,例如所有IEC-1131標(biāo)準(zhǔn)語言(例如,LAD,F(xiàn)BD,SFC,IL和ST)。這些工具配置為運(yùn)行在一瀏覽器應(yīng)用程序中,這樣使它們可以獨(dú)立于客戶機(jī)所運(yùn)用的操作系統(tǒng)來操作。優(yōu)選地,這些工程工具配置為使用HTML或XML界面操作,這樣它們可以在任何現(xiàn)有的瀏覽器中工作。這些工具也可以提供配置編輯器以將控制器邏輯I/O地址映射到一個物理I/O地址。
      圖4描述了用于支持網(wǎng)絡(luò)的工程工具的一般的系統(tǒng)結(jié)構(gòu)的一實(shí)施例。一網(wǎng)絡(luò)客戶裝置30包括一標(biāo)準(zhǔn)的web瀏覽器。用于給可編程控制器生成程序代碼的工程工具位于網(wǎng)絡(luò)服務(wù)器50上并且能夠在網(wǎng)絡(luò)客戶機(jī)上的瀏覽器應(yīng)用程序中操作。該工程工具支持網(wǎng)絡(luò),并且在其最基本的形式中,其包括一個或多個可以運(yùn)行在網(wǎng)絡(luò)瀏覽器下的編輯器。有利的是,編輯器獨(dú)立于操作系統(tǒng)并可以運(yùn)行在最新的瀏覽器或操作系統(tǒng)和硬件中。網(wǎng)絡(luò)服務(wù)器50也可以包括一編輯器,用于執(zhí)行硬件配置。它也可以包括執(zhí)行版本管理和運(yùn)行仿真程序所需要的軟件或硬件。網(wǎng)絡(luò)客戶30與網(wǎng)絡(luò)服務(wù)器50都存在于網(wǎng)絡(luò)35中,如互聯(lián)網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)。用戶在網(wǎng)絡(luò)客戶30中為可編程控制器創(chuàng)建程序代碼和/或生成配置數(shù)據(jù)。這些代碼和配置數(shù)據(jù)轉(zhuǎn)換為XML文件并通過網(wǎng)絡(luò)35傳送到網(wǎng)絡(luò)服務(wù)器50。程序代碼和配置數(shù)據(jù)可以存儲在與網(wǎng)絡(luò)服務(wù)器50關(guān)聯(lián)的項(xiàng)目數(shù)據(jù)庫58中。項(xiàng)目數(shù)據(jù)庫58可以是任何標(biāo)準(zhǔn)形式的存儲介質(zhì)。服務(wù)器50無需運(yùn)行最新的平臺(操作系統(tǒng)或硬件)。
      圖5描述了另一個實(shí)施例,其中網(wǎng)絡(luò)服務(wù)層70與服務(wù)器50合并。另外的網(wǎng)絡(luò)服務(wù),例如仿真服務(wù)和工具,可以位于工程工具的最上層。這給工程工具的開發(fā)者提供了迅速和節(jié)省成本的方式來改進(jìn)和開發(fā)新產(chǎn)品。工程工具的出售者可以提高和延長他們在開發(fā)工程工具上付出的投資的使用壽命。在這個實(shí)施例中,一基本工程工具的用戶將僅僅通過鼠標(biāo)點(diǎn)擊即可獲得供其使用的魯棒的工程服務(wù)。
      XML特別適合用于本發(fā)明,因?yàn)閳D形表示,例如通用PLC編程語言中所用的圖形表示,很容易轉(zhuǎn)換為XLM文件。這樣,在客戶30與服務(wù)器50之間優(yōu)選地以XML文件的形式傳輸。
      圖6圖示了使一個標(biāo)準(zhǔn)工程工具,例如使用圖表編程技術(shù)的西門子STEP7支持網(wǎng)絡(luò)所需要的客戶端,服務(wù)器端和因特網(wǎng)組件。盡管圖形編程技術(shù)可用于使標(biāo)準(zhǔn)工程工具例如西門子STEP7支持網(wǎng)絡(luò),但Microsoft的.Net技術(shù)提供了一個使工程工具支持網(wǎng)絡(luò)的更為有效的方法。如圖7所示,.Net技術(shù)易于使用XML格式實(shí)現(xiàn)在網(wǎng)絡(luò)服務(wù)應(yīng)用程序99與網(wǎng)絡(luò)服務(wù)器之間的對接。它也允許客戶—服務(wù)器之間進(jìn)行XML格式的數(shù)據(jù)交換。
      如圖8所示,新的網(wǎng)絡(luò)服務(wù)50可以建立在一個已經(jīng)存在的工程工具77例如西門子STEP7的應(yīng)用程序接口(“API”)59的頂部。然后服務(wù)器50與客戶裝置30使用標(biāo)準(zhǔn)協(xié)議交換XML文件。
      支持網(wǎng)絡(luò)的、瀏覽器可執(zhí)行的工程工具優(yōu)選地具有用于自動項(xiàng)目不同階段的用戶友好功能。圖9和10示出了典型的支持網(wǎng)絡(luò)的工程工具在具有標(biāo)準(zhǔn)瀏覽器的客戶裝置中查看時的屏幕視圖。圖9示出了支持網(wǎng)絡(luò)的流程圖編程工程工具,以及圖10示出了用梯形邏輯編程時支持網(wǎng)絡(luò)的工程工具。典型地,這些工程工具包括各種功能,例如硬件的配置和參數(shù)化;通信的定義;編程;測試;啟動和維護(hù);記錄與存檔;及操作/診斷。這些工具也可以包括符號編輯器,用于定義符號名稱,數(shù)據(jù)類型,及全局標(biāo)記符注釋。這些工具優(yōu)選地支持全部編程語言,包括但不限定于流程圖編程,IL,ST,SFC,LAD,和/或FBD,以及由IEC指定的全部順序編程語言。
      如上面討論的,工程工具提供的功能可以根據(jù)它們運(yùn)行在其上的客戶裝置的類型縮放。例如,一個非常小的客戶裝置,例如一支持網(wǎng)絡(luò)的移動電話,可能僅能夠運(yùn)行一個基于文本或有限圖形編輯功能的工具。一個更復(fù)雜的客戶裝置,例如IBM600E Thinkpad,可以支持更多的功能,和可以允許工程工具執(zhí)行更多的功能,如在開發(fā)代碼時的全圖形編輯。這樣,按照本發(fā)明,工程工具功能是在客戶裝置上執(zhí)行還是在服務(wù)器端執(zhí)行,取決于客戶裝置的性能,因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)速度,及其它參數(shù)。
      如圖3所示及圖11的流程圖所概括,在本發(fā)明的一個實(shí)施例中,一個用戶(或幾個用戶)可以訪問位于服務(wù)器50上的PLC編程工程工具38(或用于給其它可編程控制器編程的工程工具),步驟1000。在一個實(shí)施例中,服務(wù)器50位于因特網(wǎng)上的環(huán)球網(wǎng)部分。在另一個實(shí)施例中,服務(wù)器位于專用公司網(wǎng)絡(luò)或公司的企業(yè)內(nèi)部互聯(lián)網(wǎng)上。用戶55在客戶裝置30的網(wǎng)絡(luò)瀏覽器上操作工程工具38,步驟1005,并在瀏覽器上創(chuàng)建用于可編程控制器的程序代碼,步驟1010。可以使用標(biāo)準(zhǔn)安全措施限制對服務(wù)器和其上所創(chuàng)建的程序的訪問。用戶55可以在一次會話中創(chuàng)建一個程序,也可以在幾次會話的時間段中創(chuàng)建程序。用戶可以在瀏覽器應(yīng)用程序中修改,編輯,并調(diào)試程序代碼,步驟1015。瀏覽器中生成的代碼可以是圖形方式。這些代碼然后轉(zhuǎn)變?yōu)橐粋€文件,步驟1020,以及該文件通過網(wǎng)絡(luò)傳送到服務(wù)器,步驟1025。優(yōu)選地,程序代碼存儲在服務(wù)器50上,步驟1030。
      編輯軟件,調(diào)試軟件及編譯器可以存在于服務(wù)器50上。這實(shí)際上允許任何PC,PDA,或其它支持網(wǎng)絡(luò)的客戶裝置30做為編程裝置。在用戶55創(chuàng)建并編輯程序代碼后,該代碼可以在服務(wù)器上存儲和編譯,服務(wù)器優(yōu)選地具有編譯器。在一些實(shí)施例中,附加的服務(wù)器可以用于存檔代碼。此外,編譯器也可以存在于可以訪問具有工程工具的服務(wù)器的另一個服務(wù)器上。
      代碼創(chuàng)建、調(diào)試、并編譯后,被下載到可編程控制器。如圖12中的流程圖所示,在一個實(shí)施例中,給可編程控制器編程包括兩個步驟在控制器與服務(wù)器之間建立通信,步驟2000,以及通過網(wǎng)絡(luò)將程序代碼下載到控制器,步驟2005。在一個實(shí)施例中,如圖3中所示,代碼可以下載到客戶裝置30,客戶裝置30然后又可以與可編程控制器40對接。在這個實(shí)施例中,已經(jīng)編譯的程序代碼的一份拷貝可存在于客戶裝置或存檔在客戶裝置上。
      典型地客戶裝置30通過連接電纜45與可編程控制器40對接,如西門子PC/PPI連接電纜(見圖3)。如圖3所示,當(dāng)PC做為客戶裝置30使用時,連接電纜允許位于可編程控制器上的串行接口與標(biāo)準(zhǔn)RS-232串行接口通信。當(dāng)另一個裝置例如PDA做為客戶裝置使用時,連接電纜與該裝置上的通信端口對接。電纜可以如圖3所示,包括DIP開關(guān)48,用于選擇信息在PLC40與客戶裝置30之間傳遞合適速度(波特率)。客戶裝置30可以如圖13所示,與多個可編程控制器40對接。在一些實(shí)施例中,在有大量的可編程控制器與一個客戶裝置接口的情況下,需要一個中繼器(沒有示出)與電纜連接。
      在另一個可選擇的實(shí)施例中,例如在圖14中所示的例子,可編程控制器40可以直接或間接連接到網(wǎng)絡(luò),如LAN100,服務(wù)器位于該網(wǎng)絡(luò)上,而無需通過客戶裝置30連接。在這個實(shí)施例中,可編程控制器40通過網(wǎng)絡(luò)與服務(wù)器50進(jìn)行通信,網(wǎng)絡(luò)100可包括使用PCP/IP以太網(wǎng)協(xié)議,Profibus網(wǎng)絡(luò),或?qū)嶋H上任何其它網(wǎng)絡(luò)結(jié)構(gòu)的標(biāo)準(zhǔn)網(wǎng)絡(luò)。然后編譯過的程序代碼可以被直接下載到可編程控制器40。
      在又一個實(shí)施例中,如圖15中所示,可編程控制器40可以通過網(wǎng)絡(luò)110例如企業(yè)內(nèi)部互聯(lián)網(wǎng)或因特網(wǎng)與服務(wù)器50進(jìn)行通信。在一些實(shí)施例中,可編程裝置可以在使用例如TCP/IP或Profibus或任何其它合適的協(xié)議的LAN100上相互鏈接。
      無論可編程控制裝置是否直接與服務(wù)器所在的網(wǎng)絡(luò)對接,還是通過客戶裝置與服務(wù)器通信,一份程序代碼的歸檔拷貝都可以存儲在歸檔項(xiàng)目數(shù)據(jù)庫120中,該數(shù)據(jù)庫位于服務(wù)器50上或與服務(wù)器50關(guān)聯(lián)的存儲裝置上。(見圖14)。這樣有利地給編譯過的程序代碼的備份拷貝提供了集中的存儲。所述歸檔拷貝也可以存儲在獨(dú)立的服務(wù)器上或可通過網(wǎng)絡(luò)使用的數(shù)據(jù)庫中。
      一些實(shí)施例中,希望離線,即在客戶裝置與包含工程工具的服務(wù)器斷開連接的情況下創(chuàng)建用于可編程控制器的程序代碼。離線編程允許用戶在不與服務(wù)器連接的情況下創(chuàng)建和編輯程序代碼。如圖17中的流程圖概要所示,用戶在客戶裝置與服務(wù)器之間建立連接,該服務(wù)器包含支持網(wǎng)絡(luò)地工程工具以及編程項(xiàng)目的數(shù)據(jù)庫,步驟3000。接著用戶在客戶機(jī)上的瀏覽器應(yīng)用中打開支持網(wǎng)絡(luò)的工程工具,步驟3005。接著用戶從項(xiàng)目數(shù)據(jù)庫中檢索出項(xiàng)目的拷貝,步驟3010,該項(xiàng)目的拷貝被傳送到客戶裝置,步驟3015??蛻襞c服務(wù)器之間的通信就此結(jié)束,步驟3020。用戶現(xiàn)在可以離線自由編輯所檢索的拷貝,步驟3025。當(dāng)用戶完成編輯,用戶重新建立客戶機(jī)與服務(wù)器之間的通信,步驟3030。接著編輯后的程序代碼在3035被存儲到原來的位置,并且可以被具有訪問權(quán)限的其它用戶訪問。在一些實(shí)施例中,在檢索出項(xiàng)目時,其它用戶可被允許以其被檢索之前的形式讀取一份被檢索出的項(xiàng)目的拷貝。依賴于客戶裝置的復(fù)雜程度和資源,離線編程技術(shù)和功能可以變化。
      在客戶裝置配置不復(fù)雜時,可以提供基于文本的只能編輯的功能。當(dāng)客戶資源包括更高水平的復(fù)雜性(例如內(nèi)存,圖形能力,處理器速度,等等)時,可以提供更復(fù)雜的圖形編輯/代碼創(chuàng)建功能。這樣,本發(fā)明可以縮放。例如,在一個運(yùn)行于簡單的支持網(wǎng)絡(luò)的裝置的實(shí)施例中,只能給用戶提供文本編輯功能。而在另一個運(yùn)行于更復(fù)雜的客戶機(jī)的實(shí)施例中,可以給用戶提供在包含全部圖形編輯功能的網(wǎng)絡(luò)瀏覽器中工作的工程工具,所述圖形編輯功能當(dāng)用戶連接到服務(wù)器時存在。
      除了依賴客戶資源(例如,內(nèi)存)外,其它因素,如客戶操作系統(tǒng)及安全問題,會影響支持網(wǎng)絡(luò)的工程工具的功能。為了離線工作,裝置的操作系統(tǒng)需要支持一些在客戶裝置上安裝所述應(yīng)用程序的方式。這通常不是現(xiàn)代的PDA的問題,但卻可能是一些小裝置如便攜式電話的問題。因?yàn)榘踩脑?,網(wǎng)絡(luò)瀏覽器應(yīng)用程序通常被限制訪問系統(tǒng)資源,如驅(qū)動器和系統(tǒng)內(nèi)存。微軟公司,雷德蒙·華盛頓提供了用于允許運(yùn)行在其網(wǎng)絡(luò)瀏覽器中的應(yīng)用程序以通過應(yīng)用程序中ACTIVEX控制插件的方式訪問客戶系統(tǒng)資源的軟件。對于那些希望更好安全性的用戶,微軟公司給用戶提供了在其瀏覽器中屏蔽下載ACTIVEX控件的功能,或者僅接受來自信任的站點(diǎn)下載,或僅接受原始認(rèn)證的ACTIVEX控件。
      在一個實(shí)施例中,根據(jù)需要給客戶裝置提供特殊的功能。例如,語法檢測在客戶裝置的用戶需要這項(xiàng)功能時才提供。這允許用戶最初下載最小的功能到客戶裝置,并僅在需要的時候添加附加功能。
      通常情況下,當(dāng)生成和編譯程序代碼時可編程裝置無需連接到可編程控制器上。但是,一些實(shí)施例中希望可編程控制器與服務(wù)器和客戶裝置同時在線。在這個實(shí)施例中,將變化內(nèi)容下載到可編程控制器。另外,可以監(jiān)視輸入和輸出元件的狀態(tài)。在一些實(shí)施例中,服務(wù)器可以安裝診斷軟件或是具有允許監(jiān)測可編程控制器的功能。在其它的實(shí)施例中,服務(wù)器能夠模擬輸入和輸出并且能夠使之與可編程控制器通信。這允許將多樣和魯棒的測試算法集中創(chuàng)建并存儲。在一些實(shí)施例中,魯棒的測試算法僅可以被經(jīng)授權(quán)的用戶訪問并且該用戶可以為他們的使用付費(fèi)。
      本發(fā)明在工程工具產(chǎn)業(yè)中提供了一個新的范例。在本發(fā)明之前,工程工具屬于被制造和出售的產(chǎn)品(見圖2)。按照本發(fā)明,支持網(wǎng)絡(luò)的工程工具提供了一新的商業(yè)范例,其中工程工具的生產(chǎn)者提供服務(wù)。(見圖18和19)。在一個實(shí)施例中,例如圖18中的流程圖所示,允許用戶訪問包含工程工具的服務(wù)器,所述工程工具用于給可編程控制器開發(fā)和編譯程序代碼,步驟200。為了編寫程序代碼的目的,可以使用戶自由訪問工程工具。用戶能夠在與服務(wù)器通信的客戶裝置上開發(fā)代碼,步驟205。用戶可以在無需付費(fèi)的情況下創(chuàng)建和修改程序代碼。這有利于給即使很小的商業(yè)業(yè)務(wù)提供訪問復(fù)雜和最新的工程工具。僅當(dāng)用戶完成代碼和編譯后,才會要求付費(fèi),步驟207。在一些實(shí)施例中,所需費(fèi)用會在程序代碼編譯時計(jì)算出來。在另外的實(shí)施例中,用戶在將編譯后的代碼下載到PLC之前完成付費(fèi)。(見圖19,步驟220)。給代碼付出的費(fèi)用可以基于編譯后的代碼的大小,編寫代碼需要的時間,代碼被設(shè)計(jì)要處理的輸入和/或輸出數(shù)量,或各種其它可以測量的參數(shù)。因?yàn)楣こ坦ぞ呶挥谥行姆?wù)器而不是客戶裝置,限制和控制對工具的訪問是簡單的。此外,對于客戶服務(wù)代表或銷售人員來說,給顧客提供附加的工程工具用途是簡單的事情,在此所述的附加用途有利的是來自商業(yè)預(yù)期。例如,當(dāng)顧客購買了新的PLC或與已有的PLC接口的新的現(xiàn)場裝置時,銷售人員可以給其提供一個有限時段自由使用支持網(wǎng)絡(luò)的工程工具來編程和配置PLC。
      從建立和/或供應(yīng)工程工具的機(jī)構(gòu)的角度看,該新的商業(yè)范例可以采取圖16所示的流程圖的形式。工具生產(chǎn)者或提供者在服務(wù)器上保持支持網(wǎng)絡(luò)的工程工具,客戶可以通過網(wǎng)絡(luò)例如因特網(wǎng)訪問所述服務(wù)器,步驟1601。允許客戶通過網(wǎng)絡(luò)訪問該工具,步驟1605。在一些實(shí)施例中,可以使用密碼或其它安全措施限制只允許授權(quán)的用戶訪問;而在其它的實(shí)施例中,公眾可以訪問該工具,但沒有必要訪問使用該工具創(chuàng)建的代碼。按照本實(shí)施例,工程工具提供者,例如通過網(wǎng)絡(luò),收到來自用戶的文件,所述文件包含使用支持網(wǎng)絡(luò)的工程工具生成的程序代碼,步驟1610。然后該程序代碼被編譯,步驟1615,或可以被保存,并使創(chuàng)建程序代碼的機(jī)構(gòu)可以訪問它們,或經(jīng)授權(quán)的機(jī)構(gòu)訪問它們。最終,該代碼被編譯并下載到可編程控制器,步驟1620。
      因?yàn)榫幋a創(chuàng)建在中心服務(wù)器上,該編碼可以人可以閱讀的形式和編譯后的形式存檔(見圖20)。這提供了一種方法,用于當(dāng)新的版本不能以期望的方式執(zhí)行時在新的可編程控制器上重新安裝現(xiàn)有的軟件或者恢復(fù)舊版本的代碼。在一實(shí)施例中,用戶為下載一份存檔拷貝付費(fèi)。這筆費(fèi)用可以低于用戶下載第一份拷貝所付出的最初費(fèi)用。
      此外,因?yàn)樵谝恍?shí)施例中,人可閱讀形式的代碼(也稱源代碼)存檔并與機(jī)器可讀代碼鏈接,以便進(jìn)行支持網(wǎng)絡(luò)的監(jiān)視,仿真,和控制自動設(shè)備。例如,如圖20中所示,支持網(wǎng)絡(luò)的PLC300可以包括一嵌入式網(wǎng)絡(luò)服務(wù)器310。PLC可以連接到網(wǎng)絡(luò)350,如因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)。PLC可通過本發(fā)明的支持網(wǎng)絡(luò)的工程工具編程。用于PLC的程序代碼可以人可閱讀的形式和編譯后的形式存在于工程服務(wù)器400上。人可閱讀的形式存儲在存儲器或數(shù)據(jù)存儲裝置410中,且該代碼鏈接到也存在于存儲器裝置420上的編譯形式,裝置420與工程服務(wù)器關(guān)聯(lián)。因?yàn)楣こ谭?wù)器可以通過因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)與PLC訪問,因此在相同網(wǎng)絡(luò)上可以保持另外一個服務(wù)器(物理上與工程服務(wù)器分離的服務(wù)器,或是物理上是工程服務(wù)器或PLC的一部分的虛擬服務(wù)器),例如一臺自動控制服務(wù)器。所述自動控制服務(wù)器甚至也可以是PLC的一部分,例如當(dāng)PLC包含嵌入式網(wǎng)絡(luò)服務(wù)器時。復(fù)雜和魯棒的仿真,監(jiān)測和控制軟件可以存在于所述自動控制服務(wù)器上,并且可以支持網(wǎng)絡(luò),以便通過在因特網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)上的客戶裝置訪問。因?yàn)檫\(yùn)行在PLC上的軟件的程序代碼的人可閱讀的版本通過工程服務(wù)器可以獲得,所以魯棒仿真,診斷,控制,及監(jiān)視軟件包可方便地訪問該人可閱讀的代碼,并提供運(yùn)行這些軟件包的有價值的信息。例如,因?yàn)槿丝砷喿x的代碼容易訪問,因而便于訪問受控于PLC的各種現(xiàn)場裝置的標(biāo)記信息。因此本發(fā)明允許從車間到控制室的復(fù)雜和魯棒的通信與數(shù)據(jù)傳送。
      如圖5所示,保持具有集中式支持網(wǎng)絡(luò)的工程工具的服務(wù)器給工程工具的開發(fā)者提供了一個發(fā)布新的服務(wù)和產(chǎn)品的平臺。例如,在本發(fā)明之前,購買用于優(yōu)化程序代碼的仿真工具的費(fèi)用阻止了許多客戶在這些工具上的投資。在一實(shí)施例中,由于程序代碼在中心服務(wù)器上存儲和生成,這樣可以被很多客戶訪問,因此在服務(wù)器上安裝仿真軟件的費(fèi)用可以由很多客戶分擔(dān)。并且,在一實(shí)施例中,客戶僅需為使用仿真工具付費(fèi)。另外,診斷工具可以相同的方式在服務(wù)器上安裝和共享。在有些實(shí)施例中,服務(wù)器和工具的所有者可以根據(jù)使用,為客戶保存,或多種其它方案而得到補(bǔ)償。
      因?yàn)楣ぞ呶挥谥行?,因此工具的許可變得簡單。工具可許可給公司,公司里的某些個人,或這些個人自己??墒褂眉用芗夹g(shù)和/或密碼保護(hù)來實(shí)現(xiàn)對工具的訪問,并可以保持合法的許可為條件。在一些實(shí)施例中,可能希望提供有限時段的免費(fèi)訪問工具。有些情況下,免費(fèi)訪問的量可與可編程控制器的購買聯(lián)系起來。在有限時段提供免費(fèi)的現(xiàn)場服務(wù)器對把服務(wù)器長期租賃給客戶的銷售也是有益的。在這個實(shí)施例中,給用戶提供了服務(wù)器進(jìn)行有限時段的免費(fèi)試驗(yàn)。
      在另一個實(shí)施例中,如圖21中所示,公司可以選擇租借或擁有它們自己的服務(wù)器。對于一些大型的制造公司和/或其它機(jī)構(gòu),安全是其主要關(guān)心的,限定只有公司雇員可訪問服務(wù)器是有利的。因?yàn)楣こ坦ぞ呶挥诜?wù)器上而不是每位用戶的PC,所以版本管理,更新和其它軟件維護(hù)工作變得簡單。此外,工程工具相對于用戶編程裝置上的操作系統(tǒng)獨(dú)立工作。因?yàn)橹挥泄竟蛦T可以訪問服務(wù)器,所以專有信息可以存儲在服務(wù)器上,并且可以被工作在不同地點(diǎn)的編程小組訪問。
      本發(fā)明也有利地提供了用于合作完成工程的系統(tǒng)和方法。在一個實(shí)施例中,多個用戶可共同訪問和開發(fā)用于一個或多個可編程控制器的程序代碼。如圖22所示,多個用戶可訪問一個服務(wù)器。支持網(wǎng)絡(luò)的工程工具2200位于服務(wù)器50上,并且能夠在客戶裝置30上的瀏覽器應(yīng)用程序中運(yùn)行。服務(wù)器可以包含存儲器,用于在數(shù)據(jù)庫2210以及配置管理器2220中存儲工程項(xiàng)目。存儲在項(xiàng)目數(shù)據(jù)庫2210中的項(xiàng)目可以是分散的或是相互關(guān)聯(lián)的。典型地,創(chuàng)建一個特定項(xiàng)目或一段代碼的用戶被賦予了對該項(xiàng)目的全部讀和寫的權(quán)力。如圖22中所示,第一用戶5000可以訪問第一項(xiàng)目2241。一旦訪問第一項(xiàng)目2241,第一項(xiàng)目的一份活動的拷貝2250就在服務(wù)器上創(chuàng)建,其中所述第一項(xiàng)目2241典型地是人可讀形式的存儲程序代碼的文件。借助于支持網(wǎng)絡(luò)的工程工具2200,第一用戶5000可以修改第一項(xiàng)目2250的活動的拷貝。系統(tǒng)中的其它用戶5001,5002,5003,可能需要查看項(xiàng)目1的拷貝。這是第二和第三用戶處理相關(guān)項(xiàng)目時經(jīng)常遇到的情況。因?yàn)橐环莼顒拥目截愓幱诠ぷ鬟M(jìn)程中,使得有可能第一用戶5000根本無法保存他對該活動的拷貝所作的修改,因此準(zhǔn)許第二和第三用戶有權(quán)讀取該活動的拷貝是不利的,同時上述也不是典型的。與此不同,更好的經(jīng)常是給予第二和第三用戶5002,5003讀取位于項(xiàng)目數(shù)據(jù)庫中的歸檔拷貝的權(quán)力。在一些實(shí)施例中,有利的可以給第四用戶5001提供對活動拷貝的讀的權(quán)力或?qū)懙臋?quán)力。這在第四用戶5001是一位客戶服務(wù)代表、一名顧問或是用戶的管理人員的情況下非常有用。訪問存儲在數(shù)據(jù)庫中的項(xiàng)目的歸檔拷貝與訪問活動拷貝一樣,通常受控于配置管理器。在本發(fā)明的一個實(shí)施例中,一個項(xiàng)目創(chuàng)建者通過項(xiàng)目配置管理器2220給其它用戶賦予權(quán)力。常常至少一個其它用戶,例如超級用戶或IT管理人員,具有賦予權(quán)力的能力。
      在一個實(shí)施例中,如圖22中描述的一個例子,一個大型的編程任務(wù)被劃分成幾個小的項(xiàng)目。每個項(xiàng)目在項(xiàng)目數(shù)據(jù)庫中作為文件存儲。每個用戶主要對一個單獨(dú)的項(xiàng)目負(fù)責(zé)。例如第一用戶5000負(fù)責(zé)項(xiàng)目1,2241。這樣第一用戶5000,通過配置管理器,被賦予對第一項(xiàng)目2241讀和寫的權(quán)力。其它用戶,如第二和第三用戶5002、5003可能負(fù)責(zé)其它項(xiàng)目或相關(guān)項(xiàng)目,并因此被賦予對項(xiàng)目1的較少的權(quán)力,例如只讀的權(quán)力。第二用戶5002的任務(wù)是創(chuàng)建項(xiàng)目2,2242,并因此被賦予對項(xiàng)目2的全部權(quán)力,但是用戶1和用戶3僅被給予了對項(xiàng)目2的一份歸檔拷貝讀的權(quán)力。用戶3,5003的任務(wù)是創(chuàng)建項(xiàng)目3,2243,并因此被賦予了對項(xiàng)目3的讀寫的權(quán)力,但是對項(xiàng)目1和2的歸檔拷貝只有只讀的權(quán)力。同樣,第一用戶5000被賦予對項(xiàng)目2和3的文檔拷貝的只讀權(quán)力。一個項(xiàng)目超級用戶,例如第四用戶5001,具有管理權(quán),包括有權(quán)對活動拷貝以及對文檔拷貝進(jìn)行讀和寫,有合并不同項(xiàng)目(活動拷貝或文檔拷貝)成為一段程序代碼的權(quán)力,有編譯程序代碼的權(quán)力,及有其它查看程序項(xiàng)目需要的權(quán)力。
      本發(fā)明因此提出許多方法,用于對可編程控制器合作編程,及為I/O網(wǎng)絡(luò)和裝置生成配置數(shù)據(jù),這些通常是編程過程的一部分。圖26-28,概括示出了本發(fā)明提供的合作編程的方法和技術(shù)中的幾個例子。雖然在這些圖中示出了特例,但是這里概要示出的方法步驟只是舉例說明,并未窮舉本發(fā)明提供的廣泛而魯棒的合作工程方法。
      本發(fā)明也提供了方便的程序代碼存檔和版本管理。版本管理器或版本管理系統(tǒng)可以合并到配置管理器或受控于配置管理器。在新的編譯過的程序代碼下載到可編程控制器(直接從服務(wù)器下載到控制器或通過客戶裝置從服務(wù)器下載到控制器)之前,一份現(xiàn)有代碼的拷貝存檔于服務(wù)器上。在一些實(shí)施例中,程序代碼在其被編譯之前以人可閱讀的形式存檔。編譯后的代碼與人可閱讀的代碼可相互鏈接,這樣人可閱讀的代碼可基于編譯后的代碼訪問(見例如圖20)。
      位于服務(wù)器上的版本管理工具具有多種優(yōu)點(diǎn)并為工程工具供應(yīng)者提供了新的商業(yè)模式。許多優(yōu)點(diǎn)中的其中之一是其允許客戶查找程序的特殊變化或比較程序的兩個版本。這是在食物和藥品管理局(“FDA”)的行業(yè)規(guī)定中非常希望的。例如,在食品工廠,F(xiàn)DA要求對于PLC程序的全部變化都具有文檔記錄。版本管理工具可提供這種功能。在一些實(shí)施例中,版本管理工具是配置管理器的一部分并位于具有工程工具的服務(wù)器中。在一個典型的情況下,用戶對PLC程序(例如版本1.0)進(jìn)行修改,例如增加了混合物中糖的成分。修改后的程序與文件一起在服務(wù)器上存為新的版本(例如版本1.1)。如果在其后的某些時間點(diǎn),產(chǎn)品確定為太甜,后面的用戶可以通過查找PLC中影響甜度或增加到產(chǎn)品中糖的數(shù)量的變化對其進(jìn)行修正。版本管理器優(yōu)選地支持這種功能。通常,不可能恢復(fù)到原始版本(例如1.0),因?yàn)榇嬖诤罄m(xù)的變化,但是用戶可以通過改變運(yùn)行在該P(yáng)LC上的已有版本創(chuàng)建一個新版本。
      除了提供查找功能外,版本管理工具還可以提供比較功能,這允許將一個版本與另外一個版本進(jìn)行比較。該比較功能可以工作于基于圖形和文本的編程語言,且最好高亮顯示變化。
      本發(fā)明也提供了用于測試在中心服務(wù)器上開發(fā)的程序代碼的方法和系統(tǒng)。如圖23所示和概述的,包括工程工具的服務(wù)器被客戶裝置訪問,步驟9900。然后在客戶裝置上運(yùn)行工程工具,步驟9905,優(yōu)選地在客戶裝置的瀏覽器應(yīng)用程序中運(yùn)行,然后在服務(wù)器上創(chuàng)建程序代碼,步驟9910。隨后可以通過在服務(wù)器上運(yùn)行仿真軟件測試程序代碼,步驟9915。該仿真軟件可以模仿實(shí)際的可編程控制器。在其它實(shí)施例中,服務(wù)器可以與測試可編程控制器接口,步驟9920。優(yōu)選地,測試可編程控制器配置為測試在服務(wù)器上用工程工具產(chǎn)生的程序代碼和/或配置數(shù)據(jù)。程序代碼測試完成后,可以被下載到實(shí)際的可編程控制器,步驟9925,這常常稱為目標(biāo)可編程控制器。
      圖24中概要示出了下載本發(fā)明生成的代碼的一個方法。在服務(wù)器上生成程序代碼和/或配置數(shù)據(jù),步驟9000。然后編譯代碼,步驟9005。代碼然后被下載到客戶裝置,步驟9010。并拷貝到與客戶裝置關(guān)聯(lián)的存儲裝置上,步驟9015。該存儲裝置可采用多種形式,并可以是可移動存儲裝置,例如一磁盤驅(qū)動器或一閃存單元。存儲裝置可與一電子裝置接口或通信耦合,步驟9020。然后拷貝代碼到該電子裝置,步驟9025。然后代碼從該電子裝置被下載到目標(biāo)可編程控制器,步驟9030。
      如圖25所示,本發(fā)明也可以包括一個配置編輯器9100,用于生成存在于服務(wù)器9200上的代碼或數(shù)據(jù),以配置I/O網(wǎng)絡(luò)和裝置。配置編輯器通常是工程工具9300的一部分,或是工程工具組合9350的一部分。本領(lǐng)域技術(shù)人員可以認(rèn)識到多數(shù)情況下這里描述的工程工具可以包括配置編輯器,以及程序代碼的生成可以包含配置數(shù)據(jù)的生成。配置編輯器可采用多種形式,但通常是圖形形式,并優(yōu)選地適于被客戶裝置9500通過網(wǎng)絡(luò)例如因特網(wǎng)9600調(diào)用。圖形配置編輯器可以顯示I/O網(wǎng)絡(luò)與在網(wǎng)絡(luò)上的裝置的布局。用于I/O網(wǎng)絡(luò)和裝置的配置數(shù)據(jù)典型地被下載到網(wǎng)絡(luò)中的可編程控制器9700。在一些情況下,數(shù)據(jù)可以下載到網(wǎng)絡(luò)中的智能裝置。配置數(shù)據(jù)常常包括例如波特率等信息及有關(guān)將邏輯映射到物理I/O的信息。
      雖然上面描述了一些具體的實(shí)施例,但是本發(fā)明也可以具體表示為多種不同的形式以致無法在這里全部描述,并且不應(yīng)該受到上面描述的實(shí)施例的限制,上面描述的這些實(shí)施例用于對本發(fā)明進(jìn)行說明但不是全部。例如,本領(lǐng)域技術(shù)人員也將認(rèn)識到雖然上面以特定的次序描述了本發(fā)明的方法步驟,但是這些步驟的次序并不是關(guān)鍵的,并且本發(fā)明可以通過執(zhí)行不同次序的步驟得以實(shí)施。例如,實(shí)施本發(fā)明時是否以特定的次序執(zhí)行方法步驟常常是不重要的。例如,客戶在把編譯過的數(shù)據(jù)和配置數(shù)據(jù)從中心服務(wù)器下載到PLC之前或之后付費(fèi)沒有區(qū)別。
      權(quán)利要求
      1.一種允許具有一客戶裝置的用戶使用工程工具給可編程控制器編程的方法,該方法包括步驟允許該用戶的客戶裝置訪問存在于網(wǎng)絡(luò)上的服務(wù)器;在該服務(wù)器上保持一個支持網(wǎng)絡(luò)的工程工具,使其能夠被運(yùn)行在所述客戶裝置上的瀏覽器應(yīng)用程序訪問;允許所述用戶使用該支持網(wǎng)絡(luò)的工程工具創(chuàng)建程序代碼;及接收來自所述用戶的費(fèi)用,作為使用所述工程工具的交換。
      2.如權(quán)利要求1所述的方法,其中基于所述工程工具的使用情況計(jì)算所述費(fèi)用。
      3.如權(quán)利要求2所述的方法,其中基于所編寫的程序代碼的行數(shù)計(jì)算所述工程工具的使用情況。
      4.如權(quán)利要求2所述的方法,其中基于所述用戶與服務(wù)器通信的時間計(jì)算所述工程工具的使用情況。
      5.如權(quán)利要求1所述的方法,進(jìn)一步包括,在接收來自用戶的費(fèi)用的步驟之前,編譯所述程序代碼。
      6.如權(quán)利要求5所述的方法,其中所述費(fèi)用基于所述程序代碼涉及的輸入數(shù)量。
      7.如權(quán)利要求6所述的方法,其中所述費(fèi)用基于所述程序代碼涉及的輸出數(shù)量。
      8.一種用于出售編程服務(wù)的方法,該編程服務(wù)用于給可編程控制器開發(fā)程序代碼,該方法包括步驟允許用戶使用工程工具開發(fā)程序代碼;編譯通過該工程工具開發(fā)的程序代碼;及向所述用戶收取程序代碼的費(fèi)用。
      9.如權(quán)利要求8所述的方法,進(jìn)一步包括,在接收來自用戶的費(fèi)用的步驟之前,把經(jīng)過編譯的程序代碼下載到所述可編程控制器。
      10.如權(quán)利要求9所述的方法,進(jìn)一步包括在服務(wù)器上將已經(jīng)編譯的程序代碼的拷貝存檔的步驟。
      11.一種用于給可編程控制器編程的方法,包括使用具有網(wǎng)絡(luò)接口應(yīng)用程序的客戶裝置訪問位于服務(wù)器上的支持網(wǎng)絡(luò)的工程工具;在該客戶裝置上的網(wǎng)絡(luò)接口應(yīng)用程序中運(yùn)行該工程工具;使用該工程工具創(chuàng)建程序代碼;在該服務(wù)器上編譯所述程序代碼;把經(jīng)過編譯的代碼從所述服務(wù)器下載到可編程控制器;及付費(fèi)。
      12.如權(quán)利要求11所述的方法,其中所述網(wǎng)絡(luò)接口應(yīng)用程序包括web瀏覽器,及所述支持網(wǎng)絡(luò)的工程工具包括支持web的工程工具。
      13.如權(quán)利要求11所述的方法,其中所述服務(wù)器與客戶裝置通過因特網(wǎng)通信。
      14.如權(quán)利要求11所述的方法,其中所述把經(jīng)過編譯的代碼從服務(wù)器下載到可編程控制器的步驟包括步驟把經(jīng)過編譯的代碼下載到所述客戶裝置,該客戶裝置與所述可編程控制器進(jìn)行通信;及把經(jīng)過編譯的代碼從該客戶裝置下載到可編程控制器。
      15.如權(quán)利要求11所述的方法,其中所述把經(jīng)過編譯的代碼從服務(wù)器下載到可編程控制器的步驟包括步驟把經(jīng)過編譯的代碼下載到第二客戶裝置,該第二客戶裝置與所述可編程控制器進(jìn)行通信;及把經(jīng)過編譯的代碼從該第二客戶裝置下載到可編程控制器。
      16.如權(quán)利要求15所述的方法,其中所述第二客戶裝置與服務(wù)器通過局域網(wǎng)通信。
      17.一種用于將程序代碼下載到可編程控制器的方法,包括步驟將該可編程控制器連接到網(wǎng)絡(luò);將程序代碼從該網(wǎng)絡(luò)下載到可編程控制器,其中該程序代碼生成于包含工程工具的服務(wù)器上,所述工程工具可以被用戶使用客戶裝置通過網(wǎng)絡(luò)訪問;及付費(fèi)。
      18.如權(quán)利要求17所述的方法,其中所述可編程控制器通過與客戶裝置連接而連接到網(wǎng)絡(luò),所述客戶裝置連接到網(wǎng)絡(luò)。
      19.如權(quán)利要求17所述的方法,其中將程序代碼從網(wǎng)絡(luò)下載到可編程控制器的步驟包括步驟建立所述網(wǎng)絡(luò)與客戶裝置之間的通信;將所述程序代碼下載到客戶裝置;將所述可編程控制器與客戶裝置接口;及將所述程序代碼從所述客戶裝置下載到可編程控制器。
      20.一種用于給具有可編程控制器的企業(yè)提供工程工具的方法,該方法包括步驟給該企業(yè)提供服務(wù)器,該服務(wù)器允許客戶訪問工程工具,所述工程工具配置為可以被客戶裝置訪問;在服務(wù)器上保持所述工程工具;及收費(fèi)。
      21.如權(quán)利要求20所述的方法,其中基于所述工程工具的使用情況計(jì)算所述費(fèi)用。
      22.如權(quán)利要求20所述的方法,其中費(fèi)用是固定費(fèi)用。
      23.如權(quán)利要求20所述的方法,其中費(fèi)用包括非貨幣價值傳輸。
      24.如權(quán)利要求19所述的方法,進(jìn)一步包括將所述服務(wù)器連接到企業(yè)內(nèi)部互聯(lián)網(wǎng),該客戶裝置通過所述企業(yè)內(nèi)部互聯(lián)網(wǎng)通信。
      25.如權(quán)利要求22所述的方法,進(jìn)一步包括將所述服務(wù)器通信連接到局域網(wǎng)的步驟,該局域網(wǎng)通信連接至少一個可編程控制器。
      26.一種出售工程服務(wù)的方法,所述工程服務(wù)允許機(jī)構(gòu)生成用于可編程控制器的程序代碼,該方法包括步驟提供到服務(wù)器的訪問,所述服務(wù)器具有用于為可編程控制器生成程序代碼的工程工具;從客戶裝置接收用該工程工具生成的程序代碼;編譯該程序代碼;及提供到仿真軟件的訪問,以測試經(jīng)過編譯的程序代碼。
      27.如權(quán)利要求26所述的方法,進(jìn)一步包括從所述服務(wù)器發(fā)送已經(jīng)編譯的代碼到客戶裝置。
      28.如權(quán)利要求26所述的方法,進(jìn)一步包括將已經(jīng)編譯的代碼從所述服務(wù)器發(fā)送到第二客戶裝置。
      29.如權(quán)利要求28所述的方法,其中所述第二客戶裝置與可移動存儲裝置耦合。
      30.如權(quán)利要求29所述的方法,其中所述可移動存儲裝置是磁盤驅(qū)動器。
      31.如權(quán)利要求29所述的方法,其中所述可移動存儲裝置是閃存裝置。
      32.一種用于提供工程工具服務(wù)來配置I/O網(wǎng)絡(luò)和設(shè)備的方法,該方法包括步驟在網(wǎng)絡(luò)上保持服務(wù)器,所述服務(wù)器具有配置編輯器,該配置編輯器配置為可被客戶裝置上的網(wǎng)絡(luò)接口應(yīng)用程序調(diào)用,所述客戶裝置通過網(wǎng)絡(luò)與所述服務(wù)器通信;接收使用所述配置編輯器的費(fèi)用;及通過所述網(wǎng)絡(luò)發(fā)送使用所述配置編輯器生成的配置數(shù)據(jù)。
      33.如權(quán)利要求32所述的方法,其中所述配置編輯器包括圖形編輯器。
      34.如權(quán)利要求32所述的方法,其中所述配置數(shù)據(jù)包括波特率信息。
      35.如權(quán)利要求32所述的方法,其中所述配置數(shù)據(jù)包括有關(guān)將邏輯I/O信息映射到物理I/O信息的數(shù)據(jù)。
      36.一種用于生成配置數(shù)據(jù)的方法,包括步驟在網(wǎng)絡(luò)上保持服務(wù)器;及在該服務(wù)器上保持配置編輯器,所述配置編輯器適于在客戶裝置上運(yùn)行。
      37.如權(quán)利要求36所述的方法,其中所述配置編輯器適于運(yùn)行在所述客戶裝置上的網(wǎng)絡(luò)接口應(yīng)用程序中。
      38.如權(quán)利要求37所述的方法,其中所述網(wǎng)絡(luò)接口應(yīng)用程序是web瀏覽器。
      39.如權(quán)利要求36所述的方法,其中所述網(wǎng)絡(luò)是因特網(wǎng)。
      40.如權(quán)利要求36所述的方法,其中所述配置編輯器包括圖形編輯器。
      41.如權(quán)利要求40所述的方法,進(jìn)一步包括在所述服務(wù)器上保持工程工具,用于給可編程控制器開發(fā)程序代碼。
      42.一種提供工程工具服務(wù)的方法,包括步驟在服務(wù)器上保持工程工具用于給可編程控制器生成程序代碼和配置數(shù)據(jù),該工程工具配置為運(yùn)行在與所述服務(wù)器通信的客戶裝置上;編譯通過所述服務(wù)器上的工程工具生成的程序代碼;及在所述服務(wù)器上運(yùn)行仿真軟件以測試已經(jīng)編譯的程序代碼。
      43.如權(quán)利要求42所述的方法,進(jìn)一步包括接收費(fèi)用。
      44.一種用于提供工程工具服務(wù)的方法,包括步驟在服務(wù)器上保持工程工具,用于給可編程控制器生成程序代碼和配置數(shù)據(jù),所述工程工具配置為運(yùn)行在與所述服務(wù)器通信的客戶裝置上;編譯通過所述服務(wù)器上的工程工具生成的程序代碼;及將一個測試可編程控制器與所述服務(wù)器接口,該測試可編程控制器配置為測試程序代碼和配置數(shù)據(jù)。
      45.一種用于可編程控制器的版本管理方法,該方法包括步驟在服務(wù)器上存儲多個用于可編程控制器的程序版本,客戶裝置通過網(wǎng)絡(luò)可以訪問該服務(wù)器;響應(yīng)來自所述客戶裝置的命令,在所述程序版本中查找預(yù)先確定的程序中的變化;及接收費(fèi)用。
      46.如權(quán)利要求45所述的方法,其中基于存儲在所述服務(wù)器上的版本數(shù)量決定所接收的費(fèi)用。
      47.如權(quán)利要求45所述的方法,其中基于存儲不同版本使用的空間決定接收的費(fèi)用。
      48.如權(quán)利要求45所述的方法,進(jìn)一步包括將程序的第一版本與第二版本比較做為查找的結(jié)果。
      全文摘要
      本發(fā)明披露了一種用于為可編程控制器生成程序代碼和/或配置數(shù)據(jù)的方法和系統(tǒng),以及它們在其上面進(jìn)行工作的網(wǎng)絡(luò)。在一個實(shí)施例中,所述程序代碼生成于具有支持網(wǎng)絡(luò)的工程工具的中央服務(wù)器。該工程工具在客戶裝置上工作,客戶裝置通過網(wǎng)絡(luò)例如因特網(wǎng)與服務(wù)器通信。優(yōu)選地,工程工具在客戶裝置的瀏覽器應(yīng)用程序(或其它網(wǎng)絡(luò)接口應(yīng)用程序)中運(yùn)行,并且用戶借助客戶裝置在服務(wù)器上生成程序代碼。通過工程工具的集中化,提供了服務(wù)于給擁有可編程控制器的顧客提供工程工具的新的商業(yè)范例,其中工程工具可以包含配置編輯器和具有版本管理功能的配置管理器。另外,本發(fā)明提供了新的用于程序代碼合作工程的方法和工具。
      文檔編號G06F9/45GK1556963SQ02818645
      公開日2004年12月22日 申請日期2002年8月13日 優(yōu)先權(quán)日2001年9月24日
      發(fā)明者G·羅, G 羅 申請人:西門子能量及自動化公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1