工業(yè)控制系統(tǒng)和用于傳輸數(shù)據(jù)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種包括至少一個(gè)工業(yè)控制器的工業(yè)控制系統(tǒng),更具體地,涉及一種用于將數(shù)據(jù)從工業(yè)控制器的第一存儲(chǔ)區(qū)域傳輸?shù)降诙鎯?chǔ)區(qū)域的裝置和方法。
【背景技術(shù)】
[0002]過(guò)去,在工業(yè)控制器中,特別是在16位現(xiàn)場(chǎng)總線控制器中,通過(guò)簡(jiǎn)單地復(fù)制存儲(chǔ)在已知的存儲(chǔ)器位置中的位來(lái)在第一數(shù)據(jù)存儲(chǔ)單元與第二數(shù)據(jù)存儲(chǔ)單元之間傳輸數(shù)據(jù)。例如,對(duì)于存儲(chǔ)在某處(例如,在閃存中)的用戶特定(user-specific)的工業(yè)控制程序而言,通過(guò)所謂的“MEMC0PY”命令來(lái)傳輸數(shù)據(jù),其操作來(lái)將數(shù)據(jù)從源位置復(fù)制到目標(biāo)位置中,例如,在工業(yè)控制器的隨機(jī)存取存儲(chǔ)器(RAM)中的定義的存儲(chǔ)器位置。
[0003]例如,當(dāng)開(kāi)始并啟動(dòng)工業(yè)控制器來(lái)使工業(yè)控制器能夠執(zhí)行在用戶特定的工業(yè)控制程序中提供的指令時(shí),數(shù)據(jù)傳輸操作可發(fā)生。此在存儲(chǔ)器地址位置之間直接地傳輸數(shù)據(jù)的過(guò)程例如可通過(guò)具有超過(guò)工業(yè)控制器的控制的管理軟件的“LOAD FILE (加載文件)”和“READ FILE (讀取文件)”命令來(lái)進(jìn)行。當(dāng)在執(zhí)行“MEMC0PY”命令之后啟動(dòng)工業(yè)控制器時(shí),工業(yè)控制程序從閃存復(fù)制到工業(yè)控制器的RAM,并且工業(yè)控制程序然后從RAM執(zhí)行。
[0004]過(guò)去,包括文件系統(tǒng)服務(wù)的操作系統(tǒng)也已是可用的,特別是對(duì)于利用了諸如D0S、Windows等標(biāo)準(zhǔn)操作系統(tǒng)的工業(yè)控制器而言。通過(guò)以訪問(wèn)(access)文件的形式(例如,“syslib*.lib”或“syslibfile.lib”文件)提供訪問(wèn)層,用戶特定的工業(yè)控制程序可使用由操作系統(tǒng)提供的文件系統(tǒng)服務(wù)。以此方式,在工業(yè)控制器上執(zhí)行的用戶特定的工業(yè)控制程序可經(jīng)由文件系統(tǒng)服務(wù)來(lái)更靈活地處理數(shù)據(jù)。以帶有16位現(xiàn)場(chǎng)總線控制器并且后來(lái)也用于32位現(xiàn)場(chǎng)總線控制器(FBC)的所謂“開(kāi)放控制器”,文件系統(tǒng)服務(wù)的使用也是可用的。
[0005]由于用戶特定的工業(yè)控制程序可利用文件系統(tǒng)服務(wù)的事實(shí),沒(méi)有必要管理特定的地址位置并了解存儲(chǔ)單元上的特定的物理地址位置。定義獨(dú)立于特定的硬件平臺(tái)的命令是足夠的,諸如使用專用(dedicated)文件名的文件打開(kāi)命令,并且通過(guò)使用文件系統(tǒng)服務(wù)命令來(lái)讀數(shù)據(jù)和將數(shù)據(jù)寫(xiě)到此文件中。數(shù)據(jù)的物理處理通過(guò)操作系統(tǒng)的文件系統(tǒng)服務(wù)來(lái)管理。這減少了用戶特定的控制程序的程序員的負(fù)擔(dān),因?yàn)槌绦騿T不需要考慮特定的硬件平臺(tái)的細(xì)節(jié)或在該硬件平臺(tái)上定義數(shù)據(jù)管理。通過(guò)使文件系統(tǒng)服務(wù)可通過(guò)文件系統(tǒng)訪問(wèn)層來(lái)訪問(wèn),用戶特定的工業(yè)控制程序經(jīng)由文件系統(tǒng)服務(wù)可在更抽象的級(jí)別上處理關(guān)于存儲(chǔ)單元的數(shù)據(jù)。這使得用戶特定的工業(yè)控制程序能夠例如將數(shù)據(jù)記錄(log)到文件中、將數(shù)據(jù)的改變記錄到文件中(例如,創(chuàng)建趨勢(shì)文件)、以及從文件讀取數(shù)據(jù)以在工業(yè)控制過(guò)程中使用(例如,利用配方文件和存儲(chǔ)在其中的各個(gè)配方數(shù)據(jù))。
[0006]用于經(jīng)由操作系統(tǒng)的文件系統(tǒng)服務(wù)來(lái)在工業(yè)控制器中處理文件的常規(guī)方法的問(wèn)題在于軟件的復(fù)雜性。更具體而言,用戶可需要利用頭文件和代碼文件來(lái)使用戶能夠定義使用操作系統(tǒng)的系統(tǒng)服務(wù)的工業(yè)控制程序。另外,工業(yè)控制程序需要適合于特定的硬件平臺(tái),以便執(zhí)行操作系統(tǒng)的系統(tǒng)服務(wù)。
【發(fā)明內(nèi)容】
[0007]前述問(wèn)題由權(quán)利要求1的工業(yè)控制系統(tǒng)和根據(jù)權(quán)利要求15的用于將數(shù)據(jù)傳輸?shù)焦I(yè)控制器的第一數(shù)據(jù)存儲(chǔ)單元或從工業(yè)控制器的第一數(shù)據(jù)存儲(chǔ)單元傳輸數(shù)據(jù)的方法來(lái)解決。優(yōu)選實(shí)施例在從屬權(quán)利要求中描述。
[0008]根據(jù)本發(fā)明的工業(yè)控制系統(tǒng)和方法使得工業(yè)控制器能夠?qū)⒋鎯?chǔ)在工業(yè)控制器的第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置(例如,數(shù)據(jù)寫(xiě)入?yún)^(qū)域)中的數(shù)據(jù)傳輸?shù)轿挥诘诙?shù)據(jù)存儲(chǔ)單元的文件中,傳輸在用戶特定的工業(yè)控制程序中以降低的編程復(fù)雜性來(lái)實(shí)施。另外,該裝置和方法簡(jiǎn)化了在第一數(shù)據(jù)存儲(chǔ)單元與第二數(shù)據(jù)存儲(chǔ)單元之間的數(shù)據(jù)傳輸?shù)墓芾怼?br>[0009]根據(jù)本發(fā)明,可下載到工業(yè)控制器的用戶定義的工業(yè)控制程序可構(gòu)造為簡(jiǎn)單地將數(shù)據(jù)直接寫(xiě)入第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置(例如,預(yù)定義的數(shù)據(jù)寫(xiě)入?yún)^(qū)域),而無(wú)需使用任何文件系統(tǒng)服務(wù)。換言之,用戶特定的工業(yè)控制程序可構(gòu)造為將數(shù)據(jù)直接寫(xiě)入到第一專用存儲(chǔ)位置的預(yù)定義的且已知的物理位置中,如在上一代工業(yè)控制器中提供的那樣。與現(xiàn)有技術(shù)解決方案形成對(duì)比的是,在第一存儲(chǔ)單元和第二存儲(chǔ)單元之間傳輸數(shù)據(jù)的任務(wù)可獨(dú)立于用戶特定的工業(yè)控制程序而實(shí)施。更具體而言,可使用存儲(chǔ)在工業(yè)控制器上的系統(tǒng)特定(system-specific)的固件來(lái)實(shí)施在第一和第二存儲(chǔ)單元之間的傳輸。
[0010]系統(tǒng)特定的固件并非由用戶編程或建立,而是由工業(yè)控制器的制造商定義并且適用于相關(guān)硬件的特性。因此,制造商針對(duì)制造商的硬件來(lái)定義系統(tǒng)特定的固件,并且此類固件使得工業(yè)控制器能夠獨(dú)立于用戶特定的工業(yè)控制程序來(lái)執(zhí)行相關(guān)的預(yù)定義的系統(tǒng)任務(wù)。
[0011]系統(tǒng)特定的固件的系統(tǒng)任務(wù)包括預(yù)定義的文件系統(tǒng)任務(wù),其利用文件系統(tǒng)服務(wù)將存儲(chǔ)在第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置中的數(shù)據(jù)寫(xiě)入到在第二數(shù)據(jù)存儲(chǔ)單元上打開(kāi)的文件中。因此,將數(shù)據(jù)從第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置傳輸?shù)轿挥诘诙?shù)據(jù)單元上的文件中的步驟獨(dú)立于用戶特定的工業(yè)控制程序通過(guò)預(yù)定義的系統(tǒng)特定的路徑(即預(yù)定義的文件系統(tǒng)任務(wù))來(lái)執(zhí)行。用戶特定的工業(yè)控制程序和系統(tǒng)特定的固件的預(yù)定義的文件系統(tǒng)任務(wù)兩者是彼此獨(dú)立的。系統(tǒng)特定的固件可包括其他任務(wù),諸如對(duì)i)現(xiàn)場(chǎng)總線通信,ii)分布式控制系統(tǒng)的內(nèi)部數(shù)據(jù)總線通信等的控制。優(yōu)選地,系統(tǒng)特定的固件提供了使用工業(yè)控制器的接口(interface)和存儲(chǔ)器硬件所需的所有供應(yīng)商特定的控制功能。
[0012]因此,根據(jù)本發(fā)明,用戶特定的工業(yè)控制程序可編程為將過(guò)程數(shù)據(jù)或過(guò)程數(shù)據(jù)的改變(例如趨勢(shì)數(shù)據(jù))寫(xiě)入到第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置中。工業(yè)控制器可構(gòu)造為使得用戶特定的工業(yè)控制程序不具有對(duì)寫(xiě)入第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置中的數(shù)據(jù)的進(jìn)一步處理。存儲(chǔ)在第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置的數(shù)據(jù)的傳輸可由系統(tǒng)特定的固件自主地處理。這可能導(dǎo)致這樣的情形:其中即使工業(yè)控制程序沒(méi)有將升級(jí)的數(shù)據(jù)寫(xiě)入到數(shù)據(jù)寫(xiě)入?yún)^(qū)域中,系統(tǒng)特定的固件也從第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置讀取位。也可能存在這樣的情形:其中,工業(yè)控制程序?qū)⑦^(guò)程數(shù)據(jù)寫(xiě)入第一專用存儲(chǔ)位置中,但由于系統(tǒng)特定的固件的文件系統(tǒng)任務(wù)被禁用(disable),沒(méi)有發(fā)生此過(guò)程數(shù)據(jù)的進(jìn)一步處理的傳輸。
[0013]過(guò)程數(shù)據(jù)包括在工業(yè)控制器中用來(lái)經(jīng)由可操作地聯(lián)接到工業(yè)控制器上的總線部件來(lái)控制過(guò)程的數(shù)據(jù)。此類過(guò)程例如可為工業(yè)制造過(guò)程、設(shè)施管理的過(guò)程(例如建筑自動(dòng)化)等。
[0014]在本發(fā)明的上下文中,術(shù)語(yǔ)“控制”包括將控制命令發(fā)送到其他裝置(包括至少一個(gè)總線部件)和/或任何其他控制任務(wù),以及監(jiān)控從其他裝置(包括至少一個(gè)總線部件)接收到的數(shù)據(jù)和任何其他控制任務(wù)。
[0015]術(shù)語(yǔ)“總線部件”(也被稱為控制裝置)包括傳感器、致動(dòng)器、繼電器、開(kāi)關(guān)或經(jīng)由數(shù)據(jù)通道(例如,數(shù)字輸入或輸出、模擬輸入或輸出、通信網(wǎng)絡(luò)等)來(lái)直接或間接聯(lián)接到工業(yè)控制器上的其他裝置。
[0016]術(shù)語(yǔ)“用戶特定的工業(yè)控制程序”被定義為由工業(yè)控制器的用戶出于控制工業(yè)機(jī)器或過(guò)程的目的而開(kāi)發(fā)的任何程序。用戶特定的工業(yè)控制程序可用一種或多種不同的編程語(yǔ)言寫(xiě)成,編程語(yǔ)言包括但不限于梯形邏輯、Basic、C++等。
[0017]用戶特定的工業(yè)控制程序優(yōu)選地以可由微處理器執(zhí)行的預(yù)編譯可執(zhí)行代碼(例如HEX碼)的形式來(lái)加載并安裝在工業(yè)控制器上。另一個(gè)選項(xiàng)是將用戶特定的工業(yè)控制程序提供為在工業(yè)控制器上的解釋型代碼(例如,JAVA),即以較高級(jí)語(yǔ)言來(lái)提供。此解釋型代碼需要在運(yùn)行時(shí)(run-time)期間轉(zhuǎn)換成可執(zhí)行代碼(即,編譯),以使代碼能夠由微處理器執(zhí)行。由于轉(zhuǎn)換,當(dāng)在相同的硬件上執(zhí)行時(shí),解釋型代碼需要比編譯型代碼更多的時(shí)間來(lái)執(zhí)行。相似地,為了使解釋型代碼在與編譯型代碼可比的時(shí)間幀中執(zhí)行,解釋型代碼典型地將需要在具有比執(zhí)行編譯型代碼的硬件更多處理能力的硬件上執(zhí)行。
[0018]在一個(gè)優(yōu)選實(shí)施例中,第一數(shù)據(jù)存儲(chǔ)單元包括數(shù)據(jù)讀取區(qū)域。另外,系統(tǒng)特定的固件的預(yù)定義的系統(tǒng)任務(wù)中的至少一個(gè)構(gòu)造為從在第二數(shù)據(jù)存儲(chǔ)單元上打開(kāi)的文件讀取數(shù)據(jù),并且將數(shù)據(jù)存儲(chǔ)到第一存儲(chǔ)單元的數(shù)據(jù)讀取區(qū)域中。優(yōu)選實(shí)施例的優(yōu)點(diǎn)在于,工業(yè)控制器除了能夠?qū)?shù)據(jù)記錄到日志文件、趨勢(shì)文件等中之外,也可讀取存儲(chǔ)在此類文件或其他文件類型中的數(shù)據(jù),并且在由用戶特定的工業(yè)控制程序進(jìn)行的工業(yè)控制過(guò)程中使用該數(shù)據(jù)。此類數(shù)據(jù)可例如包括配方數(shù)據(jù)。配方數(shù)據(jù)可提供用于在由用戶特定的工業(yè)控制程序控制的過(guò)程中使用的參數(shù),例如速度設(shè)定點(diǎn)、溫度設(shè)定點(diǎn)、張力設(shè)定點(diǎn)等。
[0019]在優(yōu)選實(shí)施例中,工業(yè)控制器包括存儲(chǔ)預(yù)定義的固件任務(wù)參數(shù)的配置表。預(yù)定義的固件任務(wù)參數(shù)中的至少一個(gè)與文件系統(tǒng)服務(wù)有關(guān),以允許系統(tǒng)特定的固件的預(yù)定義的系統(tǒng)任務(wù)中的至少一個(gè)根據(jù)預(yù)定義的固件任務(wù)參數(shù)使用文件系統(tǒng)服務(wù)來(lái)執(zhí)行任務(wù)。因此,通過(guò)存儲(chǔ)在配置表中的預(yù)定義的參數(shù),基本的預(yù)定義的固件任務(wù)可適應(yīng)于用戶的特定需求,以便系統(tǒng)特定的固件的預(yù)定義的系統(tǒng)任務(wù)適應(yīng)于特定需求。系統(tǒng)特定的固件的預(yù)定義的系統(tǒng)任務(wù)的適應(yīng)不需要在用戶特定的工業(yè)控制程序中實(shí)施,并且取而代之的是可通過(guò)使用輸入(enter)并存儲(chǔ)到配置表中的參數(shù)來(lái)構(gòu)造。以此方式,系統(tǒng)特定的固件的系統(tǒng)任務(wù)具有至配置表中的參數(shù)的訪問(wèn)。在工業(yè)控制程序中寫(xiě)入用戶特定的路徑來(lái)訪問(wèn)文件系統(tǒng)服務(wù)的要求不再是必要的,并且任務(wù)可經(jīng)由將參數(shù)輸入到配置表中來(lái)配置系統(tǒng)特定的固件的單獨(dú)步驟來(lái)實(shí)施。輸入?yún)?shù)的選擇使得用戶特定的系統(tǒng)能夠以簡(jiǎn)單得多的方式來(lái)構(gòu)造,并且關(guān)于程序修訂(revis1n),提供了比寫(xiě)入工業(yè)控制程序更為靈活的機(jī)制。這特別適用于關(guān)于使用文件系統(tǒng)服務(wù)的情形。
[0020]在一個(gè)優(yōu)選地實(shí)施例中,配置表是靜態(tài)的,也即,表由用戶在配置步驟中定義并存儲(chǔ)??蛇x地,配置表也可被動(dòng)態(tài)地設(shè)置,即,表可在用戶特定的工業(yè)控制程序的運(yùn)行時(shí)處作為工業(yè)控制系統(tǒng)的特定狀態(tài)的函數(shù)而改變。
[0021]預(yù)定義的固件任務(wù)參數(shù)例如可包括下列中的一個(gè)或多個(gè): -文件名;
-數(shù)據(jù)類型;
-文件類型;
-在所述第一數(shù)據(jù)存儲(chǔ)單元(5)中用于所述第一專用存儲(chǔ)位置的位置;
-在所述第一數(shù)據(jù)存儲(chǔ)單元(5)中用于所述第二專用存儲(chǔ)位置的位置;
-所述用戶特定的工業(yè)控制程序(PRG)的數(shù)據(jù)變量;
-定義所述一組預(yù)定義的系統(tǒng)任務(wù)中的系統(tǒng)任務(wù)的重復(fù)時(shí)間的掃描時(shí)間;
-用于所述一組預(yù)定義的系統(tǒng)任務(wù)中的系統(tǒng)任務(wù)的啟用標(biāo)志,所述啟用標(biāo)志導(dǎo)致所述系統(tǒng)任務(wù)被啟用或禁用;
-定義用于所述一組預(yù)定義的系統(tǒng)任務(wù)中的系統(tǒng)任務(wù)的開(kāi)始時(shí)間的定時(shí)器;
-將寫(xiě)入文件或從文件讀出的數(shù)據(jù)變量的選擇;
-組定義,其定義了選擇為成組地寫(xiě)入文件或從文件讀出的一序列數(shù)據(jù)變量;或 -事件參數(shù),其定義了觸發(fā)所述一組預(yù)定義的系統(tǒng)任務(wù)中的相關(guān)系統(tǒng)任務(wù)的處理的事件。
[0022]任何其他可適用的類型的參數(shù)也可用于預(yù)定義的固件任務(wù)參數(shù),以便定義系統(tǒng)特定的固件的有效系統(tǒng)任務(wù)。
[0023]將存儲(chǔ)在第一數(shù)據(jù)存儲(chǔ)單元的第一專用存儲(chǔ)位置中的數(shù)據(jù)寫(xiě)入到在第二數(shù)據(jù)存儲(chǔ)單元上打開(kāi)的文件中的系統(tǒng)特定的固件的文件系統(tǒng)任務(wù)最優(yōu)選地是循環(huán)地(即周期性地)實(shí)行。然后,循環(huán)時(shí)間可通過(guò)配置表中的“循環(huán)時(shí)間”參數(shù)來(lái)定義。
[0024]優(yōu)選地,存儲(chǔ)在配置表中的預(yù)定義的固件任務(wù)參數(shù)的設(shè)置可由網(wǎng)頁(yè)界面(webinterface)來(lái)支持。在優(yōu)選