《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 一種高性價比的PLC與上位機的通信實現(xiàn)

一種高性價比的PLC與上位機的通信實現(xiàn)

2009-03-17
作者:鄭 萍 潘世永

  摘?? 要: 對FX2系列的PLC與上位機的通信實現(xiàn),提出了一種價格低、體積小的接口方案,討論了其硬件和軟件的設(shè)計思想,該接口裝置在控制室和實驗室環(huán)境下運行可靠。

  關(guān)鍵詞: 上位機? 通信? 接口? 可編程控制器

?

  PLC作為一種高性能的控制裝置,在分布式系統(tǒng)中得到了越來越廣泛的應(yīng)用。在這種控制方式中,上位監(jiān)控機系統(tǒng)是其中重要的組成部分。PLC可以多種方式如直接采用現(xiàn)有的組態(tài)監(jiān)控軟件與上位監(jiān)控機通信,但針對小規(guī)模的控制系統(tǒng),找到一種高性能價格比的通信方法,具有積極的實際意義。本文就日本三菱公司生產(chǎn)的FX2可編程控制器與PC機通信方式的實現(xiàn),從軟、硬件兩個方面來說明這個問題。

1 通信裝置的硬件描述

  PLC與PC機之間實現(xiàn)通信,可使二者互補功能上的不足,PLC用于控制方面既方便又可靠,而PC機在圖形顯示、數(shù)據(jù)處理、打印報表以及中文顯示等方面有很強的功能。因此,各PLC制造廠家紛紛開發(fā)了適用于本公司的各種型號PLC與PC機通信的接口模塊。三菱公司開發(fā)的FX-232AW接口模塊用于FX2系列PLC與計算機通信。還有與以太網(wǎng)連接的接口模塊AJ71E71、與MAP網(wǎng)連接的接口模塊AJ71M51-S1、與FAIS MAP網(wǎng)連接的接口模塊AJ71M51CM1等。不同的通信方式,有著不同的成本價格和不同的適用范圍。在此介紹一種通過PC機的RS-232口與PLC進行通信的實現(xiàn)方法。

  FX2系列PLC的編程接口采用RS-422標(biāo)準(zhǔn),而計算機的串行口采用RS-232標(biāo)準(zhǔn)。因此,作為實現(xiàn)PLC計算機通信的接口電路,必須將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ā)送器和差動接收器將邏輯電平和電位差之間進行轉(zhuǎn)換(+2V表示“0”,-2V表示“1”)。

  選用MAXIM公司的MAX202實現(xiàn)RS-232與TTL之間的電平轉(zhuǎn)換。MAX202內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,僅需+5V電源就可工作,使用十分方便;選用MAX490實現(xiàn)RS-485與TTL之間的轉(zhuǎn)換。每片MAX490有一對發(fā)送器/接收器,由于通信采用全雙工方式,故需兩片MAX490,另外只需外接4只電容即可。

  PLC的RS-422接口配接DB-25型連接器,而PC機一般用DB-9型連接器。硬件電路圖如圖1所示。

?

  將RS-232的RS、CS短接,這樣對計算機發(fā)送數(shù)據(jù)來說,PLC總是處于就緒狀態(tài)。也就是說,計算機在任何時候都可以將數(shù)據(jù)送到PLC內(nèi)。又由于DR、ER交叉連接,因此,對計算機接收數(shù)據(jù)來說,必須等待至PLC處于準(zhǔn)備就緒狀態(tài)。

2 通信裝置的軟件描述

2.1 FX2系列PLC與計算機之間的通信協(xié)議

  FX2系列PLC與計算機之間的通信采用RS-232標(biāo)準(zhǔn),其傳輸速率固定為9600bps,奇偶校驗位采用偶校驗。數(shù)據(jù)格式如圖2所示。數(shù)據(jù)以幀為單位發(fā)送和接收。一個多字符幀由圖3所示的五部分組成,其中和校驗值是將命令碼ETX之間的所有字符的ASCII碼(十六進制數(shù))相加,取得所得和的最低二位數(shù)。STX和ETX分別表示該字符幀的起始標(biāo)志和結(jié)束標(biāo)志。

?

?

?

  FX2系列與計算機之間的通信是以主機發(fā)出的初始命令,PLC對其作出響應(yīng)的方式進行通信的。共有0、1、7、8四種命令,上位機實現(xiàn)對PLC的讀寫和強行置位。通過ENQ、ACK和NAK,上位機協(xié)調(diào)與PLC的通信應(yīng)答。

2.2 通信過程

  采用Bland C編寫主機與PLC的通信程序。首先必須對COM1口進行初始化,波特率為9600bps,奇偶校驗位采用偶校驗,七位有效數(shù)據(jù)。通信的初始化檢測過程如圖4所示。當(dāng)計算機接收到來自PLC的應(yīng)答字符ACK后,就可以進入數(shù)據(jù)通信了。通信的時序圖如圖5所示。

?

?

  計算機可對PLC內(nèi)各軟設(shè)備進行讀、寫和強制ON/OFF操作。除開PLC的計時器和計數(shù)器的設(shè)定值采用常數(shù)時,以及文件寄存器內(nèi)的數(shù)據(jù),FX2系列PLC的所有開關(guān)量輸入、輸出以及各軟設(shè)備對計算機都是透明的。其操作時的多字符幀的格式如圖3所示。但不同的操作在“多個字符”項內(nèi)有所不同。例如,計算機對PLC的軟設(shè)備Y20~Y37進行讀操作,查裝置地址表為00A2,讀取2字節(jié)數(shù)據(jù)。其狀態(tài)如圖6(a)所示,主機發(fā)出的命令格式如圖6(b)所示,PLC返回的信息如圖6(c)所示。

?

  如傳送的命令有錯誤,PLC返回NAK信號,本次操作失敗,重新進行。

  為了保證主機與PLC的通信準(zhǔn)確無誤,上位機也必須按通信協(xié)議進行和校驗。如接收的信息有誤,則重新讀取。如重復(fù)3次仍不行,則顯示錯誤信息。

  使用C語言很容易實現(xiàn)以上編程。

  主機還可向PLC寫數(shù)據(jù),進行單點的強迫置位和復(fù)位。

對于運行在控制和實驗室環(huán)境情況下本方案運行可靠、性價比高、體積小,但是對于通信距離長,環(huán)境惡劣的情況,需加光電隔離等措施。

?

參考文獻

1 顧戰(zhàn)松.可編程控制器原理與應(yīng)用.北京:國防工業(yè)出版社,1996.1

2 FX-232AW:RS422 to RS232 interface unit instruction

3 劉樂善.微型計算機接口技術(shù)原理及應(yīng)用.武漢:華中理工大學(xué)出版社,1996.5

4 魯沐浴.C語言最新編程技巧200例.北京:電子工業(yè)出版社,1999.6

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。