專利名稱::工業(yè)控制掃描器與工業(yè)控制器之間的多速率優(yōu)化連接的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及工業(yè)控制系統(tǒng),尤其涉及一種用于在這類系統(tǒng)中傳送工業(yè)控制數(shù)據(jù)的方法和裝置。
背景技術(shù):
:工業(yè)控制器是用于控制工業(yè)過程或制造設(shè)備的專用計(jì)算機(jī)。在所存儲(chǔ)的程序的引導(dǎo)下,工業(yè)控制器檢查反映受控過程的狀態(tài)的一系列輸入并改變實(shí)現(xiàn)過程控制的輸出。輸入和輸出可以是二進(jìn)制的(即"開"或"關(guān)")或者也可以使用在值的連續(xù)范圍上取的模擬輸入和輸出。二進(jìn)制輸入和輸出可以由數(shù)據(jù)的單個(gè)位來表示;模擬輸入和輸出可以由多位數(shù)據(jù)字來表示。工業(yè)控制器的各種組件通常在空間上分布在通過一個(gè)或多個(gè)通信網(wǎng)絡(luò)互連的工廠或制造設(shè)施周圍。這些通信網(wǎng)絡(luò)的特征在于高度可靠以及以最小并且明確的延遲來遞送數(shù)據(jù),就象實(shí)時(shí)控制所要求的那樣。多個(gè)不同通信網(wǎng)絡(luò)常用于工業(yè)控制器領(lǐng)域中,包括不限于ControlNetTM、DeviceNET以及EtherNet/IP,其規(guī)范已被公開并且其協(xié)議被許多制造商和供應(yīng)商廣泛使用。這些通信網(wǎng)絡(luò)在物理方面例如介質(zhì)的類型(例如,同軸電纜、雙絞線、光纖等);其操作協(xié)議(例如,波特率、信道數(shù)、字傳輸大小、連接的消息接發(fā)的使用等);以及數(shù)據(jù)如何格式化以及它如何被收集到標(biāo)準(zhǔn)消息中方面互不相同;工業(yè)控制系統(tǒng)的常用組件是為工業(yè)控制器從受控過程或機(jī)器接受數(shù)據(jù),并向受控過程或機(jī)器提供來自工業(yè)控制器的數(shù)據(jù)的輸入或輸出(I/O)模塊。I/O模塊通常遠(yuǎn)離工業(yè)控制器并通過如上所述的通信網(wǎng)絡(luò)連接。在工業(yè)控制系統(tǒng)中使用的各種I/O模塊可以用不同的間隔和頻率生成數(shù)據(jù)。如果控制器在每一I/O模塊生成其數(shù)據(jù)時(shí)與其異步相接,則控制系統(tǒng)會(huì)在同步其控制動(dòng)作方面遇到困難,并且網(wǎng)絡(luò)話務(wù)可能變得煩重。例如,控制器可能不以與模塊產(chǎn)生數(shù)據(jù)相同的頻率向特定i/o模塊要求數(shù)據(jù)。如果I/O模塊在每次其更新其數(shù)據(jù)時(shí)向控制器發(fā)送事務(wù),則控制器會(huì)被要求處理其當(dāng)前控制決定所不需要的數(shù)據(jù)的事務(wù)。掃描器可以用作I/O模塊與控制器之間的物理或邏輯中介,以優(yōu)化網(wǎng)絡(luò)話務(wù)、不同網(wǎng)絡(luò)類型之間的翻譯和代理、并生成同步的數(shù)據(jù)傳輸幀。掃描器可與I/O模塊相接以用預(yù)定更新間隔收集數(shù)據(jù),將數(shù)據(jù)合并到單個(gè)優(yōu)化連接包中,并在每個(gè)更新間隔使用單個(gè)事務(wù)將優(yōu)化連接包傳送至控制器。因此,控制器可能在當(dāng)它需要用于控制決定用途的數(shù)據(jù)時(shí)以受控的和預(yù)定的間隔接收數(shù)據(jù)。優(yōu)化連接包一般按"連接的消息接發(fā)"協(xié)議傳送。如在本領(lǐng)域了解的,連接的消息接發(fā)在預(yù)先分配網(wǎng)絡(luò)帶寬和緩沖空間以及設(shè)備處的其它資源以確保數(shù)據(jù)的可預(yù)測(cè)和及時(shí)發(fā)送的網(wǎng)絡(luò)上的兩個(gè)設(shè)備(例如控制器和掃描器)之間建立邏輯連接。這可能與其中網(wǎng)絡(luò)話務(wù)中的變化能不可預(yù)測(cè)地影響消息的通信的非連接的消息接發(fā)系統(tǒng)形成對(duì)比。在生成優(yōu)化連接包時(shí),掃描器定期通過預(yù)先建立的連接向控制器發(fā)送優(yōu)化連接包。優(yōu)化連接包是表示從每一I/O模塊收集到的數(shù)據(jù)的一塊非結(jié)構(gòu)化的數(shù)據(jù)。來自各模塊的數(shù)據(jù)不經(jīng)格式化地以預(yù)定次序級(jí)聯(lián)。優(yōu)化連接包的結(jié)構(gòu)被預(yù)先確定。此預(yù)定結(jié)構(gòu)由控制器應(yīng)用程序和程序開發(fā)系統(tǒng)在引用優(yōu)化連接包內(nèi)的數(shù)據(jù)時(shí)使用(即,用于開發(fā)控制器應(yīng)用程序)。例如,如果特定I/O模塊的輸出駐留在優(yōu)化連接包的N至K位處,則控制器應(yīng)用程序中的程序指令嚴(yán)格地引用這些位用于生成控制決定。在開發(fā)控制應(yīng)用程序時(shí),應(yīng)用程序開發(fā)者必須知道優(yōu)化連接包的映射。對(duì)優(yōu)化連接包的諸部分的固定引用包括在構(gòu)成控制應(yīng)用程序的程序命令中。如果優(yōu)化連接包的映射由于I/O模塊的添加或刪除、由掃描器服務(wù)的1/0模塊的次序變化等而改變,則固定引用必須在控制應(yīng)用程序中更新以使得控制器引用合適的數(shù)據(jù)。如在本案的父申請(qǐng)中所述,編程者對(duì)優(yōu)化連接包的數(shù)據(jù)的引用可以通過使用其中將標(biāo)簽結(jié)構(gòu)用于將優(yōu)化連接包中的物理位置翻譯成可包含在程序中的方便的變量名而無需引用實(shí)際物理位置的類型強(qiáng)制轉(zhuǎn)換標(biāo)簽而變得更容易。將所有i/o數(shù)據(jù)組合成單個(gè)優(yōu)化連接包提供了非常高效的i/o數(shù)據(jù)的通信,但它也迫使對(duì)所有I/O數(shù)據(jù)使用單個(gè)數(shù)據(jù)遞送的速率。通??赡苄枰员绕溆郔/O數(shù)據(jù)高得多的速率傳送某些I/O數(shù)據(jù),例如快速變化或用于同步高速過程的數(shù)據(jù)。雖然可以加大優(yōu)化連接包的傳輸速率來匹配這一高速1/0數(shù)據(jù)所需的數(shù)據(jù)速率,但這一方法在可用網(wǎng)絡(luò)帶寬下可能并不實(shí)際,并且至少因以不必要的高速率傳送所有i/o數(shù)據(jù)而浪費(fèi)相當(dāng)?shù)膸?。如果在編程完成之后發(fā)現(xiàn)對(duì)某些數(shù)據(jù)需要更高的數(shù)據(jù)速率,則從優(yōu)化連接包中移動(dòng)此數(shù)據(jù)破壞了此優(yōu)化連接包的結(jié)構(gòu)并且需要相當(dāng)大的編程工
發(fā)明內(nèi)容本發(fā)明提供一種提高給定I/O數(shù)據(jù)的數(shù)據(jù)通信速率而不重新對(duì)優(yōu)化連接包編程并且不必破壞使用該I/O數(shù)據(jù)的現(xiàn)有程序或創(chuàng)建需要同步的相同數(shù)據(jù)的多個(gè)版本的方法。通常,本發(fā)明在掃描器與工業(yè)控制器之間設(shè)置提供與由優(yōu)化連接包發(fā)送的數(shù)據(jù)交織的數(shù)據(jù)的第二增補(bǔ)連接。重要地,該第二連接與優(yōu)化連接包使用掃描器和工業(yè)控制器中相同緩沖區(qū)位置,從而消除了產(chǎn)生引用和同步問題的數(shù)據(jù)破碎。該第二連接只發(fā)送數(shù)據(jù)的子集,因此帶寬效率非常高。具體而言,本發(fā)明提供了一種具有可用于與過程相接以與該過程交換1/0數(shù)據(jù)的多個(gè)I/0模塊的工業(yè)控制系統(tǒng)。在該工業(yè)控制系統(tǒng)中,掃描器與I/O模塊交換I/O數(shù)據(jù)并創(chuàng)建包括排布成非格式化的數(shù)據(jù)塊的對(duì)應(yīng)于各模塊的I/O數(shù)據(jù)的優(yōu)化連接包。然后,掃描器在各第一時(shí)間以第一速率在第一連接的消息中與工業(yè)控制器交換優(yōu)化連接包并在與各第一時(shí)間交織的各第二時(shí)間以第二速率與掃描器交換優(yōu)化連接包的子集。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的是允許以不同速率傳送單個(gè)優(yōu)化連接包的不同數(shù)據(jù)元。另一個(gè)目的是允許在事后改變給定數(shù)據(jù)元的數(shù)據(jù)速率而無需對(duì)優(yōu)化連接包或利用該給定數(shù)據(jù)元的程序重新編程。以第二速度傳送的數(shù)據(jù)子集可以由一個(gè)或多個(gè)給定I/O模塊的數(shù)據(jù)定義。因此,本發(fā)明的至少一個(gè)實(shí)施例的另一目的在于提供一種為各個(gè)I/O模塊定制不同數(shù)據(jù)遞送速率的方法。掃描器可以在多個(gè)不同時(shí)間與多個(gè)i/o模塊通信。本發(fā)明的至少一個(gè)實(shí)施例的另一目的在于提供一種容許異步收集一般由掃描器提供的I/O數(shù)據(jù)的方法。第二速率可以等于或大于第一速率使得該子集以不小于優(yōu)化連接包其它數(shù)據(jù)的速率兩倍的速率遞送。因此,本發(fā)明的至少一個(gè)實(shí)施例的另一目的在于通過交織較低速度的兩個(gè)連接來提高I/O數(shù)據(jù)的傳輸速率并提高I/O數(shù)據(jù)的及時(shí)性。掃描器可以在掃描器緩沖區(qū)中構(gòu)建優(yōu)化連接包并且第一和第二連接可以將掃描器緩沖區(qū)用于相應(yīng)數(shù)據(jù)。本發(fā)明的至少一個(gè)實(shí)施例的另一目的在于提供以上優(yōu)點(diǎn)而不顯著增加掃描器中所需的緩沖空間的總量。第一和第二連接還將工業(yè)控制緩沖區(qū)中的相同緩沖區(qū)位置用于相應(yīng)數(shù)據(jù)。本發(fā)明的至少一個(gè)實(shí)施例的又一個(gè)目的在于避免生成必須被同步的數(shù)據(jù)的多個(gè)副本并且進(jìn)一步允許使用該數(shù)據(jù)的程序保持不變。這些特定目的和優(yōu)點(diǎn)可以只適用于落在權(quán)利要求書的范圍內(nèi)的某些實(shí)施例,因而不限定本發(fā)明的范圍。圖1是根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的工業(yè)控制系統(tǒng)的簡(jiǎn)化的框圖;圖2是示出工業(yè)控制器與掃描器之間用于傳送優(yōu)化連接包的單個(gè)連接的示圖;圖3是類似于圖2的示出工業(yè)控制器與掃描器之間用于傳送優(yōu)化連接包的子集的第二連接;以及圖4是示出用于實(shí)現(xiàn)諸如數(shù)據(jù)傳輸速率的可變性的優(yōu)化連接包與優(yōu)化連接包的子集的傳送的交織的時(shí)序圖。具體實(shí)施方式現(xiàn)在參見圖1,本發(fā)明將在工業(yè)控制系統(tǒng)10的背景下進(jìn)行說明。通常,工業(yè)控制系統(tǒng)10包括含處理單元16和存儲(chǔ)器17的工業(yè)控制器15(例如可編程邏輯控制器(PLC)),編程終端20,人機(jī)接口(HMI)25,I/O模塊30、35,傳感器40,致動(dòng)器45,掃描器50、55以及通信網(wǎng)絡(luò)60、65、70。編程終端20允許配置、修改、調(diào)試以及維護(hù)工業(yè)控制系統(tǒng)10。例如,編程終端20可以與工業(yè)控制器15通信以修改控制器的操作的諸方面,諸如存儲(chǔ)在存儲(chǔ)器17中并由處理單元16執(zhí)行的控制程序。HMI25提供用于操作工業(yè)控制系統(tǒng)10以執(zhí)行自動(dòng)化的工業(yè)過程的操作員接口。如將在以下更詳細(xì)地說明的,編程終端20定義可用于將數(shù)據(jù)結(jié)構(gòu)疊加在工業(yè)控制器15與掃描器50、55之間發(fā)送的非結(jié)構(gòu)化數(shù)據(jù)上的類型強(qiáng)制轉(zhuǎn)換標(biāo)簽。這些類型強(qiáng)制轉(zhuǎn)換標(biāo)簽可由工業(yè)控制系統(tǒng)10中諸如工業(yè)控制器15或HMI25等的其它實(shí)體用于邏輯地引用非結(jié)構(gòu)化數(shù)據(jù)塊的各個(gè)子集而不要求預(yù)先知道數(shù)據(jù)的預(yù)定結(jié)構(gòu)。因此,類型強(qiáng)制轉(zhuǎn)換標(biāo)簽可用于邏輯地引用由1/0模塊維護(hù)的表示1/0模塊30的配置和狀態(tài)的數(shù)據(jù)對(duì)象,即使這些數(shù)據(jù)對(duì)象嵌在包含來自多個(gè)模塊的數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)塊中。I/O模塊30、35提供到與受控過程相關(guān)聯(lián)的傳感器40和致動(dòng)器45的接口。傳感器40能感測(cè)諸如溫度、壓力、液體的流速、扭矩、電流等項(xiàng)目。致動(dòng)器45控制諸如電動(dòng)機(jī)、閥等與機(jī)器人系統(tǒng)、風(fēng)扇、攪拌器、泵等相關(guān)聯(lián)的項(xiàng)目。例如,一種類型的致動(dòng)器45是可用于生成用于驅(qū)動(dòng)相關(guān)聯(lián)的電動(dòng)機(jī)的變頻驅(qū)動(dòng)信號(hào)的電動(dòng)機(jī)驅(qū)動(dòng)器。為了便于說明,沒有示出對(duì)應(yīng)于所有1/0模塊30、35的各個(gè)傳感器40和致動(dòng)器45。在工業(yè)控制器15中,來自1/0模塊30、35的輸入信號(hào)可以在控制程序下被處理并且進(jìn)一步的信號(hào)作為輸出信號(hào)被發(fā)送(即,發(fā)往致動(dòng)器45)。受控的具體過程以及特定輸入和輸出模塊類型對(duì)本發(fā)明不是實(shí)質(zhì)性的。I/O模塊30、35可以與工業(yè)控制器15集成或遠(yuǎn)離工業(yè)控制器15。在一個(gè)實(shí)施例中,工業(yè)控制系統(tǒng)IO可以使用由威斯康星州的密爾沃基市的洛克威爾自動(dòng)控制技術(shù)股份有限公司提供的LogixTM組件來實(shí)現(xiàn)。通信網(wǎng)絡(luò)60、65、70可以采取電纜的形式,并且可以是分立連線,或可包括還可包含轉(zhuǎn)發(fā)器、路由器、網(wǎng)橋和網(wǎng)關(guān)的數(shù)字網(wǎng)絡(luò)。適合的通信網(wǎng)絡(luò)60、65、70是同樣由洛克威爾自動(dòng)控制技術(shù)股份有限公司提供的DeviceNet、Ethernet/IP或ControlNetIM網(wǎng)絡(luò)。如圖1所示,1/O模塊30作為網(wǎng)絡(luò)70連接在掃描器50下。掃描器50起到I/O模塊30與工業(yè)控制器15之間的中介的作用。掃描器55還與通信網(wǎng)絡(luò)60連接,但其相關(guān)聯(lián)的I/0模塊35用單獨(dú)的網(wǎng)絡(luò)65(或一個(gè)介質(zhì)上的通道)耦合在掃描器55之下用于與掃描器55通信。掃描器50、55還可用作用于從一種通信協(xié)議(例如在網(wǎng)絡(luò)60上使用的)翻譯成另一協(xié)議(例如,在網(wǎng)絡(luò)65或網(wǎng)絡(luò)70上使用的)的路由器。提供掃描器50、55的該設(shè)置是為了示出用于將工業(yè)控制系統(tǒng)10內(nèi)的I/O模塊相接的不同技術(shù)。實(shí)際實(shí)現(xiàn)可以僅包括采用所示的接口設(shè)置之一或不同的接口設(shè)置的單個(gè)掃描器55、55。為了便于說明,以下討論參照掃描器50進(jìn)行,然而,這些技術(shù)可等效地應(yīng)用于掃描器50、55中的任何一個(gè)。在所述實(shí)施例中,是使用面向?qū)ο蟮木幊虒?duì)工業(yè)控制器15進(jìn)行編程。編程終端20可與工業(yè)控制器15相接以修改、添加或刪除工業(yè)控制器15的存儲(chǔ)器17中所存儲(chǔ)的用于實(shí)現(xiàn)其功能的各種對(duì)象。總地來說,在存儲(chǔ)器中維護(hù)的用于實(shí)現(xiàn)工業(yè)控制器15的功能的對(duì)象可以被稱為工業(yè)控制器的控制程序。因此,編程終端20提供用于更新工業(yè)控制器15的控制程序的編程接口。掃描器50與I/O模塊30相接以在更新間隔期間收集輸入數(shù)據(jù),如圖2中詳示地將該數(shù)據(jù)合并到單個(gè)優(yōu)化連接包100中,并在連接140中將該優(yōu)化連接包IOO傳送至工業(yè)控制器15。如上所述,連接140在數(shù)據(jù)傳送開始之前被打開并建立傳輸時(shí)間表,預(yù)先分配網(wǎng)絡(luò)帶寬、緩沖區(qū)以及本領(lǐng)域中了解的其它網(wǎng)絡(luò)資源。更新(即,優(yōu)化連接包100)之間的具體間隔可以根據(jù)具體實(shí)現(xiàn)而變化。掃描器50還基于控制程序?qū)ο惹拜斎霐?shù)據(jù)的操作將來自工業(yè)控制器15的輸出數(shù)據(jù)傳送至1/0模塊30以改變受控致動(dòng)器45之一的狀態(tài)。掃描器50可以將各種技術(shù)用于從I/O模塊30收集數(shù)據(jù)。例如,掃描器50可定期輪詢各I/O模塊30并請(qǐng)求每一被監(jiān)控參數(shù)的最新數(shù)據(jù)值。未生成新數(shù)據(jù)的I/O模塊30將用它們先前的數(shù)據(jù)值響應(yīng)。或者,1/0模塊30可在每次生成新數(shù)據(jù)時(shí)設(shè)置一個(gè)標(biāo)志。掃描器50可以監(jiān)視該標(biāo)志并且只在該標(biāo)志被設(shè)置時(shí)才在更新間隔期間請(qǐng)求數(shù)據(jù)(即,在傳送之后該標(biāo)志被清除)。在另一替換技術(shù)中,1/O模塊30可在數(shù)據(jù)被生成數(shù)據(jù)時(shí)向掃描器50發(fā)送數(shù)據(jù)(例如,同步或異步地)。雖然此技術(shù)可能導(dǎo)致掃描器50與I/O模塊30之間額外的話務(wù),但該話務(wù)不會(huì)影響工業(yè)控制器15,因?yàn)樗灰灶A(yù)期的間隔接收優(yōu)化連接包100。在模擬模塊的(例如,1/0模塊35之一)情形中,數(shù)據(jù)對(duì)掃描器55是連續(xù)可用的?,F(xiàn)在轉(zhuǎn)到圖2,圖2示出工業(yè)控制器15與掃描器500之間用于傳送優(yōu)化連接包IOO的接口。優(yōu)化連接包100是表示從各I/O模塊35收集的數(shù)據(jù)的一塊非結(jié)構(gòu)化數(shù)據(jù)。來自各I/0模塊30的數(shù)據(jù)以預(yù)定次序連接而不經(jīng)格式化。在一個(gè)示例性例子中,被稱為模塊1和模塊2的兩個(gè)I/O模塊35與電動(dòng)機(jī)驅(qū)動(dòng)器相關(guān)聯(lián),該驅(qū)動(dòng)器進(jìn)而向電動(dòng)機(jī)提供驅(qū)動(dòng)信號(hào)。電動(dòng)機(jī)驅(qū)動(dòng)器通過優(yōu)化連接包100與工業(yè)控制器15交換速度控制數(shù)據(jù)。速度控制數(shù)據(jù)的數(shù)據(jù)元的示例性數(shù)據(jù)結(jié)構(gòu)在以下的表1和2中提供。表1提供各速度控制數(shù)據(jù)元的格式信息,而表2示出1/0模塊30中的數(shù)據(jù)對(duì)象如何被組裝成可供包含在優(yōu)化連接包100中的數(shù)據(jù)塊。在掃描器55的情形中,數(shù)據(jù)對(duì)象(例如,表示1/0模塊中的緩沖區(qū))由掃描器55級(jí)聯(lián)成對(duì)應(yīng)于I/O模塊35的單個(gè)I/0數(shù)據(jù)塊。I/O模塊30的數(shù)據(jù)對(duì)象表示I/O模塊30的配置和狀態(tài)。所有I/O模塊30、35的數(shù)據(jù)塊被級(jí)聯(lián)以形成優(yōu)化的連接包100。數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)塊格式是只為示例性目的提供的,并且本發(fā)明的應(yīng)用不限于任何特定數(shù)據(jù)結(jié)構(gòu)或格式。SeparatedModuleTemplateStructSpeedControlBOOLAtSpeedBOOLRefFromNetBOOLControlFromNetBOOLReadyBOOLRunningReverseBOOLRunningForwardBOOLpadBOOLFaultedINT8padINT16SpeedActualRPM表1-數(shù)據(jù)結(jié)構(gòu)<table>tableseeoriginaldocumentpage11</column></row><table>表2-數(shù)據(jù)塊組織如表1中所示,速度控制數(shù)據(jù)包括指示電動(dòng)機(jī)是否以所期望的速度運(yùn)行的布爾標(biāo)志(AtSpeed);指示扭矩基準(zhǔn)是本地提供的還是通過網(wǎng)絡(luò)提供的布爾標(biāo)志(RefFromNet);指示電動(dòng)機(jī)驅(qū)動(dòng)器是由本地還通過網(wǎng)絡(luò)控制的布爾標(biāo)志(ControlFromNet);指示電動(dòng)機(jī)驅(qū)動(dòng)器是否處于就緒狀態(tài)的布爾標(biāo)志(Ready);指示電動(dòng)機(jī)是反向(RunningReverse)還是前向(RunningForward)運(yùn)行的的布爾標(biāo)志;以及指示電動(dòng)機(jī)驅(qū)動(dòng)器是否處于故障狀態(tài)的布爾標(biāo)志(Faulted)。一個(gè)標(biāo)志(pad)被保留供將來使用。速度控制數(shù)據(jù)也包括一個(gè)保留的1字節(jié)字段(pad),對(duì)應(yīng)于電動(dòng)機(jī)速度的最低有效位的一個(gè)字節(jié)(SpeedActualRPM),以及對(duì)應(yīng)于電動(dòng)機(jī)速度的最高有效位的1個(gè)字節(jié)。兩個(gè)模塊的速度控制數(shù)據(jù)在優(yōu)化的連接包100內(nèi)簡(jiǎn)單地級(jí)聯(lián)從而得到包含各模塊的上述速度控制數(shù)據(jù)的位串。因此,1/0模塊的各數(shù)據(jù)對(duì)象在優(yōu)化連接包100內(nèi)任意地偏移,雖然是以預(yù)定方式。假定優(yōu)化的連接包100以模塊1的數(shù)據(jù)開始接著是來自其它模塊的數(shù)據(jù),接著是模塊2的數(shù)據(jù),位0至31(即,塊115)表示模塊1速度控制數(shù)據(jù)而位628至659(即,塊120)表示模塊2的速度控制數(shù)據(jù)。雖然對(duì)于每個(gè)I/O模塊30僅示出一個(gè)數(shù)據(jù)塊115、120,但可以使用多個(gè)數(shù)據(jù)塊。例如,一I/O模塊30的輸出數(shù)據(jù)或配置數(shù)據(jù)可以被包含在來自輸入數(shù)據(jù)的單獨(dú)塊中。輸入數(shù)據(jù)還可以被分成單獨(dú)的數(shù)據(jù)塊,每一數(shù)據(jù)塊與I/O模塊30上的緩沖區(qū)之一相關(guān)聯(lián)。工業(yè)控制系統(tǒng)IO采用引用優(yōu)化連接包100內(nèi)的各個(gè)塊115、120的類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125。通常,類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125提供對(duì)優(yōu)化連接包100中包含特定I/O模塊30的數(shù)據(jù)對(duì)象的部分的邏輯引用。工業(yè)控制器15中的控制程序130可使用類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125來代替對(duì)優(yōu)化連接包100的各個(gè)位的硬引用。在典型的工業(yè)控制環(huán)境中,標(biāo)簽可用于引用單個(gè)數(shù)據(jù)區(qū)。標(biāo)簽通常包括名稱或符號(hào)、指定成員名稱和數(shù)據(jù)格式的數(shù)據(jù)類型、以及引用數(shù)據(jù)集的特定物理位置的數(shù)據(jù)對(duì)象。常規(guī)標(biāo)簽的數(shù)據(jù)對(duì)象表示整個(gè)數(shù)據(jù)集,并且通常一個(gè)標(biāo)簽引用一特定數(shù)據(jù)對(duì)象。類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125與常規(guī)標(biāo)簽的不同之處在于其數(shù)據(jù)對(duì)象只引用數(shù)據(jù)集的子集,并且其數(shù)據(jù)類型疊加在數(shù)據(jù)集中它引用的那部分上。多個(gè)類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125能引用數(shù)據(jù)集中對(duì)應(yīng)于不同I/O模塊30的不同子集,并將它們自己獨(dú)立的數(shù)據(jù)類型疊加在該數(shù)據(jù)上。從編程的觀點(diǎn)來看,標(biāo)簽顯得獨(dú)立。因此,各類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125引用I/O模塊30之一的I/O數(shù)據(jù),而由類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125定義的成員引用1/0模塊30的緩沖區(qū)中所存儲(chǔ)的各個(gè)數(shù)據(jù)元。以上表1中表示的結(jié)構(gòu)表示類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125中用于指定速度控制數(shù)據(jù)的數(shù)據(jù)元的成員和數(shù)據(jù)格式。因此,在類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125Modulel.AtSpeed中,Module1是符號(hào)而AtSpeed被定義成具有布爾格式的數(shù)據(jù)類型的成員之一。該數(shù)據(jù)對(duì)象引用優(yōu)化連接包100的位7。以下在表3和4中提供的下列偽代碼例子示出使用類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125的程序引用如何不同于先前的硬引用命令。偽代碼不旨在反映所使用的實(shí)際代碼,而是旨在從概念上示出類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125所提供的優(yōu)于硬引用的優(yōu)點(diǎn)。IfNOT(Module1.AtSpeed)Alert(17);While(Module2SpeedActualRPM<30000)表3-使用類型強(qiáng)制轉(zhuǎn)換標(biāo)簽的偽代碼IfNOT卿7]ofOCP)Alert(17);While(Bits[643.,648]ofOCP<30000)表4-沒有類型強(qiáng)制轉(zhuǎn)換標(biāo)簽的偽代碼從表3的例子可見,類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125允許引用相關(guān)聯(lián)的模塊30的參數(shù)而不要求知道掃描器50用于級(jí)聯(lián)數(shù)據(jù)的次序。另外,數(shù)據(jù)格式是在類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125中指定的并且不需要被包括在程序引用中?;匾妶Dl,類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125由編程終端20實(shí)例化并維護(hù),并且可在編程環(huán)境中用于生成工業(yè)控制器15的控制程序。在編程環(huán)境中,各模塊30的數(shù)據(jù)顯得獨(dú)立,并且各成員能在邏輯中按名稱被引用。類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125還存儲(chǔ)在工業(yè)控制器15上。在某些情形中,控制程序可以在其被加載到工業(yè)控制器15上之前被編譯,并且引用被翻譯成已編譯代碼中的物理引用。然而,如果掃描器50所使用的優(yōu)化連接包100的組織改變了(例如,由于模塊30的添加或刪除),則只需更新類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125。然后可以重新編譯控制程序并將由類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125指定的新引用包括到已編譯代碼中。因此,不需要改變控制程序。在其它情形中,當(dāng)控制程序已被解釋的情況下,可以在控制程序中直接引用類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125。因?yàn)楣I(yè)控制器15存儲(chǔ)類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125,所以工業(yè)控制系統(tǒng)10中的其它實(shí)體也可以使用由類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125創(chuàng)建的邏輯引用來引用工業(yè)控制器15所存儲(chǔ)的模塊數(shù)據(jù)。例如,HMI25可使用Modulel.AtSpeed引用向工業(yè)控制器15查詢以確定與模塊1相關(guān)聯(lián)的電動(dòng)機(jī)是否以期望速度運(yùn)行。另外,HMI25可包括它自己的可用于在其顯示器上連續(xù)顯示與模塊1和2相關(guān)聯(lián)的電動(dòng)機(jī)的狀態(tài)的代碼。HMI代碼只需使用Modulel.AtSpeed和Module2.AtSpeed引用來訪問狀態(tài)信息。如果優(yōu)化連接包100的組織改變,則不需要修改HMI25的代碼。類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125還可用于重建控制程序。例如,如果與圖1中所示的編程終端20不同的一編程終端(例如,在筆記本計(jì)算機(jī)上實(shí)現(xiàn)的現(xiàn)場(chǎng)編程終端)與工業(yè)控制器15相接,則它可使用類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125來確定優(yōu)化連接包100的結(jié)構(gòu)以及來分析控制程序代碼。類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125的使用大大簡(jiǎn)化了工業(yè)控制系統(tǒng)10中所使用的代碼的開發(fā)和維護(hù)。對(duì)優(yōu)化連接包100的組織的改變不需要修改代碼,只需要更新類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125。另外,一旦類型強(qiáng)制轉(zhuǎn)換標(biāo)簽125被定義,則用戶與工業(yè)控制系統(tǒng)10的相接就要方便得多,因?yàn)樗鼈儾恍枰L問描述優(yōu)化連接包100的映射的外部文檔來訪問到工業(yè)控制系統(tǒng)10中的模塊數(shù)據(jù)?,F(xiàn)在參見圖3,如上所述,網(wǎng)絡(luò)60上的連接140遵循針對(duì)將優(yōu)化連接包IOO發(fā)送至工業(yè)控制器15的給定的時(shí)間表(以及類似的針對(duì)將包從工業(yè)控制器15返回至掃描器50的時(shí)間表)。在工業(yè)控制中,數(shù)據(jù)的過度或不可預(yù)測(cè)的延遲會(huì)對(duì)受控過程產(chǎn)生負(fù)面影響,但此時(shí)間表能夠確保不會(huì)因發(fā)生未檢測(cè)到的網(wǎng)絡(luò)阻塞而不可預(yù)測(cè)地延遲實(shí)現(xiàn)工業(yè)控制中的確定性所需的優(yōu)化連接包100的數(shù)據(jù)更新間隔。對(duì)不同的I/O模塊35的數(shù)據(jù)的實(shí)際要求可能會(huì)變化,例如,1/0模塊35、35b、35c和35e的數(shù)據(jù)只要求相對(duì)較低的更新速率,因?yàn)樗鼈兣c具有非關(guān)鍵性的或緩慢變化的數(shù)據(jù)的傳感器相關(guān)聯(lián),而I/O模塊35d的數(shù)據(jù)要求相對(duì)較高的更新速率,因?yàn)樗c高速傳感器或關(guān)鍵性的時(shí)間敏感數(shù)據(jù)相關(guān)聯(lián)。I/O模塊35d的數(shù)據(jù)146的高更新速率可以通過提高將優(yōu)化連接包100發(fā)送至工業(yè)控制器15的頻率來提供,但是以要求網(wǎng)絡(luò)60的過大的帶寬為代價(jià)?,F(xiàn)在參見圖4,因此,在本發(fā)明中連接140的這一更新間隔142可以被設(shè)置成適合I/O模塊35a、35b、35c和35e的數(shù)據(jù)但對(duì)于I/O模塊35d的數(shù)據(jù)146仍不夠快的值,I/O模塊35d的數(shù)據(jù)可能要求例如I/O模塊35a、35b、35c和35e的數(shù)據(jù)的更新間隔的三分之一。通過將間隔142增大到大于I/O模塊35d的數(shù)據(jù)146所要求的量,網(wǎng)絡(luò)60上的相當(dāng)大的帶寬以及響應(yīng)于數(shù)據(jù)的接收的處理時(shí)間被解放。參見圖3,本發(fā)明允許通過只為要求較高更新速率的I/O模塊35d的數(shù)據(jù)146打開第二連接144來減緩整個(gè)優(yōu)化連接包100的更新頻率。此第二連接144同連接140—樣保留網(wǎng)絡(luò)60上的帶寬和其它資源以確保I/O模塊35d的數(shù)據(jù)146的可靠傳輸,但與標(biāo)準(zhǔn)連接不同,它不保留單獨(dú)的緩沖區(qū)來保存所傳輸?shù)臄?shù)據(jù),而是采用掃描器50中以及工業(yè)控制器15中已經(jīng)為I/O模塊35a、35b、35c、35d和35e的優(yōu)化連接包100保留的相同緩沖區(qū)。因此,從圖3中可了解,1/0模塊35d的數(shù)據(jù)未從優(yōu)化連接包IOO中被消除,因此已具有從連接140保留的緩沖空間。通過將連接140的相同的緩沖空間應(yīng)用于連接144,就消除了由與不同連接140和144相關(guān)聯(lián)的不同緩沖區(qū)中I/O模塊35d的數(shù)據(jù)的的值可能不同所帶來的問題。將可理解,在不同位置中相同數(shù)據(jù)的不同值取決于哪個(gè)位置被控制程序130讀取可能會(huì)引起控制程序130的不可預(yù)測(cè)的操作。參見圖3和4,連接144除了只發(fā)送I/0模塊35d的數(shù)據(jù)146(其為優(yōu)化連接包100的子集)并且具有較短的更新間隔147之外與連接140相似。通過連接144,1/0模塊35d的數(shù)據(jù)146在兩個(gè)連接上被發(fā)送,首先在作為優(yōu)化連接包100的一部分的連接140上,然后在作為連接144的一部分的間隔147內(nèi)再發(fā)送兩次。連接140和144中的數(shù)據(jù)146的發(fā)送間隔可以但不必諸如在接收146時(shí)提供基本一致的時(shí)間間隔使得數(shù)據(jù)的及時(shí)性最大化。將可了解,可以在優(yōu)化連接包100的發(fā)送之間提供少到單次居間的數(shù)據(jù)146傳送或恰如間隔142內(nèi)可適合的次數(shù)的數(shù)據(jù)146傳送。另外,可以打開更多的連接(未示出)以提供具有不同更新間隔的特定模塊35的其它數(shù)據(jù)元的傳送或者可以在給定連接144上傳送來自多個(gè)I/0模塊的數(shù)據(jù)。值得注意地,因?yàn)閿?shù)據(jù),例如數(shù)據(jù)146是在優(yōu)化連接包100中傳送的,所以本發(fā)明適用于只有在配置I/O模塊35并格式化優(yōu)化連接包100之后,才實(shí)現(xiàn)I/0模塊35的子集所需的較高的數(shù)據(jù)速率的情形。在此情形中,額外的連接144被打開而不改變先前用于例如為1/0模塊35轉(zhuǎn)發(fā)優(yōu)化連接包100的連接140。值得注意地,可以打開額外的連接144而不關(guān)閉連接140,從而使得這一升級(jí)可以在工業(yè)控制系統(tǒng)10在操作時(shí)發(fā)生而不會(huì)在任何時(shí)間中斷連接140。因?yàn)橄嗤木彌_區(qū)被用于連接144和140,所以不存在緩沖空間有缺少危險(xiǎn)的問題。將可了解,單獨(dú)連接144的使用不對(duì)上述仍引用工業(yè)控制器15的緩沖區(qū)中的相同位置的類型強(qiáng)制轉(zhuǎn)換標(biāo)簽產(chǎn)生負(fù)面影響,另外可以再次自由地改變間隔147而不會(huì)擾亂用于傳送優(yōu)化連接包100的基礎(chǔ)連接。上述具體實(shí)施例只是示例性的,因?yàn)閷?duì)于受益于本文的內(nèi)容的本領(lǐng)域技術(shù)人員來說可以修改以及按不同但是等效方式實(shí)行本發(fā)明是顯而易見的。另外,除了在所附權(quán)利要求書中所描述的以外,本文所示的構(gòu)造或設(shè)計(jì)的細(xì)節(jié)不受任何限定。因此很明顯以上公開的具體實(shí)施例可以被變更或修改,并且所有這些變體均被認(rèn)為是落在本發(fā)明的范圍和精神以內(nèi)的。因此,本文所尋求的保護(hù)恰如所附權(quán)利要求中所闡明的。權(quán)利要求1.一種工業(yè)控制系統(tǒng),包括多個(gè)I/O模塊,用于與一過程相接以便與所述過程交換I/O數(shù)據(jù);掃描器,用于與所述各I/O模塊交換I/O數(shù)據(jù),并創(chuàng)建包括排布成非格式化數(shù)據(jù)塊的對(duì)應(yīng)于各模塊的I/O數(shù)據(jù)的優(yōu)化連接包;工業(yè)控制器,用于在各第一時(shí)間以第一速率在第一連接的消息中與所述掃描器交換所述優(yōu)化連接包,并在與所述各第一時(shí)間交織的各第二時(shí)間與所述掃描器交換所述優(yōu)化連接包的子集;并且所述優(yōu)化連接包的子集的數(shù)據(jù)是以比所述優(yōu)化連接包中除所述子集以外的其它數(shù)據(jù)更高的速率來遞送的。2.如權(quán)利要求l所述的工業(yè)控制系統(tǒng),其特征在于,所述子集是由給定i/o模塊的數(shù)據(jù)定義的。3.如權(quán)利要求1所述的工業(yè)控制系統(tǒng),其特征在于,所述第二速率等于所述第一速率,從而所述子集以所述優(yōu)化連接包的其它數(shù)據(jù)的速率兩倍的速率被遞送。4.如權(quán)利要求l所述的工業(yè)控制系統(tǒng),其特征在于,所述各第一與第二時(shí)間的組合在各時(shí)間之間具有基本上恒定的間隔。5.如權(quán)利要求1所述的工業(yè)控制系統(tǒng),其特征在于,所述第二速率大于所述第一速率,從而所述子集以所述優(yōu)化連接包的其它數(shù)據(jù)的速率兩倍以上的速率被遞送。6.如權(quán)利要求l所述的工業(yè)控制系統(tǒng),其特征在于,所述掃描器在一掃描器緩沖區(qū)中構(gòu)建所述優(yōu)化連接包,并且所述第一和第二連接將所述掃描器緩沖區(qū)用于相應(yīng)數(shù)據(jù)。7.如權(quán)利要求1所述的工業(yè)控制系統(tǒng),其特征在于,所述工業(yè)控制系統(tǒng)從一工業(yè)控制緩沖區(qū)讀取所述I/O數(shù)據(jù),并且所述第一和第二連接將所述工業(yè)控制緩沖區(qū)中的相同位置用于相應(yīng)數(shù)據(jù)。8.如權(quán)利要求l所述的工業(yè)控制系統(tǒng),其特征在于,所述掃描器在多個(gè)不同的時(shí)間與所述多個(gè)I/O模塊通信。9.一種操作工業(yè)控制系統(tǒng)的方法,包括以下步驟(a)將多個(gè)I/0模塊與掃描器連接,所述各I/0模塊可用于與一過程相接以便與所述過程交換I/O數(shù)據(jù);(b)在所述各i/o模塊與所述掃描器之間交換數(shù)據(jù),從而在所述掃描器中創(chuàng)建包括排布成非格式化數(shù)據(jù)塊的對(duì)應(yīng)于各模塊的I/O數(shù)據(jù)的優(yōu)化連接包;(c)在所述掃描器與工業(yè)控制器之間打開第一連接以在各第一時(shí)間以第一速率在第一連接的消息中與所述工業(yè)控制器交換所述優(yōu)化連接包;(d)在所述掃描器與所述工業(yè)控制器之間打開第二連接以在與所述各第一時(shí)間交織的各第二時(shí)間以第二速率與所述工業(yè)控制器交換所述優(yōu)化連接包的子集,其中所述優(yōu)化連接包的子集的數(shù)據(jù)以比所述優(yōu)化連接包中除所述子集以外的其它數(shù)據(jù)更高的速率被遞送。全文摘要一種工業(yè)控制器可使用由直接與I/O模塊通信并向工業(yè)處理器轉(zhuǎn)發(fā)優(yōu)化連接包的掃描器組裝的優(yōu)化連接包與多個(gè)輸入/輸出(I/O)模塊通信。優(yōu)化連接包通過作為用于確保高度可靠的網(wǎng)絡(luò)通信的連接的消息接發(fā)系統(tǒng)的一部分的連接來傳送。對(duì)作為優(yōu)化連接包的一部分的某些I/O模塊的較高數(shù)據(jù)速率的需求可以通過打開以與優(yōu)化連接包交織的形式提供高數(shù)據(jù)速率數(shù)據(jù)的第二冗余連接而不擾亂優(yōu)化連接包或改變工業(yè)控制程序?qū)?shù)據(jù)的使用的方式來提供。文檔編號(hào)G05B19/418GK101154107SQ20071016261公開日2008年4月2日申請(qǐng)日期2007年9月26日優(yōu)先權(quán)日2006年9月27日發(fā)明者A·J·卡徹特,S·A·皮爾斯申請(qǐng)人:洛克威爾自動(dòng)控制技術(shù)股份有限公司