時間:2008-12-09 10:04:28來源:ronggang
摘 要:介紹了在Visual Basic 6.0環(huán)境下工控機與S7-200PLC自由口通信的實現(xiàn)方法,并結合水位實時檢測控制系統(tǒng)的開發(fā)實例,分析了Visual Basic 6.0與PLC通信的關鍵技術,該方法在幾乎不增加設備開支的情況下實現(xiàn)了上位機與PLC的通信和監(jiān)控。
關鍵詞:PLC;通信;VB6.0;上位機
Application of Communication Based on PLC’s Freeport GAO Lihua QI Xiangdong JIAO Fenjiao
Abstract:In this paper, the way of communication between industrial PC and S7-200 PLC is introduced. The key technology of the communication method is also analysed through an example of water-level real-time detection control system, the method realizes the communications and monitor between the upper computer and PLC without increase the equipment expense.
Key words: PLC;communication;vb6.0;upper computer
1 引言
在工業(yè)控制中,作為工廠自動化的三大支柱之一的可編程控制器 PLC(Programmable Logic Controller),由于其安全可靠、功能齊全、應用靈活、操作維修容易和穩(wěn)定可靠等特點而得到廣泛應用。但它無法實時顯示各種控制圖表,人機交互性差。為彌補這方面的不足,工業(yè)控制中一般與計算機組成控制系統(tǒng),將PLC作為下位機使用。本文就此以 S7—200 PLC為例,通過 Visual Basic 6.0編程實現(xiàn)計算機作為上位機與 PLC的通信 ,完成工業(yè)流程和工藝參數(shù)的顯示以及控制參數(shù)的修改等功能。
2 系統(tǒng)簡介
本系統(tǒng)是一個水位實時檢測和控制系統(tǒng),整個系統(tǒng)分成2級;PLC控制級和上位機監(jiān)控級。首先,通過 PLC 將水位傳感器檢測到的水位模擬量送至上位機進行顯示;其次,上位機可發(fā)出起停泵、增減水位、手動自動切換等指令,并對上述指令信號動態(tài)采樣,在上位機顯示除了以上幾部分外,系統(tǒng)還具備參數(shù)修改和報警、實時趨勢顯示、實時和歷史數(shù)據(jù)報告等功能。
3 系統(tǒng)硬件組成
系統(tǒng)主要由工控機、PLC、水泵和電氣控制柜等組成。其中工控機作為上位機,通過RS-232接口與下位機相連,主要負責監(jiān)控和管理功能;下位機選用SIEMENS公司的S7-200系列PLC,中央處理模塊采用S7-200系列CPU226,該CPU在本體中集成了2個RS-485通訊口,其性價比高,滿足本系統(tǒng)的所有要求,由于水位傳感器的模擬量信號,本系統(tǒng)還需要模擬量擴展模塊EM235。
4 上位機與PLC通信
4.1 PLC自由口通信方式
工控機與 PLC通訊,工控機為 RS 232 串行接口,S7 - 200 為 RS 485 串行接口,他們之間不能直接相連使用,要實現(xiàn) PLC 和 PC 之間的實時通訊,須進行電平轉換,這種轉換是通過帶隔離型的 RS 232/485 轉換器來實現(xiàn)的。工控機與PLC自由口通訊如圖1所示。
圖1 工控機與PLC自由口通訊示意圖
本控制系統(tǒng)中采用了自由口通信方式實現(xiàn)與工控機的控制。自由口通信方式是 S7 - 200 PLC的一個很有特色的功能,他可以使通信的范圍大大增加,使控制系統(tǒng)更加靈活、方便。通信協(xié)議完全由用戶程序控制,通過設置特殊寄存器 SMB30,SMB86,SMB87,SMB94 等的控制字來確定通訊參數(shù),通過使用接收中斷、發(fā)送中斷、發(fā)送指令和接收指令對通信口操作,通信協(xié)議完全可以由梯形圖程序控制。本系統(tǒng)采用定時發(fā)送,通過中斷查詢的方式接收數(shù)據(jù)。PLC發(fā)送和接收的流程圖如圖2、圖3所示。
圖2 發(fā)送程序流程圖
圖3 接收程序流程圖
4.2 MSComm控件
VB 6.0 是一個可視化的窗口開發(fā)環(huán)境,微軟公司在VB 中提供了 MSComm 控件,該控件可以對串口狀態(tài)、通信協(xié)議、數(shù)據(jù)的接收和發(fā)送進行設置。MSComm 的工作方式有兩種,一是查詢方式,二是事件驅動方式。并且MSComm 控件屏蔽了通訊過程中的底層操作,可以方便地實現(xiàn) PC與 PLC之間的串行通訊。
MSComm 屬性很多,實現(xiàn)通訊只要在程序中設置好幾個重要的通訊屬性即可,屬性設置如表1。
表1 Mscomm控件屬性
4.3 接口編程
在實施過程中,上位機與下位機之間要進行數(shù)據(jù)傳輸,本系統(tǒng)中,PLC要向上位機傳輸多個參數(shù):1個水位傳感器壓力信號、2個報警信號及手動/自動狀態(tài)信號等,同時要求上位機向PLC傳送開關控制信號、壓力設定值信號及調節(jié)參數(shù),并把手動/自動狀態(tài)命令送入PLC中,組成一個帶上位機的PLC智能控制系統(tǒng)。系統(tǒng)界面如圖4所示。這里應當注意的是,由于采用的通訊方式是半雙工的RS-485通訊,所以發(fā)送和接收指令不能同時使用。
圖4 系統(tǒng)界面
4.3.1 PLC部分程序
初始化:
NETWORK 1
LD SM0.0 //首次掃描
MOVB 16#05, SMB30 //初始化自由通信
NETWORK 2
MOVB 16#B0, SMB87 //初始化RCV信息控制字符
MOVB 16#0A, SMB89 //設定信息結束字符
MOVW +5, SMW90 //設置空閑線超時時間為5ms
MOVB 100, SMB94 //設置最大字符數(shù)為100
NETWORK 3
ATCH INT_0:INT0, 23 //接收完成事件連接到中斷
ATCH INT_2:INT2, 9 //發(fā)送完成事件連接到中斷
ENI //中斷允許
RCV VB100, 0 //端口指向接收緩沖區(qū)VB100
中斷程序INT_0 //接收完成中斷
LDB= SMB86, 16#20 //接收狀態(tài)顯示接收到結束字符
MOVB 10, SMB34 //連接一個10ms的時基中斷,觸發(fā)發(fā)送
收到的信息字符
ATCH INT_1:INT1, 10
CRETI
NOT //接收未完成
RCV VB100, 0 //啟動一個新的接收
中斷程序INT_1 //定時中斷
LD SM0.0
DTCH 10 //斷開定時器中斷
XMT VB100,0 //在端口0向用戶回送信息
中斷程序INT_2 //發(fā)送完成中斷
LD SM0.0
RCV VB100, 0 //發(fā)送完成,允許另一個接收
4.3.2 VB部分通信程序
Private Sub MSComm1_OnComm()
Static SCOMS As String
Dim S1 As String
If MSComm1.CommEvent = comEvReceive Then ‘如果接收到字符
S1 = MSComm1.Input ‘把接收緩沖區(qū)內的數(shù)據(jù)賦值給臨時變量"S1"
If (S1 = Chr(&H1B)) And (Len(SCOMS) > 3) Then ‘如果變量"S1"(接收緩沖區(qū)內的數(shù)據(jù)接收到起始字符‘&H1B‘,并且變量"SCOMS"中的字節(jié)數(shù)大于3),則 SCOMS = ""
Else
If S1 <> Chr(&HD) Then ‘如果變量"S1"沒有接收到結束字符‘&H0D‘
SCOMS = SCOMS & S1
Else
Call mySave(SCOMS)
End If
End If
End If
End Sub
5 結束語
在工業(yè)控制過程中,常常需要PLC與其他設備的通訊,若采用廠方提供的復雜的通訊方式,必然會使系統(tǒng)的擴展性、靈活性和性價比大打折扣,在中小規(guī)模控制系統(tǒng)中采用自由口通訊,可以有效地解決以上問題。
參考文獻
[1]范逸之.Visual Basic與RS-232串行通信控制.北京:清華大學出版社,2002.54-110.
[2]王永華.現(xiàn)代電氣控制及PLC應用技術[M].北京:航空航天大學出版社,2003.
[3]劉炳文. 精通Visual Basic6.0中文版[M].北京:電子工業(yè)出版社,1999.
[4]SIEMENS SIMATIC S7-200可編程控制器系統(tǒng)手冊.
標簽:
中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16
2025-06-09
2025-06-06
2025-05-19
2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11