新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM9和GPRS的實時電力負控管理系統的設計

        基于ARM9和GPRS的實時電力負控管理系統的設計

        作者: 時間:2012-05-21 來源:網絡 收藏

        2.2 軟件

        2.2.1 負控管理終端的軟件

        在負控管理終端的整體流程是終端上電后,初始化串口,啟動撥號,建立TCP連接成功后,主站向負控管理終端發送登陸幀,負控管理終端監聽到登陸幀后(主站和負控管理終端建立通信前,主站要知道負控管理終端中模塊的SIM卡號),發出確認幀,主站與負控管理終端就可以開始通信。負控管理終端接收到數據時,先判斷是不是主站發送過來的控制命令,如果是,將該命令透明傳輸給電能表,電能表通過解析判斷其要是采集數據命令,就將相應的電能數據返回給負控管理終端,負控管理終端收到數據后通過TCP發送給主站;如果不是控制命令,說明是電能表的返回數據,同樣通過TCP協議發送給主站。在沒有任何命令時,負控管理終端進入低功耗模式,間隔一定時間發送心跳包,以確定它與主站沒有斷開連接。每隔15 min,負控管理終端會定時采集電能數據,并將其存儲在NANDFLASH中,等待主站隨時調用。此外,當負控管理終端處于異常狀態,或者發生一些特殊事件時,比如事故報警信息,負控管理終端通過遙信控制主動上報給主站,以做出適當處理。

        負控管理終端的應用軟件主要包括數據采集及處理程序和網絡通信程序。數據采集及處理程序完成電能表數據采集,并進行處理。網絡通信程序完成將處理后的數據傳送到主站。另外,網絡通信程序還要發送主站的控制指令。

        該部分的軟件編寫采用自上而下的思路,以模塊化設計為原則,采用C語言編程,通過建立數據采集與處理線程、網絡通信線程、按鍵控制線程,使其相互協調地運行。

        結合上面給出的設計思路,下面重點介紹如何利用多進程技術和管道技術來實現抄表和發送數據的功能。

        在進行網絡通信之前,先設定網絡端口最大允許接入的客戶端數、父進程和子進程設定的2個狀態變量。

        c.JPG

        進入主函數,創建管道和子進程,分別啟動父進程和子進程,開始數據采集和網絡傳輸,function_farther()函數和function_child()函數分別為父進程和子進程的主函數。

        d.JPG
        e.JPG


        tcp/ip相關文章:tcp/ip是什么


        電能表相關文章:電能表原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁海县| 驻马店市| 浦城县| 金秀| 申扎县| 富裕县| 大英县| 法库县| 丽江市| 金平| 红桥区| 乌拉特前旗| 麻江县| 阿拉尔市| 沈阳市| 阜城县| 德惠市| 获嘉县| 汝州市| 新乡市| 北安市| 呼伦贝尔市| 定远县| 景谷| 海南省| 郯城县| 武宁县| 满城县| 金阳县| 宝清县| 郴州市| 文安县| 射洪县| 霍州市| 临湘市| 甘谷县| 桦川县| 孝感市| 岑巩县| 五华县| 大埔县|