新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > IEC 61131-3標(biāo)準(zhǔn)與ARM嵌入式控制系統(tǒng)

IEC 61131-3標(biāo)準(zhǔn)與ARM嵌入式控制系統(tǒng)

作者: 時間:2007-04-20 來源:網(wǎng)絡(luò) 收藏
摘要 介紹 61131-3國際微處理器和系統(tǒng);研究基于AT91M55800A微處理器和6113l-3實時的設(shè)計與實現(xiàn)技術(shù),并給出詳細的串口通信程序。
關(guān)鍵詞 AT91M55800A 61131 3 串口通信

引 言
是采用ARM公司技術(shù)知識產(chǎn)權(quán)(IP)核的微處理器。其中ARM7是低功耗的32位核,具有小體積、低功耗、低成本而高性能的特點,在信息家電、工業(yè)控制和無線通信等領(lǐng)域得到了廣泛的應(yīng)用。

IEC61131-3國際標(biāo)準(zhǔn)是國際標(biāo)準(zhǔn)化組織(國際電工技術(shù)委員會)為工業(yè)控制軟件編程制定的第一個國際標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)針對工業(yè)所闡述的軟件設(shè)計概念、模型等,適應(yīng)了當(dāng)今世界軟件、工業(yè)的發(fā)展方向,是一種非常先進的設(shè)計技術(shù)。

友好的交互界面、網(wǎng)絡(luò)互聯(lián)功能、智能化的軟件、實時數(shù)據(jù)處理已成為現(xiàn)代測控系統(tǒng)的共同需求,因此,毆計并實現(xiàn)基于ARM微處理器和IEC 6113l-3標(biāo)準(zhǔn)的實時控制系統(tǒng)很有意義。

1 系統(tǒng)的設(shè)計與實現(xiàn)
1.1 系統(tǒng)的硬件基礎(chǔ)
控制系統(tǒng)是基于Atmel AT91M55800A微處理器進行設(shè)計的。AT91M55800A是一款基于ARM7TDMI核的16/32位微控制器。其處理器核為高性能的32位RISC體系結(jié)構(gòu);具有高密度的16位指令集和極低的功耗,片內(nèi)集成了8 KB SRAM、向量中斷控制器VIC、先進電源管理控制器APMC和完全可編程的外部總線接口EBI;具有3個USART、58個可編程I/O線、6通道1 6位定時器/計數(shù)器、8通道10位ADC和2路lO位DAC,為各種超低功耗應(yīng)用提供了一種高度靈活且高性價比的解決方案。

圖1是控制系統(tǒng)的硬件結(jié)構(gòu)框圖。硬件設(shè)計采用了結(jié)構(gòu)化、模塊化的設(shè)計思想,易于裁剪。通信接口包括RS232串行通信接口、以太網(wǎng)接口和CAN總線接口。通過以太網(wǎng)口可以實現(xiàn)與工業(yè)以太網(wǎng)的互聯(lián)。結(jié)合ARM集成開發(fā)環(huán)境ADSl.2和在線調(diào)試工具Multi-ICE,通過JTAG調(diào)試接口和處理器內(nèi)嵌的Embedded ICE邏輯,可以對系統(tǒng)進行實時仿真和跟蹤調(diào)試。

1.2 系統(tǒng)的軟件基礎(chǔ)
(1)μC/OS-II的移植

控制系統(tǒng)要完成的工作足很復(fù)雜的,要管理的外設(shè)也很多,程序也越來越龐大,因此移植嵌入式實時多任務(wù)操作系統(tǒng)是必然的選擇。對小型實時控制系統(tǒng)來說,源代碼公開的、可固化可裁剪的,具有很好的可移植性、高穩(wěn)定性和高可靠性,具有可剝奪型內(nèi)核的搶占式實時多任務(wù)操作系統(tǒng)μC/OS-II是很好的選擇。代碼簡潔的μC/OS-II已經(jīng)應(yīng)用到智能儀表、信息家電、無線通信設(shè)備和工業(yè)機器人等嵌入式系統(tǒng)中。

μC/OS-II在AT9lM5800A處理器上移植比較簡單,只須修改3個與ARM體系結(jié)構(gòu)相關(guān)的文件――OS――CPU.H、OS_CPU_A.S和(OS_CPU_C.C,代碼量大約是500行。具體的移植過程不再詳述,網(wǎng)上有很多移植成功的范例可以參考。

(2)IEC 61131-3標(biāo)準(zhǔn)軟件的應(yīng)用

IEC 6113l-3標(biāo)準(zhǔn)是國際電工委員會(TEC)第一次為全世界工業(yè)控制制定的有關(guān)數(shù)字控制軟件技術(shù)的編程語言標(biāo)準(zhǔn),包括編程和公共元素兩部分內(nèi)容。公共元素描述了IEC61131-3五種編程語言(指令表、結(jié)構(gòu)化文本、梯形圖、功能塊圖和SFC)、IEC軟件模型以及通信模型中用到的全部公共編程元素的變量和數(shù)據(jù)類型;給出了如何命名這些軟件元素、聲明變量、變量及數(shù)據(jù)類型的初始化等規(guī)則,是實現(xiàn)IEC61131-3編程系統(tǒng)不可缺少的有機組成部分。編程部分描述了兩個重要模型:IEC軟件模型和通信模型。這兩個模型構(gòu)成了實現(xiàn)符合IEC61131-3國際標(biāo)準(zhǔn)的編程系統(tǒng)的概念基礎(chǔ)。

IEC61131-3標(biāo)準(zhǔn)還定義了一個標(biāo)準(zhǔn)功能和功能塊算法庫,而且用戶也可建立自己的算法庫。由于功能和功能算法庫都是用ANSI C語言編寫的,所以用戶的控制算法程序具有很好的可移植性和可重用性。

IEC61131-3標(biāo)準(zhǔn)軟件在基于AT9lM55800A的硬件平臺上的應(yīng)用就是把IEC運行時系統(tǒng)作為μC/OS-II的一個任務(wù)運行,代碼如下:

2 串口通信程序設(shè)計
用戶在基于IEC6113l-3標(biāo)準(zhǔn)的編程系統(tǒng)中編寫好的程序,經(jīng)過編澤和鏈接后所生成的目標(biāo)代碼可以通過串口或以太網(wǎng)口下載到目標(biāo)系統(tǒng)(即控制系統(tǒng))中執(zhí)行。編程系統(tǒng)與目標(biāo)系統(tǒng)之間通信連接的選擇具有很大的靈活性,可以是RS232串口通信、以太網(wǎng)通信,或者是其他的通信方式。以下是基于AT9lM55800A的RS232串口通信程序設(shè)計的代碼。

在內(nèi)存中開辟數(shù)據(jù)接收/發(fā)送緩沖區(qū):

最后編寫IEC運行時系統(tǒng)內(nèi)核與用戶程序之間的接口界面通信程序:

有了以上代碼,嵌入式控制系統(tǒng)就可接收從上位機下載的用戶IEC程序,同時上位機可對控制系統(tǒng)中的實時數(shù)據(jù)進行采集和監(jiān)控。這些實時數(shù)據(jù)還可發(fā)布到工業(yè)以太網(wǎng)中實現(xiàn)信息共享。

結(jié)語
本文介紹了基于ARM和IEC6l131-3標(biāo)準(zhǔn)的嵌入式實時測控系統(tǒng)的設(shè)計與實現(xiàn)方法。該系統(tǒng)具有很好的開放性、可裁剪性和升級性。設(shè)計了RS232通信接口、以太網(wǎng)接口和CAN總線接口,可滿足現(xiàn)代工業(yè)控制的現(xiàn)場對網(wǎng)絡(luò)化的需求。軟件編程采用了IEC6113l-3國際標(biāo)準(zhǔn),使得開發(fā)出來的用戶程序具有很好的可移植性和可重用性。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉