咨詢電話
ENGLISH0755-88840386發(fā)布時間:2020-01-04 10:01:36 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
電子皮帶秤二次儀表近年來發(fā)展很快, 出現(xiàn)了兩大趨勢: 一是二次儀表的面板更加簡化, 在面板尺寸減少的同時, 顯示部分的尺寸增大, 顯示內(nèi)容更為豐富, 操作鍵減少。 二是通信功能強化也是智能儀表的重要標(biāo)志, 通過 RS232 , RS485 , CAN 等現(xiàn)場總線方式進行多臺皮帶秤聯(lián)網(wǎng)、 集中監(jiān)控或與上位機系統(tǒng)通信。
新型電子皮帶秤二次儀表 XK3208- A1 就是應(yīng)這種趨勢而開發(fā)、 生產(chǎn)的對皮帶運輸機所輸送物料進行動態(tài)連續(xù)計量的計量儀表。 該儀表以增強型 8052 微控制器為核心, 并配有液晶屏和輕觸式 PVC 按鍵, 操作簡單, 功能齊全。 通過以太網(wǎng)接口, 可以輕松實現(xiàn)多臺電子皮帶秤的聯(lián)網(wǎng),將瞬時流量、 累計流量、 皮帶速度等相關(guān)數(shù)據(jù)送入上位機, 實現(xiàn)對現(xiàn)場稱重儀表的集中監(jiān)控管理。 本文重點介紹該儀表 Ethernet 接口部分的設(shè)計方法。
1 EtherNet/IP 協(xié)議介紹
在企業(yè)信息系統(tǒng)中, TCP/IP 以太網(wǎng)已經(jīng)成為事實上的標(biāo)準(zhǔn)網(wǎng)絡(luò), 將標(biāo)準(zhǔn) TCP/IP 以太網(wǎng)延伸到工業(yè)實時控制, 將很好地幫助用戶獲得更加開放集成的工業(yè)自動化和信息化的整體解決方案。 EtherNet/IP 就是為實現(xiàn)這一目的的標(biāo)準(zhǔn)工業(yè)以太網(wǎng)技術(shù), 它是標(biāo)準(zhǔn) TCP/IP 以太網(wǎng)和通用工業(yè)協(xié)議 ( CIP ) 的結(jié)合。
EtherNet/IP 使用標(biāo)準(zhǔn) TCP/IP 以太網(wǎng), EtherNet/IP 支持在標(biāo)準(zhǔn) TCP/IP以太網(wǎng)上為提供 IT 服務(wù)所開發(fā)的任何應(yīng)用層協(xié)議, 如 HTTP , SNMPSMTP 等等, 實現(xiàn)工業(yè)自動化和企業(yè)信息系統(tǒng)的直接集成。 比如, 運行人員打開網(wǎng)頁瀏覽器軟件, 像訪問某個網(wǎng)站一樣, 可方便地瀏覽、 組態(tài)、 診斷并監(jiān)視 EtherNet/IP 設(shè)備。
EtherNet/IP 使用標(biāo)準(zhǔn) TCP/IP 以太網(wǎng)技術(shù), 保證了用戶在工業(yè)環(huán)境場合可以使用工業(yè)等級的標(biāo)準(zhǔn)以太網(wǎng)交換機; 在非工業(yè)環(huán)境場合, 用戶還可利用已有的普通標(biāo)準(zhǔn)以太網(wǎng)交換機產(chǎn)品來擴展 EtherNet/IP 網(wǎng)絡(luò), 這有助于實現(xiàn)更多的靈活性和更高的性價比的自動控制系統(tǒng)。
TCP/IP 協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互聯(lián)起來的協(xié)議組, 保證因特網(wǎng)上數(shù)據(jù)的準(zhǔn)確快速傳輸。 參考開放系統(tǒng)互聯(lián) ( OSI ) 模型, TCP/IP 通常采用一種簡化的 4 層模型, 分別為: 應(yīng)用層、 傳輸層、 網(wǎng)絡(luò)層、 鏈路層 。
符合 IEEE 802.3 標(biāo)準(zhǔn)的以太網(wǎng)幀的長度一般介于 64 字節(jié)與 1 518字節(jié)之間。 它們由 5 個或 6 個不同的字段組成, 分別是: 目標(biāo) MAC 地址、源 MAC 地址、 類型 / 長度字段、 數(shù)據(jù)有效負載、 可選的填充字段和循環(huán)冗余校驗 ( CRC ) 字段。 另外, 當(dāng)通過以太網(wǎng)介質(zhì)發(fā)送數(shù)據(jù)包時, 一個 7 字節(jié)的前導(dǎo)字段和一個字節(jié)的幀起始定界符將被附加到以太網(wǎng)數(shù)據(jù)包的開頭。 因此, 在雙絞線上的傳輸格式如下:
2 uIP 棧
uIP TCP/IP 棧是使用于低至 8 位或 16 位微處理器的嵌入式系統(tǒng)的一個極輕型的 TCP/IP 協(xié)議棧, 它實現(xiàn)了 TCP/IP 協(xié)議組的 4 個基本協(xié)議:ARP 協(xié)議、 IP 協(xié)議、 ICMP 協(xié)議和 TCP 協(xié)議。 uIPTCP/IP 棧由瑞典單片機專家 AdamDunkels 編寫, 是一個免費的 TCP/IP 棧, 它使用 C 語言編程,可以方便地應(yīng)用到電子衡器中。 uIP 的實現(xiàn)目標(biāo)是保持代碼大小和儲存器使用量最小。 目前, uIP 代碼的大小和 RAM 的需求比其他的 TCP/IP 棧要小, 但是 uIP 與其他 TCP/IP 棧不同, 它的重發(fā)工作需要應(yīng)用程序的幫助。 其他 TCP/IP 棧 RAM 中存儲著傳輸數(shù)據(jù), 直到數(shù)據(jù)被確認已成功發(fā)送才釋放 RAM 空間。 如果數(shù)據(jù)需要重傳, 堆棧在沒有通知應(yīng)用程序下監(jiān)視著重傳工作, 在等待確認的過程期間, 數(shù)據(jù)必須緩存在 RAM 里。 uIP 利用應(yīng)用程序可以快速重新生成數(shù)據(jù)的特點, 在等待數(shù)據(jù)確認的過程中,RAM 中不必緩存數(shù)據(jù), 而是等確認不成功信號到達時由應(yīng)用程序重新快速生成數(shù)據(jù)。 例如, 一個 HTTP 服務(wù)器服務(wù)的大部分是 ROM 里的靜態(tài)和半靜態(tài)頁, 不需要在 RAM 里緩存靜態(tài)內(nèi)容, 所以, 如果一個包丟失了,HTTP 服務(wù)器可以容易地從 ROM 里重生數(shù)據(jù), 使數(shù)據(jù)簡單地從原先的位置讀回來。
3 系統(tǒng)的硬件設(shè)計
微 控 制 器 選 用 美 國某公司 的 模 擬 微 控 制 器ADuC845 , 它內(nèi)部集成有兩個獨立的 24 位 Σ - Δ ADC 、 8 路模擬量輸入通道 ( MQFP 封裝) 、 單周期 8051 兼容內(nèi)核、 62kb 片內(nèi)程序存儲器、 4 kb 片內(nèi) Flash/EE 數(shù)據(jù)存儲器、 2 kb片內(nèi) XRAM 、 12 位電壓輸出型 DAC 、雙 16 位 Σ - Δ DAC/PWM 、 片內(nèi)溫度傳感器。
以太網(wǎng)控制器選用美國某公司的ENC28J60 28 引腳獨立以太網(wǎng)控制器。 目前市場上大部分以太網(wǎng)控制器采用的封裝均超過 80 引腳, 而符合 IEEE802.3 協(xié)議的 ENC28J60 只有 28 引腳, 就能既提供相應(yīng)的功能, 又可以大大簡化相關(guān)設(shè)計, 并減少占板空間。 此外,ENC28J60 以太網(wǎng)控制器采用業(yè)界標(biāo)準(zhǔn)的 SPI TM 串行接口,只需 4 條連線即可與主控單片機連接。
ENC28J60 的硬件設(shè)計需要注意復(fù)位電路、 時鐘振蕩器、 振蕩器啟動定時器、 時鐘輸出引腳、 變壓器、 終端和其他外部器件、 輸入 / 輸出電平等幾個方面。
ENC28J60 是一個工作電壓為 3.3 V 的器件, 它被設(shè)計為易于集成到5 V 的系統(tǒng)中。 SPI 的 CS , SCK 和 SI 輸入以及 RESET 引腳都可以承受 5V 的電壓。另一方面, 主控制器 ADuC845 是運行在 5 V 電壓下, 當(dāng) SPI 和中斷輸入由 ENC28J60 上的 3.3 VCMOS 輸出驅(qū)動時, 它很可能不符合規(guī)范要求, 此時需要一個單向電平轉(zhuǎn)換器。 可以使用一個廉價的 74ACT125( 四三態(tài)緩沖器) , 便于系統(tǒng)集成, 并與其他器件共享 SPI 總線。
4 單片機通信系統(tǒng)的軟件設(shè)計
在使用 ENC28J60 發(fā)送和接收數(shù)據(jù)包前, 必須對器件進行初始化設(shè)置。 通常初始化任務(wù)會在復(fù)位后立即完成, 并且不再需要更改。 初始化包括接收緩沖器的初始化、發(fā)送緩沖器的初始化、接收過濾器的初始化、MAC 初始化設(shè)置和 PHY 初始化設(shè)置。
ENC28J60 內(nèi)的 MAC 在發(fā)送時會自動生成前導(dǎo)符和幀起始定界符。此外, MAC 可根據(jù)配置生成填充 ( 如果需要) 和 CRC 字段。 主控制器必須生成所有其他幀字段, 并將它們寫入緩沖存儲器, 以待發(fā)送。 ENC28J60還要求在待發(fā)送的數(shù)據(jù)包前添加一個包控制字節(jié)。
5 上位機程序設(shè)計
為了實現(xiàn)和單片機的通信, 本文用 VC++ 在用戶終端 PC 機上編程了一個數(shù)據(jù)傳輸?shù)膽?yīng)用程序。給程序的編寫如同一般的網(wǎng)絡(luò)編程, 采用Winsock 編程, 先創(chuàng)建一個套接字, 綁定 IP 地址和端口號, 本文使用 UDP數(shù)據(jù)報, 與嵌入 uIP TCP/IP 棧的單片機系統(tǒng)的套接字建立連接。 上位機先調(diào)用 Send ( ) 函數(shù)發(fā)出查詢某一參數(shù)命令, 當(dāng)有網(wǎng)絡(luò)數(shù)據(jù)到達時,VC++ 響應(yīng) Receive ( ) 消息, 讀取數(shù)據(jù)并處理。
6 結(jié)語
在電子皮帶秤二次儀表中添加了以太網(wǎng)接口, 可實現(xiàn)電子皮帶秤和上位機的通信, 可以使工程技術(shù)人員通過網(wǎng)頁瀏覽器了解電子皮帶秤的運行情況, 其具有傳輸速度快、 使用方便等優(yōu)點, 有著廣泛的應(yīng)用前景。
參考文獻
[ 1 ] 方原柏 . 電子皮帶秤二次儀表的發(fā)展 [ J ] . 衡器, 2004 ( 4 ) : 1- 4.
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請聯(lián)系刪除