技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于PLC和組態(tài)王軟件轉(zhuǎn)轍機(jī)測試臺微機(jī)監(jiān)控系統(tǒng)

基于PLC和組態(tài)王軟件轉(zhuǎn)轍機(jī)測試臺微機(jī)監(jiān)控系統(tǒng)

時(shí)間:2009-01-23 09:22:07來源:ronggang

導(dǎo)語:?本文在介紹西門子公司的S7-200系列的可編程控制器,以及上位機(jī)監(jiān)控軟件“組態(tài)王”軟件的基礎(chǔ)上,根據(jù)轉(zhuǎn)轍機(jī)測試臺微機(jī)監(jiān)控系統(tǒng)的要求,提出一種用VB6.0實(shí)現(xiàn)組態(tài)王軟件實(shí)時(shí)監(jiān)控西門子系列PLC的方法
摘 要:本文在介紹西門子公司的S7-200系列的可編程控制器,以及上位機(jī)監(jiān)控軟件“組態(tài)王”軟件的基礎(chǔ)上,根據(jù)轉(zhuǎn)轍機(jī)測試臺微機(jī)監(jiān)控系統(tǒng)的要求,提出一種用VB6.0實(shí)現(xiàn)組態(tài)王軟件實(shí)時(shí)監(jiān)控西門子系列PLC的方法。 關(guān)鍵詞:組態(tài)王;可編程控制器;動(dòng)態(tài)數(shù)據(jù)交換 [b][align=center]The Control System of Point Switch Based on PLC and Kingview Software JING Wei,WANG Peng, WU Wei[/align][/b] Abstract: According to requirement of the control system of Port Switch, one method of the Kingview software system of real time control of PLC by VB6.0 is brought forward, based on introduction of PLC of S7-200 serial of SIEMENS and Kingview software. Keywords: Kingview;programmable logic control(PLC);dynamic data exchange(DDE) 1 引言   工業(yè)自動(dòng)化通用組態(tài)軟件-組態(tài)王軟件系統(tǒng)與最終工程人員使用的具體的PLC或現(xiàn)場部件無關(guān)。對于不同的硬件設(shè)施,只需為組態(tài)王配置相應(yīng)的通訊驅(qū)動(dòng)程序即可。組態(tài)王支持的硬件設(shè)備包括:可編程控制器(PLC)、智能模塊、板卡、智能儀表、變頻器等等。   PLC以卓越的可靠性和方便的可編程性廣泛應(yīng)用于工業(yè)控制領(lǐng)域[1]。實(shí)現(xiàn)PC機(jī)和PLC通訊的目的是為了向用戶提供諸如工藝流程圖顯示、動(dòng)態(tài)數(shù)據(jù)畫面顯示、報(bào)表顯示、窗口技術(shù)等多種功能,為PLC提供良好的人機(jī)界面。   本工程采用西門子公司的S7-200系列的可編程控制器[2],及上位工控機(jī)組成控制系統(tǒng)。上位機(jī)監(jiān)控軟件采用北京亞控科技發(fā)展有限公司的6.5“組態(tài)王”組態(tài)軟件,實(shí)現(xiàn)對轉(zhuǎn)轍機(jī)測試臺的過程監(jiān)控及數(shù)據(jù)處理。 2 系統(tǒng)簡介   轉(zhuǎn)轍機(jī)是鐵路上常見的用于控制火車前進(jìn)方向的設(shè)備。轉(zhuǎn)轍機(jī)活動(dòng)桿的伸出或者縮回決定火車不同的前進(jìn)方向。   轉(zhuǎn)轍機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)以組態(tài)王為主要運(yùn)行畫面,首先在組態(tài)王界面上對被監(jiān)控系統(tǒng)的參數(shù)進(jìn)行設(shè)置,然后起動(dòng)被測的轉(zhuǎn)轍機(jī)測試臺,在組態(tài)王的界面上可以動(dòng)態(tài)顯示下位機(jī)的運(yùn)行狀態(tài)以及完成對多種電動(dòng)直流轉(zhuǎn)轍機(jī)各項(xiàng)電器性能指標(biāo)的測試,如工作電流、工作電壓、摩擦電流(故障電流)、轉(zhuǎn)換力及轉(zhuǎn)換時(shí)間(動(dòng)作時(shí)間)等。由于組態(tài)王只提供這類西門子可編程控制器PLC的驅(qū)動(dòng)程序,沒有提供其通訊協(xié)議,因此,在功能并不很強(qiáng)大的組態(tài)王內(nèi)部直接開發(fā)可編程控制器PLC的通訊協(xié)議是有較大難度的。一般采用的方法是:利用Visual Basic提供的串行通訊功能[3]、[4],實(shí)現(xiàn)與可編程控制器PLC之間的通訊,再利用VB的DDE功能完成組態(tài)王與Visual Basic之間的動(dòng)態(tài)數(shù)據(jù)交換。這樣就把從可編程控制器PLC采集到的外部信號通過Visual Basic間接動(dòng)態(tài)的顯示在組態(tài)王界面上。其系統(tǒng)結(jié)構(gòu)如圖1所示。
3 VB與可編程控制器PLC之間串行通訊的實(shí)現(xiàn)   帶異步通訊適配器的PC機(jī)與PLC只有滿足如下條件,才能互聯(lián)通信[5]:帶有異步通訊接口的PLC才能與帶異步通訊適配器的PC機(jī)互聯(lián);雙方采用的總線標(biāo)準(zhǔn)一致,否則要通過“總線標(biāo)準(zhǔn)變換單元”變換之后才能互聯(lián);雙方的初始化、波特率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶效驗(yàn)都相同。只有在對PLC的通訊協(xié)議分析清楚的情況下,嚴(yán)格的按照協(xié)議的規(guī)定及幀格式來編寫PC機(jī)的通訊程序。PLC中配有通訊機(jī)制,一般不需要用戶編程。   PC機(jī)與西門子系列PLC不能直接連接,要通過一條PC/PPI電纜進(jìn)行RS232/RS485的變換,圖2表示了它們之間的連接關(guān)系。
  3.1可編程控制器PLC的通訊協(xié)議   設(shè)定可編程控制器PLC的通訊協(xié)議是通過對其自由端口的初始化來完成的。在自由端口模式下,通訊協(xié)議完全由梯形圖控制。只有CPU處于RUN模式時(shí),才能進(jìn)行自由端口通訊。SMB30(用于端口0)和SMB31(用于端口1)用于選擇波特率、奇偶校驗(yàn)和數(shù)據(jù)位數(shù)。自由端口的控制字節(jié)描述如下:   BBB 自由口波特率   000= 38400波特 100= 2400波特   001= 19200波特 101= 1200波特   010= 9600波特 110= 600波特   011= 4800波特 111= 300波特   PP 奇偶選擇 MM 協(xié)議選擇   00= 無奇偶校驗(yàn) 00= 點(diǎn)到點(diǎn)協(xié)議(PPI/從站模式)   01= 偶校驗(yàn) 01= 自由口協(xié)議   10= 無奇偶校驗(yàn) 10= PPI/主站模式   D 每個(gè)字符的數(shù)據(jù)位   0= 每個(gè)字符8位 1= 每個(gè)字符7位   這里選擇的是SMB30(用于端口0),設(shè)置的字節(jié)為9(0 0001 001H),即:該協(xié)議為自由口協(xié)議,自由口波特率為9600,無奇偶校驗(yàn),每個(gè)字符的數(shù)據(jù)位為8位。   發(fā)送 發(fā)送指令(XMT)激活發(fā)送數(shù)據(jù)緩沖區(qū)(TBL)中的數(shù)據(jù)。數(shù)據(jù)緩沖區(qū)的第一個(gè)數(shù)據(jù)指明了要發(fā)送的字節(jié)數(shù)。PORT指定了用于發(fā)送的端口。   XMT指令發(fā)送一個(gè)或多個(gè)字符,最多有255個(gè)字節(jié)的緩沖區(qū)。如果有一個(gè)中斷程序連接到發(fā)送結(jié)束事件上,在發(fā)完緩沖區(qū)中的最后一個(gè)字符時(shí),則會產(chǎn)生一個(gè)中斷 (對端口0為中斷事件9,對端口1為中斷事件26)。XMT指令可以監(jiān)視發(fā)送完成狀態(tài)位SM4.5或SM4.6的變化,而不是用中斷進(jìn)行發(fā)送。   接收 接收指令(RCV)激活初始化或結(jié)束接收信息的服務(wù)。通過指定端口(PORT)接收的信息存儲于數(shù)據(jù)緩沖區(qū)(TBL)。數(shù)據(jù)緩沖區(qū)的第一個(gè)數(shù)據(jù)指明了接收的字節(jié)數(shù)。RCV指令接收一個(gè)或多個(gè)字符,最多有255個(gè)字符,這些字符存儲在緩沖區(qū)中。如果有一個(gè)中斷程序連接到接收完成事件上,在接收到緩沖區(qū)中的最后一個(gè)字符時(shí),則會產(chǎn)生一個(gè)中斷(對端口0為中斷事件23,對端口1為中斷事件24)??梢员O(jiān)視SMB86或SMB186狀態(tài)的變化,而不是用中斷進(jìn)行信息接收。   本程序展示了接收和發(fā)送的使用,它將接收一串字符,直到接收到回車符,信息又發(fā)回到發(fā)送方。   MAIN:   LD SM0.1   MOVB 16#9, SMB30 //選擇9600波特率,8位數(shù)據(jù),無校驗(yàn)   MOVB 16#B0, SMB87 //初始化RCV信息控制信息   MOVB 16#0A, SMB89 //設(shè)定信息結(jié)束為回車符   MOVW 5, SMW90 //設(shè)置空閑超時(shí)為5ms   MOVB 100, SMB94 //最大字符數(shù)為100   ATCH 0, 23 //接收完成事件連接到中斷   ATCH 1, 9 //發(fā)送完成事件連接到中斷   ENI //允許中斷   RCV VB100, 0 //接收信箱緩沖區(qū)指向VB100   INT_0: INT_1:   LDB= SMB86, 16#20 LD SM0.0   MOVB 10, SMB34 DTCH 10   ATCH 2, 10 XMT VB100, 0   CRETI INT_2:   NOT LD SM0.0   RCV VB100, 0 RCV VB100, 0   3.2 VB的通訊協(xié)議   在VB中MSComm控件可以采用輪詢或事件驅(qū)動(dòng)的方法從端口獲取數(shù)據(jù)[6]。這里采用的是事件驅(qū)動(dòng)的方法。這種方法就是在一個(gè)事件發(fā)生的時(shí)候,讓程序自動(dòng)的跳到一段程序。該控件的Oncomm事件執(zhí)行這個(gè)功能。Oncomm程序負(fù)責(zé)對諸如在串口的硬件中斷或者一個(gè)軟件緩存的計(jì)數(shù)器到達(dá)了一個(gè)觸發(fā)值這樣的事件時(shí)做出反應(yīng)。   在VB中放置一個(gè)TextBox控件。通過設(shè)定其Settings、CommPort、InputMode、Handshaking、PortOpen屬性來實(shí)現(xiàn)設(shè)定VB的通訊協(xié)議。這里設(shè)定Settings屬性為:9600,n,8,1,即:該協(xié)議的自由口波特率為9600,無奇偶校驗(yàn),每個(gè)字符的數(shù)據(jù)位為8位。 4 VB與組態(tài)王軟件數(shù)據(jù)交換的實(shí)現(xiàn)   VB與“組態(tài)王”之間通訊的實(shí)現(xiàn)主要是通過“組態(tài)王”提供的動(dòng)態(tài)數(shù)據(jù)交換(DDE)來完成的。DDE是Windows平臺上的一個(gè)完整的通信協(xié)議,它使應(yīng)用程序能彼此交換數(shù)據(jù)和發(fā)送指令。DDE過程可以比喻成兩個(gè)人的對話。提問的一方稱為“顧客”(Client),回答的一方稱為“服務(wù)器”(Server)。一個(gè)應(yīng)用程序可以同時(shí)是“顧客”和“服務(wù)器”:當(dāng)它向其他程序中請求數(shù)據(jù)時(shí),它充當(dāng)?shù)氖恰邦櫩汀?若有其他程序需要它提供數(shù)據(jù),它又成了“服務(wù)器”。這里的關(guān)鍵是要實(shí)現(xiàn)的是“組態(tài)王”作為顧客程序從VB得到數(shù)據(jù)。   使VB成為“服務(wù)器”很簡單,只需在“組態(tài)王”中設(shè)置服務(wù)器程序的三個(gè)標(biāo)識名(應(yīng)用程序名、主題名、項(xiàng)目名),并把VB應(yīng)用程序中提供數(shù)據(jù)的窗體的LinkMode屬性設(shè)置為1,不必在VB中增加任何程序。值得注意的是,將VB的FormTopic的屬性,設(shè)定成和在組態(tài)王中定義DDE設(shè)備時(shí)的“話題名”一樣;在組態(tài)王定義要顯示出指定的VB可執(zhí)行文件中指定的TextBox控件的值。 5 結(jié)束語   當(dāng)系統(tǒng)開始運(yùn)行前,要求首先運(yùn)行VB的可執(zhí)行文件作為后臺運(yùn)行程序,然后才能運(yùn)行組態(tài)王系統(tǒng)。當(dāng)可編程控制器PLC發(fā)送數(shù)據(jù)的時(shí)候,由VB接受到此數(shù)據(jù),再通過組態(tài)王提供的DDE功能,將該數(shù)據(jù)顯示到組態(tài)王界面上。這樣,就把從可編程控制器PLC采集到的外部信號通過VB間接動(dòng)態(tài)的顯示在組態(tài)王界面上。   該方法實(shí)現(xiàn)了組態(tài)王對西門子系列PLC的實(shí)時(shí)監(jiān)控。經(jīng)過測試可知,系統(tǒng)的實(shí)時(shí)響應(yīng)速度能達(dá)到ms級,并且這種實(shí)現(xiàn)系統(tǒng)實(shí)時(shí)監(jiān)控的方法可移植性強(qiáng),對于監(jiān)控其他類型的可編程控制器PLC或單片機(jī)也適用。 參考文獻(xiàn):   [1]齊從謙, 王士蘭編. PLC技術(shù)及應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社, 2000   [2]范逸之, 陳立元, 孫德萱等. 利用Visual Basic實(shí)現(xiàn)串并行通信技術(shù)[M].北京:清華大學(xué)出版社, 2001   [3]楊勇. 用VB6.0實(shí)現(xiàn)PLC與上位計(jì)算機(jī)的串行通信[J]. 微計(jì)算機(jī)信息, 2005, 10-1: 56-59.   [4] Jan Axelson著. 串行端口大全[M]. 精英科技譯. 北京:中國電力出版社, 2001   [5] (美) 麥凱爾維, 馬丁森. Visual Basic 5開發(fā)使用手冊[M]. 楊繼平譯. 北京:機(jī)械工業(yè)出版社, 1997   [6]西門子有限公司. 西門子SIMATIC S7-200可編程序控制器系統(tǒng)手冊[M]. 2000

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于PLC煤礦井上膠帶機(jī)集控系...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號