基于西門子S7-200與WinCC的加熱器測試系統設計
1 引言
為了達到自動化控制系統的靈活性和高效率性,許多plc廠商都開發出了opc通訊方式。西門子公司為s7-200系列plc開發了專用的opc服務器pc access,本項目選用opc方式實現wincc和plc之間的通信,實驗證明該方式使用方便、實時性高。借助可視化編程軟件visual basic方便快捷的數據處理功能,實現了實驗室加熱器各項參數的記錄歸檔和曲線繪制。目前,該系統已成功投入運行使用。項目的開發背景是為能源動力實驗室解決人工抄表和數據歸檔的繁瑣性、低效率性問題。
2 系統組成和原理
加熱器測試系統以西門子s7-200系列cpu224cn為主控制器,配合3個模擬量采集模塊,采集實驗室加熱設備各個傳感器和儀表數據,plc以自由口通訊方式和油耗儀進行通信,實現采集和控制功能。wincc以opc通訊方式和plc建立通信,為了實現更方便的數據歸檔、多個數據庫操作,上位監控計算機采用visual basic進行編程,實現了計算機與可編程控制器的控制。系統結構圖如圖1所示。

轉速表輸出經簡易運算放大電路板后接至cpu224的高速計數輸入端i0.0,經程序處理后可采集到轉速表的實時轉速值。pc/ppi電纜連接plc和監控計算機,監控計算機上安裝有s7-200編程軟件、pc access通訊軟件、上位監控軟件wincc和數據處理編程軟件visual basic。最終的數據采集和處理都集中在visual basic中進行,在其開發環境下加入dmc控件,調用dmc控件的屬性和方法即可讀寫wincc中的數據,最終實現visual basic和s7-200的通信。借助visual basic方便且強大的數據庫處理功能,實現能源動力實驗室加熱器的自動化控制。
3 軟件設計
3.1 plc程序設計
(1)plc與油耗儀的自由口通訊:采用自由口通信方式時,s7-200上的自由口完全由用戶控制,可以與任意協議已知的設備進行通信。s7-200用于自由口通訊模式定義的特殊標志字節有smb30和smb130,對應的接受信息狀態有smb86和smb186,接受信息的控制字節有smb87和smb187。plc自由口通訊初始化子程序如圖2所示。

(2)熱電偶溫度采集子程序(見圖3)

(3)采集風扇轉速子程序:對高速計數器編程的步驟有定義計數器和模式、設置控制字節、設置初始值、設置預置值、指定并使能中斷服務程序和激活高速計數器。本程序配置高數計數器0,模式0,控制字節16#f8存于smb37中,初始值0存于smd38中,預置值10000000存于smd42中。循環自動計時周期性觸發中斷0,在中斷事件號10中讀取hc0的值,則轉速=hc0*240。如圖4所示。

3.2 通過pc access建立plc和wincc通信
pc access是西門子s7-200專用的opc服務器軟件,可以于任何標準的opc客戶端通信并提供數據信息。pc access軟件自帶opc客戶機測試端,用戶可以方便的檢測其項目的通信質量及配置的正確性。在pc access中創建變量,注意地址一定要與plc中的變量一一對應。將創建好的變量拖拽到pc access集成客戶測試端,當質量為“好”時,表示通信成功,再將變量導入到wincc中即可建立opc連接。
3.3 visual basic數據處理程序
安裝完wincc之后,會在visual basic部件庫中添加wincc dmc control控件,調用此控件即可建立visual basic和wincc通信。首先建立wincc對象,調用dmc控件的connect事件屬性建立和wincc的通信,然后調用read事件周期性讀取wincc中變量的值(如圖5所示)。進入加熱器實時測試中心(見圖5),成功建立與采集中心連接,待油耗儀充滿油之后,便可開始采集。系統將按照設定的采樣周期采集各個檢測量,并能自動啟動油耗儀的測量程序。實時值可以顯示在文本框中,也可繪制在監督圖(見圖6)上,同時數據將保存到后臺數據庫中,從而避免了手工抄表所帶的一系列麻煩。

4 結束語
加熱器測試系統經反復調試之后投入到能源與動力實驗室運行使用,大大減低了實驗室數據監控的勞動量,方便了實驗室設備管理,同時為學院自動化實驗室建設起了個帶頭作用。
文章版權歸西部工控xbgk所有,未經許可不得轉載。