摘要:本文介紹了如何利用赫優(yōu)訊協(xié)議轉(zhuǎn)換網(wǎng)關(guān)實(shí)現(xiàn)PROFIBUS現(xiàn)場總線和SICK條碼掃描器串行通信網(wǎng)絡(luò)間的通訊。
關(guān)鍵詞:現(xiàn)場總線 PROFIBUS-DP RS232 SICK掃描器 協(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 SICK Barcode Scanner.
Key words: FieldBus,PROFIBUS-DP,RS232,SICK Barcode Scanner,Protocol conversion Gateway
一、赫優(yōu)訊netTAP網(wǎng)關(guān)介紹
赫優(yōu)訊(Hilscher)netTAP網(wǎng)關(guān)支持將串口協(xié)議(RS232/RS422/RS485)轉(zhuǎn)換為現(xiàn)場總線協(xié)議或以太網(wǎng)協(xié)議,通過簡單的配置軟件即可實(shí)現(xiàn)兩種不同協(xié)議之間的自動轉(zhuǎn)換,協(xié)議轉(zhuǎn)換包括:
1、串口協(xié)議至Profibus從站的轉(zhuǎn)換
2、串口協(xié)議至DeviceNet從站的轉(zhuǎn)換
3、串口協(xié)議至CANopen從站的轉(zhuǎn)換
4、串口協(xié)議至以太網(wǎng)協(xié)議的轉(zhuǎn)換
其中串口協(xié)議可以是ModbusRTU協(xié)議、SIEMENS 3964R協(xié)議、標(biāo)準(zhǔn)自定義ASCII協(xié)議;以太網(wǎng)協(xié)議可以是ModbusTCP協(xié)議、標(biāo)準(zhǔn)TCP/IP協(xié)議或者UDP協(xié)議。
二、NT30-DPS-RSI2網(wǎng)關(guān)實(shí)現(xiàn)將SICK條碼掃描器接入Profibus-DP網(wǎng)絡(luò)
型號NT30-DPS-RSI2是將RS232串口協(xié)議轉(zhuǎn)換為Profibus從站的網(wǎng)關(guān),其中NT30代表netTAP30系列,DPS代表Profibus-DP Slave,RSI2代表RS232接口(其中的I代表端口隔離)。
在本案例中SICK智能型固定式一維條碼掃描器CLV430-0010用于郵政分揀系統(tǒng)中EMS信件條形碼的掃描讀取,配備連接模塊CDB420-001提供RS232通訊接口;在實(shí)際的控制系統(tǒng)上選用了西門子集成PROFIBUS-DP主站接口的CPU315-2DP處理器,考慮到布線、編程和系統(tǒng)擴(kuò)展方便,設(shè)計(jì)選用網(wǎng)關(guān)將CLV430接入PROFIBUS-DP網(wǎng)絡(luò);
整個(gè)系統(tǒng)結(jié)構(gòu)圖如下:
三、STEP7軟件中的硬件組態(tài)
NT30-DPS-RSI2網(wǎng)關(guān)在Profibus-DP網(wǎng)絡(luò)上作為從站運(yùn)行,因此需要占用CPU315-2DP的輸入輸出映像區(qū)以用作數(shù)據(jù)交換;其中兩個(gè)字節(jié)的輸入和兩個(gè)字節(jié)的輸出是固定必須的,用于控制數(shù)據(jù)的接收和發(fā)送(即控制字);其他輸入輸出映像區(qū)用于存放接收消息和待發(fā)消息,實(shí)際使用時(shí)可以根據(jù)協(xié)議幀的長度來選擇合適的映像區(qū)大小;
所有的串口轉(zhuǎn)現(xiàn)場總線netTAP網(wǎng)關(guān)都可以配置成兩種工作模式:主站模式和從站模式。主站模式為首先接收總線方向來的數(shù)據(jù)幀,從站模式為首先接收串口總線方向來的數(shù)據(jù)幀。
在我們的案例中,當(dāng)CLV430探測到EMS信件的條碼信息后將自動發(fā)出數(shù)據(jù)幀,對于CPU315-2DP來說只需要不斷地接收CLV430的條碼信息即可,因此網(wǎng)關(guān)需要工作在從站模式下。
網(wǎng)關(guān)在從站模式下的基本原理是:
1、數(shù)據(jù)接收:
當(dāng)網(wǎng)關(guān)接收到來自RS232側(cè)的數(shù)據(jù)幀后它將把接收到的完整的數(shù)據(jù)幀放入輸入映像區(qū),同時(shí)將輸入映像區(qū)的控制字的第一個(gè)字節(jié)的接收通知位取反以通知CPU新的數(shù)據(jù)已經(jīng)到達(dá),控制字的第二個(gè)字節(jié)存放接收到的數(shù)據(jù)幀字節(jié)長度;當(dāng)CPU處理完接收數(shù)據(jù)(譬如將輸入?yún)^(qū)數(shù)據(jù)幀備份到DB數(shù)據(jù)塊)后必須將輸出映像區(qū)控制字的第一個(gè)字節(jié)中的接收確認(rèn)位的位值等同于輸入映像區(qū)控制字的第一個(gè)字節(jié)的接收通知位,以確認(rèn)接收成功,通知網(wǎng)關(guān)準(zhǔn)備下次數(shù)據(jù)的接收。對于STEP編程,在OB1中添加以下代碼即可:
A 接收通知位
=接收確認(rèn)位
2、數(shù)據(jù)發(fā)送
如果CPU315-2DP接收到數(shù)據(jù)后需要回發(fā)數(shù)據(jù)幀至串口對象,那么只需要將發(fā)送信息幀放入輸出映像區(qū),將發(fā)送數(shù)據(jù)幀的長度放入輸出映像區(qū)控制字的第二個(gè)字節(jié),然后取反輸出映像區(qū)控制字的第一個(gè)字節(jié)中的發(fā)送通知位,當(dāng)網(wǎng)關(guān)檢測到輸出映像區(qū)控制字中的發(fā)送通知位和輸入映像區(qū)控制字中的發(fā)送確認(rèn)位的位值不等時(shí)將自動把信息發(fā)送到串口對象,發(fā)送完后將自動把輸入映像區(qū)控制字中的發(fā)送確認(rèn)位的位值等同于輸出映像區(qū)控制字的發(fā)送通知位,以通知CPU發(fā)送信息完成。關(guān)于網(wǎng)關(guān)工作原理的具體描述可以參考光盤中的相關(guān)文件。
本案例中關(guān)于STEP7硬件的組態(tài):
打開STEP7中的Hardware,將網(wǎng)關(guān)隨機(jī)光盤中的GSD文件夾下的HIL_08EA.GSD和Hil_0916.gsd文件添加到硬件庫中,然后選擇Profibus DP\Additional Field Devices\General\NT 30-DPS條目,將其拖拉到Profibus-DP網(wǎng)絡(luò)線,設(shè)定其Profibus-DP地址為3,組態(tài)2個(gè)字節(jié)的輸入(控制字)、32個(gè)字節(jié)的輸入(接收消息區(qū))、2個(gè)字節(jié)的輸出(控制字)和32個(gè)字節(jié)的輸出(發(fā)送消息區(qū));如下圖所示:
說明:由于本案例CPU不需要發(fā)送數(shù)據(jù)幀至CLV430,因此可以將輸出映像區(qū)的大小設(shè)置的更小,最小可以只有1個(gè)字節(jié),具體可在網(wǎng)關(guān)參數(shù)配置軟件SYCON.net中選擇。
四、網(wǎng)關(guān)的參數(shù)配置
netTAP網(wǎng)關(guān)統(tǒng)一采用赫優(yōu)訊SYCON.net軟件組態(tài)參數(shù),點(diǎn)擊隨機(jī)光盤中的SYCONnet netTAP setup.exe進(jìn)行安裝。
注意:新的網(wǎng)關(guān)在使用前首先要通過SYCON.net下載固件,對于NT30-DPS-RSI2網(wǎng)關(guān),光盤中存在三種固件:
1. ModbusRTU - ProfibusDP Salve;2. 3964R - ProfibusDP Salve;3. ASCII - ProfibusDP Salve
在本案例中我們選擇ASCII - ProfibusDP Salve固件,固件文件為NTDPSASC.N34。
下載固件后進(jìn)行參數(shù)配置,除了默認(rèn)的參數(shù)外,以下參數(shù)需要更改:
1、ASCII參數(shù)頁:Parity=none;Telegram timeout=50;
注意:報(bào)文超時(shí)參數(shù)是在End mode=only time control(默認(rèn)模式,采用時(shí)間控制來判斷接收數(shù)據(jù)幀的結(jié)束)時(shí)才有效。當(dāng)然,如果串口協(xié)議具有明確唯一的結(jié)束字符那么可以采用end identifier模式。報(bào)文超時(shí)參數(shù)是網(wǎng)關(guān)為接收每個(gè)串口數(shù)據(jù)幀所保留的時(shí)間;舉個(gè)例子,如果采用默認(rèn)值1000ms,那么當(dāng)網(wǎng)關(guān)花費(fèi)30ms接收完串口數(shù)據(jù)幀后它還將等待970ms后才能接收下個(gè)串口數(shù)據(jù)幀,其間的所有串口數(shù)據(jù)幀網(wǎng)關(guān)將不予理會。
這個(gè)案例我們設(shè)置為50ms,由于掃描器每一幀數(shù)據(jù)長度固定為18個(gè)字節(jié),在9600波特率下接收不會超過30ms。因此偏大些設(shè)置為50ms。
2、MODULES參數(shù)頁:輸入輸出映像區(qū)大小2/32/2/32;
注意:STEP7中的組態(tài)要和此參數(shù)一致!
保存好參數(shù)后下載到網(wǎng)關(guān)即可。當(dāng)網(wǎng)關(guān)和CPU315-2DP建立起Profibus-DP通訊后即進(jìn)入?yún)f(xié)議轉(zhuǎn)換運(yùn)行狀態(tài)。
下圖為SYCON.net配置界面:
五、案例應(yīng)用
在本案例中某EMS條形碼和接收數(shù)據(jù)的對應(yīng)如下:
EMS條形碼:*EO824508219CN*
接收數(shù)據(jù)(16進(jìn)制):02 20 45 4F 38 32 34 35 30 38 32 31 39 43 4E 0D 0A 03
其中起始字符為02,20為空格字符,結(jié)束字符為0D 0A 03,中間為13字節(jié)的EMS條形碼數(shù)據(jù),共18個(gè)字節(jié)。不同應(yīng)用中的字符格式和SICK掃描器通訊參數(shù)配置有關(guān)。
六、結(jié)束語
當(dāng)前現(xiàn)場總線和工業(yè)以太網(wǎng)網(wǎng)絡(luò)在自動化工程中已經(jīng)越來越普遍的存在,特別是Profibus、DeviceNet、CANopen、ModbusTCP等流行現(xiàn)場總線和工業(yè)以太網(wǎng),其應(yīng)用場合越來越多,赫優(yōu)訊的netTAP系列網(wǎng)關(guān)在將傳感器、儀表等具有串口協(xié)議的智能設(shè)備接入現(xiàn)場總線和工業(yè)以太網(wǎng)方面發(fā)揮著重要作用,為用戶在網(wǎng)絡(luò)通訊的系統(tǒng)集成帶來了很多方便;另外,赫優(yōu)訊在歐洲享有盛譽(yù)的可編程PKV系列網(wǎng)關(guān)提供了現(xiàn)場總線主站至工業(yè)以太網(wǎng)的協(xié)議數(shù)據(jù)通訊轉(zhuǎn)換功能,為不同協(xié)議間的大型網(wǎng)絡(luò)通訊提供了更多的解決方案,在此我們對德國赫優(yōu)訊自動化系統(tǒng)有限公司中國代表處的大力支持表示衷心的感謝。
參考文獻(xiàn)
[1] SICK條碼掃描系統(tǒng)-自動化識別技術(shù)(德國施克傳感器公司).
[2] 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)技術(shù)手冊-PROFIBUS(德國赫優(yōu)訊自動化系統(tǒng)有限公司)
作者:
張鵬 男(1975——) 工程師 無錫市北辰自動化技術(shù)有限公司(赫優(yōu)訊中國華東區(qū)分銷商)
王海波 男(1982——) 工程師 無錫市北辰自動化技術(shù)有限公司(赫優(yōu)訊中國華東區(qū)分銷商)