摘?? 要: 對FX2系列的PLC與上位機(jī)的通信實(shí)現(xiàn),提出了一種價(jià)格低、體積小的接口方案,討論了其硬件和軟件的設(shè)計(jì)思想,該接口裝置在控制室和實(shí)驗(yàn)室環(huán)境下運(yùn)行可靠。
關(guān)鍵詞: 上位機(jī)? 通信? 接口? 可編程控制器
?
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)的FX2可編程控制器與PC機(jī)通信方式的實(shí)現(xiàn),從軟、硬件兩個(gè)方面來說明這個(gè)問題。
1 通信裝置的硬件描述
PLC與PC機(jī)之間實(shí)現(xiàn)通信,可使二者互補(bǔ)功能上的不足,PLC用于控制方面既方便又可靠,而PC機(jī)在圖形顯示、數(shù)據(jù)處理、打印報(bào)表以及中文顯示等方面有很強(qiáng)的功能。因此,各PLC制造廠家紛紛開發(fā)了適用于本公司的各種型號PLC與PC機(jī)通信的接口模塊。三菱公司開發(fā)的FX-232AW接口模塊用于FX2系列PLC與計(jì)算機(jī)通信。還有與以太網(wǎng)連接的接口模塊AJ71E71、與MAP網(wǎng)連接的接口模塊AJ71M51-S1、與FAIS MAP網(wǎng)連接的接口模塊AJ71M51CM1等。不同的通信方式,有著不同的成本價(jià)格和不同的適用范圍。在此介紹一種通過PC機(jī)的RS-232口與PLC進(jìn)行通信的實(shí)現(xiàn)方法。
FX2系列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”)。
選用MAXIM公司的MAX202實(shí)現(xiàn)RS-232與TTL之間的電平轉(zhuǎn)換。MAX202內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,僅需+5V電源就可工作,使用十分方便;選用MAX490實(shí)現(xiàn)RS-485與TTL之間的轉(zhuǎn)換。每片MAX490有一對發(fā)送器/接收器,由于通信采用全雙工方式,故需兩片MAX490,另外只需外接4只電容即可。
PLC的RS-422接口配接DB-25型連接器,而PC機(jī)一般用DB-9型連接器。硬件電路圖如圖1所示。
?
將RS-232的RS、CS短接,這樣對計(jì)算機(jī)發(fā)送數(shù)據(jù)來說,PLC總是處于就緒狀態(tài)。也就是說,計(jì)算機(jī)在任何時(shí)候都可以將數(shù)據(jù)送到PLC內(nèi)。又由于DR、ER交叉連接,因此,對計(jì)算機(jī)接收數(shù)據(jù)來說,必須等待至PLC處于準(zhǔn)備就緒狀態(tài)。
2 通信裝置的軟件描述
2.1 FX2系列PLC與計(jì)算機(jī)之間的通信協(xié)議
FX2系列PLC與計(jì)算機(jī)之間的通信采用RS-232標(biāo)準(zhǔn),其傳輸速率固定為9600bps,奇偶校驗(yàn)位采用偶校驗(yàn)。數(shù)據(jù)格式如圖2所示。數(shù)據(jù)以幀為單位發(fā)送和接收。一個(gè)多字符幀由圖3所示的五部分組成,其中和校驗(yàn)值是將命令碼ETX之間的所有字符的ASCII碼(十六進(jìn)制數(shù))相加,取得所得和的最低二位數(shù)。STX和ETX分別表示該字符幀的起始標(biāo)志和結(jié)束標(biāo)志。
?
?
?
FX2系列與計(jì)算機(jī)之間的通信是以主機(jī)發(fā)出的初始命令,PLC對其作出響應(yīng)的方式進(jìn)行通信的。共有0、1、7、8四種命令,上位機(jī)實(shí)現(xiàn)對PLC的讀寫和強(qiáng)行置位。通過ENQ、ACK和NAK,上位機(jī)協(xié)調(diào)與PLC的通信應(yīng)答。
2.2 通信過程
采用Bland C編寫主機(jī)與PLC的通信程序。首先必須對COM1口進(jìn)行初始化,波特率為9600bps,奇偶校驗(yàn)位采用偶校驗(yàn),七位有效數(shù)據(jù)。通信的初始化檢測過程如圖4所示。當(dāng)計(jì)算機(jī)接收到來自PLC的應(yīng)答字符ACK后,就可以進(jìn)入數(shù)據(jù)通信了。通信的時(shí)序圖如圖5所示。
?
?
計(jì)算機(jī)可對PLC內(nèi)各軟設(shè)備進(jìn)行讀、寫和強(qiáng)制ON/OFF操作。除開PLC的計(jì)時(shí)器和計(jì)數(shù)器的設(shè)定值采用常數(shù)時(shí),以及文件寄存器內(nèi)的數(shù)據(jù),FX2系列PLC的所有開關(guān)量輸入、輸出以及各軟設(shè)備對計(jì)算機(jī)都是透明的。其操作時(shí)的多字符幀的格式如圖3所示。但不同的操作在“多個(gè)字符”項(xiàng)內(nèi)有所不同。例如,計(jì)算機(jī)對PLC的軟設(shè)備Y20~Y37進(jìn)行讀操作,查裝置地址表為00A2,讀取2字節(jié)數(shù)據(jù)。其狀態(tài)如圖6(a)所示,主機(jī)發(fā)出的命令格式如圖6(b)所示,PLC返回的信息如圖6(c)所示。
?
如傳送的命令有錯(cuò)誤,PLC返回NAK信號,本次操作失敗,重新進(jìn)行。
為了保證主機(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ù)位。
對于運(yùn)行在控制和實(shí)驗(yàn)室環(huán)境情況下本方案運(yùn)行可靠、性價(jià)比高、體積小,但是對于通信距離長,環(huán)境惡劣的情況,需加光電隔離等措施。
?
參考文獻(xiàn)
1 顧戰(zhàn)松.可編程控制器原理與應(yīng)用.北京:國防工業(yè)出版社,1996.1
2 FX-232AW:RS422 to RS232 interface unit instruction
3 劉樂善.微型計(jì)算機(jī)接口技術(shù)原理及應(yīng)用.武漢:華中理工大學(xué)出版社,1996.5
4 魯沐浴.C語言最新編程技巧200例.北京:電子工業(yè)出版社,1999.6