咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2020-01-10 10:21:15 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
1 系統(tǒng)總體設(shè)計(jì)方案
該系統(tǒng)主要由智能稱重儀表、GPRS模塊(MC55)、GPRS/Internet網(wǎng)絡(luò)、數(shù)據(jù)中心數(shù)據(jù)管理程序四部分組成。工作流程大致如下:
通信過程的第一步是: 建立數(shù)據(jù)中心和儀表之間的通信鏈路。數(shù)據(jù)中心類似服務(wù)器端; 儀表端即客戶端向服務(wù)器請(qǐng)求連接, 連接建立后客戶端主動(dòng)發(fā)送自己的注冊(cè)碼 ( 每個(gè)客戶端的注冊(cè)碼不同) 給服務(wù)器, 這樣就建立起了通信鏈路。
其次是數(shù)據(jù)的傳輸, 我們可以通過這個(gè)鏈路發(fā)送和獲取儀表的相關(guān)信息。數(shù)據(jù)傳輸過程如下: 數(shù)據(jù)由稱重儀表送給 GPRS 模塊, 模塊發(fā)送給 GPRS網(wǎng)絡(luò), 再通過網(wǎng)關(guān)節(jié)點(diǎn) GGSN 傳遞給 Internet 網(wǎng)絡(luò),處在 Internet 上的數(shù)據(jù)中心收到來自儀表端的數(shù)據(jù)。數(shù)據(jù)從數(shù)據(jù)中心到達(dá)稱重儀表的流程和這個(gè)過程正好相反。
2 智能稱重儀表
此次研究是基于皮帶秤智能稱重儀表而研究的, 儀表采用 Aduc834 芯片, 芯片內(nèi)嵌 A/D 轉(zhuǎn)換器, 與 51 指令兼容, 可產(chǎn)生大波特率加快數(shù)據(jù)傳輸速度, 稱重儀表原理如下:
儀表采集通過皮帶秤上的物料產(chǎn)生的速度傳感器和重量傳感器的信號(hào), 對(duì)其進(jìn)行放大、 濾波后送入微處理器進(jìn)行 A/D 轉(zhuǎn)換, 微處理器對(duì)其進(jìn)行計(jì)算處理, 得到通過皮帶秤的物料的重量值。
數(shù)據(jù)從儀表傳送給 GPRS 網(wǎng)絡(luò)是通過 RS232串口 P3.0 和 P3.1 進(jìn)行發(fā)送和接收的。
3 GPRS 技術(shù)
GPRS-General Packet Radio Service , 通用無線分組業(yè)務(wù), 是一種基于 GSM 系統(tǒng)的無線分組交換技術(shù), 提供端到端的、 廣域的無線 IP 連接, 以 “分組”的形式傳送資料到用戶手上。由于使用了 “分組” 的技術(shù), 基本上可以實(shí)現(xiàn) 24 小時(shí)在線; 用戶總是在線且按流量計(jì)費(fèi), 沒有數(shù)據(jù)傳輸不收費(fèi), 大大降低了成本;
GPRS 的最大優(yōu)勢(shì)在于速度快, 目前的 GSM 移動(dòng)通信網(wǎng)的傳輸速度為每秒 9.6K 字節(jié); GPRS 接入等待時(shí)間短, 可快速建立連接, 平均為 2s 。
4 GPRS 上位機(jī)實(shí)現(xiàn)
上位機(jī)程序是用 VB 語言編寫, 采用 winsock控件作為 GPRS 模塊和數(shù)據(jù)中心的通信鏈路載體,根據(jù) winsock 的連接狀態(tài)參數(shù), 可以動(dòng)態(tài)觀察到儀表是否在監(jiān)控中; 后臺(tái)數(shù)據(jù)庫支持?jǐn)?shù)據(jù)的隨時(shí)存儲(chǔ),可以查閱歷史記錄, 也可以保存當(dāng)前記錄, 并有當(dāng)前時(shí)間顯示; 設(shè)置了登錄權(quán)限; 數(shù)據(jù)中心和客戶端的聯(lián)系不僅基于 GPRS 網(wǎng)絡(luò)而且也利用手機(jī)模塊自身的功能, 如打電話或發(fā)信息通知客戶端上線; 也可以發(fā)送控制手機(jī)模塊的 AT 指令控制客戶端。
4.1 動(dòng)態(tài)域名解析
域名解析就是將一個(gè)域名解析為一個(gè)動(dòng)態(tài)的IP 地址, 每次在電腦 IP 地址發(fā)生改變時(shí), 軟件會(huì)自動(dòng)將新的 IP 地址發(fā)送到 DNS 服務(wù)器或者服務(wù)商提供的服務(wù)器上, 對(duì)域名的解析進(jìn)行修改。 也就是當(dāng)你再次訪問同一個(gè)域名的時(shí)候, DNS 服務(wù)器會(huì)自動(dòng)連接變化了的 IP 地址。由于固定 IP 數(shù)量有限, 且申請(qǐng)固定 IP 的費(fèi)用較高, 所以普遍用的都是動(dòng)態(tài) IP, 也就是每次掉線之后 DNS 服務(wù)器分配給終端的是不同于上一次登陸的 IP 。而儀表跟數(shù)據(jù)中心通信時(shí)是用 IP 地址進(jìn)行訪問的, 讓這個(gè)變化的 IP 始終被捕捉到, 域名解析就顯得很重要了。
4.2 端口映射
對(duì)動(dòng)態(tài) IP 的局域網(wǎng)里的一部普通主機(jī)來說, 訪問任何一個(gè)網(wǎng)站都是可以的, 可是外部網(wǎng)絡(luò)要訪問這臺(tái)計(jì)算機(jī)就不可能了, 因?yàn)閮?nèi)部的計(jì)算機(jī) IP 地址是自己定義的, 局域網(wǎng)外部的訪問者無法識(shí)別, 而實(shí)現(xiàn)內(nèi)部計(jì)算機(jī)被外部計(jì)算機(jī)訪問的方法就是端口映射。
端口映射功能就是可以讓內(nèi)部網(wǎng)絡(luò)中某臺(tái)主機(jī)對(duì)外提供網(wǎng)絡(luò)服務(wù), 當(dāng)用戶訪問提供映射端口主機(jī)的某個(gè)端口時(shí), 服務(wù)器將請(qǐng)求轉(zhuǎn)到內(nèi)部一提供這種特定服務(wù)的主機(jī)。利用端口映射功能可以將一臺(tái)公網(wǎng) IP 地址機(jī)器的多個(gè)端口映射成局域網(wǎng)內(nèi)部不同機(jī)器上的不同端口。理論上可以提供六萬多個(gè)端口的映射。
實(shí)現(xiàn)端口映射常用的方法有兩種: 一、 可以在網(wǎng)關(guān)上裝上端口映射軟件, 給局域網(wǎng)內(nèi)計(jì)算機(jī)做端口映射; 二、 可以在寬帶路由器上做端口映射, 現(xiàn)在一般的寬帶路由器都有這種功能。而第二種方法是對(duì)局域網(wǎng)內(nèi)任何一臺(tái)機(jī)器都是可以使用的。
4.3 通信鏈路
上位機(jī)采用 Visual Basic 編程, WINSOCK 控件組,WINSOCK 在信息的發(fā)送端和接收端建立了橋梁, 發(fā)送信息和接收信息都很方便。
設(shè) aa 為字符串, 則
發(fā)送字符串為 winsock.sendata aa ,
接收字符串為 winsock.getdata aa 。
監(jiān)控 winsock 的連接狀態(tài) winsock.state 可以很清楚的知道客戶端是否在線;
Winsock 偵聽端口:
Winsock.localport=XXXX
Winsock.listen
則可以設(shè)定 winsock 在用 XXXX 端口進(jìn)行偵聽,以隨時(shí)接收客戶端的連接請(qǐng)求, 然后分配空閑winsock 進(jìn)行通信。
在偵聽端口的選擇上, 一定要選擇空閑可用的端口, 不要和計(jì)算機(jī)本身系統(tǒng)發(fā)生沖突。
4.4 AT 指令
這次研究采用的是某公司的 MC55 手機(jī)模塊, 模塊通過 RS232 串口與單片機(jī)通訊, 每種模塊都有自己特定的 AT 指令, 主要用到的 AT 指令 所示:
4.5 短信的 PDU 模式
如果沒有建立通信鏈路, 而我們又想對(duì)遠(yuǎn)程稱重儀表進(jìn)行訪問, 我們就可以使用短消息方式進(jìn)行通信。
短消息有 Text 和 PDU 兩種模式。使用 Text 模式收發(fā)短信代碼簡單, 實(shí)現(xiàn)起來十分容易, 但最大的缺點(diǎn)是不能收發(fā)中文短信; PDU 模式不僅支持中文短信, 也能發(fā)送英文短信。 PDU 模式收發(fā)短信可以使用 3 種編碼: 7-bit 、 8-bit 和 UCS2 編碼。 7-bit 編碼用于發(fā)送普通的 ASCII 字符, 8-bit 編碼通常用于發(fā)送數(shù)據(jù)消息, UCS2 編碼用于發(fā)送 Unicode 字符。
PDU 碼一般由十三項(xiàng)組成:
A : 短信息中心地址長度, 2 位十六進(jìn)制數(shù); ( 為B 和 C 的長度之和)
B : 短信息中心號(hào)碼地址類型, 2 位十六進(jìn)制數(shù);
C : 短信息中心號(hào)碼; ( 其中短信息中心號(hào)碼長度為 11 位, 末位加 F , 從左數(shù)每兩位交換位置構(gòu)成C 段的內(nèi)容)
D : 文件頭字節(jié), 2 位十六進(jìn)制數(shù);
E : 信息類型, 2 位十六進(jìn)制數(shù);
F : 被叫號(hào)碼長度, 2 位十六進(jìn)制數(shù); ( 包括 68 及號(hào)碼長度)
G : 被叫號(hào)碼類型, 2 位十六進(jìn)制數(shù), 取值同 B ;
H : 被叫號(hào)碼, 長度由 F 中的數(shù)據(jù)決定; ( 構(gòu)成方式同第 C段)
I : 協(xié)議標(biāo)識(shí), 2 位十六進(jìn)制數(shù); ( 00 點(diǎn)對(duì)點(diǎn))
J : 數(shù)據(jù)編碼方案, 2 位十六進(jìn)制數(shù); ( 08 為 uni-code 編碼)
K : 有效期, 2 位十六進(jìn)制數(shù); ( FF 有效期最長)
L : 用戶數(shù)據(jù)長度, 2 位十六進(jìn)制數(shù); ( 每個(gè)字符為兩個(gè)字節(jié))
M : 用戶數(shù)據(jù), 其長度由 L 中的數(shù)據(jù)決定。( J 中08 設(shè)定采用 UCS2 編碼)
按此結(jié)構(gòu)構(gòu)建 PDU 碼即可發(fā)送任何形式的消息。
5 結(jié)束語
GPRS 網(wǎng)絡(luò)應(yīng)用在智能稱重儀表中, 解決了數(shù)據(jù)的無線傳輸問題, 在惡劣條件下只要有手機(jī)信號(hào)的區(qū)域都可以使用; 受干擾小, 資費(fèi)低廉; 數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性也得到了解決; 對(duì)監(jiān)控煤礦產(chǎn)量提供了很大的便利。
參考文獻(xiàn):
[1] 齊鋒 .Visual Basic 6.X 程序設(shè)計(jì) [M]. 中國鐵道出版社,2002.
[2] 王先培, 王泉德 . 測(cè)控系統(tǒng)通信與網(wǎng)絡(luò)教程 [M]. 武漢大學(xué)出版社, 2004.
[3] MC55/MC56 Siemens Cellular Engine. MC55/MC56_ATC_V00.01.
[4] MC55 Siemens Cellular Engine.MC55_RN_V02.50.
[5] 馬曉凱, 等 . 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及應(yīng)用 [M]. 冶金工業(yè)出版社, 2004 .
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除