技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > PLC和PC實(shí)時(shí)通信方法的研究

PLC和PC實(shí)時(shí)通信方法的研究

時(shí)間:2008-01-07 15:21:00來(lái)源:dujing

導(dǎo)語(yǔ):?本文詳細(xì)闡述了PC與PLC互連通信的一般方法,并以西門子公司的S7-200 PLC為對(duì)象,以實(shí)際四層電梯模型監(jiān)控系統(tǒng)為例,介紹了利用大家都熟悉的編程語(yǔ)言Visual Basic 和Step7,實(shí)現(xiàn)PLC與上位計(jì)算機(jī)實(shí)時(shí)通信的通信過(guò)程。
1 概述 在工業(yè)控制系統(tǒng)中,PLC作為一種穩(wěn)定可靠的控制器已經(jīng)得到了廣泛的應(yīng)用。但是由于中小型PLC的人機(jī)接口功能不很完善,不能提供給用戶一個(gè)友好的交互界面,因此妨礙了對(duì)現(xiàn)場(chǎng)運(yùn)行過(guò)程的跟蹤與監(jiān)控。 PLC實(shí)際工作中,通常人們采用4種裝置為PLC配置人機(jī)界面:編程終端、顯示終端、工作站及個(gè)人計(jì)算機(jī)。編程終端主要用于編程與調(diào)試,其監(jiān)控功能相對(duì)較弱。顯示終端的功能比較單一,主要用作現(xiàn)場(chǎng)顯示。工作站系統(tǒng)很受用戶歡迎,它功能全面、使用簡(jiǎn)單,但由于要配置高級(jí)組態(tài)軟件,因而價(jià)格比較昂貴。個(gè)人計(jì)算機(jī)可配備多種高級(jí)語(yǔ)言,提供優(yōu)良的軟件平臺(tái),開(kāi)發(fā)各種應(yīng)用系統(tǒng),特別是動(dòng)態(tài)畫面顯示等,與PLC相結(jié)合組成一套PC-PLC監(jiān)控管理系統(tǒng),能夠充分發(fā)揮它們各自的優(yōu)點(diǎn)。但是在該系統(tǒng)中,關(guān)鍵的問(wèn)題就是通信,用戶對(duì)此須做較多的開(kāi)發(fā)工作。 本文詳細(xì)闡述了PC與PLC互連通信的一般方法,并以西門子公司的S7-200 PLC為對(duì)象,以實(shí)際四層電梯模型監(jiān)控系統(tǒng)為例,介紹了利用大家都熟悉的編程語(yǔ)言Visual Basic 和Step7,實(shí)現(xiàn)PLC與上位計(jì)算機(jī)實(shí)時(shí)通信的通信過(guò)程。 2 通信方式 面對(duì)眾多生產(chǎn)廠家的各種類型PLC,它們各有優(yōu)缺點(diǎn),能夠滿足用戶的各種需求,但在形態(tài)、組成、功能、編程等方面各不相同,沒(méi)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),各廠家制訂的通信協(xié)議也千差萬(wàn)別。目前,人們主要采用以下三種方式實(shí)現(xiàn)PLC與PC的互聯(lián)通信: (1) 通過(guò)使用PLC開(kāi)發(fā)商提供的系統(tǒng)協(xié)議和網(wǎng)絡(luò)適配器,來(lái)實(shí)現(xiàn)PLC與PC機(jī)的互聯(lián)通信。但是由于其通信協(xié)議是不公開(kāi)的,因此互聯(lián)通信必須使用PLC開(kāi)發(fā)商提供的上位機(jī)組態(tài)軟件,并采用支持相應(yīng)協(xié)議的外設(shè)??梢哉f(shuō)這種方式是PLC開(kāi)發(fā)商為自己的產(chǎn)品量身定作的,因此難以滿足不同用戶的需求。 (2) 使用目前通用的上位機(jī)組態(tài)軟件,如組態(tài)王、InTouch、WinCC、力控等,來(lái)實(shí)現(xiàn)PLC與PC機(jī)的互連通信。組態(tài)軟件以其功能強(qiáng)大、界面友好、開(kāi)發(fā)簡(jiǎn)潔等優(yōu)點(diǎn)目前在PC監(jiān)控領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,但是一般價(jià)格比較昂貴。組態(tài)軟件本身并不具備直接訪問(wèn)PLC寄存器或其它智能儀表的能力,必須借助I/O驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。也就是說(shuō),I/O驅(qū)動(dòng)程序是組態(tài)軟件與PLC或其它智能儀表等設(shè)備交互信息的橋梁,負(fù)責(zé)從設(shè)備采集實(shí)時(shí)數(shù)據(jù)并將操作命令下達(dá)給設(shè)備,它的可靠性將直接影響組態(tài)軟件的性能。但是在大多數(shù)情況下,I/O驅(qū)動(dòng)程序是與設(shè)備相關(guān)的,即針對(duì)某種PLC的驅(qū)動(dòng)程序不能驅(qū)動(dòng)其它種類的PLC,因此組態(tài)軟件的靈活性也受到了一定的限制。 (3) 利用PLC廠商所提供的標(biāo)準(zhǔn)通信端口和由用戶自定義的自由口通信方式來(lái)實(shí)現(xiàn)PLC與PC機(jī)的互連通信。這種方式由用戶定義通信協(xié)議,不需要增加投資,靈活性好,特別適合于小規(guī)模的控制系統(tǒng)。 通過(guò)上述分析不難得出,掌握如何利用PLC廠商提供的標(biāo)準(zhǔn)通信端口和自由口通信方式以及大家所熟悉的編程語(yǔ)言來(lái)實(shí)現(xiàn)PC與PLC之間的實(shí)時(shí)通信是非常必要的。 3 S7-200 PLC通信方式及原理 S7-200 PLC內(nèi)部集成的PPI接口為用戶提供了強(qiáng)大的通信功能,可在多種模式下工作:PPI、Profibus-DP、自由口方式等。其中自由口通信方式最具有特色,通信協(xié)議可完全由梯形圖程序控制,通過(guò)它可以實(shí)現(xiàn)PLC與任何具有通信能力的設(shè)備進(jìn)行互連,因而在本系統(tǒng)中選用自由口通信方式。 目前PLC與PC機(jī)的鏈接通信有兩種方式,一種是PC機(jī)始終處于主導(dǎo)地位,數(shù)據(jù)的傳送都由PC機(jī)定時(shí)發(fā)出命令,另外一種是PLC始終具有優(yōu)先權(quán)。在本電梯模型監(jiān)控系統(tǒng)中所有的控制信號(hào)均為開(kāi)關(guān)量信號(hào),考慮到上位PC機(jī)僅實(shí)時(shí)顯示電梯的運(yùn)行狀態(tài),不需向PLC發(fā)送控制指令,采用第二種通信方式。利用PLC循環(huán)掃描的特點(diǎn),設(shè)備狀態(tài)一旦改變,PLC立即檢測(cè)到,并將反映系統(tǒng)狀態(tài)變化的數(shù)據(jù)存入指定的數(shù)據(jù)緩沖區(qū),通過(guò)XMT發(fā)送指令,將數(shù)據(jù)通過(guò)COM口發(fā)至上位機(jī)。每個(gè)系統(tǒng)的狀態(tài)對(duì)應(yīng)于數(shù)據(jù)緩沖區(qū)中的一個(gè)指定字節(jié),所存儲(chǔ)數(shù)據(jù)均為16進(jìn)制數(shù)據(jù),為保證通信過(guò)程的可靠性,上位機(jī)對(duì)所接受到的數(shù)據(jù)進(jìn)行首尾字符校驗(yàn),如果校驗(yàn)成功,則說(shuō)明接收到的首末字節(jié)之間的數(shù)據(jù)是正確的,從而進(jìn)行處理,否則,放棄這批數(shù)據(jù),要求對(duì)方重發(fā)。 4 應(yīng)用實(shí)例與程序設(shè)計(jì) (1) 系統(tǒng)構(gòu)成 S7-200 PLC內(nèi)部集成的PPI接口物理特性為RS485,而上位機(jī)的標(biāo)準(zhǔn)串口為RS232,為了實(shí)現(xiàn)兩者的通信必須進(jìn)行協(xié)議轉(zhuǎn)換,西門子公司提供的PC/PPI電纜帶有RS232/RS485電平轉(zhuǎn)換器,因此再不增加任何硬件的情況下,可以方便的實(shí)現(xiàn)二者的互聯(lián)和協(xié)議轉(zhuǎn)換。 作為控制器的FATEK-FBS PLC利用電梯模型自帶的電源線實(shí)現(xiàn)與四層電梯模型的互連,該電梯模型為教學(xué)試驗(yàn)裝置,具備一般電梯的基本功能。硬件連接如圖1所示。 [align=center] 圖1 硬件連接示意圖[/align] (2) PLC部分編程 ① 自由端口的初始化 在自由口通信模式下,通過(guò)設(shè)置特殊存儲(chǔ)器SMB30(端口0),來(lái)為自由端口通信選擇波特率、奇偶校驗(yàn)和數(shù)據(jù)位。這些設(shè)定必須與PC機(jī)設(shè)定值相一致。其格式如下: SMB30 pp為奇偶校驗(yàn)選擇,d為數(shù)據(jù)位選擇,bbb為波特率選擇。  00為無(wú)校驗(yàn),0為每個(gè)字符8位,000為38 400 baud,001為19 200baud;  01為偶校驗(yàn),1為每個(gè)字符7位,010為9 600 baud,011為4 800baud;  10為無(wú)校驗(yàn),100為2 400baud,101為1 200baud;  11為奇校驗(yàn),110為600baud,111為300baud; mm為協(xié)議選擇:00為PPI協(xié)議,01為自由口協(xié)議,10為PPI/主站模式,11默認(rèn)為PPI/從站模式。 ② S7-200PLC實(shí)時(shí)向上位PC機(jī)傳送數(shù)據(jù) 在對(duì)電梯模型控制中,所有的控制信號(hào)均為開(kāi)關(guān)量,基于這一特點(diǎn),系統(tǒng)狀態(tài)的改變即為這些開(kāi)關(guān)量信號(hào)狀態(tài)的改變,因此可通過(guò)跟蹤這些開(kāi)關(guān)量信號(hào)的上升沿信號(hào)、下降沿信號(hào)的到來(lái),做為系統(tǒng)狀態(tài)改變的依據(jù)。據(jù)此在本系統(tǒng)中,通過(guò)對(duì)同一個(gè)開(kāi)關(guān)量信號(hào)的上升沿、下降沿分別定義不同的16進(jìn)制數(shù)的方式,來(lái)代表信號(hào)的產(chǎn)生與結(jié)束,當(dāng)檢測(cè)到這些信號(hào)產(chǎn)生時(shí),便將這些數(shù)據(jù)存入指定的數(shù)據(jù)緩沖區(qū)中的字節(jié)中,并通過(guò)COM口發(fā)至上位PC機(jī),同時(shí)產(chǎn)生發(fā)送完成中斷,PLC延遲等待接收來(lái)自上位機(jī)的應(yīng)答信號(hào),通過(guò)分析存儲(chǔ)在接收字符緩沖器SMB2中的數(shù)據(jù),判斷是否需要重新發(fā)送。下位機(jī)程序如圖2所示。 [align=center] 圖2 下位機(jī)程序流程圖[/align] (3) 上位機(jī)部分編程 基于VB處理監(jiān)控界面圖形、數(shù)據(jù)報(bào)表及通信的方便快捷,本課題上位機(jī)的編程環(huán)境采用VB來(lái)實(shí)現(xiàn)。VB不僅提供了MSCOMM串行通信控件,而且也為這個(gè)控件提供了標(biāo)準(zhǔn)的事件處理函數(shù),并通過(guò)設(shè)置它的一些屬性對(duì)通信接口進(jìn)行初始化,從而很容易的實(shí)現(xiàn)了串行通信的問(wèn)題。 下面介紹一下有關(guān)此控件的屬性: Commport,設(shè)置通信連接端口。程序必須指定要使用的串行端口的號(hào)碼,Windows使用所設(shè)置的通信端口與外界進(jìn)行通信。 Settings,設(shè)置初始化參數(shù)。其格式為“BBBB,P,D,S”,其中BBBB為連接速度,P為奇偶校驗(yàn)方式,D為數(shù)據(jù)位數(shù),S為停止位數(shù)。默認(rèn)值是“9 600,n,8,1”。 PortOpen,設(shè)置通信連接端口的狀態(tài)。使用串行端口之前必須先將要使用的串行端口打開(kāi)。 Input,返回并刪除接收緩沖區(qū)中的數(shù)據(jù)流。 InputLen,設(shè)置從串行端口讀入的字符串長(zhǎng)度。 Rthreshold,設(shè)置引發(fā)接收事件的字符數(shù)。 InputMode,設(shè)置接收數(shù)據(jù)數(shù)據(jù)形式。 OnComm事件,用來(lái)處理所有與通信相關(guān)的事件。使用事件程序的好處是不需要一直讓程序處于檢測(cè)的狀態(tài)下,只要事先將程序代碼寫好,一有事件發(fā)生,就會(huì)直接執(zhí)行相對(duì)應(yīng)的程序代碼??梢?jiàn)這種事件驅(qū)動(dòng)的方式也為實(shí)現(xiàn)實(shí)時(shí)通信提供了必要的條件。上位機(jī)程序如圖3所示。 [align=center] 圖3 上位機(jī)程序流程圖[/align] PC機(jī)根據(jù)接收到的信息很容易的實(shí)現(xiàn)對(duì)每個(gè)開(kāi)關(guān)量的狀態(tài)進(jìn)行識(shí)別,從而控制監(jiān)控界面的實(shí)時(shí)顯示。 5 結(jié)語(yǔ) 以上是基于S7-200PLC自由口通信方式實(shí)現(xiàn)與上位機(jī)PC實(shí)時(shí)通信的一個(gè)簡(jiǎn)單應(yīng)用。經(jīng)驗(yàn)證,該方法簡(jiǎn)單、實(shí)時(shí)性好,可靠性高,對(duì)于邏輯控制系統(tǒng),是能夠?qū)崿F(xiàn)對(duì)被控對(duì)象實(shí)時(shí)監(jiān)控簡(jiǎn)單易行的方法。 參考文獻(xiàn) [1] 馬國(guó)華. 監(jiān)控組態(tài)軟件及其應(yīng)用[M]. 清華大學(xué)出版社. [2] 李志宏, 杜鵑, 張平, 等. 基于VB的PLC和上位機(jī)通信的實(shí)現(xiàn)方法[J]. 基礎(chǔ)自動(dòng)化, 2002,2. [3] SIMATIC S7-200可編程控制器[M]. 系統(tǒng)手冊(cè), 2000,11. [4] 范逸之, 等. 利用Visual Basic實(shí)現(xiàn)串并行通信技術(shù)[M]. 清華大學(xué)出版社

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于USB的CAN總線適配器設(shè)計(jì)

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

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

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

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

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

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

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)