利用Hilscher通用網(wǎng)關(guān)實現(xiàn)PROFIBUS總線和串口儀表之間的通訊
摘要:本文介紹了如何利用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)實現(xiàn)PROFIBUS現(xiàn)場總線和由智能控制儀表組成的串行通信網(wǎng)絡(luò)間的通訊。
關(guān)鍵詞:現(xiàn)場總線 PROFIBUS-DP RS485 MODBUS-RTU 協(xié)議轉(zhuǎn)換 網(wǎng)關(guān)
Abstract:This paper introduces how to use the Protocol conversion gateway to realize the communication between PROFIBUS field bus and serial communication networks that are consist of intelligent controlling instrument.
Key words:FieldBus PROFIBUS-DP RS485 MODBUS-RTU Protocol conversion Gateway
1引言
智能控制儀表是工業(yè)控制中最常用的控制器之一,其主要是針對某一特定的參數(shù)(如壓力、溫度、流量等),采用先進的控制算法(如PID、自適應(yīng)PID、模糊邏輯等)來達到精確控制被控參數(shù)的目的,具有專業(yè)性強、智能化高、控制算法先進、使用方便等特點??删幊踢壿嬁刂破鳎ê喎QPLC)以其運行可靠、集成度高、可擴展性強而在工業(yè)控制中得到廣泛的應(yīng)用。在當今現(xiàn)場總線技術(shù)極大發(fā)展的今天,世界上各大PLC廠商所推出的現(xiàn)場總線也各不相同,目前國際上流行的現(xiàn)場總線協(xié)議就有10幾種之多;但由于這些儀表一般只支持串口通訊協(xié)議,如何通過現(xiàn)場總線把智能控制儀表的數(shù)據(jù)傳入PLC中,就比較難以實現(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)成以及實現(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),只要加載不同的固件就可以實現(xiàn)PROFIBUS-DP和相應(yīng)協(xié)議之間的轉(zhuǎn)換。在這里我們選用PROFIBUS-DP從站到ASCII協(xié)議。選擇完后將固件下載到網(wǎng)關(guān)中去。
下面要對網(wǎng)關(guān)進行相應(yīng)的配置:
2.2.1 ASCII(其它參數(shù)采用默認設(shè)置)
接口/RTS | RS485/RTS啟用 |
波特率 | 9600 |
數(shù)據(jù)位 | 8 |
停止位 | 1 |
奇偶校驗 | 偶校驗 |
模式 | 主站 |
結(jié)束模式 | 僅時間控制 |
校驗和模式 | 無 |
校驗和區(qū)域 | 僅在用戶數(shù)據(jù)中 |
字符過濾 | 無 |
字符[16進制] | |
報文間隔 | 100毫秒 |
表1:ASCII相關(guān)參數(shù)的設(shè)置
2.2.2 MODULES(注意要和DP主站的設(shè)置保持一致)
模塊類型 | 模塊長度 |
in byte con | 2 |
in byte con | 64 |
out byte con | 2 |
out byte con | 64 |
表2:MODULES相關(guān)參數(shù)的設(shè)置
參數(shù)組態(tài)完成后,將組態(tài)信息也下載到網(wǎng)關(guān)中去。
2.3 2416儀表的通訊參數(shù)設(shè)置
參照歐陸2000系列儀表通訊說明書,來對通訊參數(shù)進行設(shè)置。
2416儀表支持2種通訊協(xié)議:MODBUS PROTOCOL和EI-BISYNCH PROTOCOL,我們選擇MODBUS PROTOCOL協(xié)議進行通訊。根據(jù)網(wǎng)關(guān)中已經(jīng)配置好的組態(tài)信息,將4塊儀表通訊參數(shù)設(shè)置為:地址依次為1-4;波特率設(shè)為9600;8位數(shù)據(jù)位;1位停止位;偶校驗;其它參數(shù)用默認值。(相關(guān)操作請參見儀表操作說明書)
2.4 DP主站中進行組態(tài)和編程
打開STEP7編程軟件將NT3-DPS的GSD文件安裝到STEP中,然后通過GSD文件對NT30-DPS進行組態(tài),見圖2。
圖2:主站中網(wǎng)關(guān)的組態(tài)
組態(tài)完成后,進行編譯保存。
下面將進行代碼的編寫,由于要采用CRC檢驗,所以我們需要編寫一個CRC檢驗的程序;具體代碼編寫請參照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值。在變量表里進行監(jiān)控并和儀表進行比較,我們發(fā)現(xiàn)數(shù)值是正確的。
要對多塊儀表進行通訊,只要通過程序來改變MB20的值,因此我們可以每隔100MS將相應(yīng)儀表的站地址送到MB20中去,等數(shù)據(jù)返回后,再將下一塊儀表的站地址送到MB20中直到最后一塊,然后重新從第一塊儀表開始。由于返回的數(shù)據(jù)中包含了站地址信息,因此我們只要根據(jù)站地址將得到的數(shù)據(jù)送到相應(yīng)的存儲區(qū)域中即可。當然我們也可以對儀表進行寫操作,需要注意的是讀寫轉(zhuǎn)換的控制問題。
3 結(jié)束語
我們在未來相當一段時間內(nèi)將面對多種網(wǎng)絡(luò)協(xié)議并存的現(xiàn)實,因此用于協(xié)議轉(zhuǎn)換功能的網(wǎng)絡(luò)部件將在未來自動化系統(tǒng)中發(fā)揮重要作用。 擁有多種網(wǎng)絡(luò)接口的自動化設(shè)備也必然具有更強的市場競爭力。NetTAP作為一種通用的協(xié)議網(wǎng)關(guān),它支持多種協(xié)議間的轉(zhuǎn)換,已經(jīng)在很多場合中得到了實際應(yīng)用,在未來也必將擁有廣闊的市場前景。
參考文獻
[1] 2000 comms man. Eurotherm Company(歐陸工業(yè)自動化有限公司)
[2] NtDpsAsc.en. Hilscher Company.(德國赫優(yōu)訊自動化系統(tǒng)有限公司)
作者簡介
雷浩(1983--) 男 助工/學(xué)士 無錫市北辰自動化技術(shù)有限公司,從事工業(yè)自動化行業(yè)系統(tǒng)集成和聯(lián)網(wǎng)<
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。