西門子三明PLC模塊總代理
μC/OS-II核心代碼很小,程序開發(fā)人員要把它移植到自己的目標(biāo)板中只需做少量的工作。圖1是μC/OS-II硬件和軟件的體系結(jié)構(gòu)。
雖然μC/OS-II大部分源代碼是用C語言寫的,但是完成和處理器一些有關(guān)的代碼時,還是必須要用匯編語言來實現(xiàn)的。寄存器的讀、寫只能通過匯編語言的存儲和加載指令來實現(xiàn)。要使μC/OS-II能夠正常工作, 處理器必須滿足以下要求:
?、?處理器的C編譯器能產(chǎn)生可重入代碼;
?、?用C語言可以打開和關(guān)閉中斷;
?、?處理器支持中斷,并且能夠產(chǎn)生定時中斷(通常在10~100Hz之間);
?、?處理器能夠支持容納一定量數(shù)據(jù)的硬件堆棧;
?、?處理器有將堆棧指針和其它寄存器讀出和存儲到堆棧或內(nèi)存中的指令。
μC/OS-II的移植包括以下幾個部分。
(1)設(shè)置與編譯器有關(guān)的代碼[OS_CPU.H]
{
mrs r0, CPSR;
stmfd sp!, {r0};
orr r0, r0, #NOINT;
msr CPSR_c, r0;
}
#define OS_EXIT_CRITICAL() IRQFIQRE
#define IRQFIQRE __asm
{
ldmfd sp!, {r0};
msr CPSR_c, r0;
}
#Endif
?。?)編寫4個匯編語言函數(shù)[OS_CPU_A.S]
μC/OS-II的移植實例要求用戶編寫4個簡單的匯編語言函數(shù):
OSStartHighRdy()
OSCtxSw()
[NextPage]
OSTaskDelHook()
OSTaskSwHook()
OSTaskStatHook()
OSTaskTickHook()
這6個函數(shù)只對OSTaskStkInit()編寫代碼,后5個函數(shù)必須聲明,但是內(nèi)部并沒有代碼。OSTaskCreate()和OSTaskCreateExt()通過調(diào)用OSTaskStkInit()來初始化任務(wù)的堆棧結(jié)構(gòu)。這個函數(shù)的移植代碼,可參考文獻(xiàn)[3]。
3 測試、編寫驅(qū)動和應(yīng)用程序
做完以上工作以后,就要測試移植的是否正確。測試一個μC/OS-II實時內(nèi)核并不復(fù)雜,就是讓這個實時內(nèi)核在自己的目標(biāo)板上跑起來。開始時,可以運行一些簡單的任務(wù)和時鐘節(jié)拍中斷任務(wù),如果調(diào)試成功就可以在上面添加應(yīng)用程序。
μC/OS-II移植完成以后,就要在這個實時內(nèi)核之上編寫接口驅(qū)動程序。由于嵌入式操作系統(tǒng)體積更小,功能更強,且快速、穩(wěn)定,更具有針對性,因此不像其它操作系統(tǒng)那樣,對系統(tǒng)的所有接口設(shè)備都需要驅(qū)動、管理、調(diào)度和監(jiān)視。由于嵌入式產(chǎn)品是針對特殊的用途而設(shè)計的,有很強的專一性,因此,在編寫驅(qū)動程序時內(nèi)容更精簡,更具有穩(wěn)定性,編寫出的驅(qū)動模塊更小。編寫驅(qū)動程序應(yīng)完成以下基本功能:①對設(shè)備初始化和釋放;②把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);③讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù)據(jù);④檢測和處理設(shè)備出現(xiàn)的錯誤。實現(xiàn)了以上功能以后,一個嵌入式操作系統(tǒng)就基本構(gòu)成了。
完成了μC/OS-II的移植和驅(qū)動程序的編寫以后,利用操作系統(tǒng)提供的API函數(shù)編寫應(yīng)用程序,調(diào)用μC/OS-II中與應(yīng)用程序相關(guān)的系統(tǒng)服務(wù)。調(diào)試通過后,固化到目標(biāo)板上,這個嵌入式應(yīng)用軟件就完成了
西門子CP 5611 A2 可在不同的軟件包下進(jìn)行操作,并允許用戶通過 PROFI-BUS 和多點接口(MPI)執(zhí)行編程設(shè)備的功能和 PC 函數(shù)。
每臺編程器或PC上只能使用一個通訊處理器。 每個CP 只能使用一個相同的協(xié)議 (PROFIBUS DP, S7 通訊或者 FDL)。
下面的軟件包支持 CP 5611 A2:
STEP 7 V3.2 及以上;
CP 5611 A2 驅(qū)動程序在供貨 STEP 7 范圍之內(nèi) 。
SOFTNET-S7 V3.2 及以上
使用該軟件包,S7 編程接口
SOFTNET-DP V3.2 及以上
CP 5611 可用作帶這種軟件包的 Class 1 或 2 PROFIBUS DP主站。
SOFTNET DP V3.2 及以上
用于使用 CP 5611 作為 PROFIBUS DP 從站。
COM PROFIBUS V3.3 及以上;
使用本軟件包,CP 5611 A2 可用于PROFIBUS DP系統(tǒng)的調(diào)試或診斷(DP在線功能。)
STEP 7-Micro/WIN V2.1 及以上;
用作 SIMATIC S7-200 的編程軟件的硬件基礎(chǔ)。
ProTool,ProTool/Pro;
CP 5611 A2 可用作所有 SIMATIC 操作員面板,觸摸屏和文件顯示等組態(tài)工具的硬件基礎(chǔ)
NCM PC;
RS485總線連接器
用于將 PROFIBUS 節(jié)點連接到 PROFIBUS 總線電纜
安裝方便
FastConnect 插頭采用絕緣刺破連接技術(shù),可確保極短的組裝時間
集成端接電阻 (6ES7 972-0BA30-0XA0 中不具有)
通過帶 Sub-D 接口的連接器可以連接編程器,無需額外安裝網(wǎng)絡(luò)節(jié)點
用于 PROFIBUS 的 RS485 總線連接器,可用于連接 PROFIBUS 節(jié)點或 PROFIBUS 網(wǎng)絡(luò)部件到 PROFIBUS 總線電纜。
提供有各種類型的總線連接器,可優(yōu)化用于連接的設(shè)備: