PC作為ProfibusDP單主站的實現
PC作為ProfibusDP單主站的實現
Profibus是由SIEMENS公司推出的一種開放式現場總線標準,1989年成為德國標準DIN19245,1996年成為歐洲標準EN50170,1999年12月被接受為國際標準IEC61158的一部分。Profibus是目前歐洲乃至全球應用*泛的總線系統,他速度快成本低,幾乎所有的PLC產品和極多的自動化外設產品都提供Profibus接口。
Profibus根據不同的應用場合提供3個兼容版本:ProfibusDP,ProfibusFMS和ProfibusPA。
ProfibusDP適用于現場級分布式自動化外設之間的高速數據傳輸(DP的含義為分散的外圍設備)。他的體系結構包括ISO/OSI參考模型第1,2層以及用戶接口,傳輸技術使用RS485(稱為H2),這種結構能保證通信的實時性和系統實現的低成本。在用戶接口中使用了定義用戶和系統使用的應用功能和描述現場設備行為的行規。
ProfibusFMS(Fieldbus Message Specification)是現場級和單元級通信的通用解決方案,主要解決單元級主站之間(PLC和PC)的互相通信,因此高級功能比快速性系統反應時間更重要。FMS使用了ISO/OSI參考模型第1,2,7層,第1,2層與ProfibusDP兼容,第7層包括了應用協議并向用戶提供了廣泛的通信服務功能。
ProfibusPA是在ProfibusDP的基礎上通過優化、擴展而來,主要用于化工等對安全性要求高的場合,通信采用擴展的ProfibusDP協議。傳輸技術改用IEC11582(稱為H1),可確保本質安全性并使現場設備通過總線供電,通過分段耦合器,能方便地和ProfibusDP,ProfibusFMS相連。
二、Profibus通信協議
Profibus通信協議通過ISO/OSI參考模型第2層實現,在Profibus中第2層稱為FDL(Fieldbus Data Link)。
Profibus總線上的設備包括2類:主站和從站。主站在一個限定時間 (令牌持有時間TokenHoldTime) 內對總線有控制權,這時主站可以向從站發送數據或請求從站的數據。從站對總線沒有控制權,只是響應一個主站的請求或確認主站發送的數據。因此Profibus通信協議包括主站之間的令牌傳遞協議和主、 從站之間的主從協議。
令牌傳遞協議確保每個主站有足夠的時間履行他的通信任務,令牌在所有主站中循環一周的最長時間是一定的。主從協議保證主站在令牌持有時間內與從站的通信。
三、ProfibusDP單主站系統
ProfibusDP允許構成單主站或多主站系統。多主站配置中,主站與各自從站構成相互獨立的子系統,涉及令牌的傳遞。而作為現場級總線系統,很多情況下是以PLC作為調節器和主站構成的單主站系統,這個系統如果不是封閉的(不與外界交換數據而獨立運行),有可能通過ProfibusFMS或別的現場總線連接到車間單元級等更大規模的網絡,除此之外極有可能是PLC通過串行RS232與上位PC機(監控層)通信,如圖1所示。
在大多數溫度控制、配料等系統中,傳感器的采樣速率一般>10 ms,從站數目較少,總線數據傳輸速度≤500 kb/s,*可以用PC取代PLC作為調節器和主站,PC與ProfibusDP之間使用低成本的RS232/RS485轉換器連接,以節省昂貴的PLC,如圖2所示。在軟件上,由于單主站系統不涉及令牌傳遞,可容易地在PC上編寫兼容ProfibusDP協議的單主站程序。
四、軟件實現
1、ProfibusDP單主站協議
主站讀命令: $①①R②13
從站回應數據格式:=③③③13
主站寫命令: $①①W②③③③13
從站確認格式: 6
13是回車鍵的ASCII碼,6是ACK的ASCII碼,$,R,W分別代表相應ASCII碼,①①是代表地址的2個ASCII碼,②是代表變量號的一個ASCII碼,③③③是代表數據的3個ASCII碼。
RS232只使用了TXD,RXD和GROUND三根信號線。每幀8個數據位,偶校驗,1個結束位。數據傳輸速率9600 b/s。
2、作為下位機查詢、設置各從站
程序框圖如圖3所示。
具體C語言程序程序實現如下:
3、作為調節器控制一個從站PID輸出
該部分程序框圖如圖4所示,具體程序略。
作為過程監控層,也可使用循環輪詢各從站,PID程序僅作為對其中一個從站的處理。軟件當然也可使用Simatic WinCC組態、VC++6.0等編寫圖形界面PC應用程序,達到監控和控制雙重功能。