技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于S7-300PLC的電力系統(tǒng)CDT規(guī)約的解析

基于S7-300PLC的電力系統(tǒng)CDT規(guī)約的解析

時(shí)間:2018-03-14 10:34:52來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:? cdt規(guī)約的數(shù)據(jù)以幀格式循環(huán)發(fā)送,根據(jù)需要傳送的數(shù)據(jù)的類型和重要性不同,分為:重要遙測(cè)(a幀)、次要遙測(cè)(b幀)、一般遙測(cè)(c幀)、遙信狀態(tài)(d1幀)、電能脈沖數(shù)據(jù)(d2)幀、事件順序記錄(e幀)。

1引言

在工程設(shè)計(jì)過程中,經(jīng)常會(huì)遇到遠(yuǎn)程終端單元(rtu)與plc進(jìn)行通訊的問題。plc和rtu都適用于環(huán)境比較惡劣的工業(yè)場(chǎng)所,特別是在煤礦井下變電所,一般都設(shè)置遠(yuǎn)動(dòng)終端。有時(shí)候需要在原有的plc控制系統(tǒng)上進(jìn)行變電所集控系統(tǒng)的接入,這時(shí)可以采用以plc作為集中控制單元,并配以觸摸屏作為hmi,然后通過plc與rtu的通訊實(shí)現(xiàn)井下變電所的集中控制。rtu主要有兩類通訊規(guī)約:一類是循環(huán)式數(shù)據(jù)傳送規(guī)約,另一類是問答式傳送規(guī)約。cdt規(guī)約即屬于前者,本文主要分析如何利用西門子通訊模塊cp340來解析cdt規(guī)約。

2cdt規(guī)約簡(jiǎn)單介紹

部頒cdt循環(huán)規(guī)約是早期電力部頒布的一套遠(yuǎn)動(dòng)規(guī)約標(biāo)準(zhǔn),是電力系統(tǒng)中廣泛運(yùn)用的協(xié)議之一。它規(guī)定了電網(wǎng)數(shù)據(jù)采集與監(jiān)控系統(tǒng)中循環(huán)式遠(yuǎn)動(dòng)規(guī)約的功能、幀結(jié)構(gòu)、信息字結(jié)構(gòu)和傳輸規(guī)則等,適用于點(diǎn)對(duì)點(diǎn)的遠(yuǎn)動(dòng)通道結(jié)構(gòu)及以循環(huán)字節(jié)同步方式傳送遠(yuǎn)動(dòng)設(shè)備與系統(tǒng),多用于rtu設(shè)備和后臺(tái)主站之間的通信[1]。

3cdt規(guī)約特點(diǎn)

cdt規(guī)約的數(shù)據(jù)以幀格式循環(huán)發(fā)送,根據(jù)需要傳送的數(shù)據(jù)的類型和重要性不同,分為:重要遙測(cè)(a幀)、次要遙測(cè)(b幀)、一般遙測(cè)(c幀)、遙信狀態(tài)(d1幀)、電能脈沖數(shù)據(jù)(d2)幀、事件順序記錄(e幀)。幀結(jié)構(gòu)如表1所示,每幀都以同步字開頭,并有控制字,除少數(shù)幀外均應(yīng)有信息字。信息字的數(shù)量依實(shí)際需要設(shè)定,幀長度可變。

4幀系列傳送順序

幀系列可根據(jù)需要安排傳送順序,通常有下列3種方式[1]:

(1)固定循環(huán)傳送,用于傳送a、b、c、d1、d2幀。

(2)幀插入傳送,用于傳送e幀(e幀長度不得大于a幀)。soe信息可能連續(xù)出現(xiàn),當(dāng)輪到發(fā)送e幀時(shí)用軟件指針定好發(fā)送界限,后續(xù)出現(xiàn)的可歸到下一次e幀時(shí)再送。

(3)信息字隨即插入傳送,具體插入的方式如下:①變位遙信、遙控命令的返校信息、升降命令的返校信息等剛一產(chǎn)生就應(yīng)插入當(dāng)前幀的信息字傳送,若當(dāng)前幀是a、b、c、d幀,則原信息字被取代,插入的信息在本幀內(nèi)連續(xù)(重復(fù))三次(原幀長度不變,不許跨幀),以便接收端利用3取2原則作出判決。若本幀空間不夠連續(xù)重復(fù)三次,則全部改為下一幀插入傳送。當(dāng)前幀如是e幀,則應(yīng)在soe完整字之間插入,幀長度相應(yīng)加長。②對(duì)時(shí)的子站時(shí)鐘返回信息也插入傳送,但僅傳送一遍,其余與上述同。

圖1為各種幀類別均需傳送,當(dāng)需要以幀插入方式傳送e幀時(shí),即在箭頭所指處插入傳送,并按規(guī)定連送三遍。

圖2所示為有遙信變位需要插入傳送時(shí)的示意圖。這種插入不是以幀為單位,而是以信息字為單位,優(yōu)先插入當(dāng)前一幀,并連傳三遍(取代三個(gè)原來信息字),若本幀不夠連傳三遍,就全部改在下一幀再傳送。對(duì)時(shí)的子站時(shí)鐘返回信息只插送一遍。如被插的幀為a、b、c、d幀,原信息字被取代后幀長不改變。

圖3所示為出現(xiàn)遙控返校信息時(shí),被插的是e幀,則必須在事件順序記錄完整的信息之間插入,幀長度也相應(yīng)增加。

此外,當(dāng)子站初始加電或重新復(fù)位后,幀系列一律從幀開始,優(yōu)先傳送遙信狀態(tài)信息給調(diào)度端。下行通道中沒有上述問題,有命令隨時(shí)發(fā)送,無命令時(shí)連續(xù)不間斷地發(fā)送同步信號(hào)。

5cp340通訊參數(shù)配置

西門子s7-300plc的編程軟件為step7,首先進(jìn)行plc的硬件組態(tài),再進(jìn)行軟件編程。通訊模塊cp340集成了串行接口,允許用戶通過點(diǎn)對(duì)點(diǎn)的方式和通訊伙伴通訊,cp340通訊處理器的模塊系列有三種,這里選用cp340-rs422/485。cp340通過背板總線與plc的cpu相連,為減小通信時(shí)cpu模塊的負(fù)擔(dān),cp340被設(shè)計(jì)成智能型的,cp340模塊上的處理器既受控制又有自主性,它根據(jù)cpu模塊的命令自主管理串行口的收發(fā)工作。模塊內(nèi)有接收緩沖器和發(fā)送緩沖器,依靠接收和發(fā)送緩沖器建立起cpu模塊與cp340的聯(lián)系。發(fā)送數(shù)據(jù)時(shí),cpu只需把發(fā)送的數(shù)據(jù)寫入發(fā)送緩沖區(qū),然后,由cp340把緩沖區(qū)中的數(shù)據(jù)逐個(gè)發(fā)送出去。cp340接收數(shù)據(jù)時(shí),把接收到的數(shù)據(jù)寫入接收緩沖區(qū)。cpu模塊可以查詢方式讀接收緩沖區(qū),如果緩沖區(qū)不空,cpu便得到接收數(shù)據(jù)。讀寫cp340上的緩沖區(qū)需要調(diào)用專用的功能塊,寫緩沖區(qū)的功能塊稱為發(fā)送功能塊fb3,讀緩沖區(qū)的稱為接收功能塊fb2。cp340在使用前必須選擇通信協(xié)議并進(jìn)行參數(shù)設(shè)置,cp340模塊參數(shù)設(shè)定簡(jiǎn)便,集成在step

7軟件中的參數(shù)配置功能即可方便地設(shè)置cp340的通信協(xié)議及參數(shù)。rtu與cp340之間為異步串行通信,選用ascii通信協(xié)議[2]。串行通訊參數(shù)設(shè)置要與rtu相同:波特率為4800bps,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)。圖4為step7中cp340的硬件組態(tài)中的參數(shù)配置圖。

6協(xié)議解析思路

三遙功能的實(shí)現(xiàn)。

遙測(cè)量的信息:主要在a、b、c幀中,遙信信息在d1幀,電能脈沖數(shù)據(jù)在d2幀,事件順序記錄在e幀。rtu會(huì)通過固定循環(huán)傳送向plc傳送(其中soe為幀插入方式傳送)。

遙控的過程則需要plc向rtu發(fā)送下行遙控命令;然后rtu會(huì)以信息字插入的方式向plc發(fā)送遙控返校信息;plc收到信息并確認(rèn)后再向rtu發(fā)送遙控執(zhí)行命令,或者撤銷命令;最后rtu執(zhí)行plc下發(fā)的遙控命令,并將遙信變位信號(hào)以信息字插入方式返送到plc。整個(gè)遙控過程如圖5所示。

7plc程序設(shè)計(jì)

7.1主程序

主程序放在一個(gè)功能fc內(nèi),由主程序塊ob1調(diào)用執(zhí)行。通信程序首先通過調(diào)用功能塊fb2對(duì)cdt數(shù)據(jù)的接收,并轉(zhuǎn)存入數(shù)據(jù)接收區(qū)db20中。之后調(diào)用數(shù)據(jù)整理塊,取出db20中的一個(gè)字(6個(gè)字節(jié)),并查找同步字(eb90

eb90

eb90)。找到同步字之后再取下面的6個(gè)字節(jié)(控制字),并進(jìn)行處理。然后根據(jù)控制字中的提供的信息字個(gè)數(shù),分別對(duì)幀的信息字進(jìn)行處理。在對(duì)控制字和信息字處理的時(shí)候首先進(jìn)行crc的校驗(yàn),如果有錯(cuò)誤,則拋棄此幀,進(jìn)行下一幀同步字的查找[3]。程序主要部分如下:

call“rcv_data”//接收數(shù)據(jù)并存儲(chǔ)至db20

call“check_6byte”//處理數(shù)據(jù),判斷是否有6個(gè)字節(jié)

a“istransneed”//需要處理數(shù)據(jù)

jc_001

jucom

_001:call“check_eb90”//查找同步字

a“isframetrans”//需要幀處理

jc_002

jucom

_002:call“contrw_trans”//控制字處理

a“isinfotrans”//需要信息字處理

jc_003

jucom

_003:call“infow_trans”//信息字解析

com:nop0

7.2數(shù)據(jù)的接受和處理

由于300plc處理數(shù)據(jù)的時(shí)間遠(yuǎn)比rtu傳送來數(shù)據(jù)的速率要快。因此不會(huì)存在rtu傳送的數(shù)據(jù)出現(xiàn)覆蓋情況。在db20中建120個(gè)字節(jié)作為cpu接收rtu數(shù)據(jù)的緩沖區(qū),因?yàn)閏dt規(guī)約中無論是同步字、控制字還是信息字均為6個(gè)字節(jié)長,因此數(shù)據(jù)緩沖區(qū)可以存20個(gè)字。數(shù)據(jù)接收塊(rcv_data)對(duì)來自rtu數(shù)據(jù)的接收,并轉(zhuǎn)存到數(shù)據(jù)緩沖區(qū)db20中。處理數(shù)據(jù)塊(check_6byte)是為了判斷db20中的數(shù)據(jù)是否有六個(gè)字節(jié),如果有6個(gè)字節(jié)則置位“需要處理位”(istransneeded),為下面查找同步字打開通路;如果沒有6個(gè)字節(jié)則結(jié)束子程序功能塊,等待plc下個(gè)掃描周期對(duì)數(shù)據(jù)的接收。

7.3同步字查找

當(dāng)以上程序判斷出數(shù)據(jù)緩沖區(qū)中有大于6個(gè)字節(jié)的數(shù)據(jù),將會(huì)調(diào)用同步字查找塊(check_eb90)。對(duì)取回的數(shù)據(jù)進(jìn)行處理首要問題就是要找到同步字,可依次取出六個(gè)字節(jié),并判斷它們是否為同步字(三組eb90h)。若不是,則丟掉第一個(gè)字節(jié),同時(shí)再取出隨后的那個(gè)字節(jié),再次進(jìn)行判斷。每個(gè)plc的掃描周期都要重復(fù)這樣的過程,直到找到同步字為止。當(dāng)找到兩個(gè)同步字,將同步字之間的數(shù)據(jù)轉(zhuǎn)存到控制、信息字db區(qū),并置位“需要幀處理”標(biāo)志位(isframetrans)。

7.4控制字處理

isframetrans為1時(shí),程序?qū)⑻娇刂谱痔幚韷K(contrw_trans),即開始數(shù)據(jù)幀的控制字處理。首先,取出6個(gè)字節(jié),并調(diào)用crc校驗(yàn)塊對(duì)其進(jìn)行crc8校驗(yàn),若校驗(yàn)正確,則說明這6個(gè)字節(jié)即為控制字,從控制字的第三個(gè)字節(jié)可得到該數(shù)據(jù)幀的信息字字?jǐn)?shù),存入變量info_len;根據(jù)控制字的第二個(gè)字節(jié)幀類別置位不同的標(biāo)志位,以便信息字處理塊取出不同的遙測(cè)遙信以及遙控返校信息;最后置位信息字處理標(biāo)志位(isinfotrans)。若不正確,則復(fù)位“需要幀處理”標(biāo)志位(isframetrans)重新開始尋找同步字。

7.5信息字的解析

根據(jù)控制字處理塊所提供的幀類別和取出的信息字總長度info_len,就可以開始信息字的解析,每次還是取出六個(gè)字節(jié),調(diào)用crc校驗(yàn)塊對(duì)其進(jìn)行crc8校驗(yàn)。若校驗(yàn)錯(cuò)誤,則丟掉這一信息字,接著取出下一個(gè)信息字進(jìn)行解析。若校驗(yàn)正確則說明該信息字有效。根據(jù)幀類別去處理不同的信息字,信息字中的第一個(gè)字節(jié)為功能碼,通過功能碼可以確定這一個(gè)信息字的具體意義,這樣就可以把信息字中的信息數(shù)據(jù)取出來轉(zhuǎn)存到plc的某個(gè)特定存db區(qū)內(nèi)。不管crc8校驗(yàn)是否正確,都對(duì)已處理信息字進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)值與信息字總長度info_len相同時(shí)即說明該數(shù)據(jù)幀已經(jīng)全部解析完,并復(fù)位信息字處理標(biāo)志位(isinfotrans)。接下來應(yīng)該是下一幀的同步字,根據(jù)上面步驟繼續(xù)處理rtu傳來的數(shù)據(jù)幀。

7.6遙控和crc8校驗(yàn)的實(shí)現(xiàn)

遙控功能是在上面信息字處理的基礎(chǔ)之上實(shí)現(xiàn)的,在ob1內(nèi)設(shè)置檢測(cè)遙控命令的語句,每個(gè)掃描周期執(zhí)行一次。一旦檢測(cè)到控制中心下發(fā)的遙控命令,即調(diào)用遙控選擇程序,根據(jù)遙控開關(guān)序號(hào)及動(dòng)作要求按照cdt規(guī)約格式生成遙控選擇幀,通過cp340發(fā)送出去。發(fā)出遙控選擇命令,同時(shí)啟動(dòng)一脈沖定時(shí)器sp,在定時(shí)時(shí)間內(nèi),對(duì)上面收到的信息字進(jìn)行檢測(cè),若收到正確的遙控返校信息字,則調(diào)用遙控執(zhí)行程序,生成遙控執(zhí)行幀,通過cp340發(fā)送出去,遙控操作即完成。如果在定時(shí)時(shí)間內(nèi)沒有收到遙控返校信息或返校信息字校驗(yàn)錯(cuò)誤,則遙控失敗。

cdt規(guī)約中采用的校驗(yàn)碼為crc8校驗(yàn)。其控制字和信息字都是(n、k)=(48、8)碼組,生成多項(xiàng)式為g(x)=x8+x2+x+1,陪集碼為ffh。由于300plc的db數(shù)據(jù)區(qū)很大,因此程序中采用查表法計(jì)算crc校驗(yàn)值。對(duì)于下面格式的控制字或者信息字的crc8校驗(yàn)方法如表2所示。

(1)00h與第一個(gè)字節(jié)data0異或,結(jié)果查表,得temp0;

(2)temp0和data1異或,結(jié)果查表,得temp1;

(3)temp1和data2異或,結(jié)果查表,得temp2;

(4)temp2和data3異或,結(jié)果查表,得temp3;

(5)temp3和data4異或,結(jié)果查表,得temp4;

(6)crc8校驗(yàn)的值即為temp4的反碼。

8結(jié)束語

利用西門子300plc和串口通訊模塊cp340可以很好地對(duì)cdt規(guī)約進(jìn)行解析,從而實(shí)現(xiàn)煤礦井下變電所等特殊場(chǎng)合的集中監(jiān)控。在棗莊泉興礦業(yè)集團(tuán)某礦的變電所自動(dòng)化改造中已經(jīng)成功運(yùn)用了這種方法,并得到了很好的應(yīng)用效果。

<上

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:污水處理過程PLC模糊控制器的...

下一篇:高壓變頻器在循環(huán)氨水泵節(jié)能...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(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é)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)