1引言
智能控制儀表是工業(yè)控制中最常用的控制器之一,其主要是針對某一特定的參數(shù)(如壓力、溫度、流量等),采用先進(jìn)的控制算法(如PID、自適應(yīng)PID、模糊邏輯等)來達(dá)到精確控制被控參數(shù)的目的,具有專業(yè)性強(qiáng)、智能化高、控制算法先進(jìn)、使用方便等特點(diǎn)??删幊踢壿嬁刂破鳎ê喎QPLC)以其運(yùn)行可靠、集成度高、可擴(kuò)展性強(qiáng)而在工業(yè)控制中得到廣泛的應(yīng)用。在當(dāng)今現(xiàn)場總線技術(shù)極大發(fā)展的今天,世界上各大PLC廠商所推出的現(xiàn)場總線也各不相同,目前國際上流行的現(xiàn)場總線協(xié)議就有10幾種之多;但由于這些儀表一般只支持串口通訊協(xié)議,如何通過現(xiàn)場總線把智能控制儀表的數(shù)據(jù)傳入PLC中,就比較難以實(shí)現(xiàn)。為此德國赫優(yōu)訊公司推出了netTAP系列通用網(wǎng)關(guān),它支持各種現(xiàn)場總線從站到串口協(xié)議的轉(zhuǎn)換。下面我們以PROFIBUS-DP從站到ASCII協(xié)議的轉(zhuǎn)換來說明。
2 通信系統(tǒng)的構(gòu)成以及實(shí)現(xiàn)方法
2.1 系統(tǒng)配置
SIEMENS公司的315-2 DP CPU作為一個DP Master,總線地址設(shè)為2;Hilscher公司的netTAP網(wǎng)關(guān)作為PROFIBUS-DP從站,總線地址設(shè)為3;控制儀表我們采用目前使用比較廣泛的Eurotherm公司的2416儀表(4塊)。系統(tǒng)配置簡圖如下:
圖1:系統(tǒng)配置圖2.2 netTAP網(wǎng)關(guān)的參數(shù)設(shè)置
netTAP系列網(wǎng)關(guān)中的有一種支持PROFIBUS-DP從站到Modbus RTU或ASCII或3964R協(xié)議轉(zhuǎn)換的NT30-DPS網(wǎng)關(guān),只要加載不同的固件就可以實(shí)現(xiàn)PROFIBUS-DP和相應(yīng)協(xié)議之間的轉(zhuǎn)換。在這里我們選用PROFIBUS-DP從站到ASCII協(xié)議。選擇完后將固件下載到網(wǎng)關(guān)中去。
下面要對網(wǎng)關(guān)進(jìn)行相應(yīng)的配置:
2.2.1 ASCII(其它參數(shù)采用默認(rèn)設(shè)置)
表1:ASCII相關(guān)參數(shù)的設(shè)置2.2.2 MODULES(注意要和DP主站的設(shè)置保持一致)
表2:MODULES相關(guān)參數(shù)的設(shè)置參數(shù)組態(tài)完成后,將組態(tài)信息也下載到網(wǎng)關(guān)中去。
2.3 2416儀表的通訊參數(shù)設(shè)置
參照歐陸2000系列儀表通訊說明書,來對通訊參數(shù)進(jìn)行設(shè)置。
2416儀表支持2種通訊協(xié)議:MODBUS PROTOCOL和EI-BISYNCH PROTOCOL,我們選擇MODBUS PROTOCOL協(xié)議進(jìn)行通訊。根據(jù)網(wǎng)關(guān)中已經(jīng)配置好的組態(tài)信息,將4塊儀表通訊參數(shù)設(shè)置為:地址依次為1-4;波特率設(shè)為9600;8位數(shù)據(jù)位;1位停止位;偶校驗(yàn);其它參數(shù)用默認(rèn)值。(相關(guān)操作請參見儀表操作說明書)
2.4 DP主站中進(jìn)行組態(tài)和編程
打開STEP7編程軟件將NT3-DPS的GSD文件安裝到STEP中,然后通過GSD文件對NT30-DPS進(jìn)行組態(tài),見圖2。
圖2:主站中網(wǎng)關(guān)的組態(tài)組態(tài)完成后,進(jìn)行編譯保存。
下面將進(jìn)行代碼的編寫,由于要采用CRC檢驗(yàn),所以我們需要編寫一個CRC檢驗(yàn)的程序;具體代碼編寫請參照2000系列儀表通訊說明書,在程序中我們編寫了一個功能FC和一個用來存放數(shù)據(jù)的數(shù)據(jù)塊DB3,在DB3內(nèi)建一個數(shù)組元素類型為BYTE長度為32的數(shù)組。
讀儀表數(shù)據(jù)時, 我們采取讀N WORDS的方法,命令格式見圖3:
圖3:讀取N個字的命令格式返回的應(yīng)答信息格式見圖4
圖4:讀取N個字命令的應(yīng)答信息格式我們需要讀取的數(shù)據(jù)為儀表的PV值、OP值和SP值。根據(jù)通訊說明書它們的MODBUS參數(shù)地址分別為1、3和2。因此要讀取這三個值的命令應(yīng)該為(MODBUS地址為1的儀表為例):010300010003CRC,在返回的數(shù)據(jù)中,我們就可以得到PV、SP和OP的值。
在PROFIBUS的輸入和輸出映像區(qū)的第一個字節(jié)本例中為(PQB256和PIB256)是用于控制和監(jiān)控通訊狀態(tài)的握手字節(jié)
下面為STEP程序的部分代碼:
將MB20值設(shè)為1;讀取MODBUS地址為1的儀表的數(shù)據(jù)。根據(jù)上面的應(yīng)答格式,我們知道在返回的數(shù)據(jù)中PIW261為儀表的PV值;PIW263為儀表的SP值;PIW265為儀表的OP值。在變量表里進(jìn)行監(jiān)控并和儀表進(jìn)行比較,我們發(fā)現(xiàn)數(shù)值是正確的。
要對多塊儀表進(jìn)行通訊,只要通過程序來改變MB20的值,因此我們可以每隔100MS將相應(yīng)儀表的站地址送到MB20中去,等數(shù)據(jù)返回后,再將下一塊儀表的站地址送到MB20中直到最后一塊,然后重新從第一塊儀表開始。由于返回的數(shù)據(jù)中包含了站地址信息,因此我們只要根據(jù)站地址將得到的數(shù)據(jù)送到相應(yīng)的存儲區(qū)域中即可。當(dāng)然我們也可以對儀表進(jìn)行寫操作,需要注意的是讀寫轉(zhuǎn)換的控制問題。
3 結(jié)束語
我們在未來相當(dāng)一段時間內(nèi)將面對多種網(wǎng)絡(luò)協(xié)議并存的現(xiàn)實(shí),因此用于協(xié)議轉(zhuǎn)換功能的網(wǎng)絡(luò)部件將在未來自動化系統(tǒng)中發(fā)揮重要作用。 擁有多種網(wǎng)絡(luò)接口的自動化設(shè)備也必然具有更強(qiáng)的市場競爭力。NetTAP作為一種通用的協(xié)議網(wǎng)關(guān),它支持多種協(xié)議間的轉(zhuǎn)換,已經(jīng)在很多場合中得到了實(shí)際應(yīng)用,在未來也必將擁有廣闊的市場前景。