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