久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
橫河電機(jī)25年9月
工業(yè)智能邊緣計(jì)算2025年會(huì)
2025工業(yè)安全大會(huì)
CAIAC 2025
OICT公益講堂
當(dāng)前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

案例頻道

PLC在SmartPro DCS系統(tǒng)中的應(yīng)用
  • 企業(yè):控制網(wǎng)     領(lǐng)域:電源    
  • 點(diǎn)擊數(shù):2587     發(fā)布時(shí)間:2008-02-02 10:41:10
  • 分享到:



    陳達(dá)軍 (1981—)
男,江蘇建湖人,本科,熱控專(zhuān)工,畢業(yè)于南京航空航天大學(xué)自動(dòng)化學(xué)院,現(xiàn)就職于寶應(yīng)協(xié)鑫生物質(zhì)環(huán)保熱電有限公司生產(chǎn)管理部。

摘 要:以入廠煤量信號(hào)送入SmartPro DCS系統(tǒng)為例,系統(tǒng)地講述了S7-200 PLC在SmartPro DCS控制系統(tǒng)中的具體應(yīng)用,以及S7-200 PLC通過(guò)自由口和上位機(jī)通信的實(shí)現(xiàn)方法等。

關(guān)鍵詞:SmartPro;DCS;PLC;自由口;通信;DELPHI

Abstract:By introducing how to send the input coal quantity into smartPro DCS system, this paper give a sysmatic representation of the concrete application of S7-200PLC in SmartPro DCS control system,   and introduces a method of the freeport communication between S7-200 PLC and PC.

Key words: SmartPro;DCS;PLC;freeport;communication;DELPHI

1  引言

    寶應(yīng)協(xié)鑫生物質(zhì)環(huán)保熱電有限公司碼頭兩臺(tái)料斗秤原采用就地方式控制,兩臺(tái)秤重儀表和兩臺(tái)日本松下PLC分別通過(guò)RS-422接口與碼頭控制計(jì)算機(jī)通信,現(xiàn)因集團(tuán)實(shí)施ERP項(xiàng)目,需要將兩臺(tái)料斗秤的秤重?cái)?shù)據(jù)實(shí)時(shí)在線送入到全廠DCS系統(tǒng)中。因當(dāng)初儀表選型問(wèn)題兩臺(tái)料斗秤秤重儀表均無(wú)稱(chēng)重脈沖輸出信號(hào),且距離DCS控制室較遠(yuǎn),約有1000米的距離,所以采用RS-485的方式將兩臺(tái)料斗秤的入廠煤量等信號(hào)直接從碼頭控制計(jì)算機(jī)送入到安裝于DCS現(xiàn)場(chǎng)控制站內(nèi)的S7-200 PLC中,而S7-200 PLC同時(shí)作為SmartPro DCS控制系統(tǒng)的DP從站,再將入廠煤量信號(hào)送入到DCS系統(tǒng)中。方案示意圖1所示。

2 系統(tǒng)概述

    SmartPro DCS系統(tǒng)是北京和利時(shí)公司設(shè)計(jì)、開(kāi)發(fā)的分布式控制系統(tǒng),其現(xiàn)場(chǎng)控制站內(nèi)部基于Profibus-DP現(xiàn)場(chǎng)總線通信,可以通過(guò)串口MPI、以太網(wǎng)以及DP總線等方式將一種PLC接入到SmartPro DCS系統(tǒng)中。該方案中采用DP協(xié)議與DCS系統(tǒng)中控制器建立通信連接,簡(jiǎn)單方便、穩(wěn)定高效。

    SIMATIC S7-200系列PLC是德國(guó)西門(mén)子公司生產(chǎn)的具有高性能價(jià)格比的微型可編程控制器,由于它具有高可靠性、指令豐富、內(nèi)置功能豐富、強(qiáng)勁的通訊能力等優(yōu)點(diǎn)而得到廣泛的應(yīng)用。S7-200支持多種通訊協(xié)議,如點(diǎn)到點(diǎn)接口協(xié)議(PPI)、多點(diǎn)接口協(xié)議(MPI)、Profibus DP協(xié)議以及自由口協(xié)議等。PPI等通訊協(xié)議主要用于西門(mén)子公司系列產(chǎn)品之間的通訊以及對(duì)PLC編程,而在自由口模式下,可由用戶控制串行通訊接口,實(shí)現(xiàn)用戶自定義的通訊協(xié)議。用戶可以調(diào)用接收中斷、發(fā)送中斷、發(fā)送指令(XMT)、接受指令(RCV)來(lái)控制通信操作。可以說(shuō),在PLC與上位機(jī)PC的通訊方式上,自由口通訊是一種靈活而廉價(jià)的方式。

3 通訊方案的設(shè)計(jì)

    在該工程中,選用了CPU224XP型PLC,該可編程控制器具有兩個(gè)RS-485通信接口,其中自由口0用來(lái)與上位機(jī)碼頭控制計(jì)算機(jī)之間的通信,自由口1留作備用;同時(shí)該P(yáng)LC通過(guò)EM277 PROFIBUS-DP擴(kuò)展模塊作為SmartPro DCS系統(tǒng)的DP從站,將入廠煤量數(shù)據(jù)信號(hào)送入到DCS系統(tǒng)中。該工程中通訊方案的設(shè)計(jì)包括了S7-200 PLC與上位機(jī)之間的通信和S7-200 PLC與SmartPro DCS系統(tǒng)的通信兩部分內(nèi)容。

    3.1 S7-200 PLC與上位機(jī)之間的通信

    通過(guò)PLC的自由口通信,必須自定義兩者之間的通訊協(xié)議。在上位機(jī)與PLC的通訊中,PLC作為從站,只有接收到計(jì)算機(jī)的命令幀后才會(huì)返回響應(yīng)幀,不會(huì)主動(dòng)發(fā)送數(shù)據(jù)。

    上位機(jī)發(fā)送給PLC的指令格式為:

 S

 T

V

M


    其中各段指令含義如下:

    S:起始字符,本工程以“#”字符的ASCII碼為起始字符,占1個(gè)字節(jié);

    T:指令類(lèi)型,01H表示讀取指令,02H表示寫(xiě)指令,占1個(gè)字節(jié);

    P:目標(biāo)PLC站地址,采用十六進(jìn)制ASCII碼表示,本工程中目標(biāo)PLC站地址為02H,占2個(gè)字節(jié);

    V:目標(biāo)寄存器地址,采用十六進(jìn)制ASCII碼表示,占8個(gè)字節(jié);

    M:讀/寫(xiě)字節(jié)數(shù),采用十六進(jìn)制ASCII碼表示,占2個(gè)字節(jié);

    D:要寫(xiě)入的數(shù)據(jù),采用十六進(jìn)制ASCII碼表示,占16個(gè)字節(jié);

    B:校驗(yàn)碼,采用十六進(jìn)制ASCII碼表示,占2個(gè)字節(jié);

    E:結(jié)束字符,本工程以“&”字符的ASCII碼為結(jié)束字符,占1個(gè)字節(jié)。

    PLC反饋給PC機(jī)的數(shù)據(jù)格式為:

 S

 T

 D

 B

 E



    其中各段指令含義如下:

    S:起始字符,本工程以“#”字符的ASCII碼為起始字符,占1個(gè)字節(jié);

    T:狀態(tài)信息,采用十六進(jìn)制ASCII碼表示,01H 讀取正確,02H 寫(xiě)入正確,03H BCC碼校驗(yàn)錯(cuò)誤,04H 指令不合法,占1個(gè)字節(jié);

    D:返回的數(shù)據(jù)區(qū),采用十六進(jìn)制ASCII碼表示,占16個(gè)字節(jié);

    B:校驗(yàn)碼,采用十六進(jìn)制ASCII碼表示,占2個(gè)字節(jié);

    E:結(jié)束字符,本工程以“&”字符的ASCII碼為結(jié)束字符。

    這里采用了BCC校驗(yàn)碼的方法來(lái)檢查接收到的指令是否正確,以防止錯(cuò)誤指令的執(zhí)行。同時(shí),指令中目標(biāo)PLC站地址、目標(biāo)寄存器地址、要寫(xiě)入的數(shù)據(jù)等部分均采用十六進(jìn)制ASCII碼表示,以文本的方式來(lái)傳遞二進(jìn)制數(shù),以避免當(dāng)傳遞如24H數(shù)據(jù)時(shí)使PLC誤認(rèn)為是結(jié)束字符而停止接收。

    3.2  S7-200 PLC與SmartPro DCS系統(tǒng)的通信

    S7-200 PLC與SmartPro DCS系統(tǒng)兩者之間的通信任務(wù)主要是確定通訊區(qū),根據(jù)Profibus-DP協(xié)議的規(guī)定,通訊區(qū)的大小不能隨意指定,只能在幾種預(yù)定值中選擇一種或幾種組合。該工程中約定如下:通信區(qū)的起始地址為PLC寄存器地址的VB200,大小為16個(gè)字節(jié),分別為4Word的輸入?yún)^(qū)和4Word的輸出區(qū),通信區(qū)具體配置見(jiàn)表1。

    表1:

 PLC寄
存器地址

 輸入/輸出
區(qū)分配

 具體含義

 VB200

DP_RECV1 

其中V201.0,作為從DCS接收的是否設(shè)置入廠煤量初始值的開(kāi)關(guān)量信號(hào) 

 VB201

DP_RECV2

 VB202

DP_RECV3

備用 

 VB203

DP_RECV4 

VB204
VB205

DP_RECV5
DP_RECV6

合成為VW204
作為從DCS接收入廠煤量初始值的高16位
 

VB206
VB207

DP_RECV7
DP_RECV8

合成為VW206 
作為從DCS接收入廠煤量初始值的低16位

VB208
VB209

DP_REDV1
DP_REDV2

合成為VW208
作為送入DCS的入廠煤量累計(jì)值的高16位 

VB210
VB211

DP_REDV3
DP_REDV4

合成為VW210
作為送入DCS的入廠煤量累計(jì)值的低16位 

VB212
VB213

DP_REDV5
DP_REDV6

 備用

VB214
VB215

DP_REDV7
DP_REDV8

 備用


4 具體實(shí)現(xiàn)
 
    根據(jù)上述通訊方案,實(shí)現(xiàn)將入廠煤量信號(hào)傳送到DCS系統(tǒng)需要下述三步實(shí)現(xiàn)。

    4.1  SmartPro DCS側(cè)組態(tài)

    首先將EM277 PROFIBUS-DP模塊最新的GSD文件siem089d.gsd拷貝到DCS側(cè)組態(tài)軟件ConMaker的相應(yīng)目錄下C:\Target\Hollysys\PCBaseIO\,然后重新啟動(dòng)ConMaker軟件,這樣ConMaker軟件才能識(shí)別新加入的GSD文件。

    在MACS配置處點(diǎn)擊“Append Dp-slave”菜單添加EM277 PROFIBUS-DP模塊,設(shè)置對(duì)應(yīng)的DP從站號(hào)。然后根據(jù)上述通訊方案設(shè)置通訊區(qū)的大小和起始地址。

    最后是算法組態(tài),注意從PLC得到的入廠煤量高16位RCMLJ_HIGH和入廠煤量低16位RCMLJ_ LOW與DCS中最終入廠煤量累計(jì)值RCMLJ有如下公式的換算關(guān)系:RCMLJ := (RCMLJ_HIGH * 65536 + RCMLJ_LOW) /1000。入廠煤量的初始值送入PLC與此類(lèi)似,這里不再闡述。

    組態(tài)程序編譯無(wú)誤后,下裝到DCS下層控制器即可。

    4.2  S7-200 PLC側(cè)組態(tài)

    S7-200 PLC作為數(shù)據(jù)中轉(zhuǎn)站,不但需要完成和上位機(jī)通信的任務(wù),接收上位機(jī)發(fā)送來(lái)的入廠煤量?jī)糁氐刃盘?hào),并且要將入廠煤量數(shù)據(jù)累計(jì)值傳送到與SmartPro DCS系統(tǒng)約定的通訊區(qū)中。

    首先直接將DP總線連接到EM277的DP口,通過(guò)硬撥碼開(kāi)關(guān)設(shè)定EM277 DP從站號(hào),本工程的從站號(hào)為15。注意:每次重新設(shè)置EM277 DP從站號(hào)需要重新啟動(dòng)運(yùn)行PLC。然后根據(jù)所需通訊的變量數(shù)目,雙方協(xié)商設(shè)定通訊區(qū)的大小,來(lái)確定通訊區(qū)的起始地址和長(zhǎng)度,對(duì)于CPU224XP的最大起始地址為10239,本例中起始地址為200,該起始地址和通訊區(qū)長(zhǎng)度大小由上述DCS側(cè)組態(tài)時(shí)設(shè)置,PLC側(cè)只需要將要發(fā)送給DCS的數(shù)據(jù)賦值給指定區(qū)域即可。注意該起始地址是指變量存儲(chǔ)區(qū)(V存儲(chǔ)區(qū))的地址。

    PLC組態(tài)程序分為主程序、接收中斷程序和發(fā)送中斷程序等幾部分。主程序完成初始化通信口、開(kāi)中斷、邏輯判斷、發(fā)送數(shù)據(jù)等功能, 接收中斷程序和發(fā)送中斷程序分別完成接收和發(fā)送數(shù)據(jù)的功能。接收指令(RCV)啟動(dòng)或終止接收信息功能,必須為接收操作指定開(kāi)始和結(jié)束條件。發(fā)送指令(XMT)在自由口模式下依靠通訊口發(fā)送數(shù)據(jù)。下面以STL語(yǔ)言給出部分示例代碼。

    設(shè)置自由端口0的通訊方式:

LD      SM0.0
MOVB   2#1001, SMB30  //設(shè)置端口0為自由口"9600,N,8,1"
MOVB   2#11100100, SMB87
MOVB   16#23, SMB88
MOVB   16#24, SMB89
MOVW   +1000, SMW92
MOVB   35, SMB94
R       SM87.2, 1
S       M0.7, 1

    通訊0接收信息完成執(zhí)行RCVcomplete程序:

LD      SM0.0
ATCH    RCVcomplete:INT1, 23       //端口0接收完成的中斷

    通訊0發(fā)送信息完成執(zhí)行XMTcomplete程序:

LD      SM0.0
ATCH    XMTcomplete:INT2, 9        //端口0發(fā)送完成的中斷

    將入廠煤量?jī)糁匦盘?hào)累加,并將上一次煤量?jī)糁匦盘?hào)清零:

LD      SM0.0
+D      VD284, VD292
MOVD   +0, VD284

    將入廠煤量累計(jì)值信號(hào)送入DCS系統(tǒng):

LDB=    SMB224, 2
MOVD    VD292, VD208

    條件滿足時(shí)給入廠煤量累計(jì)賦初始值:

LD      V201.0
MOVD    VD204, VD292
R       V201.0, 1 

    4.3  上位機(jī)軟件設(shè)計(jì)

    這里以在Delphi開(kāi)發(fā)環(huán)境中上位機(jī)向PLC寫(xiě)入廠煤凈重?cái)?shù)據(jù)為例,說(shuō)明上位機(jī)軟件的開(kāi)發(fā)過(guò)程。

Var
SendBuf: array[0..32] of Byte;
SendBuf[0]  := Byte($23);      // 起始標(biāo)志符
SendBuf[1]  := Byte($02);      // 代表寫(xiě)操作
// 目標(biāo)PLC站地址(十六進(jìn)制ASCII碼)
SendBuf[2]  := Byte($30);      // PLC地址的ASCII碼高字節(jié)
SendBuf[3]  := Byte($32);      // PLC地址的ASCII碼低字節(jié)
// 目標(biāo)寄存器地址(十六進(jìn)制ASCII碼)
// VB284的地址表示為:08 00 01 1CH的相應(yīng)ASCII碼
SendBuf[4]  := Byte($30);      // 0 的ASCII碼
SendBuf[5]  := Byte($38);      // 8 的ASCII碼
SendBuf[6]  := Byte($30);      // 0 的ASCII碼
SendBuf[7]  := Byte($30);      // 0 的ASCII碼
SendBuf[8]  := Byte($30);      // 0 的ASCII碼
SendBuf[9]  := Byte($31);      // 1 的ASCII碼
SendBuf[10] := Byte($31);      // 1 的ASCII碼
SendBuf[11] := Byte($43);      // C 的ASCII碼   
// 讀/寫(xiě)字節(jié)數(shù)M(十六進(jìn)制ASCII碼)
SendBuf[12] := Byte($30);      // 0 的ASCII碼
SendBuf[13] := Byte($38);      // 8 的ASCII碼
// 要寫(xiě)入的數(shù)據(jù)      
StrJZ := IntToHex(StrToInt(Edit1.Text), 8);
StrLCopy(@SendBuf[14], @StrJZ[1], Length(StrJZ));
// 計(jì)算BCC校驗(yàn)碼
BCC := BccCheck(SendBuf, 1, 29);
StrBCC := IntToHex(BCC, 2);
StrLCopy(@SendBuf[30], @StrBCC[1], Length(StrBCC));   
// 結(jié)束標(biāo)志符
SendBuf[32] := Byte($24);
// 發(fā)送數(shù)據(jù)
SendData;

    程序執(zhí)行效果如圖2所示。



圖2  程序執(zhí)行結(jié)果示意圖

5  結(jié)束語(yǔ)

    將入廠煤量信號(hào)送到SmartPro DCS系統(tǒng)可以通過(guò)幾種方式實(shí)現(xiàn),但考慮到系統(tǒng)整體的安全性、穩(wěn)定性、擴(kuò)展性和經(jīng)濟(jì)性,我們采用了此種方式,經(jīng)過(guò)現(xiàn)場(chǎng)試驗(yàn)測(cè)試和實(shí)際運(yùn)行,此方式為一種切實(shí)可行的方式,且相比其他實(shí)現(xiàn)方式,該方案既節(jié)約了項(xiàng)目成本,又更好地實(shí)現(xiàn)了既定的目標(biāo),與DCS系統(tǒng)實(shí)現(xiàn)軟通信,不占用DCS系統(tǒng)硬件資源,對(duì)DCS系統(tǒng)的穩(wěn)定運(yùn)行幾乎沒(méi)有影響,系統(tǒng)安全性和可靠性大大增強(qiáng)。

作者信息:

    陳達(dá)軍,楊  華(寶應(yīng)協(xié)鑫生物質(zhì)環(huán)保熱電有限公司,江蘇  揚(yáng)州  225800) 

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 亚洲精品一区激情区偷拍| 欧美日韩在线一区| 九九久久久2| 毛片1毛片2毛片3毛片4| 青青操精品| 国产在线观看a| 特级深夜a级毛片免费观看| 国产成人精品三区| 久综合色| 桃色播播| 亚洲欧美在线观看视频| 国产酒店自拍| 婷婷久草| 日本 亚洲 欧美| 亚洲一区区| www色婷婷| 久久久精品日本一区二区三区| 亚洲毛片在线看| 成人影院在线观看kkk4444| 欧美性视频网| 国产三级日本三级日产三| 草草视频在线| 黄色免费在线观看网站| 99精品国产自产在线观看| 国产亚洲精品一区久久| 嫩草视频在线观看www视频| 婷婷六月综合| 一区二区三区在线 | 欧| 日本一级特黄视频| 日韩高清在线免费看| 亚洲欧美日韩一区二区在线观看| 色屁屁www欧美激情在线观看 | 免费看三级黄色片| 视频福利网| 黄色毛片免费进入| 精品一区精品二区| 8090碰成年女人免费碰碰尤物| 大片在线免费观看| 日本粉嫩毛片视频| 婷婷色中文| 日韩综合图区|