天天看點

關于IEC61499 标準中的擴充卡

學習IEC61499 标準時,對于擴充卡(adapter)的概念難以了解。這篇博文希望幫助你了解IEC61499 的adapter。

在設計IEC61499 應用中的一個問題如何保持清晰和可讀性,在實際應用中,功能塊會比較大,事件和資料的輸入輸出多,連線多而複雜。一個複雜一點的應用,連線密密麻麻,占據了大量的設計視窗空間,而且可讀性比較差。IEC61499 的擴充卡(adapter)就是為了解決這個問題而設定的。

Adapter 就好比一個功能塊之間連接配接的“電纜”“(圖-1)。我們知道,一根通信電纜中可能包含多個信号線。并且由兩個接頭,一個接頭稱為插頭(plug),另一個接頭稱為插座(socket)。同時對與每個插頭而言,某些信号是輸出插針,某些信号是輸入插針。如果在插頭上某個信号是輸出的話,到了插座端便為輸入。他們是對稱的。記住了關于電纜的概念,有助于你了解IEC61499 的adapter。

你可以将adapter 比做硬體原理圖中的總線(BUS),他們也是為了簡化連線而設定的。

關于IEC61499 标準中的擴充卡

(圖1)

在功能塊接口定義中可以包含一個擴充卡(Adapter)的執行個體,并且以兩種形式來使用它。既可以可以選擇socket形式(相當于電纜的插座),也可以選擇plug 方式(相當于電纜的插頭)。plug和socket 是鏡像對稱的,如圖-2所示。這意味着進入plug和socket的事件和資料從連接配接的另一端流出。

例如觸發FB1插頭interPlg 的EI1的導緻FB2 插座interSkt接收到EI1 事件。同樣地,在包含socket 的功能塊中觸發EO1 會導緻plug 的EO1 事件的輸出。

關于IEC61499 标準中的擴充卡

(圖2)

在功能塊中, Plug和socket的可以和功能塊的輸入/輸出同樣的方式使用。值得注意的是,在功能塊的角度看,plug和socket的輸出相當于功能塊的輸入,而Plug和socket 的輸入相當于功能塊的輸出。他們向擴充卡的另一端發送事件和資料。這類似于通信接口定義中的DTE和DCE。站在不同的角度看,輸入/輸出是不同的。要不然會引起混淆。

擴充卡可以用于任何功能塊類型(也就是基本,複合和服務接口功能塊)。

定義擴充卡類型

擴充卡類型接口的定義和功能塊類型定義類似,同樣的方式建立輸入/輸出事件和輸入/輸出資料

輸入輸出資料可以通過WITH 與輸入輸出事件關聯。

關于IEC61499 标準中的擴充卡

(圖-3)

   這裡也是會引起混淆的地方,擴充卡的輸入與功能塊輸出對應,而輸出和功能塊的輸入對應。但是前面我們已經提到過,擴充卡分成一對鏡像對稱的部分,一個是plugs,一個是sockets。但是令人遺憾的是擴充卡類型中定義的是該擴充卡所有的輸入/輸出事件和資料,包括plug和socket對中的輸入和輸出。其中有些輸入在plug 端,有些輸入在socket 端。輸出事件和資料也是如此。至于那些輸入事件在plug端,那些輸入事件在socket端是需要額外定義的。在圖-2中比較簡單,将adapter 的所有事件和資料的輸入放置在plug端,而所有的輸出事件和資料放置在socket端。

   不過也可以不是這樣的。例如在4diac-ide中建立的adpter 類型是這樣的

關于IEC61499 标準中的擴充卡

(圖-4)

從注釋中可以看出,REQ是socket 端的事件輸入,而RSP 是plug 的事件輸入。同樣地,REQD 是socket端的資料輸入,而RSPD是plug的資料輸入。

  對應地,CNF是plug的事件輸出,IND是socket端的事件輸出端。同樣地,CNFD是plug端的資料輸出,INDD是socket的資料輸出。

對應的plug和socket如圖-5 所示。

關于IEC61499 标準中的擴充卡

(圖-5)

那麼是如何來規定那些輸入/輸出屬于plug ,那些輸入/輸出屬于socket 的呢? 顯然不是通過注釋來定義的。事實上IEC61499 是通過服務序列圖(service sequence diagrams)來定義的。

關于IEC61499 标準中的擴充卡

(圖-6)

擴充卡在基本功能塊中的使用

在基本功能塊中,Plugs和sockets的輸入和輸出能夠在執行控制圖(ECC)和算法中使用。

在ECC 中,plugs和socket的輸出事件能用來作為轉移條件,而plugs和sockets的輸入事件能夠用于狀态執行語句中。plugs和sockets的資料輸入和輸出能夠在ECC 的轉移調控和算法中使用。

關于IEC61499 标準中的擴充卡

(圖-7)

擴充卡在複合功能塊中的使用

   最直覺地在複合功能塊中使用擴充卡,原因是将plug和socket 放置在複合功能塊内部的的功能塊網絡中。

關于IEC61499 标準中的擴充卡

(圖-8)

擴充卡在服務功能塊中的使用

在标準中沒有定義在服務功能塊中使用。然而,plug和socket的輸入和輸出能夠以功能塊的輸入輸出類似的方式在服務序列中使用。

在功能塊應用中使用擴充卡的好處

隻有了解了使用擴充卡的好處,才能夠更好的了解擴充卡。而且能夠更加自覺地使用擴充卡功能。使用擴充卡的好處包括:

      減少了功能塊輸入輸出的數量,避免混淆。特别是兩個功能塊之間由回報的情況之下。比如(圖-9),沒有描述互動過程的語義。不了解兩個功能塊之間事件互動的順序。

關于IEC61499 标準中的擴充卡

(圖-9)

可以将這兩個功能塊之間的事件和資料的連接配接使用adapter 代替。在adapter中清晰地定義互動過程(使用服務序列圖)

關于IEC61499 标準中的擴充卡

(圖-10)

服務序列圖

關于IEC61499 标準中的擴充卡

(圖-11)

建構複雜的功能塊網絡

功能塊可以使用同類adapter 連接配接多個其它功能塊。例如一個控制器功能塊連接配接兩個電機驅動功能塊。他們之間使用一個motorCable 的擴充卡。

關于IEC61499 标準中的擴充卡

motorCable 擴充卡可能定義了多個事件和資料。比如start,speed,direction 等等。