PC作為Profibus DP單主站的實(shí)現(xiàn)
標(biāo)簽:PID輸出 Profibus
本文引用地址:http://2s4d.com/article/154334.htm主要介紹Profibus現(xiàn)場(chǎng)總線的基本特性和通信協(xié)議,討論了以PC作為ProfibusDP單主站實(shí)現(xiàn)的可行性,并給出了C語言實(shí)現(xiàn)的程序。
一、Profibus概述
Profibus是由SIEMENS公司推出的一種開放式現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),1989年成為德國(guó)標(biāo)準(zhǔn)DIN19245,1996年成為歐洲標(biāo)準(zhǔn)EN50170,1999年12月被接受為國(guó)際標(biāo)準(zhǔn)IEC61158的一部分。Profibus是目前歐洲乃至全球應(yīng)用最廣泛的總線系統(tǒng),他速度快成本低,幾乎所有的PLC產(chǎn)品和極多的自動(dòng)化外設(shè)產(chǎn)品都提供Profibus接口。
Profibus根據(jù)不同的應(yīng)用場(chǎng)合提供3個(gè)兼容版本:ProfibusDP,ProfibusFMS和ProfibusPA。
ProfibusDP適用于現(xiàn)場(chǎng)級(jí)分布式自動(dòng)化外設(shè)之間的高速數(shù)據(jù)傳輸(DP的含義為分散的外圍設(shè)備)。他的體系結(jié)構(gòu)包括ISO/OSI參考模型第1,2層以及用戶接口,傳輸技術(shù)使用RS485(稱為H2),這種結(jié)構(gòu)能保證通信的實(shí)時(shí)性和系統(tǒng)實(shí)現(xiàn)的低成本。在用戶接口中使用了定義用戶和系統(tǒng)使用的應(yīng)用功能和描述現(xiàn)場(chǎng)設(shè)備行為的行規(guī)。
ProfibusFMS(Fieldbus Message Specification)是現(xiàn)場(chǎng)級(jí)和單元級(jí)通信的通用解決方案,主要解決單元級(jí)主站之間(PLC和PC)的互相通信,因此高級(jí)功能比快速性系統(tǒng)反應(yīng)時(shí)間更重要。FMS使用了ISO/OSI參考模型第1,2,7層,第1,2層與ProfibusDP兼容,第7層包括了應(yīng)用協(xié)議并向用戶提供了廣泛的通信服務(wù)功能。
ProfibusPA是在ProfibusDP的基礎(chǔ)上通過優(yōu)化、擴(kuò)展而來,主要用于化工等對(duì)安全性要求高的場(chǎng)合,通信采用擴(kuò)展的ProfibusDP協(xié)議。傳輸技術(shù)改用IEC11582(稱為H1),可確保本質(zhì)安全性并使現(xiàn)場(chǎng)設(shè)備通過總線供電,通過分段耦合器,能方便地和ProfibusDP,ProfibusFMS相連。
二、Profibus通信協(xié)議
Profibus通信協(xié)議通過ISO/OSI參考模型第2層實(shí)現(xiàn),在Profibus中第2層稱為FDL(Fieldbus Data Link)。
Profibus總線上的設(shè)備包括2類:主站和從站。主站在一個(gè)限定時(shí)間 (令牌持有時(shí)間TokenHoldTime) 內(nèi)對(duì)總線有控制權(quán),這時(shí)主站可以向從站發(fā)送數(shù)據(jù)或請(qǐng)求從站的數(shù)據(jù)。從站對(duì)總線沒有控制權(quán),只是響應(yīng)一個(gè)主站的請(qǐng)求或確認(rèn)主站發(fā)送的數(shù)據(jù)。因此Profibus通信協(xié)議包括主站之間的令牌傳遞協(xié)議和主、 從站之間的主從協(xié)議。
令牌傳遞協(xié)議確保每個(gè)主站有足夠的時(shí)間履行他的通信任務(wù),令牌在所有主站中循環(huán)一周的最長(zhǎng)時(shí)間是一定的。主從協(xié)議保證主站在令牌持有時(shí)間內(nèi)與從站的通信。
三、ProfibusDP單主站系統(tǒng)
ProfibusDP允許構(gòu)成單主站或多主站系統(tǒng)。多主站配置中,主站與各自從站構(gòu)成相互獨(dú)立的子系統(tǒng),涉及令牌的傳遞。而作為現(xiàn)場(chǎng)級(jí)總線系統(tǒng),很多情況下是以PLC作為調(diào)節(jié)器和主站構(gòu)成的單主站系統(tǒng),這個(gè)系統(tǒng)如果不是封閉的(不與外界交換數(shù)據(jù)而獨(dú)立運(yùn)行),有可能通過ProfibusFMS或別的現(xiàn)場(chǎng)總線連接到車間單元級(jí)等更大規(guī)模的網(wǎng)絡(luò),除此之外極有可能是PLC通過串行RS232與上位PC機(jī)(監(jiān)控層)通信,如圖1所示。
四、軟件實(shí)現(xiàn)
1、ProfibusDP單主站協(xié)議
主站讀命令: $①①R②13
從站回應(yīng)數(shù)據(jù)格式:=③③③13
主站寫命令: $①①W②③③③13
從站確認(rèn)格式: 6
13是回車鍵的ASCII碼,6是ACK的ASCII碼,$,R,W分別代表相應(yīng)ASCII碼,①①是代表地址的2個(gè)ASCII碼,②是代表變量號(hào)的一個(gè)ASCII碼,③③③是代表數(shù)據(jù)的3個(gè)ASCII碼。
RS232只使用了TXD,RXD和GROUND三根信號(hào)線。每幀8個(gè)數(shù)據(jù)位,偶校驗(yàn),1個(gè)結(jié)束位。數(shù)據(jù)傳輸速率9600 b/s。
2、作為下位機(jī)查詢、設(shè)置各從站
程序框圖如圖3所示
3、作為調(diào)節(jié)器控制一個(gè)從站PID輸出
該部分程序框圖如圖4所示,具體程序略。
作為過程監(jiān)控層,也可使用循環(huán)輪詢各從站,PID程序僅作為對(duì)其中一個(gè)從站的處理。ト砑當(dāng)然也可使用Simatic WinCC組態(tài)、VC++6.0等編寫圖形界面PC應(yīng)用程序,達(dá)到監(jiān)控和控制雙重功能。
五、結(jié)束語
程序在圖2系統(tǒng)中的PC上運(yùn)行通過,與使用ASIC協(xié)議芯片的ProfibusDP從站能很好通信,PID輸出程序在皮帶秤配料控制中達(dá)到了和PLC一樣的精度,驗(yàn)證了在某些ProfibusDP單主站系統(tǒng)中以PC完成PLC功能的可行性。
pid控制相關(guān)文章:pid控制原理
c語言相關(guān)文章:c語言教程
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
pid控制器相關(guān)文章:pid控制器原理
評(píng)論