基于虛擬儀器的CANopen協(xié)議監(jiān)控面板設(shè)計(jì)
數(shù)據(jù)發(fā)送模塊CANwrite.vi使用VISA Write節(jié)點(diǎn)予以實(shí)現(xiàn),并將該發(fā)送模塊作為子VI調(diào)用。在labview平臺控制的串行通信過程中,數(shù)據(jù)格式是以字符串的格式組成的,字符串中的每個字符實(shí)際上對應(yīng)大家熟悉的ASCII字符,即計(jì)算機(jī)能夠識別的數(shù)據(jù)代碼是ASCII代碼,所以在傳送到串口發(fā)送數(shù)據(jù)之前要經(jīng)過代碼轉(zhuǎn)換,這就意味著以十進(jìn)制、二進(jìn)制、十六進(jìn)制表示的數(shù)據(jù)必須轉(zhuǎn)化為ASCII字符串才能進(jìn)行傳送和接收。數(shù)據(jù)發(fā)送模塊如圖5所示,其中,以0xAA作為握手信號
數(shù)據(jù)接收模塊CANRead.vi使用VISA Read節(jié)點(diǎn)讀取數(shù)據(jù),如圖6所示,從緩沖器接收到的數(shù)據(jù)是ASCII字符串,經(jīng)過ASCII字符串轉(zhuǎn)換為十六進(jìn)制字節(jié)數(shù)組的模塊處理后,最終得到正確的數(shù)據(jù)。
4.3 監(jiān)控面板
使用虛擬儀器labview開發(fā)的監(jiān)控面板如圖7所示??梢钥吹剑髠?cè)為數(shù)據(jù)發(fā)送部分,首先設(shè)置NodeID,選擇主從節(jié)點(diǎn)類型,根據(jù)用戶需要選擇待發(fā)送的報(bào)文類型,并設(shè)置幀類型(數(shù)據(jù)幀/遠(yuǎn)程幀)以及具體的發(fā)送數(shù)據(jù)。右側(cè)為數(shù)據(jù)接收部分,顯示從CAN總線上監(jiān)聽到的CANopen報(bào)文。
5 結(jié)語
本文將虛擬儀器技術(shù)與現(xiàn)場總線高層通信協(xié)議CANopen相結(jié)合,實(shí)現(xiàn)了現(xiàn)場總線上位機(jī)監(jiān)控面板的開發(fā),為分布式網(wǎng)絡(luò)控制系統(tǒng)提供了高效、全面的監(jiān)控環(huán)境,不僅解決了工業(yè)現(xiàn)場不同設(shè)備同步監(jiān)控的問題,而且提供了較強(qiáng)的在線可控性。同時,利用labview提供的各類專業(yè)工具軟件包,可以進(jìn)一步對工業(yè)數(shù)據(jù)進(jìn)行處理,完成波形顯示、信號濾波和頻譜分析等功能。
評論