本站小編為你精心準(zhǔn)備了LabVIEW的SVG遠程監(jiān)控探析參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
《電氣時代雜志》2014年第五期
一、硬件設(shè)計與實現(xiàn)
通信硬件電路的合理設(shè)計是提高RS485通信可靠性的基礎(chǔ),如果硬件電路存在不足,則RS485通信的可靠性很難得到保證。圖1中,DSP控制電路選用TI公司的32位定點處理器TMS320F2812,工作主頻最高可達150MHz,片上集成兩路SCI接口,64K種可編程通信速率,支持16級接收和發(fā)送FIFO;RS485收發(fā)電路選用多點RS485收發(fā)器DS75176,小型封裝,有利于節(jié)省空間;22ns驅(qū)動傳送延時;單5V供電;總線上允許-7~+12V電壓出現(xiàn),熱保護;允許高達32個收發(fā)器掛在總線上。RS485通信的硬件電路如圖2所示,主要包括信號隔離電路和RS485總線輸出電路。
1.信號隔離電路
RS485收發(fā)器DS75176通過RXD、TXD及RDE引腳與DSP接口。為避免DSP與DS75176間的相互損傷,這些引腳不能與DSP直接連接。通過DC/DC變換將DSP電源和DS75176的電源隔離,通過光耦6N135將引腳信號隔離,徹底消除共模干擾電壓的影響。
2.RS485總線輸出電路
RS485總線輸出電路要充分考慮線路上各種干擾及線路特性阻抗的匹配。為降低輸出浮動特性,采用抗浪涌的瞬態(tài)抑制二極管D1。輸出端A、B分別串接一個保護電阻R49和R44,減少器件損壞對通信總線的影響;A、B間跨接電阻R42,減少線路上因傳輸電阻的不匹配造成的傳輸反射。同時A、B輸出端分別接上拉、下拉電阻R41、R40,使A端電位高于B端電位,RXD的電平在RS485總線不發(fā)送期間呈現(xiàn)高電平,DSP不會被誤中斷而收到亂碼。
二、軟件設(shè)計與實現(xiàn)
1.DSP部分
DSP和上位機間的數(shù)據(jù)發(fā)送和接收采用Modbus通信協(xié)議,協(xié)議格式包括地址碼、功能碼、數(shù)據(jù)信息碼和校驗碼等十六進制信息。主要用到的Modbus功能碼是03H、04H和10H,其格式大致相同。例如功能碼03H的格式如表1、表2所示。DSP作為從機,主要任務(wù)是接收上位機發(fā)送的數(shù)據(jù)報文,完成數(shù)據(jù)發(fā)送,程序流程如圖3所示。DSP接收到數(shù)據(jù)報文后首先校驗從機地址是否一致,若相同,則將接收到的數(shù)據(jù)進行CRC計算并與接收到的數(shù)據(jù)報文中CRC校驗碼比較,如果CRC相同,表明接收到的數(shù)據(jù)正確,并繼續(xù)查看數(shù)據(jù)報文中的功能碼,按照功能碼調(diào)用相應(yīng)的子程序。如果CRC值不同,表明接收到的數(shù)據(jù)錯誤,給出出錯應(yīng)答并退出中斷。調(diào)用相應(yīng)功能碼的子程序后,要判斷數(shù)據(jù)報文中的數(shù)據(jù)地址、數(shù)據(jù)長度是否正確,如果正確就給主機按照通信協(xié)議格式發(fā)送數(shù)據(jù);如果錯誤則出錯應(yīng)答并退出中斷。
2.上位機監(jiān)控labview部分
上位機采用LabVIEW進行上位機監(jiān)控。傳統(tǒng)的串口通信軟件使用VC++或VB編寫,這些高級語言程序代碼冗長復(fù)雜,不便進行功能拓展;如果要進行串口數(shù)據(jù)分析則需推翻原有程序結(jié)構(gòu),重新編制代碼。而LabVIEW提供了各種圖形化程序,用戶不必熟悉串口總線,利用提供的圖形化驅(qū)動程序就可以驅(qū)動串口通信。考慮到軟件的實用性和開放性采用VISA接口模塊進行編程。VISA是應(yīng)用于儀器編程的標(biāo)準(zhǔn)I/O應(yīng)用程序接口,是工業(yè)界通用的儀器驅(qū)動器標(biāo)準(zhǔn)應(yīng)用程序接口,采用面向?qū)ο缶幊蹋哂泻芎玫募嫒菪浴U展性和獨立性。當(dāng)外部設(shè)備變更時,只需要更換幾個程序模塊即可,很方便而且開發(fā)效率高。(1)串口初始化LabVIEW可以通過軟件前面板方便地完成串口初始化設(shè)置,如波特率、數(shù)據(jù)位、奇偶位和停止位的設(shè)置,如圖4所示。圖4(a)為串口設(shè)置的前面板部分,圖4(b)為串口設(shè)置的程序框圖部分。(2)數(shù)據(jù)發(fā)送和接收LabVIEW根據(jù)Modbus通信協(xié)議格式發(fā)送和接收數(shù)據(jù)報文,為VISA寫入和讀取函數(shù),為內(nèi)部編寫的CRC校驗函數(shù)和數(shù)據(jù)校驗函數(shù)。首先將數(shù)據(jù)報文按通信協(xié)議格式打包進行CRC校驗,校驗完成后連同校驗碼一起生成發(fā)送報文,利用VISA寫入函數(shù)將數(shù)據(jù)發(fā)送,經(jīng)過一段時間延時,利用VISA讀取函數(shù)接收數(shù)據(jù)報文。對接收到的數(shù)據(jù)報文首先要進行校驗分析,判斷這部分?jǐn)?shù)據(jù)是否正確,如果正確則進行數(shù)據(jù)提取和處理。在數(shù)據(jù)發(fā)送和接收過程中,由于VISA寫入/讀取的是字符串類型的數(shù)據(jù),所以要用將字節(jié)數(shù)組轉(zhuǎn)換至字符串才能發(fā)送,同時接收到的字符串通過轉(zhuǎn)換至字節(jié)數(shù)組再進行數(shù)據(jù)分析和處理。LabVIEW數(shù)據(jù)發(fā)送和接收如圖5所示。(3)數(shù)據(jù)存儲LabVIEW可以將接收到的數(shù)據(jù)存儲為.xls或.txt文件,方便用戶調(diào)用這些數(shù)據(jù)。如圖6所示,數(shù)據(jù)存儲為.txt文件,根據(jù)用戶需要利用創(chuàng)建路徑函數(shù)靈活設(shè)置文件保存路徑,利用寫入文本文件函數(shù)將數(shù)據(jù)寫入.txt文件,能隨時查看歷史數(shù)據(jù)。
作者:段海雁單位:天津市先導(dǎo)倍爾電氣有限公司