本發(fā)明涉及一種借助于應(yīng)用特定的協(xié)議在廣域網(wǎng)之上在第一計(jì)算機(jī)、第二計(jì)算機(jī)和自動(dòng)化系統(tǒng)之間通信的方法。
背景技術(shù):
應(yīng)用特定的協(xié)議在此理解為通信協(xié)議,其特意研發(fā)用于相應(yīng)的應(yīng)用。該應(yīng)用可以例如是在自動(dòng)化程序和自動(dòng)化裝置之間的通信。這樣的協(xié)議因此在制造商和制造商之間是不同的并且經(jīng)常是獨(dú)有的。應(yīng)用特定的協(xié)議此外常常僅僅用于通過本地網(wǎng)絡(luò)進(jìn)行的通信,或者因?yàn)槠洳⒉换谌缙湓趶V域網(wǎng)中適用的協(xié)定/協(xié)議(例如像tcp/ip)或者因?yàn)槿鄙倨浣^對安全機(jī)制用于通過公共的或者至少部分公共的網(wǎng)絡(luò)進(jìn)行傳輸。
應(yīng)用特定的協(xié)議在自動(dòng)化軟件或者工程設(shè)計(jì)軟件與相應(yīng)的自動(dòng)化硬件之間的通信中使用。因此期望獲得一種對于硬件和軟件透明的可能性,從而應(yīng)用特定的協(xié)議也強(qiáng)化用于廣域網(wǎng)。這種類型的應(yīng)用尤其對于遠(yuǎn)程應(yīng)用、云應(yīng)用和/或工業(yè)4.0應(yīng)用是重要的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提出一種方法,該方法越過本地網(wǎng)絡(luò)限制建立對于自動(dòng)化程序和應(yīng)用特定的協(xié)議的透明連接并且能高效地執(zhí)行。此外,也應(yīng)該給出用于實(shí)現(xiàn)該目的的自動(dòng)化系統(tǒng)和計(jì)算機(jī)。
該目的通過一種借助于應(yīng)用特定的協(xié)議在廣域網(wǎng)之上在第一計(jì)算機(jī)、第二計(jì)算機(jī)和至少一個(gè)自動(dòng)化裝置之間通信、尤其是交換數(shù)據(jù)的方法實(shí)現(xiàn),其中計(jì)算機(jī)之一具有用于自動(dòng)化裝置的本地網(wǎng)絡(luò)連接,其中應(yīng)用特定的協(xié)議具有應(yīng)用層并且其中第一計(jì)算機(jī)執(zhí)行第一自動(dòng)化程序并且第二計(jì)算機(jī)執(zhí)行第二自動(dòng)化程序,該方法包括以下步驟:
在計(jì)算機(jī)之一的應(yīng)用特定的協(xié)議的應(yīng)用層中注冊具有第一識(shí)別碼的第一事件循環(huán),
設(shè)定在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間的通信通道,
在相應(yīng)另一個(gè)計(jì)算機(jī)的應(yīng)用特定的協(xié)議的應(yīng)用層中注冊具有第二識(shí)別碼的第二事件循環(huán)并存儲(chǔ)第一識(shí)別碼,
將事件循環(huán)的識(shí)別碼存儲(chǔ)到為其確定的數(shù)據(jù)中,
將數(shù)據(jù)轉(zhuǎn)交給發(fā)送功能,
向事件循環(huán)通知數(shù)據(jù)準(zhǔn)備用于傳輸,事件循環(huán)的識(shí)別碼被存儲(chǔ)到數(shù)據(jù)中,以及
經(jīng)由通信通道通過接收功能調(diào)出數(shù)據(jù)。
本地網(wǎng)絡(luò)連接在此不必一定是lan或者wlan,其同樣可以考慮為profibus、profinet、usb或者任何其他的本地?cái)?shù)據(jù)連接。
數(shù)據(jù)在此可以是用于自動(dòng)裝置的配置數(shù)據(jù)和/或參數(shù)化數(shù)據(jù)、或者是用于對自動(dòng)化裝置進(jìn)行驅(qū)控的指令。狀態(tài)信息同樣可以考慮作為數(shù)據(jù),如任何其他能在自動(dòng)化環(huán)境中傳輸?shù)臄?shù)據(jù)。數(shù)據(jù)在此也許能夠設(shè)計(jì)成數(shù)據(jù)包或者數(shù)據(jù)報(bào)文。
自動(dòng)化裝置在此可以在最簡單的情況中是唯一的plc或者唯一的自動(dòng)化組件。在另一方面,自動(dòng)化裝置也可以接受任意的靈活性,例如不同的自動(dòng)化設(shè)備的組合。
計(jì)算機(jī)在此可以是pc、工業(yè)pc或者任何其他的計(jì)算機(jī)。可攜帶設(shè)備如智能電話、平板電腦或者筆記本可以考慮作為計(jì)算機(jī)。
廣域網(wǎng)(英語“wideareanetwork”或者wan)在此應(yīng)該表現(xiàn)成例如像互聯(lián)網(wǎng)一樣的網(wǎng)絡(luò),其通過其相應(yīng)較大的大面積延展與本地網(wǎng)絡(luò)界定開。廣域網(wǎng)在此例如能夠用于連接第二制造位置。
在自動(dòng)化程序和自動(dòng)化裝置之間的通信在此也可以包括對自動(dòng)化裝置的配置。
事件循環(huán)(英語“evenloop”)在此是程序結(jié)構(gòu),其等待事件或者報(bào)告并且其分布在程序內(nèi)部。每個(gè)事件循環(huán)在此都具有一個(gè)明確的識(shí)別碼。該識(shí)別碼在此可以是簡單的數(shù)字直至復(fù)雜的地址。
應(yīng)用特定的協(xié)議如標(biāo)準(zhǔn)化的通信協(xié)議(例如tcp/ip)一樣具有所謂的通信堆棧。該堆棧由多個(gè)層構(gòu)成,例如由osi模型(英語opensystemsinterconnectionmodel)所公開的那樣。下層,多數(shù)為層1至4,在此用于比特傳輸、無錯(cuò)幀傳輸(sicherung)、包轉(zhuǎn)換(vermittlungvonpaketen)和消息的傳輸。上層在此通常取決于應(yīng)用。上層應(yīng)該對于應(yīng)用特定的協(xié)議來說在接下來描述為應(yīng)用層。在此可以考慮的是,僅僅最上面的層、也就是例如層7是應(yīng)用層,并且根據(jù)本發(fā)明的方法直接在該應(yīng)用層(例如層7)之下實(shí)施。這具有優(yōu)點(diǎn),即待傳輸?shù)臄?shù)據(jù)還沒有在下面的通信層中打包。應(yīng)用層在此例如是osi模型的層或者英語是所謂的“applicationlayer”。通過將事件循環(huán)存儲(chǔ)在應(yīng)用層中實(shí)現(xiàn)了,即應(yīng)用特定的協(xié)議例如能夠經(jīng)由https通道在廣域網(wǎng)之上使用。
通信操作,例如像發(fā)送或者接收,在應(yīng)用層中通過代理方法替代。該代理方法然后能夠?qū)⑺械恼{(diào)用(不取決于其原始地考慮用于哪些應(yīng)用特定的協(xié)議)在例如像tcp/ip的標(biāo)準(zhǔn)化協(xié)議中實(shí)施。利用該代理方法,應(yīng)用特定的協(xié)議的通信操作和功能能夠通過任意的標(biāo)準(zhǔn)連接通過網(wǎng)絡(luò)來溝通。這例如可以是vpn連接或者同樣是tcp連接或者h(yuǎn)ttps連接。
具有用于自動(dòng)化裝置的本地網(wǎng)絡(luò)連接的自動(dòng)化程序通常設(shè)計(jì)用于在本地網(wǎng)絡(luò)(例如lan)中通過應(yīng)用特定的協(xié)議進(jìn)行通信,其中該自動(dòng)化程序的計(jì)算機(jī)因此具有用于自動(dòng)化裝置的本地網(wǎng)絡(luò)連接。
因?yàn)橥ㄟ^根據(jù)本發(fā)明的方法缺失來自下級通信層的信號通知,因此其根據(jù)本發(fā)明通過引入事件循環(huán)復(fù)制在通信的兩側(cè)。
通信通道例如可以是所謂的召回通信通道(call-back-communication-channel),其可以通過tcp或者h(yuǎn)ttps或者類似的協(xié)議來設(shè)定。通過該通信通道溝通了那些另外直接通過應(yīng)用特定的協(xié)議的通信堆棧處理的指令。
在該方法的一個(gè)有利的設(shè)計(jì)方案中,功能被這樣地設(shè)計(jì),即代理服務(wù)器提供所述功能作為代理功能并且通過通信通道調(diào)出所述功能。例如,這些功能在計(jì)算機(jī)上通過代理服務(wù)器提供。首先對于該計(jì)算機(jī)和其自動(dòng)化軟件來說是否其調(diào)出真實(shí)的功能或者原始的功能通過代理功能替代并不重要。然后代理服務(wù)器接管功能調(diào)出并且然后將該功能調(diào)出到相應(yīng)的另一個(gè)計(jì)算機(jī)上。通知分別通過事件循環(huán)實(shí)現(xiàn)。代理服務(wù)器具有優(yōu)點(diǎn),即能夠如此簡單地繼續(xù)使用已知的功能并且不必改變自動(dòng)化程序。
在該方法的另一個(gè)設(shè)計(jì)方案中,在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間的通信通道設(shè)計(jì)成用于召回的通信通道。該在應(yīng)用中也稱為“callbackcommunicationchannel”的通道實(shí)現(xiàn)了通過網(wǎng)絡(luò)的召回,所謂的“網(wǎng)絡(luò)召回(networkcallbacks)”。該設(shè)計(jì)方案使用召回,以實(shí)現(xiàn)該方法的高效實(shí)施。
在該方法的另一個(gè)設(shè)計(jì)方案中,通過通信通道的告知設(shè)計(jì)成召回。這是在該方法上的召回功能的一致性的應(yīng)用。
在該方法的另一個(gè)設(shè)計(jì)方案中,事件循環(huán)設(shè)計(jì)成計(jì)算機(jī)的操作系統(tǒng)的或者自動(dòng)化程序的不可見窗口。因此,操作系統(tǒng)的或者自動(dòng)化程序的現(xiàn)有的通信能夠被進(jìn)一步使用,而不會(huì)妨礙使用至或者通信。
在該方法的另一個(gè)設(shè)計(jì)方案中,通信通道設(shè)計(jì)成tcp通道或者h(yuǎn)ttps通道。應(yīng)用在osi模型的上層中的一個(gè)上的通道的優(yōu)點(diǎn)在于:其能簡單地操作,尤其是與vpn連接相比。
此外,該目的通過一種自動(dòng)化系統(tǒng)實(shí)現(xiàn),該系統(tǒng)具有第一計(jì)算機(jī)、第二計(jì)算機(jī)和至少一個(gè)自動(dòng)化裝置。
第一計(jì)算機(jī)與第二計(jì)算機(jī)能通過廣域網(wǎng)連接,其中第一計(jì)算機(jī)、第二計(jì)算機(jī)和自動(dòng)化裝置設(shè)計(jì)用于借助于應(yīng)用特定的協(xié)議在廣域網(wǎng)之上進(jìn)行通信并且該應(yīng)用特定的協(xié)議具有應(yīng)用層。計(jì)算機(jī)之一此外具有用于自動(dòng)化裝置的本地網(wǎng)絡(luò)連接。能在第一計(jì)算上執(zhí)行第一自動(dòng)化程序,并且能在第二計(jì)算機(jī)上執(zhí)行第二自動(dòng)化程序。在第一計(jì)算機(jī)和第二計(jì)算機(jī)之間的連接能借助于通信通道在廣域網(wǎng)之上建立,并且計(jì)算機(jī)和/或自動(dòng)化程序設(shè)計(jì)用于執(zhí)行根據(jù)本發(fā)明的方法。
該自動(dòng)化系統(tǒng)的一個(gè)優(yōu)選改進(jìn)方案具有代理服務(wù)器,該代理服務(wù)器設(shè)計(jì)用于提供一些功能作為代理功能,并且設(shè)計(jì)用于通過在各另一個(gè)計(jì)算機(jī)上的通信通道調(diào)出這些功能。代理服務(wù)器然后接管功能調(diào)出并且然后將該功能調(diào)出到各另一個(gè)計(jì)算機(jī)上。通知分別通過事件循環(huán)實(shí)現(xiàn)。在此,優(yōu)點(diǎn)為能夠簡單地實(shí)施并且事實(shí)上無需對自動(dòng)化系統(tǒng)做出改變。
在自動(dòng)化系統(tǒng)的另一個(gè)有利的設(shè)計(jì)方案中,計(jì)算機(jī)之一設(shè)計(jì)成自動(dòng)化系統(tǒng)的一部分。這尤其在高度集成的應(yīng)用中具有優(yōu)點(diǎn),因?yàn)樵诖诉@種類型的計(jì)算機(jī)的功能例如能夠與現(xiàn)代化的并且功率強(qiáng)大的板上芯片系統(tǒng)、所謂的socs一同直接集成到自動(dòng)化系統(tǒng)中。
在自動(dòng)化系統(tǒng)的另一個(gè)有利的設(shè)計(jì)方案中,計(jì)算機(jī)之一設(shè)計(jì)成虛擬系統(tǒng)。尤其是利用現(xiàn)代化的虛擬技術(shù)或云應(yīng)用能夠在這種類型的系統(tǒng)上執(zhí)行根據(jù)本發(fā)明的方法。這是特別高效的和面向未來的。
該目的此外通過一種具有通信裝置的計(jì)算機(jī)實(shí)現(xiàn),該通信裝置設(shè)計(jì)用于通過廣域網(wǎng)和/或本地網(wǎng)絡(luò)通信。計(jì)算機(jī)設(shè)計(jì)與用于執(zhí)行自動(dòng)化程序并且用于執(zhí)行根據(jù)本發(fā)明的方法。計(jì)算機(jī)此外也可以設(shè)計(jì)成自動(dòng)化系統(tǒng)的一部分或者虛擬系統(tǒng)的一部分。
附圖說明
接下來根據(jù)在附圖中示出的實(shí)施例進(jìn)一步對本發(fā)明進(jìn)行說明和闡述。圖中示出:
圖1是自動(dòng)化系統(tǒng)并且
圖2是自動(dòng)化系統(tǒng),其以用于利用根據(jù)本發(fā)明的方法通信的線路圖擴(kuò)展。
具體實(shí)施方式
圖1示出另一個(gè)非常普通的系統(tǒng),在該系統(tǒng)中能夠使用根據(jù)本發(fā)明的方法。圖1在此示出了第一計(jì)算機(jī)r1、第二計(jì)算機(jī)r2以及自動(dòng)化裝置av。第一計(jì)算機(jī)r1與第二計(jì)算機(jī)r2通過廣域網(wǎng)連接。第二計(jì)算機(jī)r2通過本地網(wǎng)絡(luò)lan與自動(dòng)化裝置av連接。這僅僅是一個(gè)實(shí)例并且同樣可以考慮的是,兩個(gè)計(jì)算機(jī)r1、r2與各一個(gè)自動(dòng)化裝置av通過本地連接lan連接。在第一計(jì)算機(jī)r1上運(yùn)行第一自動(dòng)化程序asp1,在第二計(jì)算機(jī)r2上運(yùn)行第二自動(dòng)化程序asp2。第一計(jì)算機(jī)r1在此例如可以是pc,在其上運(yùn)行作為第一自動(dòng)化程序asp1的工程規(guī)劃軟件。第二計(jì)算機(jī)r2在此例如可以是pc,在其上可以運(yùn)行作為第二自動(dòng)化程序asp2的工程規(guī)劃軟件。自動(dòng)化程序asp1、asp2通過通道t進(jìn)行通信。通道t在此可以設(shè)計(jì)成tcp或者h(yuǎn)ttps通道。任何另外的通道協(xié)議都可以被考慮。
第一計(jì)算器r1在此在云cl中表示。這應(yīng)該僅僅指明,即第一計(jì)算機(jī)r1不僅可以虛擬化而且也可以物理地設(shè)計(jì)成遠(yuǎn)程計(jì)算機(jī)。云功能被設(shè)為可選的,但是可以利用根據(jù)本發(fā)明的方法毫無問題地實(shí)現(xiàn)。
同樣示出的是,自動(dòng)化裝置av與第二計(jì)算機(jī)r2和在其上運(yùn)行的自動(dòng)化程序asp2通過應(yīng)用特定的協(xié)議ap通信。應(yīng)用特定的協(xié)議ap在此被理解為通信協(xié)議,其特定地為相應(yīng)的應(yīng)用而研發(fā)。該應(yīng)用例如可以是在自動(dòng)化程序和自動(dòng)化裝置之間例如通過工程規(guī)劃軟件的通信。這樣的協(xié)議因此在制造商之間是不同的并且常常是獨(dú)有的。應(yīng)用特定的協(xié)議ap此外常常僅僅用于通過本地網(wǎng)絡(luò)lan進(jìn)行的通信,或者因?yàn)槠洳⒉换谌缙湓趶V域網(wǎng)wan中適用的協(xié)定/協(xié)議(例如像tcp/ip)或者因?yàn)槿鄙倨浣^對安全機(jī)制用于通過公共的或者至少部分公共的網(wǎng)絡(luò)進(jìn)行傳輸?,F(xiàn)在本發(fā)明的目的是:還為第一計(jì)算機(jī)r1和在其上運(yùn)行的自動(dòng)化程序asp1提供應(yīng)用特定的協(xié)議ap的功能。因?yàn)榈诙?jì)算機(jī)r2通過本地網(wǎng)絡(luò)lan與自動(dòng)化裝置av連接,因此其能夠直接通過應(yīng)用特定的協(xié)議ap與自動(dòng)化裝置av通信。在圖2中現(xiàn)在示出,本發(fā)明的可能的設(shè)計(jì)方案如何借助于應(yīng)用特定的協(xié)議ap在廣域網(wǎng)wan之上實(shí)現(xiàn)第一計(jì)算機(jī)r1的通信或者數(shù)據(jù)傳輸。
圖2在左側(cè)示出了保留了標(biāo)號的已經(jīng)在圖1中示出的系統(tǒng)。附加的是,在右側(cè)示出了根據(jù)本發(fā)明的方法的設(shè)計(jì)方案。在第一計(jì)算機(jī)r1上運(yùn)行的第一自動(dòng)化程序asp1在此具有主事件循環(huán)main和第一事件循環(huán)evlp1。主事件循環(huán)main在此例如可以是自動(dòng)化程序asp1的主窗口或者在其中運(yùn)行。在該種情況中為自動(dòng)化程序asp1提供三種功能,即發(fā)送send、接收rec和初始化set。功能send、rec、set在該種情況中通過代理服務(wù)器prx的功能替代。代理服務(wù)器通過其自身的代理功能替代了第一計(jì)算機(jī)r1的應(yīng)用層appl的功能,該代理功能然后在第二計(jì)算機(jī)r2的應(yīng)用層appl中調(diào)出相應(yīng)的功能send、rec、set。因此,應(yīng)用特定的協(xié)議ap的通信堆棧能夠越過廣域網(wǎng)wan來分配,并且因此也提供用于計(jì)算機(jī)r1、r2,它們并不提供用于自動(dòng)化裝置的本地?cái)?shù)據(jù)連接或者網(wǎng)絡(luò)連接。同樣可以考慮的是,不是所有的功能都在自動(dòng)化程序asp1、asp2的內(nèi)部中提供,而是通過所使用的操作系統(tǒng)或者代理服務(wù)器的功能替代。
在圖2中示出的虛擬圖中示例性地運(yùn)行接下來的方法。在此為了相應(yīng)地更好理解的目的在括號和引號中給出了英語定義。在第一計(jì)算機(jī)r1的應(yīng)用特定的協(xié)議ap的應(yīng)用層appl(“applicationlayer”)中注冊具有第一識(shí)別碼id1的第一事件循環(huán)evlp1(“eventloop”)。設(shè)定在第一計(jì)算機(jī)r1和第二計(jì)算機(jī)r2之間的通信通道t。在第一計(jì)算機(jī)r1和第二計(jì)算機(jī)r2之間的通信通道t在此設(shè)計(jì)成用于召回cllbck的通信通道t(“callbackcommunicationchannel”)。這例如可以通過tcp或https實(shí)現(xiàn)。
功能send、rec、set由代理服務(wù)器prx作為代理功能提供,其將這些功能通過通信通道t在該情況中調(diào)出到第二計(jì)算機(jī)r2上。由此其在第二計(jì)算機(jī)r2的一側(cè)能夠在應(yīng)用特定的協(xié)議ap的應(yīng)用層appl中注冊具有第二識(shí)別碼id2的第二事件循環(huán)evlp2,并且第一事件循環(huán)evlp1的第一識(shí)別碼id1被存儲(chǔ)作為通信伙伴。因此可對應(yīng)的是,哪些兩個(gè)事件循環(huán)evlp1、evlp2彼此通信,也就是通過哪些路徑在本地網(wǎng)絡(luò)lan的外部實(shí)現(xiàn)了應(yīng)用特定的協(xié)議ap。識(shí)別碼id1、id2能夠直接在存儲(chǔ)到事件循環(huán)evlp1、evlp2中或者另外存儲(chǔ)成另外的參數(shù)。第一識(shí)別碼id1被需要用于事件循環(huán)evlp1、evlp2彼此的對應(yīng)。這尤其在系統(tǒng)中是很重要的,在該系統(tǒng)中應(yīng)該有多個(gè)自動(dòng)化裝置as與明確較大數(shù)量的計(jì)算機(jī)通信。
為了發(fā)送數(shù)據(jù),事件循環(huán)evlp1、evlp2的識(shí)別碼id1、id2被存儲(chǔ)在確定用于其的數(shù)據(jù)中。通過這種方式,持續(xù)明確哪些事件循環(huán)evlp1、evlp2執(zhí)行數(shù)據(jù)的接收。數(shù)據(jù)被轉(zhuǎn)交給發(fā)送功能send,并且其識(shí)別碼id1、id2被存儲(chǔ)在數(shù)據(jù)中的事件循環(huán)evlp1、evlp2被告知:數(shù)據(jù)提供用于傳輸。最后,被提供的數(shù)據(jù)每次在這樣的告知出現(xiàn)時(shí)借助于接收功能rec通過通信通道t調(diào)出(“methodcalloveranetworkcallbackchannel”)。事件循環(huán)evlp1、evlp2、應(yīng)用層appl和自動(dòng)化程序asp1、asp2的展示和布置在此被理解成實(shí)例,并且在另外的系統(tǒng)中在保持根據(jù)本發(fā)明的方法的情況下也可以是另外的布置。有利的是,在此例如也許是這樣的設(shè)計(jì)方案,其中,第二計(jì)算機(jī)r2設(shè)計(jì)成自動(dòng)化裝置av的一部分。本地網(wǎng)絡(luò)連接lan然后也許可以是自動(dòng)化裝置av中的內(nèi)部連接,或者甚至僅僅是自動(dòng)化裝置av的操作系統(tǒng)內(nèi)部的通信。
綜上,本發(fā)明涉及一種借助于應(yīng)用特定的協(xié)議ap在廣域網(wǎng)wan之上在第一計(jì)算機(jī)r1、第二計(jì)算機(jī)r2和至少是一個(gè)自動(dòng)化系統(tǒng)av之間通信的方法,其中計(jì)算機(jī)r1、r2之一具有用于自動(dòng)化裝置av的本地網(wǎng)絡(luò)連接lan,其中應(yīng)用特定的協(xié)議ap具有應(yīng)用層appl,并且其中第一計(jì)算機(jī)r1執(zhí)行第一自動(dòng)化程序asp1并且第二計(jì)算機(jī)r2執(zhí)行第二自動(dòng)化程序asp2。為了給出一種方法,即越過本地連接lan的限制建立對于自動(dòng)化程序asp1,asp2和其應(yīng)用特定的協(xié)議ap的透明連接并且能夠高效地實(shí),提出:來自下級的通信層的通過根據(jù)本發(fā)明的方法缺失的信號通知通過引入事件循環(huán)evlp1、evlp2復(fù)制在通信的兩側(cè)。此外也應(yīng)該給出用于實(shí)現(xiàn)該目的的自動(dòng)化系統(tǒng)和計(jì)算機(jī)r1、r2。