時(shí)間:2008-12-10 09:50:24來源:ronggang
摘 要:無協(xié)議通信是PLC的一種串行通信方式,可以應(yīng)用于PLC與上位計(jì)算機(jī)或其他設(shè)備的通信。介紹了歐姆龍PLC與V600系列RFID控制器通信口的連接方式,無協(xié)議通信的原理、指令和使用步驟,及其歐姆龍V600系列RFID控制器的命令集和數(shù)據(jù)傳輸協(xié)議。通過歐姆龍PLC和歐姆龍V600系列RFID控制器之間實(shí)現(xiàn)無協(xié)議通信的實(shí)例講述了無協(xié)議通信的實(shí)現(xiàn)方法。實(shí)驗(yàn)結(jié)果表明:無協(xié)議通信編程靈活、通信可靠性高,具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:無協(xié)議通信,PLC,RFID控制器,數(shù)據(jù)傳輸協(xié)議
Abstract: No-Protocol Communication is a kind of serial communication mode of PLC that can be used in the communications between PLC and host computers or other equipments. The link way of OMRON PLC and V600 serials RFID controller, principles, communication commands and implement steps of No-Protocol Communication, communication commands and data transfer protocol of OMRON V600 serials RFID controller were introduced. The implement method of No-Protocol Communication was explained by the No-Protocol Communication between OMRON PLC and V600 serials RFID controller. The experimental results show that No-Protocol Communication is flexible in programming, credible in communication and valuable in application.
Key words: No-Protocol Communication, PLC, RFID controller, Data Transfer Protocol
0. 引言
在大型生產(chǎn)線上,為了實(shí)現(xiàn)流水線自動(dòng)化,PLC與RFID技術(shù)結(jié)合的應(yīng)用不斷增加。PLC作為一種高可靠性的控制裝置,與RFID進(jìn)行數(shù)據(jù)通信,不但可以實(shí)現(xiàn)對(duì)每一個(gè)生產(chǎn)過程的控制與管理,而且可以提高自動(dòng)化生產(chǎn)流水線的生產(chǎn)效率。
歐姆龍公司的CPM2A/2C、CQM1H、C200Hα、CP1、CJ1及CS1等系列PLC都可以支持無協(xié)議通信功能。利用TXD和RXD等指令,通過串行通信端口,PLC與計(jì)算機(jī)之間、PLC與PLC之間、PLC與各種通信設(shè)備之間(如變頻器、條形碼讀入器和串行打印機(jī)等)可以進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)通信[1]。本文選用歐姆龍CP1H型PLC,實(shí)現(xiàn)與與歐姆龍的V600系列RFID控制器的無協(xié)議通信。PLC作為上位機(jī),RFID控制器作為下位機(jī)。
1. 系統(tǒng)結(jié)構(gòu)
上位PLC與下位RFID控制器之間有1:1和1:N兩種鏈接模式,1臺(tái)PLC (上位機(jī))只能連接32臺(tái)RFID(下位機(jī)),本文介紹1:1鏈接模式。系統(tǒng)中PLC與RFID控制器之間通過RS-422總線連接。上位機(jī)與RFID控制器通信時(shí),使用專用的SYSWAY通信協(xié)議,上位機(jī)優(yōu)先發(fā)送通信指令,RFID控制器接收后,首先分析來自主機(jī)的命令,然后對(duì)RFID標(biāo)簽進(jìn)行讀寫。通信結(jié)束后,RFID 控制器返回一個(gè)響應(yīng)代碼到主機(jī)。SYSWAY通信協(xié)議支持1:1和1:N通信。當(dāng)主機(jī)與RFID控制器是1對(duì)1連接時(shí),采用1:1方式通信;當(dāng)連接主機(jī)的RFID控制器超過一個(gè)時(shí),采用1:N方式通信。在1:N通信模式下,可以通過對(duì)RFID控制器設(shè)置來實(shí)現(xiàn)主機(jī)與RFID控制器的1:1通信。
主機(jī)CP1H作為上位機(jī),由于PLC與RFID控制器之間選用RS-422方式進(jìn)行通信,所以CP1H端口1選用插件CP1W-CIF11,為RS-422/485型。RFID(由V600-CA5D02 RFID控制器、V600-H07天線及V600-D23P66N無源標(biāo)簽三部分組成)作為下位機(jī),V600-CA5D02 RFID控制器的機(jī)體上分別帶有一個(gè)RS-232C與RS-422/485串行通信口,都支持與計(jì)算機(jī)、PLC等主機(jī)設(shè)備之間的通信。PLC與RFID控制器的接線如圖1所示。
圖1 PLC與RFID控制器接線
CP1W-CIF11有一組DIP開關(guān),共有8個(gè),SW1表示是否使用終端電阻;SW2、SW3表示通信的連接方式:422或485;SW4為空;SW5、SW6表示通信時(shí)有無RS控制。在使用其之前,根據(jù)通信的要求對(duì)DIP開關(guān)進(jìn)行設(shè)定:SW1為ON,使用終端電阻;SW2、SW3為OFF,使用422連接方式;SW5、SW6為任意。
2. 無協(xié)議通信及其指令
無協(xié)議通信,即不使用重試處理、不經(jīng)過數(shù)據(jù)格式的轉(zhuǎn)換處理及具有對(duì)應(yīng)接收的數(shù)據(jù)進(jìn)行處理分支等的順序通信協(xié)議。在無協(xié)議且無轉(zhuǎn)換的條件下,通過通信端口的輸入輸出指令(TXD,RXD)發(fā)送和接收數(shù)據(jù)。無協(xié)議通信過程十分簡(jiǎn)單,只需在PLC系統(tǒng)設(shè)定中將串行端口的串行通信模式設(shè)定為無協(xié)議通信。根據(jù)無協(xié)議通信,PLC就可以與帶有RS-232端口或者RS-422/485端口的外部設(shè)備,按照TXD和RXD指令進(jìn)行單方的發(fā)送(數(shù)據(jù)流從PLC到通用外部設(shè)備)和接收數(shù)據(jù)(數(shù)據(jù)流從通用外部設(shè)備到PLC)[2]。無協(xié)議通信的實(shí)現(xiàn)步驟如圖2所示。
圖2 無協(xié)議通信的實(shí)現(xiàn)步驟
使用無協(xié)議通信發(fā)送和接收消息時(shí),開始代碼及結(jié)束代碼之間的數(shù)據(jù)用TXD指令來發(fā)送,或者是將要插入開始代碼及結(jié)束代碼之間的數(shù)據(jù)用RXD指令來接收。使用TXD指令發(fā)送數(shù)據(jù)時(shí),應(yīng)先將數(shù)據(jù)從I/O存儲(chǔ)器讀取后發(fā)送,使用RXD指令接收數(shù)據(jù)時(shí),順序恰恰相反。TXD/RXD一次發(fā)送和接收的最大數(shù)據(jù)量為256個(gè)字節(jié)。無協(xié)議通信時(shí),發(fā)送和接收的數(shù)據(jù)的開始代碼和結(jié)束代碼由用戶在PLC系統(tǒng)設(shè)定中指定。圖3為歐姆龍CP1H型PLC無協(xié)議通信的指令結(jié)構(gòu)。
圖3 無協(xié)議通信指令
TXD指令根據(jù)由S指定的發(fā)送數(shù)據(jù)開頭CH編號(hào),對(duì)由N指定的發(fā)送字節(jié)長(zhǎng)度的數(shù)據(jù)進(jìn)行無變換操作。隨著PLC系統(tǒng)設(shè)定為無順序模式時(shí)的開始代碼/結(jié)束代碼的指定,由C的位8~11輸出到指定的串行通信選裝件版的串行端口(無順序模式)。但是只能在發(fā)送準(zhǔn)備標(biāo)志(串行端口1:A392.13、串行端口2:A392.05)為ON時(shí)才能發(fā)送。能發(fā)送字節(jié)數(shù)最大為259字節(jié)(數(shù)據(jù)部最大256字節(jié),包括開始代碼、結(jié)束代碼)。
RXD指令在串行通信選裝件板的串行端口(無順序模式)中,從由D指定的接收數(shù)據(jù)保存開頭CH編號(hào)開始,輸出由N指定的相當(dāng)于保存字節(jié)長(zhǎng)度的接收結(jié)束數(shù)據(jù)。當(dāng)接收結(jié)束數(shù)據(jù)不滿由N所指定的保存字節(jié)長(zhǎng)度時(shí),輸出實(shí)際存在的接收結(jié)束數(shù)據(jù)。但是當(dāng)接收結(jié)束標(biāo)志(串行端口1:A392.14、串行端口2:A392.06)為ON時(shí),執(zhí)行本指令來接收(來自接收緩沖器的)數(shù)據(jù)。接收可能字節(jié)數(shù)最大為259字節(jié)(數(shù)據(jù)部最大256字節(jié),包括開始代碼、結(jié)束代碼)。
3. RFID控制器及其命令集和數(shù)據(jù)傳輸協(xié)議
V600系列RFID控制器擁有豐富的指令系統(tǒng),共23條,可以非常靈活的應(yīng)用于各種場(chǎng)合,其中包括通信命令、一般的通信子命令、主機(jī)命令等[3]。通信命令多用于執(zhí)行與RFID標(biāo)簽的通信,例如,對(duì)靜止或者是移動(dòng)的RFID標(biāo)簽進(jìn)行讀寫等。通信子命令一般用于取消某個(gè)命令的執(zhí)行,而主機(jī)命令則用于主機(jī)設(shè)備控制 RFID控制器。在上位機(jī)與RFID 控制器通信過程中用到最多的是通信命令,常用通信命令的代碼及其功能如表1。
表1 RFID常用通信命令表
在1:1的通信模式下,通信過程中不計(jì)算校驗(yàn)碼,因此,只能通過響應(yīng)代碼來判斷通信結(jié)果的正確性。圖4給出了上位機(jī)與RFID控制器之間傳輸數(shù)據(jù)的格式。從上位機(jī)發(fā)送到RFID控制器的數(shù)據(jù)塊為命令幀,反過來,從RFID控制器發(fā)送到上位機(jī)的數(shù)據(jù)塊為響應(yīng)幀。每個(gè)幀以指令代碼開始,以結(jié)束符結(jié)束,響應(yīng)幀中還包括反應(yīng)執(zhí)行結(jié)果的響應(yīng)碼。上位機(jī)與RFID 控制器之間可以傳送十六進(jìn)制或ASCII形式的數(shù)據(jù),每一幀最大允許傳送數(shù)據(jù)為271個(gè)字符。
如果傳送的數(shù)據(jù)大于271個(gè)字符,可以將數(shù)據(jù)分成起始幀、若干中間幀、結(jié)束幀進(jìn)行傳送。起始幀必須包含命令碼,讀/寫頭號(hào),開始地址等,否則通信的過程中將會(huì)有錯(cuò)誤發(fā)生。上位機(jī)每發(fā)送完一幀時(shí),在收到RFID 控制器返回的分界符(即“↙”)后再發(fā)送下一幀,只有當(dāng)結(jié)束幀數(shù)據(jù)發(fā)送完畢時(shí)才返回響應(yīng)代碼。
圖4 RFID控制器1:1數(shù)據(jù)傳輸格式
4. PLC與RFID控制器無協(xié)議通信的實(shí)現(xiàn)
4.1 CP1H通信端口設(shè)置
PLC與RFID控制器之間使用RS-422方式進(jìn)行通信。根據(jù)RFID控制器通信規(guī)格要求,使用歐姆龍編程軟件CX-Programmer7.1將CP1H串口1模式設(shè)置為“RS-232C”,通信波特率設(shè)置9600,數(shù)據(jù)格式為7、2、E,如圖5所示。
圖5 CP1H通信端口設(shè)置
4.2 RFID控制器參數(shù)設(shè)置
RFID控制器通信參數(shù)設(shè)置應(yīng)與PLC通信端口參數(shù)一致:波特率9600,偶校驗(yàn)方式,7位數(shù)據(jù)位,2位停止位。DIP開關(guān)SW6為ON,表示使用終端電阻。
4.3 通信舉例
通過PLC與RFID控制器之間的通信,編程實(shí)現(xiàn)從RFID標(biāo)簽地址0100H開始的通道內(nèi)讀取四個(gè)數(shù)據(jù),讀取的數(shù)據(jù)存儲(chǔ)到PLC的DM區(qū)內(nèi)。根據(jù)通信數(shù)據(jù)傳輸格式,要發(fā)送的數(shù)據(jù)為RDA1001004*。將要發(fā)送的數(shù)據(jù)轉(zhuǎn)化為16進(jìn)制數(shù)“524441313030313030342A0D” ,存放到DM0開始的6個(gè)通道內(nèi)。這6個(gè)通道對(duì)應(yīng)值分別為:DM0:5244;DM1:4131;DM2:3030;DM3:3130;DM4:3034;DM5:2A0D。
PLC與RFID控制器無協(xié)議通信程序如圖6所示。A392.13為發(fā)送允許標(biāo)志位,當(dāng)PLC的串口1準(zhǔn)備好時(shí),A392.13自動(dòng)為ON,發(fā)送數(shù)據(jù)指示100.00變亮,則PLC可以通過此端口發(fā)送數(shù)據(jù)。當(dāng)0.00為ON時(shí),將DM0開始的6個(gè)通道的數(shù)據(jù)發(fā)送出去,RFID控制器接收到指令后做出響應(yīng)。A392.14為接收允許標(biāo)志位。串口準(zhǔn)備好后,A392.14自動(dòng)為ON,接收數(shù)據(jù)指示100.07變亮。PLC開始自動(dòng)接收RFID控制器返回的響應(yīng)數(shù)據(jù),并自動(dòng)存儲(chǔ)到DM100開始的5個(gè)通道內(nèi)。執(zhí)行程序后查看從DM100開始的5個(gè)通道的內(nèi)容,分別為:DM100:5244;DM101:3030;DM102:3131;DM103:3131;DM104:2A0D。所以接收的數(shù)據(jù)為:RD001111*,根據(jù)數(shù)據(jù)傳輸響應(yīng)幀數(shù)據(jù)格式,可知從RFID標(biāo)簽讀出的四個(gè)數(shù)為:1111。
圖6 PLC與RFID控制器通信程序
5. 結(jié)束語
無協(xié)議通信是一種簡(jiǎn)便易行的通信方式,歐姆龍的CPM2A和CP系列等小型機(jī)都可以實(shí)現(xiàn)[4]。這種通信方式編程靈活,通信可靠性高,是一種比較理想的低成本通信方式。
參考文獻(xiàn):
[1] 徐世許.可編程序控制器應(yīng)用指南—編程·通信·聯(lián)網(wǎng)[M].北京:電子工業(yè)出版社,2007: 278-285
[2] OMRON. CP1H/CP1L CPU UNIT PROGRAMMING MANUAL[K]. Shanghai: OMRON, 2007
[3] OMRON. RFID System V600 Series OPERATION MANUAL[K]. Shanghai: OMRON, 2003
[4] 王鳳杰,洪云.歐姆龍PLC無協(xié)議通信功能研究[J].工業(yè)控制計(jì)算機(jī),2008,21(5): 45-47
標(biāo)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20