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