李靜
摘要:本文對上位機與PLC之間的通信方式、原理進行分析,并從數(shù)據(jù)格式、通信協(xié)議、數(shù)據(jù)傳輸幾個方面,對二者之間的實時通信技術(shù)加以闡述,旨在使通訊程序在工業(yè)現(xiàn)場中的應用更加科學高效。
[關(guān)鍵詞]上位機PLC串口通信技術(shù)
PLC具有較強的可靠性,屬于現(xiàn)代控制系統(tǒng)中不可缺少的重要內(nèi)容,特別是在機床控制中得到廣泛應用。一般采用小型PLC與上位機相結(jié)合的方式,上位機的主要作用在于軟件編程與調(diào)試、提供人機界面,便于各項參數(shù)調(diào)整。在本文的研究中,主要在VB6.0的基礎(chǔ)上對,上位機與PLC的通信技術(shù)進行分析。
1上位機與PLC的通信方式與原理
現(xiàn)階段,上位機與PLC之間的通信方式主要有三種,一是購買通用上位機組態(tài)軟件,如WinCC、組態(tài)王等,使計算機與可編程控制器連接起來,實現(xiàn)通信;二是借助可編程控制器開發(fā)商系統(tǒng)與網(wǎng)絡適配器,形成企業(yè)內(nèi)部網(wǎng)絡,利用開發(fā)商提供的上位機組態(tài)軟件,實現(xiàn)通信;三是利用可編程控制器廠商提供的通信端口,與用戶個人端口相連接,這種方式具有較強的靈活性,且無需投資便可適應,適用于小規(guī)??刂葡到y(tǒng)。在本文的研究中,主要針對S7-200系列PLC通信方式進行分析,其具有四種通信方式,具體如下:
(1)點對點?;谖鏖T子VB6.0的PLC編程器以及其他接口產(chǎn)品通信;
(2)多點接口。與西門子企業(yè)可編程控制器相結(jié)合,在編程器中集成通信接口,構(gòu)建小規(guī)模通信網(wǎng)絡;
(3)自由端口通信。由用戶自定義,可與眾多智能設備相互連接;
(4)DP方式。借助Profibus中的DP接口與現(xiàn)場總線網(wǎng)絡相連接,進而使PLC的應用面積進一步擴大。在本文所研究的系統(tǒng)中采用的是第三種通信方式,即自由端口通信。
上位機串口為RS232,在本文所研究的S7系列中提供的串口為RS-485,二者在通信過程中需要對信號電平進行轉(zhuǎn)換,在西門子企業(yè)所提供的電纜帶為RS485電平轉(zhuǎn)換器。對此,應在不改變硬件環(huán)境的條件下,十分快捷的實現(xiàn)上位機與PLC之間的互聯(lián)。在試驗過程中,應時刻關(guān)注電動機的工作狀態(tài),使PLC始終處于工作狀態(tài),二者均采用自主工作方法,由PLC不間斷的進行數(shù)據(jù)發(fā)送與接收,在工序中始終居于主導地位,通過二者的有機配合提高數(shù)據(jù)正確性與同步性。
2上位機與PLC間的通信技術(shù)
2.1數(shù)據(jù)格式與數(shù)據(jù)幀
現(xiàn)階段,大部分數(shù)控機床均采用步進電機為執(zhí)行系統(tǒng),利用上位機對PLC中的各項加工參數(shù)進行設置,并由上位機完成對驅(qū)動電機脈沖數(shù)的記錄,然后經(jīng)過串行通訊將數(shù)據(jù)信息發(fā)送到PLC控制器之中。在通訊過程中往往采用ASCII編碼,用4個字節(jié)表示,如若不足則在前方加0,如若數(shù)據(jù)經(jīng)過VB靜態(tài)文本框輸入,共計為2個數(shù)據(jù)傳輸,然后為8個字節(jié)的ASCII編碼數(shù)據(jù),最后為幀。
2.2通信協(xié)議
在PLC與上位機之間不但要明確通信方式與原理,還應保障雙方在通信中的波特率與應答方式相同。在應答方式的選擇上,可按照實際應用需求來定。在上位機中利用VB中的通信空間MSComm能夠完成串行端口的數(shù)據(jù)傳輸功能,在該控件中具有眾多屬性,本文主要介紹幾種常用屬性,具體如下:
MSComm1.CommPort:設置并返回通信端口號;
MSComm1.Settings=”9600,n,8,1”設置波特率為9600bps,沒有奇偶校驗,1位停止位;
MSComm1.InPort:從接收緩沖區(qū)獲取數(shù)據(jù);
MSComm1.OutPut:將數(shù)據(jù)發(fā)送至輸出緩沖區(qū);
根據(jù)相關(guān)要求對MSComm控件屬性進行設置,可參考VB信息。在MSComm空間通信方式的選擇上有兩種,一種為查詢方式,另一種為事件驅(qū)動方式,通常情況下采用后者居多,根據(jù)通信協(xié)議對串行通信處理程序進行編寫,使其充當OnComm事件處理程序。當該控件屬性發(fā)生改變后,出現(xiàn)OnComm事件時,便可開啟該程序,對屬性值進行分析,并作出相應處理,從而實現(xiàn)與PLC的通信。
另外,不但要對上位機的串行通訊進行設置,還應對PLC進行設置,對S7-200系列進行設置時應與PLC通訊相關(guān),利用特殊繼電器進行輸入,具體實施時可參考相關(guān)手冊。其中,與自由口通信具有較為緊密聯(lián)系的繼電器由SMB30、SMB87、SMB89、SMB94、SMB90,分別代表的是自由口通信控制期存器、信息控制寄存器、結(jié)束符、接收字符最大數(shù)值、空閑時間間隔。當相應繼電器全部設置完畢后,可依據(jù)實際要求,對通訊主從方式進行明確,由哪一方開啟通信,如若從PLC朝著上位機提出要求進行數(shù)據(jù)傳輸,則應在上位機進行程序運行時,由PLC將信號發(fā)送給上位機,當上位機獲取到信號以后,將已經(jīng)組織完畢的數(shù)據(jù)幀傳動到PLC之中。
2.3數(shù)據(jù)處理
當上位機中的信息傳遞到PLC以后,要對接收信息的正確性進行分析,然后根據(jù)接收的數(shù)據(jù)幀對數(shù)據(jù)信息進行恢復。倘若接收數(shù)據(jù)幀無誤,則PLC便可根據(jù)語句表對數(shù)據(jù)幀進行處理,具體措施如下:
(1)對接收數(shù)據(jù)緩沖區(qū)進行設置,如RCVVB99.0,代表接受數(shù)據(jù)應存儲在VB99之中,處于數(shù)據(jù)緩沖區(qū)范圍內(nèi);
(2)將接收數(shù)據(jù)幀中的數(shù)據(jù)信息進行轉(zhuǎn)換,指令為:ATHVB101,VB300,8,代表的是從VB101開始,將8個字節(jié)的數(shù)據(jù)轉(zhuǎn)變?yōu)槭M制數(shù),在轉(zhuǎn)變完畢后,分別對VW300與VW302中的數(shù)據(jù)信息進行保存。
3結(jié)論
綜上所述,本文在VB6.0基礎(chǔ)上,對上位機與PLC之間的實時通訊技術(shù)進行分析,利用PLC自由口通信協(xié)議,借助VB開發(fā)工具,開發(fā)出通信應用軟件,實現(xiàn)對電動機的信號采集與裝置控制,對于小型系統(tǒng)來說具有較大的應用價值。
參考文獻
[1]衛(wèi)昱含,張佳瑩,基于VB6.0實現(xiàn)PC與三菱PLC之間的通訊[J].電子技術(shù)與軟件工程,2015(24):64-64.
[2]甄任賀。用VB6.0實現(xiàn)PC機與PLC的串行通信[J].機電工程,2014,21(05):17-19.