當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC入門(mén) >> 基于S7-300PLC的電力系統(tǒng)CDT規(guī)約的解析(3)
基于S7-300PLC的電力系統(tǒng)CDT規(guī)約的解析(3)

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


6 協(xié)議解析思路


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


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


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


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


  7.1主程序


  主程序放在一個(gè)功能fc內(nèi),由主程序塊ob1調(diào)用執(zhí)行。通信程序首先通過(guò)調(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


  ju com


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


  a “isframetrans” //需要幀處理


  jc _002


  ju com


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


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


  jc _003


  ju com


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


  com: nop 0


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


  由于300plc處理數(shù)據(jù)的時(shí)間遠(yuǎn)比rtu傳送來(lái)數(shù)據(jù)的速率要快。因此不會(huì)存在rtu傳送的數(shù)據(jù)出現(xiàn)覆蓋情況。在db20中建120個(gè)字節(jié)作為cpu接收rtu數(shù)據(jù)的緩沖區(qū),因?yàn)閏dt規(guī)約中無(wú)論是同步字、控制字還是信息字均為6個(gè)字節(jié)長(zhǎng),因此數(shù)據(jù)緩沖區(qū)可以存20個(gè)字。數(shù)據(jù)接收塊(rcv_data)對(duì)來(lái)自rtu數(shù)據(jù)的接收,并轉(zhuǎn)存到數(shù)據(jù)緩沖區(qū)db20中。處理數(shù)據(jù)塊(check_6byte)是為了判斷db20中的數(shù)據(jù)是否有六個(gè)字節(jié),如果有6個(gè)字節(jié)則置位“需要處理位”(istransneeded),為下面查找同步字打開(kāi)通路;如果沒(méi)有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)行處理首要問(wèn)題就是要找到同步字,可依次取出六個(gè)字節(jié),并判斷它們是否為同步字(三組eb90h)。若不是,則丟掉第一個(gè)字節(jié),同時(shí)再取出隨后的那個(gè)字節(jié),再次進(jìn)行判斷。每個(gè)plc的掃描周期都要重復(fù)這樣的過(guò)程,直到找到同步字為止。當(dāng)找到兩個(gè)同步字,將同步字之間的數(shù)據(jù)轉(zhuǎn)存到控制、信息字db區(qū),并置位“需要幀處理”標(biāo)志位(isframetrans)。

作者:未知 點(diǎn)擊:347次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:基于S7-300PLC的電力系統(tǒng)CDT規(guī)約的解析(3)
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《基于S7-300PLC的電力系統(tǒng)CDT規(guī)約的解析(3)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

倪先生 【求購(gòu)】  液壓馬達(dá)  2025-12-16
練子棟 【求購(gòu)】  金屬管件  2025-12-16
陳經(jīng)理 【求購(gòu)】  求購(gòu)螺母螺...  2025-12-16
Alyssa Yin(尹小姐) 【求購(gòu)】  SEEBA...  2025-12-15
曾經(jīng)理 【求購(gòu)】  定制酒店香...  2025-12-12
張瑜 【求購(gòu)】  防靜電橡膠...  2025-12-12
劉強(qiáng) 【求購(gòu)】  保溫板  2025-12-12
曹先生 【求購(gòu)】  鎂合金  2025-12-12
VIP公司推薦