新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 利用編程口實現三菱PLC遠距離通訊的方法

        利用編程口實現三菱PLC遠距離通訊的方法

        作者: 時間:2011-06-17 來源:網絡 收藏

         MITSUBISHI 公司生產的可序控制器,由于該產品體積小,結構緊湊,性能可靠,易,系列全(根據被控對象的復雜程度,選用相應容量的)等優點,而被廣泛應用于各種場合和生產過程的現地控制中,可開關量采集、輸出,模擬量采集和輸出等功能。在實際應用中,有時往往需要遠方控制和監視,因此的長距離問題具有實用性。這里介紹兩種PLC。

        本文引用地址:http://www.104case.com/article/156165.htm

          我們先來分析一下PLC的特性。

        一、FX2系列PLC接口的物理特性

          PLC裝置上帶有一個25針RS-422口,該口主要用于對PLC進行編程和調試。接口如示:

        圖1

          端口信號定義如下:
          RXD:接收數據(Received Data)
          TXD: 發送數據 Transmitted Data)
          DTR: 數據終端準備就緒(Data Terminal Ready)
          DSR:數據裝置就緒(Data Set Ready)
          PWE: PLC數據接收允許

          在用PC機或便攜機對PLC進行編程和調試時,必須用一根專用通信電纜與之通信,當編程調試結束后,該口即處于閑置狀態。要想PLC長距離數據通訊,一種是采用PLC通訊擴展模件,這要增加額外的開銷,另一種就是其自身的編程口,也能達到同樣的效果,同時可節省開銷。出于保密等某種因素,PLC編程電纜的接口電路部分用強力膠密封,用戶無法查看。通過對其接口的分析和試驗,找到了用四線制方式實現PLC通訊的連接方法,即用PLC的4個引腳RXD(R+、R-)、TXD(T+、T-)經長線與PC側的長線收發器相連接,通過長線收發器把信號轉換為RS-232后與PC的串口相連。其接口如圖2如示。

          應當指出的是為了使PLC始終處于“數據裝置就緒”狀態,我們人為將4腳和7腳短接,同樣為了使PLC能接受主機的命令,也將21腳和20腳短接。

          在實際應用中,PC機通常要與若干個PLC通訊,單個串口是實現不了的,此時需擴展端口來實現。選用MOXA Intellio C218 Turbo 系列串口卡帶Opt8F連接盒可實現與8個PLC相連。

          Opt8F 是一個8串口RS-422、DB25孔式連接盒,帶光電隔離 。信號定義: TxD+(3)/-(16), RxD+(2)/-(14), GND(7) ,具備LED可監看每個串口的TxD, RxD ;含1.5m DB62轉DB62接頭的電纜線,光電隔離最大可達500V ,數據傳輸速率: 50 bps ~ 115.2 Kbps。
        硬件連接如圖所示:

          如果PLC超過8個,可再擴展一塊C218卡。

          這里,也可以選用MOXA系列C168卡,不過它的8串口是RS-232口,需外加長線收發器將 RS-422轉為RS-232后才能連到8串口上,連接方式同圖-2。

          MITSUBISHI PLC是公司生產的可編程序控制器,由于該產品體積小,結構緊湊,性能可靠,易編程,系列全(根據被控對象的復雜程度,選用相應容量的PLC)等優點,而被廣泛應用于各種場合和生產過程的現地控制中,可實現開關量采集、輸出,模擬量采集和輸出等功能。在實際應用中,有時往往需要實現遠方控制和監視,因此PLC的長距離通訊問題具有實用性。這里介紹兩種PLC通訊方法。

          我們先來分析一下PLC的特性。

        一、FX2系列PLC通訊接口的物理特性

          PLC裝置上帶有一個25針RS-422編程口,該口主要用于對PLC進行編程和調試。接口如示:

        圖1

          端口信號定義如下:
          RXD:接收數據(Received Data)
          TXD: 發送數據 Transmitted Data)
          DTR: 數據終端準備就緒(Data Terminal Ready)
          DSR:數據裝置就緒(Data Set Ready)
          PWE: PLC數據接收允許

          在用PC機或便攜機對PLC進行編程和調試時,必須用一根專用通信電纜與之通信,當編程調試結束后,該口即處于閑置狀態。要想實現PLC長距離數據通訊,一種方法是采用PLC通訊擴展模件,這要增加額外的開銷,另一種方法就是其自身的編程口,也能達到同樣的效果,同時可節省開銷。出于保密等某種因素,PLC編程電纜的接口電路部分用強力膠密封,用戶無法查看。通過對其接口的分析和試驗,找到了用四線制方式實現PLC通訊的連接方法,即用PLC的4個引腳RXD(R+、R-)、TXD(T+、T-)經長線與PC側的長線收發器相連接,通過長線收發器把信號轉換為RS-232后與PC的串口相連。其接口如圖2如示。

          應當指出的是為了使PLC始終處于“數據裝置就緒”狀態,我們人為將4腳和7腳短接,同樣為了使PLC能接受主機的命令,也將21腳和20腳短接。

          在實際應用中,PC機通常要與若干個PLC通訊,單個串口是實現不了的,此時需擴展端口來實現。選用MOXA Intellio C218 Turbo 系列串口卡帶Opt8F連接盒可實現與8個PLC相連。

          Opt8F 是一個8串口RS-422、DB25孔式連接盒,帶光電隔離 。信號定義: TxD+(3)/-(16), RxD+(2)/-(14), GND(7) ,具備LED可監看每個串口的TxD, RxD ;含1.5m DB62轉DB62接頭的電纜線,光電隔離最大可達500V ,數據傳輸速率: 50 bps ~ 115.2 Kbps。
        硬件連接如圖所示:

          如果PLC超過8個,可再擴展一塊C218卡。

          這里,也可以選用MOXA系列C168卡,不過它的8串口是RS-232口,需外加長線收發器將 RS-422轉為RS-232后才能連到8串口上,連接方式同圖-2。

        二、 PLC 通訊機制

          1.PLC通訊口參數

          波特率:9600比特/秒
          校驗方式:偶校驗
          停止位:1位
          校驗位:1位
          傳輸方式:異步7位字符方式

          2.PLC數據幀格式

          PLC有三種通用寄存器:D寄存器、X寄存器、Y寄存器。D寄存器為數據寄存器,可存放雙字節整數,X寄存器為輸入位寄存器,字長8位,每一位對應一個開關量輸入點;Y寄存器為8位輸出寄存器,字長8位,每一位對應一個開關量輸出點;通過這三種寄存器,即可進行模擬量、開關量的采集,以及開出控制。

          PLC的通訊是完全被動的半雙工通訊,要實現PLC數據的遠傳,首先要了解三種寄存器讀寫數據的幀格式,按照這個格式通過上位機對它發讀或寫命令(在軟件中一般用數組來存放該命令報文),PLC根據命令的性質作出響應。歸納起來只有兩種:寄存器讀和寫命令。其幀格式如下:

          讀命令幀格式:

          寫命令幀格式:

          (注:這里的高位指一個字節的高半字節,即高四位;低位指低半字節,以下同)

          STX:報文起始標志
          EXT:報文結束標志。

          被讀的寄存器的組地址為4位ASCII碼,可從PLC手冊中查到。一次最多讀出64個字節。

          通訊開始時,主機首先向PLC發查詢代碼ENQ(05H),如果PLC正常接收,則PLC回送確認代碼ACK(06H)作為應答,表示通訊建立,可以對PLC進行讀、寫命令。如果PLC不能識別命令,則返回NAK(15H)。應當注意的是PLC的響應有一定的延時(3秒以內),在收到命令后,PLC要在執行完下一周期END指令后方才響應,因此主機在軟件上應考慮延時讀數和三次重發。

          PLC響應后的數據格式:

          校驗和的計算,以D寄存器的讀報文為例

          讀D123寄存器,地址為10F6H,讀4個字節:

          校驗和是報文內CMD和ETX中間(包括CMD和ETX)各字節之和,上面報文校驗和=30H+31H+30H+46H+36H+30H+34H+03H= 174H,取后兩位74H,即為校驗和,用ASCII碼表示就是:37H和34H。

          例如D寄存器中的數據為D123:1234H , D124:ABCDH,則PLC響應后,向PC發送數據報文為:

        3、軟件

          PC機COM1端口初始化程序(與PLC端口參數一致)
          ........
          outputb(0x3fb,0x80); /*通訊線控制寄存器控制字,訪問波特率除數鎖存器*/
          outpoutb(0x3f8,0x0c); /*除數鎖存器控制字低位,定波特率*/
          outportb(0x3f9,0x00); /*除數鎖存器控制字高位,定波特率*/
          outportb(0x3fb,0x1a); /*通訊線控制寄存器控制字,定數據格式*/
          outportb(0x3fc,0x03); /*MODEM控制寄存器控制字*/
          ......
          port_test:
          outportb(0x3f8,ENQ);
          do {
          in=inportb(0x3fd);
          }while(!in0x01);
          in=inportb(0x3f8);

          if(in==NAK)
          {
          printf(Error NAK!rn);
          goto port_test
          }
          if(in!=ACK)
          {printf(NOT RECEIVED ACK!rn);
          goto port_test;
          }
          .......

          8串口方式的端口初始化程序:
          .........
          stat=sio_reset();
          stat=sio_open(port);
          stat=sio_ioctl(port,B9600,P_EVEN|BIT-7|STOP_1);
          port_test:
          stat=sio_putch(port,0x05);
          in=sio_getch(port);
          if(in!=0x06) goto port_tes
          ..........

        三、結束語

          以上的軟硬件方案已在漫灣電廠壩區閘門的數據采集和控制中得到應用,實現了單臺工控機與10余臺PLC的通訊,并與監控系統相連,實現了壩區閘門的遠方監視和控制,數據通信可靠

        數字通信相關文章:數字通信原理


        通信相關文章:通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 特克斯县| 河西区| 陵川县| 宜黄县| 龙游县| 高雄市| 中方县| 巨鹿县| 奉新县| 桑植县| 闸北区| 淮南市| 玉环县| 宁化县| 云和县| 杨浦区| 古交市| 望都县| 玛纳斯县| 吉水县| 海安县| 江都市| 酉阳| 周至县| 濮阳县| 临江市| 阆中市| 三门峡市| 界首市| 平安县| 宝清县| 通渭县| 同江市| 安多县| 根河市| 德州市| 罗甸县| 临潭县| 兴隆县| 突泉县| 汾西县|