1 引言 隨著激光技術(shù)的發(fā)展,激光測(cè)距傳感器在檢測(cè)領(lǐng)域得到了越來(lái)越多的應(yīng)用。本文所研究的基于HOLLiAS-LEC G3小型一體化PLC的激光測(cè)距系統(tǒng),對(duì)多臺(tái)激光測(cè)距傳感器所采集到的數(shù)據(jù)進(jìn)行處理,并將數(shù)據(jù)傳送給上位機(jī),實(shí)現(xiàn)了對(duì)多臺(tái)激光測(cè)距傳感器的監(jiān)控。
2 激光測(cè)距傳感器的基本原理 激光測(cè)距傳感器的基本原理是通過(guò)測(cè)量激光往返于被測(cè)目標(biāo)之間所需的時(shí)間,來(lái)確定被測(cè)目標(biāo)之間的距離。激光測(cè)距傳感器的原理和結(jié)構(gòu)都很簡(jiǎn)單,是長(zhǎng)距離檢測(cè)最有效的手段。 激光測(cè)距傳感器工作時(shí),首先由激光二極管對(duì)被測(cè)目標(biāo)發(fā)射激光脈沖。經(jīng)被測(cè)目標(biāo)反射后,激光向各方向散射。部分散射的激光返回到傳感器的接收器,被光學(xué)系統(tǒng)接收后,成像到雪崩光電二極管上。雪崩光電二極管是一種內(nèi)部具有放大功能的光學(xué)傳感器,能夠檢測(cè)極其微弱的光信號(hào)。記錄并處理激光脈沖從發(fā)射到返回所經(jīng)歷的時(shí)間,即可得到被測(cè)目標(biāo)的距離。
3 PLC控制系統(tǒng)硬件設(shè)計(jì) 基于HOLLiAS-LEC G3小型一體化PLC的激光測(cè)距系統(tǒng)的功能結(jié)構(gòu)圖如圖1所示。

圖1 激光測(cè)距系統(tǒng)的功能結(jié)構(gòu)圖
PLC的CPU模塊選用HOLLiAS-LEC G3系列的LM3108模塊,其性能價(jià)格比很高,廣泛應(yīng)用于工業(yè)控制的各個(gè)領(lǐng)域。LM3108模塊的標(biāo)準(zhǔn)配置包括兩個(gè)串行通信接口PORT0和PORT1,其中PORT0為RS-485接口,PORT1為RS-232接口。采用RS-232接口建立PLC與上位機(jī)的通信,實(shí)現(xiàn)PLC程序的下裝和監(jiān)控。采用RS-485接口建立PLC與現(xiàn)場(chǎng)儀表的通信。
4 PLC控制系統(tǒng)軟件設(shè)計(jì) PLC采用自由口通信方式接收激光測(cè)距傳感器的數(shù)據(jù),用%MB400~%MB411的12個(gè)字節(jié)作為通信接收寄存器,存放自由口通信方式下所接收的數(shù)據(jù)。在PLC程序中設(shè)定的激光測(cè)距傳感器的通信參數(shù)如表1所示。PLC控制程序采用和利時(shí)公司的編程軟件PowerPro完成,下面詳細(xì)介紹數(shù)據(jù)解析程序。其它應(yīng)用程序從略。
表1 激光測(cè)距傳感器的通信參數(shù)

4.1 數(shù)據(jù)解析程序的變量定義 PROGRAM PLC_PRG VAR SetRS-485: Set_COMM2_PRMT; (* RS-485自由口通信參數(shù)設(shè)置 *) SetRS-485Q: BOOL; (* RS-485自由口通信參數(shù)設(shè)置標(biāo)志 *) Receive: COMM2_RECEIVE; (* RS-485自由口通信數(shù)據(jù)接收 *) ReceiveQ: BOOL; (* RS-485自由口通信數(shù)據(jù)接收標(biāo)志 *) ReceivedData: STRING; (* 存儲(chǔ)ASCII碼數(shù)據(jù)的字符串 *) Position1: INT; (* 起始字符的位置 *) Position2: INT; (* 結(jié)束字符的位置 *) ReceivedData_STRING: STRING; (* ASCII碼形式的數(shù)據(jù) *) ReceivedData_DWORD: DWORD; (* 十六進(jìn)制形式的數(shù)據(jù) *) END_VAR 4.2 數(shù)據(jù)解析程序的梯形圖 如圖2所示。

圖2 數(shù)據(jù)解析程序梯形圖
4.3 數(shù)據(jù)解析程序分析 PLC從激光測(cè)距傳感器接收到的數(shù)據(jù)是ASCII碼形式,所以需要將ACSII碼轉(zhuǎn)換成PLC能夠操作的十六進(jìn)制數(shù)。 首先在存儲(chǔ)ASCII碼數(shù)據(jù)的字符串ReceivedData中找到數(shù)據(jù)的起始字符“+”,并將其位置存儲(chǔ)在變量Position1中。然后再找到數(shù)據(jù)的結(jié)束字符“$R”,并將其位置存儲(chǔ)在變量Position2中。將位置Position2與位置Position1之間的字符取出,存入變量ReceivedData _STRING中,此即為數(shù)據(jù)的ASCII碼形式。最后將該ASCII碼形式的數(shù)據(jù)ReceivedData_STRING轉(zhuǎn)換位十六進(jìn)制形式的數(shù)據(jù)ReceivedData_DWORD,即完成了數(shù)據(jù)的解析。
5 結(jié)束語(yǔ) 采用和利時(shí)HOLLiAS-LEC G3小型一體化PLC作為激光測(cè)距系統(tǒng)的控制核心,可以方便地與激光測(cè)距傳感器進(jìn)行通信。實(shí)踐證明,該方案結(jié)構(gòu)簡(jiǎn)單,運(yùn)行過(guò)程穩(wěn)定可靠,實(shí)現(xiàn)了激光測(cè)距系統(tǒng)的數(shù)據(jù)采集與處理。 |