專利名稱:Plc邏輯控制器串行通訊數(shù)據(jù)的讀取、配置方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種邏輯控制器串行通訊數(shù)據(jù)處理技術(shù),具體的說是一種PLC邏輯控制器串行通訊數(shù)據(jù)的讀取、配置方法及裝置。
背景技術(shù):
PLC是自動控制領(lǐng)域經(jīng)常使用的控制設(shè)備,PLC具有穩(wěn)定性好、I/O端口種類全、執(zhí)行周期內(nèi)自動掃描端口等優(yōu)點(diǎn)。串口功能模塊不同于一般的I/O端口,其執(zhí)行過程獨(dú)立于 PLC的掃描周期,數(shù)據(jù)處理過程具有特殊性,在使用上有一定難度。PLC邏輯控制器有很多種協(xié)議,CanOpen便是其中的一種。CanOpen協(xié)議具有從站數(shù)目多(最多110個(gè))、通訊速率快(可達(dá)IMBps)、通訊穩(wěn)定性好等優(yōu)點(diǎn),被廣泛應(yīng)用于集成度高、控制復(fù)雜的自動控制領(lǐng)域。CanOpen為一個(gè)主站多個(gè)從站的構(gòu)架方式,主站一般是工控機(jī)攜帶的主站卡,運(yùn)行用戶自行設(shè)計(jì)的控制程序;PLC可以作為CanOpen從站。一般的I/O端口數(shù)據(jù)都可以從主站直接讀取,對于用戶來說數(shù)據(jù)是透明的,相當(dāng)于直接通過主站采集數(shù)據(jù),但是PLC從站的串口模塊的數(shù)據(jù)很難從主站直接讀取,主要原因是串口模塊外接的串行通訊設(shè)備種類不同,造成數(shù)據(jù)的長度、格式等參數(shù)不同;再者,串行通訊設(shè)備完整的一幀數(shù)據(jù)通常很長,如十幾個(gè)或幾十甚至上百個(gè)字節(jié),PLC無法在一個(gè)掃描周期內(nèi)全部讀取,即使能夠一次讀取,在 CanOpen主站也找不到與其相匹配的數(shù)據(jù)類型。對于使用者來說,如何在CanOpen的主從構(gòu)架下,從作為從站的PLC的串口模塊中將數(shù)據(jù)在主站中合理配置并傳送至主站就成了一個(gè)難題,這也正是本發(fā)明要解決的技術(shù)問題。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的PLC作為CanOpen從站且攜帶串口通訊模塊時(shí),串口模塊如何從外部設(shè)備或終端采集到數(shù)據(jù)以及數(shù)據(jù)如何傳輸至CanOpen主站這一技術(shù)難題,本發(fā)明提供一種能夠處理PLC串口模塊數(shù)據(jù)采集的PLC邏輯控制器串口模塊數(shù)據(jù)的讀取、配置方法及裝置。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是本發(fā)明PLC邏輯控制器串行通訊數(shù)據(jù)的讀取、配置方法包括以下步驟將RS232串口模塊的RTS和CTS短接,將其通訊握手等待信號禁止;將RS485串口模塊的TxD和RxD短接作為RS485通訊的data+信號;將RS485串口模塊的-TxD和-RxD短接,作為RS485通訊的data-;通過雙定時(shí)器耦合的方法周期性不間斷觸發(fā)PLC與串行通訊設(shè)備的數(shù)據(jù)交換,使 PLC與串行通訊設(shè)備連續(xù)不間斷通訊;將串口數(shù)據(jù)整理并存放在PLC內(nèi)部輸出變量區(qū)域,在CanOpen主站中進(jìn)行配置并讀取;每次讀取一組數(shù)據(jù)后,將PLC串行數(shù)據(jù)緩沖區(qū)索引及數(shù)據(jù)都清零,使每次均從緩沖區(qū)的索引零開始讀取數(shù)據(jù)。將串口數(shù)據(jù)整理并存放在% QW256開始的內(nèi)部輸出變量區(qū)域。所述通過雙定時(shí)器耦合的方法周期性不間斷觸發(fā)PLC與串行通訊設(shè)備的數(shù)據(jù)交換中,周期值小于20ms。本發(fā)明PLC邏輯控制器串行通訊數(shù)據(jù)的讀取、配置裝置包括PLC邏輯控制器、 RS232串口模塊以及RS485串口模塊,其中,RS232串口模塊以及RS485串口模塊與PLC邏輯控制器的數(shù)據(jù)接口相連,RS232串口模塊中的RTS和CTS管腳短接,RS485串口模塊的TxD 和RxD管腳短接;RS485串口模塊的-TxD和-RxD管腳短接。本發(fā)明具有以下有益效果及優(yōu)點(diǎn)1、通過對PLC所攜帶的RS232模塊和RS485模塊接線的改進(jìn),解決了和目前市場上使用廣泛的無握手等待信號類型的串行通訊設(shè)備的硬件連接問題。2.通過本發(fā)明的裝置及方法,將接PLC通過RS232和RS485模塊接收到串口通訊數(shù)據(jù)進(jìn)行拆分,分成多個(gè)能表示完整物理意義的數(shù)據(jù),匹配在QW256開始的數(shù)據(jù)區(qū),由于進(jìn)行了拆分,數(shù)據(jù)字節(jié)變短,使CanOpen主站可以找到與之大小匹配的數(shù)據(jù)類型,使數(shù)據(jù)的上傳成為可能;3.串行通訊往往需要實(shí)時(shí)性,固通過本發(fā)明的雙定時(shí)器方法使PLC不間斷的和外部連接設(shè)備或終端交換數(shù)據(jù),保證了通訊的實(shí)時(shí)性。
圖1為本發(fā)明裝置中PLC邏輯控制器和串口功能模塊組合連接圖;圖2為本發(fā)明裝置中RS232串口功能模塊與外部設(shè)備連接圖;圖3為本發(fā)明裝置中RS485串口功能模塊與外部設(shè)備連接圖;圖4為本發(fā)明實(shí)施例電氣連接圖;圖5為本發(fā)明裝置與姿態(tài)傳感器的連接圖;圖6為本發(fā)明裝置與漏水傳感器的連接圖。
具體實(shí)施例方式本發(fā)明PLC邏輯控制器串口模塊數(shù)據(jù)的讀取、配置方法包括以下步驟將RS232串口模塊的RTS和CTS短接,將其通訊握手等待信號禁止;將RS485串口模塊的TxD和RxD短接作為RS485通訊的data+信號;將RS485串口模塊的(_TxD)和(-RxD)短接,作為RS485通訊的data-;通過雙定時(shí)器耦合的方法周期性不間斷觸發(fā)PLC與串行通訊設(shè)備的數(shù)據(jù)交換,使 PLC與串行通訊設(shè)備連續(xù)不間斷通訊;將串口數(shù)據(jù)整理并存放在% QW256開始的緩沖區(qū),作為PLC輸出變量,在CanOpen 主站中進(jìn)行配置并讀??;每次讀取一組數(shù)據(jù)后,將PLC串行數(shù)據(jù)緩沖區(qū)索引及數(shù)據(jù)都清零,使每次均從緩沖區(qū)的索引零開始讀取數(shù)據(jù),避免了對索引的繁瑣處理。圖1所示為PLC邏輯控制器和串口功能模塊的連接及接線處理,其中RS232串口模塊的RTS和CTS短接,RS485串口模塊的TxD與RxD短接,-TxD與-RxD短接。RS232串口模塊與RS485串口模塊與外部設(shè)備的連接如圖2、3所示,其中,RS232模塊的TxD與外部設(shè)備的RxD連接,RS232模塊的RxD與外部設(shè)備的TxD連接,二者的Common連接到一起;RS485 模塊的RxD端與外部設(shè)備的data+連接,RS485模塊的-RxD端與外部設(shè)備的data-連接。串行通訊設(shè)備往往要求不間斷的進(jìn)行數(shù)據(jù)交換,使得系統(tǒng)在連續(xù)的時(shí)間段內(nèi)不停的獲得串口數(shù)據(jù)信息,本發(fā)明通訊使用兩個(gè)PLC內(nèi)置的定時(shí)器解決這個(gè)問題。兩個(gè)定時(shí)器為上升沿觸發(fā)類型,第一個(gè)定時(shí)器的使能輸入信號為第二個(gè)定時(shí)器的輸出信號,第二個(gè)定時(shí)器的使能輸入信號為第一個(gè)定時(shí)器的輸出信號,且第一個(gè)定時(shí)器的輸入信號進(jìn)行取反操作,這樣,連個(gè)定時(shí)器可以相互耦合的不停的循環(huán)觸發(fā),直到PLC斷電結(jié)束工作為止。這樣, PLC和串行通訊設(shè)備的數(shù)據(jù)交換是連續(xù)不間斷的。PLC為串行通訊模塊分配了數(shù)據(jù)緩沖區(qū),該緩沖區(qū)有兩個(gè)參數(shù),分別是索引 (Index)和數(shù)據(jù)(data),索引最大為255,PLC采取了索引跟隨數(shù)據(jù)個(gè)數(shù)不停增長,當(dāng)索引為最大值255時(shí),將索引置零,重新計(jì)數(shù)的方式。這種方式給完整一組數(shù)據(jù)的截取帶來了困難。本發(fā)明采取了讀取一組數(shù)據(jù)后將索引和數(shù)據(jù)全部清零的方式,如果只將索引清零,新的一組數(shù)據(jù)依然排在前一組數(shù)據(jù)之后,將數(shù)據(jù)(data)也同時(shí)清零,這樣,可以保證每次讀取數(shù)據(jù)都存放在索引零開始的數(shù)據(jù)緩沖區(qū),給數(shù)據(jù)的后續(xù)處理帶來了很大的方便。由于串行通訊設(shè)備的數(shù)據(jù)往往過長,CanOpen主站的數(shù)據(jù)類型沒有與其長度相匹配的數(shù)據(jù)類型,這給CanOpen讀取串行通訊設(shè)備的數(shù)據(jù)帶來了困難。本發(fā)明先將串行通訊設(shè)備的數(shù)據(jù)拆分處理成2個(gè)字節(jié)數(shù)據(jù),存放在QW256開始的數(shù)據(jù)區(qū)內(nèi),這個(gè)區(qū)域內(nèi)在 CanOpen主站中可以找到與其相匹配的數(shù)據(jù)類型。這樣,串行通訊設(shè)備的數(shù)據(jù)就可以在 CanOpen主站讀取了。本實(shí)施例以萬可的750-837作為CanOpen從站和PLC邏輯控制器,其后連接RS232 串口功能模塊750-650和RS485串口功能模塊750-653。如圖4所示,將750-650的RTS和CTS短接,將750-653的TxD與RxD短接,將 750-653 的-TxD 與-RxD 短接。750-837內(nèi)部有定時(shí)器,可以作為本發(fā)明所述雙定時(shí)器耦合觸發(fā)數(shù)據(jù)通訊功能使用。設(shè)置TP型定時(shí)器tpl和tp2,將tpl的輸入信號mi設(shè)為tp2的輸出信號Q2,將tp2 的輸入信號IN2設(shè)為tpl的輸出信號Q1,并將輸入進(jìn)行取反操作,即mi = NOT Q2,IN2 = N0TQ1,通過以上方法,可以實(shí)現(xiàn)tpl和tp2兩個(gè)定時(shí)器的循環(huán)觸發(fā),不間斷的進(jìn)行讀取數(shù)據(jù)操作。在PLC內(nèi)部,將其串行數(shù)據(jù)緩沖區(qū)的的索引Index和data在每次讀取數(shù)據(jù)之后均置零,即hdex = 0 ;通過FOR循環(huán)語句從0循環(huán)到Index-I將數(shù)據(jù)data
—直到數(shù)據(jù) dataUndex-I]均置零,即PLC語句FOR i = 0 TO Index-I DOdata[i] = 0 ;END_F0R ;上述語句實(shí)現(xiàn)每次讀取數(shù)據(jù)將緩沖去清零,下一組新的數(shù)據(jù)到來時(shí)從緩沖區(qū)零開始處理即可,免去了繁瑣的尋找新的一組數(shù)據(jù)的其實(shí)位置(以索引表示)的繁瑣操縱,給數(shù)據(jù)處理帶來很大的方便。RS232串行通訊設(shè)備為姿態(tài)傳感器,其與PLC串口模塊的連接如圖5所示;RS485串行通訊設(shè)備為漏水檢測器,其與PLC串口模塊的連接如圖6所示。將姿態(tài)傳感器的數(shù)據(jù)拆分成2組數(shù)據(jù),分別為方向角、縱傾角、橫滾角,配置在PLC 的QW256、QW257、QW258數(shù)據(jù)區(qū),將漏水傳感器的設(shè)備1漏水電阻值、設(shè)備2漏水電阻值、設(shè)備3漏水電阻值配置在PLC的QW259、Q\^60、QW261數(shù)據(jù)區(qū)。配置的方法為在PLC內(nèi)部設(shè)變量,變量名自擬,如outdataO,通過語句outdataOAT% QW256將變量outdataO配置在內(nèi)存區(qū)域QW256,這樣,outdataO便可在CanOpen主站上進(jìn)行讀取。其余變量的配置方法相同。本實(shí)施例中的姿態(tài)傳感器的一組數(shù)據(jù)共M個(gè)字節(jié),分別表示了方向角、縱傾角、 橫滾角三個(gè)物理意義的數(shù)據(jù),數(shù)據(jù)長度遠(yuǎn)遠(yuǎn)超過了 CanOpen主站所有數(shù)據(jù)類型的最大長度。通過本發(fā)明的裝置及方法,將M個(gè)字節(jié)拆分,提取用戶需要的三個(gè)角度數(shù)據(jù)并匹配在 QW256開始的數(shù)據(jù)區(qū),是數(shù)據(jù)的上傳成為可能。姿態(tài)傳感器需要不停的顯示物體的當(dāng)前姿態(tài),固通過本發(fā)明的雙定時(shí)器方法是PLC不間斷的和姿態(tài)傳感器交換數(shù)據(jù),是使用者可以實(shí)時(shí)的掌握物體的姿態(tài)。
權(quán)利要求
1.一種PLC邏輯控制器串行通訊數(shù)據(jù)的讀取、配置方法,其特征在于包括以下步驟 將RS232串口模塊的RTS和CTS短接,將其通訊握手等待信號禁止;將RS485串口模塊的TxD和RxD短接作為RS485通訊的data+信號; 將RS485串口模塊的-TxD和-RxD短接,作為RS485通訊的data-; 通過雙定時(shí)器耦合的方法周期性不間斷觸發(fā)PLC與串行通訊設(shè)備的數(shù)據(jù)交換,使PLC 與串行通訊設(shè)備連續(xù)不間斷通訊;將串口數(shù)據(jù)整理并存放在PLC內(nèi)部輸出變量區(qū)域,在CanOpen主站中進(jìn)行配置并讀?。幻看巫x取一組數(shù)據(jù)后,將PLC串行數(shù)據(jù)緩沖區(qū)索引及數(shù)據(jù)都清零,使每次均從緩沖區(qū)的索引零開始讀取數(shù)據(jù)。
2.按權(quán)利要求1所述的PLC邏輯控制器串口模塊數(shù)據(jù)的讀取、配置方法,其特征在于 將串口數(shù)據(jù)整理并存放在% QW256開始的內(nèi)部輸出變量區(qū)域。
3.按權(quán)利要求1所述的PLC邏輯控制器串口模塊數(shù)據(jù)的讀取、配置方法,其特征在于 所述通過雙定時(shí)器耦合的方法周期性不間斷觸發(fā)PLC與串行通訊設(shè)備的數(shù)據(jù)交換中,周期值小于20ms。
4.一種PLC邏輯控制器串行通訊數(shù)據(jù)的讀取、配置裝置,其特征在于包括PLC邏輯控制器、RS232串口模塊以及RS485串口模塊,其中,RS232串口模塊以及RS485串口模塊與 PLC邏輯控制器的數(shù)據(jù)接口相連,RS232串口模塊中的RTS和CTS管腳短接,RS485串口模塊的TxD和RxD管腳短接;RS485串口模塊的-TxD和-RxD管腳短接。
全文摘要
本發(fā)明涉及一種PLC邏輯控制器串行通訊數(shù)據(jù)的讀取、配置方法及裝置,方法為將RS232串口模塊的RTS和CTS短接;將RS485串口模塊的TxD和RxD短接;將RS485串口模塊的-TxD和-RxD短接;通過雙定時(shí)器耦合的方法周期性不間斷觸發(fā)PLC與串行通訊設(shè)備的數(shù)據(jù)交換,使PLC與串行通訊設(shè)備連續(xù)不間斷通訊;將串口數(shù)據(jù)整理并存放在PLC內(nèi)部輸出變量區(qū)域,在CanOpen主站中進(jìn)行配置并讀取;每次讀取一組數(shù)據(jù)后,將PLC串行數(shù)據(jù)緩沖區(qū)索引及數(shù)據(jù)都清零,使每次均從緩沖區(qū)的索引零開始讀取數(shù)據(jù)。本發(fā)明解決了和目前市場上使用廣泛的無握手等待信號類型的串行通訊設(shè)備的硬件連接問題。保證了通訊的實(shí)時(shí)性。
文檔編號G05B19/05GK102486639SQ20101057391
公開日2012年6月6日 申請日期2010年12月4日 優(yōu)先權(quán)日2010年12月4日
發(fā)明者孫凱, 李智剛, 秦寶成 申請人:中國科學(xué)院沈陽自動化研究所