時間:2008-07-10 14:00:00來源:dujing
圖1蝶閥監測系統原理示意圖[/align]
系統主要由工控機、PLC、打印機和電氣控制柜等組成,如圖1所示。為了提高控制系統的可靠性與靈活性,系統采用PLC可編程邏輯控制器。PLC選型為SIEMENS公司的S7-200系列PLC,中央處理單元為西門子公司推出的PLC采用S7-200系列CPU226,該CPU在本機體中集成了2個RS-485通訊口,其性價比高,滿足本系統的所有要求。
使用485總線的一端連接PLC的通訊口PORT1,另一端通過RS-485/232電平轉換器連接至PC機的RS-232串口,實現PC機向PLC發送命令幀、并接收PLC響應幀。
系統共有6個臺位,共有12個傳感器,其開關量控制點數有限所以需要擴展模塊EM221和EM231。
2.控制的內容和要求
系統采用集散控制,工控機為上位機主要負責監控和管理功能:如數據的處理、與PLC通訊、誤差修正等。PLC為下位機也是控制的核心,通過RS485接口與工控機相連。把發送信息輸入到上位機,上位機向PLC發送發放的數據和指令。PLC接受上位機的信息并響應,實時控制電磁閥的打開合關閉,實時采集監測壓力,并把每一路狀態的相關數據反饋到上位機,由管理程序生成數據庫,可對數據進行統計、報表、打印等。
本控制系統設計任務需要實現以下目標:
(1)可以監控蝶閥腔體內壓力的變化,可以人工設定并自動控腔內壓力值。
(2)可以通過自動方式和手動方式控制該系統。
(3)現場顯示界面顯示的內容主要包括:當壓力值、當前的檢測狀態、實時故障報警和歷史故障報警等。
(4)通訊采用RS-485總線通訊方式,使PLC與遠程PC機聯系,實現通過PC機控制電磁閥的開關,來壓力大小目的。PC機同時與其他系統發生聯系,進而使工廠整個生產過程構成了一個有機的整體。
3 PC機與PLC通信基礎
3.1PLC自由口通信命令
所謂自由口通信模式即Freeport模式,它是建立在RS一485硬件基礎上的一種通訊方式,它允許用戶自己定義一些簡單、基本的通訊協議設置,如數據長度、奇偶校驗等等,通訊功能完全由用戶程序控制[1]。自由口模式使用的相關的命令為XMT和RCV命令[2],分別用于發送和接收數據。這兩個命令都對應各自的一個數據緩沖區,該緩沖區可以由用戶在編程中決定,如VB100,即為從VBl00 起始的一塊數據存儲區。其中,XMT的緩沖區格式如圖2
[align=center]
圖2 RCV 的緩沖區格式為[/align]
但應當注意的是,自由口協議必須在PLC處于RUN 模式下才有效,如果處于STOP 模式下PLC會自動的回到PPI模式(前提是使用PPI模式) 。
3.2 Mscomm 控件
為了實現PC 機與下位機PLC 之間的通信,Windows 提供了Mscomm 控件以供用戶使用。它封裝了關于通信的相關內容,我們只需在Ⅷ平臺中,設置其相關屬性,并且對其的事什進行相應的編程即可使用。關于Mscomm 控件的一些重要屬性見表1。
關于Mscomm控件的事件,只有一種,即OnComm事件,通信中只要有錯誤或事件發生時,就會產生OnComm事件,而CommEvent 屬性傳回不同的錯誤或事件:
[align=center]表1 Mscomm控件屬性
[/align]
對應的數碼值,據此可對事件進行處理。在本文的通信過程中,主要用到的是ComEvReceive值。當接收緩沖區有數據時產生該值,然后對Input值進行相應的處理。
4.VB6.0平臺PC機與PLC的通信
Microsoft公司生產的Visual Basic6.0是Windows 環境下的一種可視化編程語言開發系統,它以強大的圖形設計能力,簡易的編程語言和容易學習使用等優點在工程中得到了廣泛的應用,我們正是使用它進行了與PLC 通訊的開發。
PLC I/O分配表見表2,只列出了4個臺位的。,結合工程的實際,我們編制了相應的PLC 通信程序。由于篇幅有限,只列出部分程序。但在編程中需要注意的是,程序中與通訊有關的除了進行相關寄存器的設置之外,還應該對接受的命令進行判斷,己選擇運行相關的程序。另外,由于PLC 中的通訊口是RS—485通訊口,其為半雙上通訊口,所以XMT 和RCV 命令不能同時運行。
[align=center]表2 I/O分配表
[/align]
PLC的中斷程序
LDB= SMB86, 16#20
LPS
MOVB 10, SMB34
ATCH INT1, 10
AB= ‘K‘, VB301
AB= ‘C‘, VB302
AB= ‘0‘, VB303
S Q0.0, 1
LRD
AB= ‘G‘, VB301
AB= ‘C‘, VB302
AB= ‘0‘, VB303
R Q0.0, 1
LRD
AB= ‘K‘, VB301
AB= ‘P‘, VB302
AB= ‘0‘, VB303
S Q0.1, 1
LRD
AB= ‘G‘, VB301
AB= ‘P‘, VB302
AB= ‘0‘, VB303
R Q0.1, 1
LPP
NOT
RCV VB300, 0
5 VB通信程序設計
VisualBasic 開發包括界面的設計和程序的開發兩部分。
5.1 人機界面設計
人機界面使用戶與計算機之間的中介,是軟件產品的窗口。人機界面首先考慮的是如何能更好的滿足用戶的使用要求和操作習慣。人機界面的設計要考慮界面功能的全面和操作的簡便。最常用的功能要盡量安排在主界面中,如果有多個功能模塊,可以將先對獨立的模塊用單獨的界面表示,并與主界面雙向連接。如圖3
本系統界面包括狀態的監控、身份登陸、參數設定、報表查詢、打印、報警和事件顯示。
[align=center]
圖3 人機界面[/align]
安全閥氣密性檢測控制系統 ,VB通訊界面設計時, Mscomm 控件的重要屬性設置為:
InputMode 屬性:comlnputModeBinary,按二進制方式讀取數據,因為從PLC 返回的數據中包括ASCII碼值超過128 的字節。
Settings 屬性:9600,n,8,1,選擇9600bps波特率,不進行奇偶校驗,8 位數據位,1位停止位,其設置要與PLC的設置一樣,才能正常通信。
RThreshold 屬性:1,當接收到1個字符時,引發OnComm事件的ComEvReceive 常數。
5.2 通信程序設計
VB通信中接收事件的程序清單如下
If MSComm1.CommEvent = comEvReceive Then
S1 = MSComm1.Input
If (S1 = Chr(&H1B)) And (Len(SCOMS) > 5) Then
SCOMS = ""
Else
If S1 <> Chr(&HD) Then
SCOMS = SCOMS & S1
Else
Call MYSAVE(SCOMS)
End If
End If
End If
VB通信中分配變量
SCOMS = Trim(SCOMS) ‘接收到20個字段
SCOMS = Right(SCOMS, 20)
vh5 = Trim(Mid(SCOMS, 8, 4)) ‘壓力值的存放(字符串)
yld1 = CCLng(vh5)
vh6 = Trim(Mid(SCOMS, 12, 1)) ‘自動信號
zdd1 = vh6
vh7 = Trim(Mid(SCOMS, 13, 1)) ‘充氣信號
cqd1 = CCLng(vh7)
vh8 = Trim(Mid(SCOMS, 14, 1)) ‘排氣信號
結束語
在實際中采用自由口通信模式,運用VB6.0作為開發工具,方便的實現了S7—200PLC與上位PC 機間的通信,實現了對蝶閥氣密檢測的控制。經現場調試及運行表明,這是一種非常有效、可靠的通信方法,這種通信方法也可以應用于其它相關的通信場合,具有一定的普遍意義。
參考文獻:
1 張維軍,索世文等. PLC在自動化立體倉庫控制系統中的應用.機械設計與制造,2004 (2), 55.
2 西門子有限公司.西門子SIMATICS7 - 200可編程序控制器系統手冊, 2000, 9 ~ 140.
3 范逸之,陳立元.Visual Basic與RS - 232串行通信控制.北京:清華大學出版社,2002,59~65.
作者簡介:李磊(1978-),男,碩士研究生,籍貫山東,研究方向:
電力電子與電力傳動
通訊地址:山西省太原市太原科技大學468信箱
郵編030024
聯系電話 13099062062
Email :lileihcw@163.com
標簽:
上一篇:漫談取水泵站水泵選型和調速設計
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(m.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務器Deepsee...
2025-09-04
2025-08-06
2025-07-08
2025-06-30
2025-06-16