【摘要】本文以三菱可編程控制器FX2N系列為例的PLC與上拉機(jī)的通信實(shí)現(xiàn),提出了一種價(jià)格低、體積小的接口方案,討論了其硬件和軟件的設(shè)計(jì)思想,該接口裝置與控制室和實(shí)驗(yàn)室環(huán)境下運(yùn)行可靠。
【關(guān)鍵詞】上位機(jī),通信,接口,PLC
PLC作為一種高性能的控制裝置,在分布式系統(tǒng)中得到了越來越廣泛的應(yīng)用。在這種控制方式中,上位監(jiān)控機(jī)系統(tǒng)是其中重要的組成部分。PLC可以多種方式如直接采用現(xiàn)有的組態(tài)監(jiān)控軟件與上位監(jiān)迭機(jī)通信,但針對小規(guī)模的控制系統(tǒng),找到一種高性能價(jià)格比的通信方法,具有積極的實(shí)際意義。本文就日本三菱公司生產(chǎn)的FX2N可編程控制器與PC機(jī)通信方式的實(shí)現(xiàn),從軟、硬件兩個(gè)方面來說明這個(gè)問題。
1.上位機(jī)與PLC通訊的原理
在利用外部設(shè)備與可編程控制器之間進(jìn)行通訊前,必須首先規(guī)定一些參數(shù),如數(shù)據(jù)長度,奇偶校驗(yàn)、停止位以及波特率等,即通訊格式。通訊格式是通過一個(gè)四位的16進(jìn)制數(shù)而設(shè)定,這里設(shè)定為H6880,其含義是數(shù)據(jù)長度為7位,終結(jié)符為7位,奇偶校驗(yàn)為無,控制線為RS232接口,停止位為1位,和校驗(yàn)為自動(dòng)添加,波特率為9600BPS,協(xié)議為專用協(xié)議,標(biāo)題無,傳輸控制協(xié)議為協(xié)議格式1。通訊格式是在PLC中首先將其設(shè)置好的。其中協(xié)議格式的通訊格式依次規(guī)定了控制代碼、站號、PC號、命令、消息等待以及和校驗(yàn)代碼等。在FX系列可編程控制器中,站號是通過特殊寄存器D8121來設(shè)定的。設(shè)定范圍是從00H到0FH。本實(shí)驗(yàn)臺中由于上位機(jī)只和一個(gè)PLC氣動(dòng)實(shí)驗(yàn)臺通信,所以站號為00H。PC號是A系列MELSECNET(II)或MELSECNET/B上用來確定可編程控制器CPU的數(shù)字。FX系列的PC號為FFH,由兩位ASCII字符來代表,即“FF”。命令用來指定要求的操作(如讀,寫),在此控制軟件中所使用的向PLC發(fā)送的主要指令有:批量讀出位元件BR指令;批量寫入位元件BW指令;強(qiáng)制PLC運(yùn)行(RUN)RR指令;強(qiáng)制PLC停止(STOP)RS指令。消息等待是一段計(jì)算機(jī)要求的延遲時(shí)間,以實(shí)現(xiàn)在發(fā)送和接受狀態(tài)間的轉(zhuǎn)換。和校驗(yàn)代碼用來確定消息中的數(shù)據(jù)沒有受到破壞。它是通過加上和校驗(yàn)區(qū)域中的ASCII字符的16進(jìn)制值計(jì)算得到的。
上位機(jī)和PLC在遵循相同的通訊格式和通訊協(xié)議下便可以進(jìn)行通訊了。其通訊的基本過程是:先由上位機(jī)控制軟件向PLC發(fā)出一條指令,隨即控制軟件進(jìn)入等待狀態(tài),準(zhǔn)備接收PLC的回應(yīng)信息,在收到反饋信息后進(jìn)行解讀并判斷通訊是否正確;如果判定反饋信息正確,就解讀其反饋信息,在獲得了所需的信息以后,即完成該次通訊過程,并準(zhǔn)備進(jìn)入下一個(gè)通訊過程;反之,如果判定反饋信息不正確,則進(jìn)行相應(yīng)的錯(cuò)誤處理,如向PLC重發(fā)指令等等。
2.通信裝置的硬件描述
PLC與PC機(jī)之間實(shí)現(xiàn)通道,可使二者互補(bǔ)功能上的不足,PLC用于控制方面既方便又可靠,而PC機(jī)在圖形顯示、數(shù)據(jù)處理、打印報(bào)表以及中文顯示等方面有很強(qiáng)的功能。因此,各PLC制造廠家紛紛開發(fā)了適用于本公司的各種型號PLC與PC機(jī)通信的接口模塊。三菱公司開發(fā)的FX-232AW接口模塊用于FX2N系列PLC與計(jì)算機(jī)通信。還有與以太網(wǎng)連接的接口模塊AJ71E71、與MAP網(wǎng)連接的接口模塊AJ71M51-S1、與FAIS MAP網(wǎng)連接的接口模塊AJ71M51M1等。在此介紹一種通過PC機(jī)的RS-232口與PLC進(jìn)行通信的實(shí)現(xiàn)方法。
FX2N系列PLC的編程接口采用RS-422標(biāo)準(zhǔn),而計(jì)算機(jī)的串行口采用RS-232標(biāo)準(zhǔn)。因此,作為實(shí)現(xiàn)PLC計(jì)算機(jī)通信的接口電路,必須將RS-422標(biāo)準(zhǔn)轉(zhuǎn)換成RS-232標(biāo)準(zhǔn)。RS-232與RS-422標(biāo)準(zhǔn)在信號的傳送、邏輯電平均不相同。
RS-232采用單端接收器和單端發(fā)送器,只用一根信號線來傳送信息,并且根據(jù)該信號線上電平相對于公共的信號地電平的大小來決定邏輯的“1”(-3~-15V)和“0”(+3~+15V);
RS-422標(biāo)準(zhǔn)是一種以平衡方式傳輸?shù)臉?biāo)準(zhǔn),即雙端發(fā)送和雙端接收,根據(jù)兩條傳輸線之間的電位差值來決定邏輯狀態(tài)。RS-422電路由發(fā)送器、平衡連接電纜、電纜終端負(fù)載和接收器組成。它通過平衡發(fā)送器和差動(dòng)接收器將邏輯電平和電位差之間進(jìn)行轉(zhuǎn)換(+2V表示“0”,-2V表示“1”)。將RS-232的RS、CS短接,這樣對計(jì)算機(jī)發(fā)送數(shù)據(jù)來說,PLC總是處于就緒狀態(tài)。也就是說,計(jì)算機(jī)在任何時(shí)候都可以將數(shù)據(jù)送到PLC內(nèi)。
3.通信裝置的軟件描述
3.1 FX2N系列PLC與計(jì)算機(jī)之間通信協(xié)議。FX2N系列PLC與計(jì)算機(jī)之間的通信采用RS-232標(biāo)準(zhǔn),其傳輸速率固定為9600bps,奇偶校驗(yàn)位采用偶校驗(yàn)。數(shù)據(jù)以幀為單位發(fā)送和接收。一個(gè)多字符幀由力所示的五部分組成,其中和校驗(yàn)值是將命令碼ETX之間的呢字符的ASCII碼(十六進(jìn)制數(shù))相加,取得所得和的最低二位數(shù)。STX和ETX分別表示該字符幀的起始標(biāo)起和結(jié)束標(biāo)志。
3.2 通信過程。采用Bland C編寫主機(jī)與PLC的通信程序。首先必須對COM1口進(jìn)行初始化,波特率為9600bps,奇偶校驗(yàn)位采用偶校驗(yàn),七位有效數(shù)據(jù)。當(dāng)計(jì)算機(jī)接收到來自PLC的應(yīng)答字符ACK后,就可以進(jìn)入數(shù)據(jù)通信了。
計(jì)算機(jī)可對PLC內(nèi)各軟設(shè)備進(jìn)行讀、寫和強(qiáng)制ON/OFF操作。除開PLC的計(jì)時(shí)器和計(jì)數(shù)器的設(shè)定值采用常數(shù)時(shí),以及文件寄存器內(nèi)的數(shù)據(jù),F(xiàn)X2N系列PLC的所有開關(guān)量輸入、輸出以及各軟件設(shè)備對計(jì)算機(jī)都是透明的。為了保證主機(jī)與PLC的通信準(zhǔn)確無誤,上位機(jī)也必須按通信協(xié)議進(jìn)行和校驗(yàn)。如接收的信息有誤,則重新讀取。如重復(fù)3次仍不行,則顯示錯(cuò)誤信息。使用C語言很容易實(shí)現(xiàn)以上編程。主機(jī)還可向PLC寫數(shù)據(jù),進(jìn)行單點(diǎn)的強(qiáng)近置位和復(fù)位。
參考文獻(xiàn):
[1]三菱可編程控制器FX2N編程手冊.三菱電機(jī)
[2]阮友德.電氣控制與PLC實(shí)訓(xùn)教程[M].北京:人民郵電出版社,2006.
[3]王兆義.小型可編程控制器實(shí)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2003.
[4]劉福祿.現(xiàn)代電氣控制技術(shù)[M].大連:大連理工大學(xué)出版社,2014.
作者簡介:劉福祿,(1964-),男,重慶墊江人,重慶工貿(mào)職業(yè)技術(shù)學(xué)院副教授,主要研究方向:自動(dòng)控制技術(shù)。