關(guān)浩然
【摘要】 文章研究分析上位機(jī)與PLC之間的通信在實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)采集活動(dòng)的具體實(shí)施辦法,從系統(tǒng)的結(jié)構(gòu)與功能、軟件設(shè)計(jì)等兩方面進(jìn)行論述,以供相關(guān)企業(yè)和人員參考研究。
【關(guān)鍵詞】 上位機(jī) PLC 通信
可編程控制器PLC因其安全可靠性、抗干擾能力強(qiáng)、性價(jià)比高、編程簡(jiǎn)單等優(yōu)點(diǎn)廣泛應(yīng)用于工業(yè)自動(dòng)化控制領(lǐng)域。在工業(yè)自動(dòng)化控制中常常通過PLC監(jiān)控現(xiàn)場(chǎng)設(shè)備,這就要對(duì)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)信息進(jìn)行實(shí)時(shí)采集與管理。因此上位機(jī)與PLC之間的實(shí)時(shí)通信是自動(dòng)化控制系統(tǒng)設(shè)計(jì)開發(fā)的重點(diǎn)之一。
一、PLC通信功能
1.1通信協(xié)議
PLC提供了與計(jì)算機(jī)的專有通信協(xié)議,可用于計(jì)算機(jī)與PLC的通信,最多可訪問6臺(tái)PLC。而且不需要梯形圖計(jì)算機(jī)就可以直接讀寫操作PLC。計(jì)算機(jī)和PLC之間的通信有3種形式:計(jì)算機(jī)從PLC中讀取數(shù)據(jù);計(jì)算機(jī)向PLC寫數(shù)據(jù);PLC向計(jì)算機(jī)寫數(shù)據(jù)。FX系列PLC一般使用異步通信,異步通信的字符信息格式,由1個(gè)起始位、7~8個(gè)數(shù)據(jù)位、1個(gè)奇偶校驗(yàn)位和停止位組成,波特率為9600 bps,字符為ASCⅡ碼。FX系列PLC有讀、寫、強(qiáng)制通、強(qiáng)制斷4個(gè)通信命令,并有5個(gè)通信控制代碼:STX——數(shù)據(jù)開始傳送;ETX——數(shù)據(jù)傳送結(jié)束;ENQ——要求通信;ACK——了解;NAK——不了解。
1.2通信參數(shù)設(shè)置
1、D8120的設(shè)置。D8120可用來設(shè)置如下通信參數(shù):數(shù)據(jù)長(zhǎng)度、校驗(yàn)、停止位、波特率、起始字符、結(jié)束字符、握手控制線、求和校驗(yàn)、協(xié)議方式、通信控制協(xié)議。2、PLC站號(hào)的設(shè)置。計(jì)算機(jī)通信模式下,計(jì)算機(jī)可以讀寫任何一臺(tái)PLC的元件數(shù)據(jù),所以必須以編號(hào)的形式對(duì)PLC加以區(qū)分,該編號(hào)就稱為PLC站號(hào)。FX系列PLC用D8121數(shù)據(jù)寄存器來設(shè)定和存儲(chǔ)站號(hào),設(shè)定范圍為00H~0FH。
二、PLC與上位機(jī)之間的通信協(xié)議原理
在上位機(jī)中必須依據(jù)與之互聯(lián)的PLC的通信協(xié)議來編寫通信程序,因此先論述FX2系列PLC的通信協(xié)議。使用FX2系列PLC的編程口與上位機(jī)通信時(shí),波特率和字符幀格式是固定的。其波特率為9600bps,具體格式為7位數(shù)據(jù)位、偶校驗(yàn)、1位停止位。所有的字符均為ASCII碼。上位機(jī)與PLC采用呼叫應(yīng)答的通信方式,即采用上位機(jī)具有優(yōu)先權(quán)發(fā)送方式,其具體通信過程如下:首先上位機(jī)主動(dòng)向PLC發(fā)送命令,即命令幀;然后PLC收到命令后,自動(dòng)向上位機(jī)回復(fù)響應(yīng),即響應(yīng)幀。它們?cè)谕ㄐ胚^程中所采用的通信格式為信息報(bào)文格式,該格式規(guī)定了通信所使用的控制字符,ENQ、STX、ETX、ACK、NAK5個(gè)控制字符。STX和ETX分別為開始標(biāo)志和結(jié)束標(biāo)志;正文為命令碼和數(shù)據(jù)信息;校驗(yàn)和為從正文到ETX之間的所有字符的ASCⅡ碼的相加,取和的低悶位。上位機(jī)與PLC通信時(shí)可以使用的命令有四個(gè),它們是:命令、寫命令、強(qiáng)制通命令、強(qiáng)制斷命令。
三、PLC與上位機(jī)運(yùn)行情況
上位機(jī)系統(tǒng)和下位機(jī)系統(tǒng)采用工業(yè)以太網(wǎng)的通信方式,下位機(jī)系統(tǒng)通過現(xiàn)場(chǎng)控制模塊實(shí)現(xiàn)對(duì)生產(chǎn)線的控制。上位機(jī)系統(tǒng)由上層管理軟件、生產(chǎn)調(diào)度控制軟件和數(shù)據(jù)存儲(chǔ)軟件組成。上層管理軟件包括系統(tǒng)狀態(tài)監(jiān)視模塊、歷史數(shù)據(jù)查詢模塊、系統(tǒng)參數(shù)設(shè)置模塊。系統(tǒng)狀態(tài)監(jiān)視模塊能夠監(jiān)視生產(chǎn)線各個(gè)部位的狀態(tài),并且實(shí)時(shí)顯示產(chǎn)品在生產(chǎn)線上的具體位置,也可以通過查詢數(shù)據(jù)存儲(chǔ)系統(tǒng)了解產(chǎn)品的生產(chǎn)狀態(tài)、下一步工序等信息;歷史數(shù)據(jù)查詢模塊用來查詢、處理產(chǎn)品的歷史數(shù)據(jù),可將歷史數(shù)據(jù)生成、統(tǒng)計(jì)各種直觀的圖表,也可以將所需的數(shù)據(jù)導(dǎo)出成EXCEL文件并打??;系統(tǒng)參數(shù)設(shè)置模塊根據(jù)不同的生產(chǎn)需求動(dòng)態(tài)地對(duì)生產(chǎn)線相關(guān)的參數(shù)進(jìn)行設(shè)置,還可以根據(jù)現(xiàn)場(chǎng)情況對(duì)生產(chǎn)線的某些需要維護(hù)的功能部件進(jìn)行屏蔽。系統(tǒng)狀態(tài)監(jiān)視模塊和歷史數(shù)據(jù)查詢模塊可由現(xiàn)場(chǎng)操作人員使用,系統(tǒng)參數(shù)設(shè)置模塊關(guān)系到生產(chǎn)的順利進(jìn)行只能由擁有高等級(jí)權(quán)限的工程師才能使用。整個(gè)控制系統(tǒng)的核心由數(shù)據(jù)存儲(chǔ)軟件和生產(chǎn)調(diào)度控制軟件組成。數(shù)據(jù)存儲(chǔ)軟件存儲(chǔ)產(chǎn)品歷史數(shù)據(jù)和相關(guān)的生產(chǎn)工藝步驟,生產(chǎn)調(diào)度控制軟件控制整個(gè)生產(chǎn)線的運(yùn)轉(zhuǎn)。數(shù)據(jù)存儲(chǔ)軟件和生產(chǎn)調(diào)度控制軟件中都具有復(fù)雜的優(yōu)化算法和控制模式。下位機(jī)系統(tǒng)中,產(chǎn)品條碼與工藝綁定模塊的功能是把要生產(chǎn)的產(chǎn)品的編號(hào)和生產(chǎn)工藝輸入到數(shù)據(jù)存儲(chǔ)系統(tǒng),以便產(chǎn)品在生產(chǎn)時(shí)的控制和生產(chǎn)數(shù)據(jù)的記錄。沒有錄入成功的產(chǎn)品將視為非法產(chǎn)品,由問題產(chǎn)品退出模塊退出,并提示重新錄入信息。產(chǎn)品成品分檔模塊在產(chǎn)品完成所有的加工工藝后,負(fù)責(zé)產(chǎn)品的歸類、分檔。問題產(chǎn)品退出模塊退出問題產(chǎn)品、顯示產(chǎn)品故障的具體原因并告知工作人員后續(xù)的故障處理流程。生產(chǎn)控制模塊和機(jī)械設(shè)備控制模塊即裝載了硬件設(shè)備控制程序的PLC。
總結(jié):隨著計(jì)算機(jī)控制技術(shù)的不斷發(fā)展,通過上位機(jī)對(duì)PLC進(jìn)行監(jiān)測(cè)和控制,提高自動(dòng)化控制的水平。當(dāng)前在工業(yè)控制活動(dòng)中,上位機(jī)與可PLC之間的串行通信已經(jīng)成為其中的重要組成部分。面臨日益嚴(yán)峻的市場(chǎng)競(jìng)爭(zhēng)壓力與發(fā)展形勢(shì),企業(yè)需要從集散控制系統(tǒng)的構(gòu)造與軟件程序的開發(fā)應(yīng)用兩方面著手來推行通訊的成功實(shí)現(xiàn)。
參 考 文 獻(xiàn)
[1]何默為,劉永賢.上位機(jī)與PLC遠(yuǎn)程通信實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)采集研究[J].機(jī)械與電子,2011,2(04):69-70.
[2]劉玉國(guó),李居峰.基于PLC的現(xiàn)場(chǎng)數(shù)據(jù)采集和自動(dòng)化控制[J].現(xiàn)代機(jī)械,2012,2(03):116-117.