資料介紹
引言
隨著變電站智能化程度的逐步提高,對(duì)溫度、濕度等現(xiàn)場(chǎng)狀態(tài)參量的采集需求也越來(lái)越多。就目前而言,在現(xiàn)場(chǎng)應(yīng)用中,此類(lèi)設(shè)備多采用RS232或RS485等UART串行通信方式和IED(Intelligent Electronic Device,智能電子設(shè)備)裝置進(jìn)行交互。一般來(lái)說(shuō),不同的設(shè)備采用的通信數(shù)據(jù)幀格式并不相同。各式各樣的串口數(shù)據(jù)幀格式,對(duì)IED裝置的軟件定型造成一定的困難。傳統(tǒng)的做法一般是由裝置生產(chǎn)廠家指定和其配套的外圍設(shè)備,裝置的靈活性不夠理想。本文針對(duì)此類(lèi)問(wèn)題,提出了一種基于Lua腳本語(yǔ)言的解決方案,可有效地提高IED裝置對(duì)各種類(lèi)型串口數(shù)據(jù)報(bào)文幀格式的適應(yīng)性。該方案將具體串口報(bào)文規(guī)約的組建和解析交給Lua腳本進(jìn)行處理,從而使設(shè)計(jì)者在裝置的軟件開(kāi)發(fā)中,可僅關(guān)注于相關(guān)接口的設(shè)計(jì),而不用關(guān)心具體的串口通信規(guī)約,從而方便軟件的定型,并提高了裝置自身在應(yīng)用中的靈活性。
1 Lua腳本語(yǔ)言介紹
Lua是一種源碼開(kāi)放的、免費(fèi)的、輕量級(jí)的嵌入式腳本語(yǔ)言,源碼完全采用ANSI(ISO) C.這一點(diǎn)使它非常適合融入目前以C語(yǔ)言為主的嵌入式開(kāi)發(fā)環(huán)境之中。兩者之間實(shí)現(xiàn)交互的關(guān)鍵在于一個(gè)虛擬的棧,通過(guò)該虛擬棧和Lua提供的可對(duì)該棧進(jìn)行操作的相關(guān)接口函數(shù),可以很方便地在它們之間實(shí)現(xiàn)各種類(lèi)型數(shù)據(jù)的傳遞。
與其他腳本語(yǔ)言(如Perl、Tcl、Python等)相比,Lua表現(xiàn)出了足夠的簡(jiǎn)單性以及非常高的執(zhí)行效率,結(jié)合其與平臺(tái)的高度無(wú)關(guān)以及充分的可擴(kuò)展性[1],這使得它越來(lái)越多地得到大家的關(guān)注。因此,在本文的方案中優(yōu)先選用Lua腳本來(lái)進(jìn)行設(shè)計(jì)。
2 系統(tǒng)方案概述
本方案主要是圍繞著IED裝置和外圍串口設(shè)備之間的通信來(lái)進(jìn)行設(shè)計(jì)的,系統(tǒng)框架如圖1所示。

圖1 系統(tǒng)框架
當(dāng)IED裝置開(kāi)始運(yùn)行時(shí),將創(chuàng)建一個(gè)用于UART通信的讀寫(xiě)調(diào)度任務(wù)。在該任務(wù)中,首先通過(guò)Lua提供的接口函數(shù)來(lái)啟動(dòng)其腳本引擎,并創(chuàng)建Lua虛擬機(jī)。然后即可將用戶(hù)編寫(xiě)的C函數(shù)注冊(cè)到Lua虛擬機(jī)中去,并將存在于Flash文件系統(tǒng)中獨(dú)立于裝置C程序的Lua腳本文件加載到虛擬機(jī)中,從而建立起Lua和C的交互環(huán)境。在系統(tǒng)應(yīng)用中,將需要發(fā)送到外圍設(shè)備的具體數(shù)據(jù)內(nèi)容都放在Lua腳本文件中。當(dāng)裝置C程序需要發(fā)送數(shù)據(jù)時(shí),通過(guò)通信讀寫(xiě)調(diào)度程序及虛擬機(jī)的配合,將這部分?jǐn)?shù)據(jù)取出,并調(diào)用串口驅(qū)動(dòng)程序發(fā)送給外圍設(shè)備。當(dāng)收到外圍設(shè)備發(fā)給IED裝置的報(bào)文時(shí),再將相應(yīng)數(shù)據(jù)傳給虛擬機(jī)中運(yùn)行的腳本程序進(jìn)行處理,并由Lua根據(jù)數(shù)據(jù)處理結(jié)果來(lái)調(diào)用已注冊(cè)的C函數(shù)進(jìn)行相關(guān)業(yè)務(wù)處理。

圖2 系統(tǒng)程序流程
本系統(tǒng)的程序流程如圖2所示。
其中,串口通信芯片采用TI公司的帶64字節(jié)FIFO的4通道可編程UART芯片TL16C754B來(lái)實(shí)現(xiàn)。它的4個(gè)通道可分別獨(dú)立編程,在3.3 V的操作電壓下,數(shù)據(jù)傳輸速率可高達(dá)2 Mbps,適合多種UART通信環(huán)境中的應(yīng)用[2]?;谘b置的應(yīng)用環(huán)境,本文采用RS485的問(wèn)答機(jī)制并結(jié)合查詢(xún)方式來(lái)對(duì)該串口通信方案進(jìn)行設(shè)計(jì)。在方案實(shí)現(xiàn)中,裝置將每隔一定時(shí)間通過(guò)串口芯片發(fā)送一次查詢(xún)報(bào)文,當(dāng)查詢(xún)到外圍設(shè)備發(fā)送的正確響應(yīng)報(bào)文后,再進(jìn)行相關(guān)業(yè)務(wù)處理。
隨著變電站智能化程度的逐步提高,對(duì)溫度、濕度等現(xiàn)場(chǎng)狀態(tài)參量的采集需求也越來(lái)越多。就目前而言,在現(xiàn)場(chǎng)應(yīng)用中,此類(lèi)設(shè)備多采用RS232或RS485等UART串行通信方式和IED(Intelligent Electronic Device,智能電子設(shè)備)裝置進(jìn)行交互。一般來(lái)說(shuō),不同的設(shè)備采用的通信數(shù)據(jù)幀格式并不相同。各式各樣的串口數(shù)據(jù)幀格式,對(duì)IED裝置的軟件定型造成一定的困難。傳統(tǒng)的做法一般是由裝置生產(chǎn)廠家指定和其配套的外圍設(shè)備,裝置的靈活性不夠理想。本文針對(duì)此類(lèi)問(wèn)題,提出了一種基于Lua腳本語(yǔ)言的解決方案,可有效地提高IED裝置對(duì)各種類(lèi)型串口數(shù)據(jù)報(bào)文幀格式的適應(yīng)性。該方案將具體串口報(bào)文規(guī)約的組建和解析交給Lua腳本進(jìn)行處理,從而使設(shè)計(jì)者在裝置的軟件開(kāi)發(fā)中,可僅關(guān)注于相關(guān)接口的設(shè)計(jì),而不用關(guān)心具體的串口通信規(guī)約,從而方便軟件的定型,并提高了裝置自身在應(yīng)用中的靈活性。
1 Lua腳本語(yǔ)言介紹
Lua是一種源碼開(kāi)放的、免費(fèi)的、輕量級(jí)的嵌入式腳本語(yǔ)言,源碼完全采用ANSI(ISO) C.這一點(diǎn)使它非常適合融入目前以C語(yǔ)言為主的嵌入式開(kāi)發(fā)環(huán)境之中。兩者之間實(shí)現(xiàn)交互的關(guān)鍵在于一個(gè)虛擬的棧,通過(guò)該虛擬棧和Lua提供的可對(duì)該棧進(jìn)行操作的相關(guān)接口函數(shù),可以很方便地在它們之間實(shí)現(xiàn)各種類(lèi)型數(shù)據(jù)的傳遞。
與其他腳本語(yǔ)言(如Perl、Tcl、Python等)相比,Lua表現(xiàn)出了足夠的簡(jiǎn)單性以及非常高的執(zhí)行效率,結(jié)合其與平臺(tái)的高度無(wú)關(guān)以及充分的可擴(kuò)展性[1],這使得它越來(lái)越多地得到大家的關(guān)注。因此,在本文的方案中優(yōu)先選用Lua腳本來(lái)進(jìn)行設(shè)計(jì)。
2 系統(tǒng)方案概述
本方案主要是圍繞著IED裝置和外圍串口設(shè)備之間的通信來(lái)進(jìn)行設(shè)計(jì)的,系統(tǒng)框架如圖1所示。

圖1 系統(tǒng)框架
當(dāng)IED裝置開(kāi)始運(yùn)行時(shí),將創(chuàng)建一個(gè)用于UART通信的讀寫(xiě)調(diào)度任務(wù)。在該任務(wù)中,首先通過(guò)Lua提供的接口函數(shù)來(lái)啟動(dòng)其腳本引擎,并創(chuàng)建Lua虛擬機(jī)。然后即可將用戶(hù)編寫(xiě)的C函數(shù)注冊(cè)到Lua虛擬機(jī)中去,并將存在于Flash文件系統(tǒng)中獨(dú)立于裝置C程序的Lua腳本文件加載到虛擬機(jī)中,從而建立起Lua和C的交互環(huán)境。在系統(tǒng)應(yīng)用中,將需要發(fā)送到外圍設(shè)備的具體數(shù)據(jù)內(nèi)容都放在Lua腳本文件中。當(dāng)裝置C程序需要發(fā)送數(shù)據(jù)時(shí),通過(guò)通信讀寫(xiě)調(diào)度程序及虛擬機(jī)的配合,將這部分?jǐn)?shù)據(jù)取出,并調(diào)用串口驅(qū)動(dòng)程序發(fā)送給外圍設(shè)備。當(dāng)收到外圍設(shè)備發(fā)給IED裝置的報(bào)文時(shí),再將相應(yīng)數(shù)據(jù)傳給虛擬機(jī)中運(yùn)行的腳本程序進(jìn)行處理,并由Lua根據(jù)數(shù)據(jù)處理結(jié)果來(lái)調(diào)用已注冊(cè)的C函數(shù)進(jìn)行相關(guān)業(yè)務(wù)處理。

圖2 系統(tǒng)程序流程
本系統(tǒng)的程序流程如圖2所示。
其中,串口通信芯片采用TI公司的帶64字節(jié)FIFO的4通道可編程UART芯片TL16C754B來(lái)實(shí)現(xiàn)。它的4個(gè)通道可分別獨(dú)立編程,在3.3 V的操作電壓下,數(shù)據(jù)傳輸速率可高達(dá)2 Mbps,適合多種UART通信環(huán)境中的應(yīng)用[2]?;谘b置的應(yīng)用環(huán)境,本文采用RS485的問(wèn)答機(jī)制并結(jié)合查詢(xún)方式來(lái)對(duì)該串口通信方案進(jìn)行設(shè)計(jì)。在方案實(shí)現(xiàn)中,裝置將每隔一定時(shí)間通過(guò)串口芯片發(fā)送一次查詢(xún)報(bào)文,當(dāng)查詢(xún)到外圍設(shè)備發(fā)送的正確響應(yīng)報(bào)文后,再進(jìn)行相關(guān)業(yè)務(wù)處理。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式設(shè)計(jì)課程總結(jié)5
- 課堂筆記五之嵌入式Linux開(kāi)發(fā)工具
- 嵌入式Linux第五周課程總結(jié)
- 移植lua5.2和luasocket庫(kù)到嵌入式linux,使能強(qiáng)大的lua腳本和網(wǎng)絡(luò)功能
- 嵌入式軟件之c語(yǔ)言編碼規(guī)范 29次下載
- 嵌入式Lua開(kāi)發(fā)環(huán)境的搭建
- 基于Python的實(shí)時(shí)嵌入式軟件測(cè)試腳本總結(jié)
- 【串口屏LUA教程】Lua腳本語(yǔ)言中文教程
- 腳本語(yǔ)言的概述和與其他編程語(yǔ)言的關(guān)系及特點(diǎn)以及程序舉例的詳細(xì)說(shuō)明 13次下載
- 基于Lua腳本語(yǔ)言的ESP8266 TCP服務(wù)器資料免費(fèi)下載
- 如何使用Lua腳本語(yǔ)言進(jìn)行ESP8266和TCP服務(wù)器多連接
- Lua腳本語(yǔ)言入門(mén)教程資料說(shuō)明
- Lua腳本語(yǔ)言入門(mén)教程資料免費(fèi)下載
- 嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門(mén)免費(fèi)下載 20次下載
- Java用于嵌入式系統(tǒng)之分析與解決方案
- 微軟生成式AI腳本GenAIScript的安裝與配置 1.3k次閱讀
- 嵌入式fpga是什么意思 2.8k次閱讀
- 聊一聊嵌入式C語(yǔ)言 1.2k次閱讀
- 嵌入式系統(tǒng)串口UART接口為啥沒(méi)有數(shù)據(jù)輸出 1.8k次閱讀
- 嵌入式常用通信傳輸協(xié)議動(dòng)圖分享 1.5k次閱讀
- 深入LUA腳本語(yǔ)言 1.7k次閱讀
- 嵌入式C語(yǔ)言知識(shí)點(diǎn)總結(jié) 3.4k次閱讀
- 嵌入式Linux啟動(dòng)時(shí)間優(yōu)化的秘密之四-啟動(dòng)腳本 3k次閱讀
- 具備M2M功能的嵌入式網(wǎng)絡(luò)解決方案將成為未來(lái)的走向 1.4k次閱讀
- 腳本在嵌入式系統(tǒng)的應(yīng)用 1.5k次閱讀
- 嵌入式系統(tǒng)C語(yǔ)言編程實(shí)戰(zhàn)教程合集 1w次閱讀
- 嵌入式硬件通信接口協(xié)議中的串行通信接口-SPI 2.1k次閱讀
- 基于嵌入式環(huán)境的WiFi通信設(shè)計(jì)方案詳解 6.3k次閱讀
- JavaScript 是腳本還是編程語(yǔ)言?看了這文章就懂了 9.2k次閱讀
- Vivado之TCL腳本語(yǔ)言基本語(yǔ)法介紹 1.1w次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說(shuō)明書(shū)
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費(fèi)
- 4丹佛斯2800系列變頻器說(shuō)明書(shū)
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開(kāi)關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊(cè)
- 0.74 MB | 1次下載 | 免費(fèi)
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測(cè)距模塊產(chǎn)品手冊(cè)
- 0.43 MB | 1次下載 | 免費(fèi)
- 8SDFM 激光測(cè)距模塊模組手冊(cè)
- 0.54 MB | 1次下載 | 免費(fèi)
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場(chǎng)分析及創(chuàng)新應(yīng)用
- 3.11 MB | 43次下載 | 免費(fèi)
- 3RV1126B系列開(kāi)發(fā)板產(chǎn)品資料
- 4.19 MB | 18次下載 | 免費(fèi)
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開(kāi)發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場(chǎng)景
- 3.05 MB | 12次下載 | 免費(fèi)
- 6【開(kāi)源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項(xiàng)目案例及入門(mén)學(xué)習(xí)資源包
- 10.55 MB | 8次下載 | 免費(fèi)
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車(chē)載充電機(jī)主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論