概述
思泰公司的開源協(xié)議堆棧POWERLINK協(xié)議堆棧可以作為一個通用版本的源代碼來使用。并且可以方便的移植到不同的目標(biāo)操作系統(tǒng)中。這個軟件提供了所有以太網(wǎng)POWERLINK 2.0規(guī)格版所必需的函數(shù),并且提供了各種多種可選的功能函數(shù)。
該源代碼可以做成一個可插入內(nèi)核的內(nèi)核模塊,這樣應(yīng)用程序就可以直接在我們給定的Linux操作系統(tǒng)中運(yùn)行該協(xié)議堆棧。這就給您快速容易的啟動您自己的開發(fā)提供了一個好的入手點(diǎn)。
我們的開源POWERLINK實(shí)現(xiàn)已經(jīng)通過了不同廠家提供的POWERLINK設(shè)備的擴(kuò)展測試,以保證一個穩(wěn)定的平臺和高度的互操作性。
該協(xié)議堆棧軟件以功能模塊的方式組織和實(shí)現(xiàn),提供了最好的靈活性和可擴(kuò)展性,然而專注于對時間要求的服務(wù)。
OpenPOWERLINK軟件的所有硬件特征和時間臨界功能都經(jīng)過特別的設(shè)計(jì)和最優(yōu)化,以保證對POWERLINK總線上的實(shí)時時間快速響應(yīng)。因此,以太網(wǎng)控制器的訪問和處理都被封裝在一個單獨(dú)的驅(qū)動模塊中。
openPOWERLINK堆棧特性
- 以太網(wǎng)POWERLINK 2.0 DS 1.0.0通信文件
- 控制和映射節(jié)點(diǎn)的數(shù)據(jù)鏈接層和NMT狀態(tài)機(jī)
- 通過UDP和POWERLINK ASnd幀的SDO
- 動態(tài)PDO映射
- 用戶可配置的對象詞典
- 以async-only CN和multiplexed CN的方式支持POWERLINK的循環(huán)特性
- 以普通的ANSI C來實(shí)現(xiàn)
- 方便移植到不同目標(biāo)平臺的模塊化軟件結(jié)構(gòu)(有無操作系統(tǒng)都可以)
- 事件驅(qū)動的通信抽象層
- 為用戶開發(fā)應(yīng)用程序提供了簡單的API
- 綜合配置和縮放選項(xiàng)
功能概述
以太網(wǎng)POWERLINK API 層
以太網(wǎng)POWERLINK API層為應(yīng)用程序提供了一個簡單的接口。應(yīng)用程序使用函數(shù)初始化POWERLINK堆棧和執(zhí)行不同的任務(wù)。當(dāng)事件發(fā)生時,POWERLINK堆棧通過一個回調(diào)函數(shù)通知應(yīng)用程序完成事件。例如這些事件包含NMT狀態(tài)變換,節(jié)點(diǎn)狀態(tài)變換,對象詞典訪問,結(jié)束SDO傳輸,POWERLINK堆棧錯誤等。
通信抽象層
POWERLINK堆棧被分為處理循環(huán)事件的硬實(shí)時任務(wù)和負(fù)責(zé)例如SDO processing等同步任務(wù)的低優(yōu)先級任務(wù)。這些任務(wù)之間的通信被封裝在通信抽象層,通信抽象層在事件模型之后設(shè)計(jì)。這使得您可以輕松移植和優(yōu)化到新的目標(biāo)平臺。例如,您可以使用底層操作系統(tǒng)高度優(yōu)化了的進(jìn)程間通信的方法。
對象詞典和SDO(Service Data Object )
POWERLINK堆棧的配置是通過對象詞典來完成的。這可以通過在編譯時通過合適的默認(rèn)輸入來完成,也可以通過運(yùn)行時由應(yīng)用程序或遠(yuǎn)程通過SDO傳送。POWERLINK堆棧通過UDP和POWERLINK ASnd幀支持SDO。它通過UDP使用現(xiàn)存的支持SDO的UDP/IP協(xié)議堆棧,例如由操作系統(tǒng)或者獨(dú)立的UDP/IP堆棧提供的UDP/IP堆棧。虛擬的以太網(wǎng)驅(qū)動為UDP/IP堆棧提供了方法用來與以太網(wǎng)POWERLINK網(wǎng)絡(luò)通信。除了通過UDP的SDO,它還可以通過應(yīng)用程序或者其他任務(wù)例如web服務(wù)器通過以太網(wǎng)POWERLINK網(wǎng)絡(luò)來完成UDP或TCP通信。應(yīng)用程序可以映射任何變量到一個對象詞典條目(見PDO)。依賴于相關(guān)對象條目,應(yīng)用程序被告知每個讀和寫訪問。應(yīng)用程序在它實(shí)際完成或激發(fā)動作之前可能會拒絕訪問。
PDO (Process Data Object )
過程變量通過POWERLINK網(wǎng)絡(luò)節(jié)點(diǎn)之間的PDOS進(jìn)行互換。因此應(yīng)用程序必須映射這些變量到對象詞典條目。PDO映射分配對象詞典條目到指定的PDOS。PDO映射可以通過應(yīng)用程序或SDO傳送動態(tài)的更改。以太網(wǎng)POWERLINK周期性的交換PDO。
節(jié)點(diǎn)管理
MN/CN openPOWERLINK源代碼包含了節(jié)點(diǎn)管理支持功能。節(jié)點(diǎn)管理通過在運(yùn)行時設(shè)置節(jié)點(diǎn)ID為240來啟動。它根據(jù)以太網(wǎng)規(guī)范版本2.0完成啟動過程,包含支持強(qiáng)制性和可選性控制節(jié)點(diǎn)。另外它包含一個配置管理器,它根據(jù)一個提供的設(shè)備配置文件配置每個控制節(jié)點(diǎn)。
|