PLC控制器上位機通信控制

時間:2022-06-07 06:09:00

導語:PLC控制器上位機通信控制一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

PLC控制器上位機通信控制

可編程邏輯控制器plc作為一種高性能的控制裝置,在控制領域已經(jīng)得到了廣泛應用,在使用PLC的控制方式中,上位監(jiān)控系統(tǒng)是其中的重要組成部分。目前PLC與上位機PC(計算機)通信方式主要有以下幾種:

1)通過PLC開發(fā)商提供的系統(tǒng)協(xié)議與網(wǎng)絡適配器,構(gòu)成特定公司產(chǎn)品的內(nèi)部網(wǎng)絡,其通信協(xié)議不公開。互聯(lián)通信必須使用開發(fā)商提供的上位組態(tài)軟件,并采用支持相應協(xié)議的外設。這種方式顯示畫面和功能往往難以滿足不同用戶的需要。

2)購買通用的上位組態(tài)軟件,實現(xiàn)上位機與PLC的通信。這種方式除了要增加系統(tǒng)投資外,其應用的靈活性也受到一定的局限。

3)利用PLC廠商提供的標準通信口或由用戶自定義的自由通信口實現(xiàn)上位機與PLC互聯(lián)通信。這種方式不需要增加投資,有較好的靈活性,特別適合小規(guī)??刂葡到y(tǒng)。

不同的通信方式,有著不同的成本價格和不同的適用范圍。本文就西門子公司的S7-200系列PLC與上位機通信方法的實現(xiàn),介紹一種通過上位機的RS-232口與PLC進行自由口通信的實現(xiàn)方法。

1通信裝置的硬件實現(xiàn)

PLC與上位機之間進行通信,可使二者互補功能上的不足,PLC用于控制領域,既方便又可靠,而上位機在圖形顯示,數(shù)據(jù)處理,打印報表,以及中文顯示等方面有強大的功能。因此,各PLC制造廠商紛紛開發(fā)了適用于本公司產(chǎn)品與計算機通信的端口或模塊。西門子S7-200系列控制器的通信端口支持自由口通信模式,其通信口符合歐洲標準EN50170中PROFIBUS標準的RS-485兼容9針D型連接器。表1列出了為通信口提供物理連接的連接器,并描述了通信端口的針腳分配。上位機的串行通信端口為9針D型RS-232標準的端口,為了實現(xiàn)PLC與上位機通信,必須將RS-232標準轉(zhuǎn)換成RS-485標準。RS-232采用負邏輯,用-5~-15表示邏輯狀態(tài)“1”,用+5~+15表示邏輯狀態(tài)“0”。RS-232的最大通信距離為15m,最高傳輸速率為20kbit/s,只能進行一對一的通信。RS-485為半雙工通信方式,只有一對平衡差分信號線,不能同時發(fā)送和接收。將RS-232信號轉(zhuǎn)換成RS-485信號,使用RS-232/RS-485轉(zhuǎn)換器即可,使用時轉(zhuǎn)換器插在計算機9針D型通信口,PLC與轉(zhuǎn)換器之間通過信號線A、B進行兩根線通信,即使用針3和針8。

2通信裝置的軟件實現(xiàn)

自由口通信是通過用戶程序控制PLC通信口的操作模式,利用自由口模式,可以實現(xiàn)用戶定義的通信協(xié)議,連接多種智能設備。PLC與上位機之間的通信是以上位機發(fā)出數(shù)據(jù)的請求命令,PLC向其發(fā)送數(shù)據(jù)的方式進行通信的。

2.1通信協(xié)議

通過使用接收中斷,發(fā)送中斷,發(fā)送指令(XMT)和接收指令(RCV),用戶程序可以實現(xiàn)在自由口模式下對通信端口的控制,在自由口模式下,通信協(xié)議完全由用戶程序控制。使用通信端口0與計算機通信時,通過SMB30允許自由口模式,而且只有在PLC處于RUN模式時才能允許,當PLC處于STOP模式時,自由口通信停止,通信口轉(zhuǎn)換成正常的PPI協(xié)議操作。由于通信只使用A、B兩線制進行數(shù)據(jù)傳送,不能利用硬件信號作為檢測手段,故在上位機與PLC通信發(fā)生誤碼時,將不能通過硬件判斷是否發(fā)生誤碼,或者當上位機與PLC工作速率不一樣時就會發(fā)生沖突。這些通信錯誤將導致PLC控制程序不能正常工作,因此必須使用軟件,以保證通信的可靠性。

2.2通信過程

通信程序的工作過程是:PLC接收到上位機送出的請求數(shù)據(jù)后,先進行數(shù)據(jù)比較成功后,向上位機發(fā)送數(shù)據(jù),而后再次處于接收狀態(tài)。采用軟件后,不管上位機與PLC的速度相差多遠,發(fā)送方永遠也不會超前于接收方。下面是將通信端口0初始化為自由口模式的一段程序,見圖1。圖1程序Ⅰ該段程序只在PLC上電或由STOP轉(zhuǎn)為RUN模式后第一掃描周期運行,圖1中,通過程序的執(zhí)行,自由口模式運行的端口0具體通信設置參數(shù)為:不進行奇偶校驗,每個字符的數(shù)據(jù)為8位/字符,波特率為9600bit/s,自由端口協(xié)議;檢測報文的開始和空閑狀態(tài);以5ms為單位的空閑線時間間隔;接收的最大字符數(shù)為4;接收中斷事件號為23;發(fā)送中斷事件號為9;允許用戶中斷;接收的字符放在以VB200開始的字節(jié),使用通信端口0進行通信。當PLC接收到上位機發(fā)送的4個字節(jié)1、3、5、7時見圖2,10ms后啟動發(fā)送程序INT_3向上位機發(fā)送數(shù)據(jù),每次接收不到上位機發(fā)送來的字節(jié)時都會啟動接收程序,也就是說,PLC一直處于接收、發(fā)送、再接收的循環(huán)往復中。圖3表示,PLC將接從通信端口0接收到的字符,放在以VB200開始的字節(jié)中。