基于電話網(wǎng)的多功能煤氣管道自動(dòng)抄表系統(tǒng)
3 主控端硬件設(shè)計(jì)
主控端通過(guò)一個(gè)標(biāo)準(zhǔn)Modem連到一臺(tái)固定電話機(jī),通過(guò)抄表管理系統(tǒng)軟件實(shí)現(xiàn)向數(shù)據(jù)庫(kù)中的用戶自動(dòng)撥號(hào);主控端的Modem芯片模塊通過(guò)LM567判斷對(duì)方是否摘機(jī),用MSM7512B自動(dòng)接收客戶端發(fā)送來(lái)的煤氣量的數(shù)據(jù),并將數(shù)據(jù)準(zhǔn)確的傳送給主控PC機(jī),數(shù)據(jù)經(jīng)過(guò)自動(dòng)換算并保存入庫(kù)。主控端硬件設(shè)計(jì)如圖3所示。本文引用地址:http://www.ex-cimer.com/article/161841.htm
4 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括客戶多功能煤氣表的程序和主控端的程序兩大部分,主控端的程序又包含Modem芯片模塊的程序和抄表管理系統(tǒng)軟件??蛻?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/多功能">多功能煤氣表端的程序固化在客戶端MCU中,主要由主程序,外部中斷0,外部中斷1程序和定時(shí)器0中斷程序組成。其中,外部中斷0子程序用來(lái)計(jì)數(shù)脈沖、記憶所用煤氣量和手動(dòng)開(kāi)關(guān)供氣通道;外部中斷1子程序用來(lái)檢測(cè)漏氣和檢測(cè)振鈴;串口中斷用來(lái)采集來(lái)電號(hào)碼;定時(shí)器0中斷程序用來(lái)控制通風(fēng)設(shè)備開(kāi)啟時(shí)間。主控端的Modem芯片模塊程序固化在主控端的MCU中,由主程序和中斷0程序組成。當(dāng)主控端通過(guò)L45 67判斷到對(duì)方摘機(jī),程序進(jìn)入中斷0程序,并開(kāi)始接收數(shù)據(jù)。主控端的抄表管理系統(tǒng)采用VB開(kāi)發(fā)數(shù)據(jù)庫(kù),在VB環(huán)境中通過(guò)MSCOMM控制串口,實(shí)現(xiàn)定時(shí)自動(dòng)撥號(hào)和手動(dòng)撥號(hào),采用DAO,ADO對(duì)象模型和SQL語(yǔ)言實(shí)現(xiàn)對(duì)Access數(shù)據(jù)庫(kù)的訪問(wèn),查詢和操作,采用通過(guò)數(shù)據(jù)報(bào)設(shè)計(jì)器(Data Rep-ort Designer)與數(shù)據(jù)環(huán)境設(shè)計(jì)器(Data Environment Designer)設(shè)計(jì)打印報(bào)表。
4.1 客戶多功能煤氣表的主程序
客戶端多功能煤氣表的主程序流程圖如圖4所示。它是客戶端程序的主線。硬件上電復(fù)位后,進(jìn)入主程序,先對(duì)一系列芯片初始化,再設(shè)置定時(shí)器T0和T1的初始值,然后讀取E2PROM中存儲(chǔ)的煤氣量數(shù)據(jù)并顯示。接著開(kāi)中斷,循環(huán)進(jìn)行熄火檢測(cè),并等待中斷。
4.2 主控端Moderm芯片模塊主程序
主控端的Moderm芯片模塊硬件電路復(fù)位,軟件進(jìn)入主程序。先設(shè)置一標(biāo)志位Flag,根據(jù)它的值判斷當(dāng)前用戶是否摘機(jī)。若Flag為1,則對(duì)方?jīng)]摘機(jī),循環(huán)判斷;若Flag為0,說(shuō)明對(duì)方摘機(jī),不斷接收數(shù)據(jù),直到對(duì)方掛機(jī),接收到的數(shù)據(jù)通過(guò)MCU的RXD經(jīng)過(guò)MAX232傳送給主機(jī)抄表管理系統(tǒng)。抄表系統(tǒng)根據(jù)匯算結(jié)果,即用戶所用煤氣量與所交費(fèi)用核算結(jié)果來(lái)發(fā)送指令給MCU,MCU通過(guò)MSM7512B發(fā)送指令給對(duì)方用戶。流程圖如圖5所示。
5 結(jié)語(yǔ)
實(shí)驗(yàn)證明,該系統(tǒng)布線簡(jiǎn)單,數(shù)據(jù)傳輸?shù)目煽啃院桶踩远驾^好。本文方法同樣也適用于抄錄水表、電表數(shù)據(jù)。
評(píng)論