2013年10月21日 星期一

PLC 你要了解Modbus、RS422、RS485

Modbus是一種通訊協定(軟體)。
RS422、RS485是一種硬體的架構。

=====================================

RS422配線:會有RX+/-,TX+/-  共有4條線

RX  接收外部設備回傳線路
TX  發送給外部設備線路











RS485配線:會有D+/D-  共有2條線

傳送/接收,都是D+/D-在控制。













=====================================================

只看上面的圖示,可能會覺得RS422跟RS485好像是不一樣的,
但很多的控制都說可以同時兼容兩種,甚至都是用同樣的接腳!?

再看看下面的圖,就會懂了。










如果PLC(MASTER)端是RS422,外部裝置是RS485,就可以用上面的接法。
RS422是全雙工,四條線,可以同時傳送/接收,不會有問題。(不同線路)
RS485是半雙工,二條線,如果有其中一個裝置在發送資料,其他裝置就不可以發送。

可能會覺得奇怪,那RS422端,會收到自已發送的資料丫!!
沒錯,這種接法在發送資料時,同時會接收到自已發送的資料。



所以RS422可以接RS422 & RS485
RS485,就可以接RS485,不可以接RS422。


7 則留言:

  1. 請問大大那如果使用全雙工的RS485可以接RS422嗎?

    回覆刪除
    回覆
    1. RS485只有D+ D-,所以不能同時發送 & 接收,算是半雙工。
      RS422,有TX+ TX- 專門發送
      R+R- 專門接送,所以可設定成全雙工

      刪除
  2. 我有一個檢測裝置是422通訊接口,想與我的PLC 作通訊,作讀取與寫入到這檢測裝置如何作?

    回覆刪除
    回覆
    1. 1.先問檢測裝置的廠商,是不是有範例可提供,或協助撰寫,是最快的。
      ==
      如果問不到:
      A.先去了解你的檢測裝置,問看看支援那幾種通訊方式,有RS422 "通常"會支援RS485,因為RS422是全雙工,RS485
      是半雙工。
      B.再去了解是不是支援MODBUS"通訊方式"。 (RS422可視為硬體,MODBUS可視為語言,不同的東西。)

      才可決定,PLC用那種方式連結(硬體),跟何種通訊協定(語言)來溝通。

      刪除
  3. 跟你的圖一接法相同(RS422),會同時收到自己發送的資料,請問這是因為全雙工的關係嗎??

    回覆刪除
    回覆
    1. 如果確定你的是RS422全雙工,接成RS485(TXRX) 兩條線的方式,就是會收到自已發出的命令沒錯。

      刪除
    2. Host端RS422,Device端也是RS422,那我是從這兩個之間從Host端Tx+- Rx+-並聯,並聯這部分是RS422toRS232轉換器。主要想看devcie端丟什麼資料,另一部分也是想模擬Host端,但在收資料時卻連Host端的Tx資料都有收到。以前在玩MCU UART(TxRx)只會收到一端的Tx向Rx傳資料,第一次遇到Tx對Tx也可以收到資料的。

      刪除