1 引言
在工業控製係統中,PLC作為一種穩定可靠的控製器已經得到了廣泛的應用。但是由於中小型PLC的人機接口功能不很完善,不能提供給用戶一個友好的交互界麵,因此妨礙了對現場運行過程的跟蹤與監控。 PLC實際工作中,通常人們采用4種裝置為PLC配置人機界麵:編程終端、顯示終端、工gong作zuo站zhan及ji個ge人ren計ji算suan機ji。編bian程cheng終zhong端duan主zhu要yao用yong於yu編bian程cheng與yu調tiao試shi,其qi監jian控kong功gong能neng相xiang對dui較jiao弱ruo。顯xian示shi終zhong端duan的de功gong能neng比bi較jiao單dan一yi,主zhu要yao用yong作zuo現xian場chang顯xian示shi。工gong作zuo站zhan係xi統tong很hen受shou用yong戶hu歡huan迎ying,它ta功gong能neng全quan麵mian、使shi用yong簡jian單dan,但dan由you於yu要yao配pei置zhi高gao級ji組zu態tai軟ruan件jian,因yin而er價jia格ge比bi較jiao昂ang貴gui。個ge人ren計ji算suan機ji可ke配pei備bei多duo種zhong高gao級ji語yu言yan,提ti供gong優you良liang的de軟ruan件jian平ping台tai,開kai發fa各ge種zhong應ying用yong係xi統tong,特te別bie是shi動dong態tai畫hua麵mian顯xian示shi等deng,與yuPLC相結合組成一套PC-PLC監控管理係統,能夠充分發揮它們各自的優點。但是在該係統中,關鍵的問題就是通信,用戶對此須做較多的開發工作。 本文詳細闡述了PC與PLC互連通信的一般方法,並以永宏公司的FATEK-FBS PLC為對象,以實際四層電梯模型監控係統為例,介紹了利用大家都熟悉的編程語言Visual Basic 和Step7,實現PLC與上位計算機實時通信的通信過程。
2 通信方式 麵對眾多生產廠家的各種類型PLC,它們各有優缺點,能夠滿足用戶的各種需求,但在形態、組成、功 能、編程等方麵各不相同,沒有一個統一的標準,各廠家製訂的通信協議也千差萬別。目前,人們主要采用以下三種方式實現PLC與PC的互聯通信: (1) 通過使用PLC開發商提供的係統協議和網絡適配器,來實現PLC與PC機的互聯通信。但是由於其通信協議是不公開的,因此互聯通信必須使用PLC開發商提供的上位機組態軟件,並采用支持相應協議的外設。可以說這種方式是PLC開發商為自己的產品量身定作的,因此難以滿足不同用戶的需求。 (2) 使用目前通用的上位機組態軟件,如組態王、InTouch、WinCC、力控等,來實現PLC與PC機的互連通信。組態軟件以其功能強大、界麵友好、開發簡潔等優點目前在PC監控領域已經得到了廣泛的應用,但是一般價格比較昂貴。組態軟件本身並不具備直接訪問PLC寄存器或其它智能儀表的能力,必須借助I/O驅動程序來實現。也就是說,I/O驅動程序是組態軟件與PLChuoqitazhinengyibiaodengshebeijiaohuxinxideqiaoliang,fuzecongshebeicaijishishishujubingjiangcaozuominglingxiadageishebei,tadekekaoxingjiangzhijieyingxiangzutairuanjiandexingneng。danshizaidaduoshuqingkuangxia,I/O驅動程序是與設備相關的,即針對某種PLC的驅動程序不能驅動其它種類的PLC,因此組態軟件的靈活性也受到了一定的限製。 (3) 利用PLC廠商所提供的標準通信端口和由用戶自定義的自由口通信方式來實現PLC與PC機的互連通信。這種方式由用戶定義通信協議,不需要增加投資,靈活性好,特別適合於小規模的控製係統。 通過上述分析不難得出,掌握如何利用PLC廠商提供的標準通信端口和自由口通信方式以及大家所熟悉的編程語言來實現PC與PLC之間的實時通信是非常必要的。
3 FATEK-FBS PLC通信方式及原理 FATEK-FBS PLC內部集成的PPI接口為用戶提供了強大的通信功能,可在多種模式下工作:PPI、Profibus-DP、自由口方式等。其中自由口通信方式最具有特色,通信協議可完全由梯形圖程序控製,通過它可以實現PLC與任何具有通信能力的設備進行互連,因而在本係統中選用自由口通信方式。 目前PLC與PC機的鏈接通信有兩種方式,一種是PC機始終處於主導地位,數據的傳送都由PC機定時發出命令,另外一種是PLC始終具有優先權。在本電梯模型監控係統中所有的控製信號均為開關量信號,考慮到上位PC機僅實時顯示電梯的運行狀態,不需向PLC發送控製指令,采用第二種通信方式。利用PLC循環掃描的特點,設備狀態一旦改變,PLC立即檢測到,並將反映係統狀態變化的數據存入指定的數據緩衝區,通過XMT發送指令,將數據通過COM口發至上位機。每個係統的狀態對應於數據緩衝區中的一個指定字節,所存儲數據均為16進(jin)製(zhi)數(shu)據(ju),為(wei)保(bao)證(zheng)通(tong)信(xin)過(guo)程(cheng)的(de)可(ke)靠(kao)性(xing),上(shang)位(wei)機(ji)對(dui)所(suo)接(jie)受(shou)到(dao)的(de)數(shu)據(ju)進(jin)行(xing)首(shou)尾(wei)字(zi)符(fu)校(xiao)驗(yan),如(ru)果(guo)校(xiao)驗(yan)成(cheng)功(gong),則(ze)說(shuo)明(ming)接(jie)收(shou)到(dao)的(de)首(shou)末(mo)字(zi)節(jie)之(zhi)間(jian)的(de)數(shu)據(ju)是(shi)正(zheng)確(que)的(de),從(cong)而(er)進(jin)行(xing)處(chu)理(li),否(fou)則(ze),放(fang)棄(qi)這(zhe)批(pi)數(shu)據(ju),要(yao)求(qiu)對(dui)方(fang)重(zhong)發(fa)。
[:page:]
4 應用實例與程序設計 (1) 係統構成 FATEK-FBS PLC內部集成的PPI接口物理特性為RS485,而上位機的標準串口為RS232,為了實現兩者的通信必須進行協議轉換,永宏公司提供的PC/PPI電纜帶有RS232/RS485電平轉換器,因此再不增加任何硬件的情況下,可以方便的實現二者的互聯和協議轉換。 作為控製器的FATEK-FBS PLC利用電梯模型自帶的電源線實現與四層電梯模型的互連,該電梯模型為教學試驗裝置,具備一般電梯的基本功能。 (2) PLC部分編程 ① 自由端口的初始化 在自由口通信模式下,通過設置特殊存儲器SMB30(端口0),來為自由端口通信選擇波特率、奇偶校驗和數據位。這些設定必須與PC機設定值相一致。其格式如下: SMB30 pp為奇偶校驗選擇,d為數據位選擇,bbb為波特率選擇。 00為無校驗,0為每個字符8位,000為38 400 baud,001為19 200baud; 01為偶校驗,1為每個字符7位,010為9 600 baud,011為4 800baud; 10為無校驗,100為2 400baud,101為1 200baud; 11為奇校驗,110為600baud,111為300baud; mm為協議選擇:00為PPI協議,01為自由口協議,10為PPI/主站模式,11默認為PPI/從站模式。
② FATEK-FBS PLC實時向上位PC機傳送數據 在zai對dui電dian梯ti模mo型xing控kong製zhi中zhong,所suo有you的de控kong製zhi信xin號hao均jun為wei開kai關guan量liang,基ji於yu這zhe一yi特te點dian,係xi統tong狀zhuang態tai的de改gai變bian即ji為wei這zhe些xie開kai關guan量liang信xin號hao狀zhuang態tai的de改gai變bian,因yin此ci可ke通tong過guo跟gen蹤zong這zhe些xie開kai關guan量liang信xin號hao的de上shang升sheng沿yan信xin號hao、下降沿信號的到來,做為係統狀態改變的依據。據此在本係統中,通過對同一個開關量信號的上升沿、下降沿分別定義不同的16進製數的方式,來代表信號的產生與結束,當檢測到這些信號產生時,便將這些數據存入指定的數據緩衝區中的字節中,並通過COM口發至上位PC機,同時產生發送完成中斷,PLC延遲等待接收來自上位機的應答信號,通過分析存儲在接收字符緩衝器SMB2中的數據,判斷是否需要重新發送。下位機程序如圖1所示。
圖1 下位機程序流程圖 [:page:]
(3) 上位機部分編程 基於VB處理監控界麵圖形、數據報表及通信的方便快捷,本課題上位機的編程環境采用VB來實現。VB不僅提供了MSCOMM串(chuan)行(xing)通(tong)信(xin)控(kong)件(jian),而(er)且(qie)也(ye)為(wei)這(zhe)個(ge)控(kong)件(jian)提(ti)供(gong)了(le)標(biao)準(zhun)的(de)事(shi)件(jian)處(chu)理(li)函(han)數(shu),並(bing)通(tong)過(guo)設(she)置(zhi)它(ta)的(de)一(yi)些(xie)屬(shu)性(xing)對(dui)通(tong)信(xin)接(jie)口(kou)進(jin)行(xing)初(chu)始(shi)化(hua),從(cong)而(er)很(hen)容(rong)易(yi)的(de)實(shi)現(xian)了(le)串(chuan)行(xing)通(tong)信(xin)的(de)問(wen)題(ti)。 下麵介紹一下有關此控件的屬性:
Commport,設置通信連接端口。程序必須指定要使用的串行端口的號碼,Windows使用所設置的通信端口與外界進行通信。 Settings,設置初始化參數。其格式為“BBBB,P,D,S”,其中BBBB為連接速度,P為奇偶校驗方式,D為數據位數,S為停止位數。默認值是“9 600,n,8,1”。 PortOpen,設置通信連接端口的狀態。使用串行端口之前必須先將要使用的串行端口打開。 Input,返回並刪除接收緩衝區中的數據流。 InputLen,設置從串行端口讀入的字符串長度。 Rthreshold,設置引發接收事件的字符數。 InputMode,設置接收數據數據形式。 OnCommshijian,yonglaichulisuoyouyutongxinxiangguandeshijian。shiyongshijianchengxudehaochushibuxuyaoyizhirangchengxuchuyujiancedezhuangtaixia,zhiyaoshixianjiangchengxudaimaxiehao,yiyoushijianfasheng,jiuhuizhijiezhixingxiangduiyingdechengxudaima。kejianzhezhongshijianqudongdefangshiyeweishixianshishitongxintigonglebiyaodetiaojian。shangweijichengxurutu3所示。PC機根據接收到的信息很容易的實現對每個開關量的狀態進行識別,從而控製監控界麵的實時顯示。
5 結語 以上是基於FATEK-FBS PLC自由口通信方式實現與上位機PC實時通信的一個簡單應用。經驗證,該方法簡單、實時性好,可靠性高,對於邏輯控製係統,是能夠實現對被控對象實時監控簡單易行的方法。