新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的計算機與PLC通信

        基于CAN總線的計算機與PLC通信

        作者: 時間:2014-10-23 來源:網絡 收藏

          1 引言

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

          在現代工業中, 之間或 與計算機之間的通信聯網應用日益廣泛。 的聯網功能越來越強。以歐姆龍CP1、CJ1 和CS1 系列PLC 為例,配合使用各種模塊,可以支持工業以太網、Controller Link 等現場總線通信聯網功能。但是,應用廣泛的CPM1A、CPM2A等中小型PLC 的通信聯網一般只能采用工業總線的物理層形式(如RS232 或),通信的穩定性與抗干擾能力并不是很強。

          本文選用歐姆龍的CPM2A 機型,配合使用RS232- 適配器,實現了計算機與PLC 的通信聯網,方法簡單, 實用性強。

          2 總線簡介

           總線由德國BOSCH 公司首先提出來的,CAN總線是目前工業界廣泛應用的總線。

          CAN 控制器工作于多主站方式,網絡中的各節點都可根據總線訪問優先權采用無損結構的逐位仲裁的方式競爭向總線發送數據。CAN 協議廢除了傳統的站地址編碼, 可使網絡內的節點個數在理論上不受限制, 通信實時性強, 提高系統的可靠性和系統的靈活性。

          報文采用短幀格式,傳輸時間短,受干擾概率低, 保證了數據出錯率極低。CAN 的每幀信息都有CRC 校驗及其他檢錯措施,具有極好的檢錯效果。CAN 的通訊介質可以為雙絞線、同軸電纜或光纖,選擇靈活。CAN 節點在錯誤幀的情況下具有自動關閉輸出功能,而總線上其它節點的操作不受影響。CAN 總線通過兩個輸出端CANH 和CANL 與物理總線相連,不會出現損壞某些節點的現象。CAN 節點在錯誤嚴重的情況下具有自動關閉輸出功能, 以使總線上其他節點的操作不受影響, 不會出現象“死鎖”狀態。

          3 通信結構

          通信系統組成如圖1 所示,上位計算機運行監控軟件與OMRON 專用的PLC 編程及配置軟件,并將計算機串口連接到RS232-CAN 適配器,配置為CAN 總線。下位PLC 采用多臺OMRON 的CPM2A 型PLC,將CPM2A的串口連接RS232-CAN 適配器,實現CAN 總線通信。

          

        1.jpg

         

          圖1 通信系統結構

          通過適配器,計算機與PLC 成為CAN 總線的節點。

          節點之間通過雙絞屏蔽線進行總線式連接,首尾節點需要接120R 的匹配電阻。上位計算機可以通過CAN 總線實時監控PLC 系統的運行。

          此方案是現場總線技術與集中控制技術的有機結合,聯網后的PLC 網絡可以構成一個DCS 系統。用戶在計算機上可以遠程監控、配置任何一臺PLC 的程序或狀態。并能夠在投入較低硬件成本的基礎上,實現良好的系統運行性能。這個方案充分發揮了CAN 總線的通信特點: 實時、可靠、高速、遠距離、易維護等。

          使用RS232-CAN 適配器后,通信距離擴大到5 公里(9600bps 時),組網的PLC 可增至110 臺(實際上受PLC內部系統軟件的限制,最多只能支持32 臺PLC 聯網)。

          RS232-CAN 適配器采用光電隔離,大大提高了系統的抗干擾能力和安全性能。

          另外,使用RS232-CAN 適配器,并不需改變PLC 系統原有的PLC 通訊協議和上位機監控軟件,開發人員無須更改現在使用的串口通信程序,最大限度的節省成本。

          4 HOST-LINK 通信協議

          采用RS232-CAN 適配器,計算機與PLC 的串口都被配置成CAN 總線。通信方式與上位機監控軟件的編程方式與串行通信完全相同。通信協議一般采用OMRON 公司的HOST-LINK 通信協議。

          OMRON 公司的HOST-LINK 通信系統是由上位計算機( IBM PC 或兼容機) 通過安裝在各臺PLC 上的HOST-LINK 單元或串行通信接口連接多臺PLC 構成的網絡。上位機對系統中的PLC 進行集中管理與監控,通過與HOST-LINK 單元的通信,可以編輯或修改各臺PLC 的程序,實時監控其運行過程,實現自動化系統的集散控制。對于小型PLC( 如CPM2A) , 可以通過其RS232 通信端口進行鏈接。

          系統使用HOST-LINK 通信協議進行通信,上位機具有傳送優先權, 總是首先發出命令并啟動通信,HOST-LINK 單元收到命令交由PLC 執行,然后將執行結果返回上位機, 二者以通信幀為單位, 輪流交換數據。

          通信時, 一組傳送的數據稱為“塊”, 它是命令或響應的單位,從上位機發送到HOST-LINK 單元的數據塊稱為命令塊,反過來, 從HOST-LINK 單元發送到上位機的數據塊稱為響應塊。多點通信時,可作為單幀發送的最大數據塊為131 個字符,因此當一個數據塊含有132 個或更多字符時, 要分成兩幀或多幀發送。

          每個數據塊都以設備號及標題開始,以校驗碼(FCS)及結束符結束。響應塊中還包括反應執行結果的響應碼。通信格式如圖2 所示。

          

        2.jpg

         

          圖2 HOST-LINK 通信幀格式

          5 通信實現

          用戶可以采用通用的組態軟件(如組態王)實現計算機與PLC 的通信,也可以編寫計算機程序。

          要編寫計算機通信程序,可以采用VB、VC 等高級語言進行編程,編程可以有多種方式[4]。使用MSComm控件通過串行端口傳送和接收數據,實現計算機與PLC之間的數據通信, 編程較簡單。

          MSComm 控件提供了一種有效的處理串*互作用的方法:事件驅動法。該方法利用OnComm 事件捕獲并處理通信及其錯誤,當CommEvent 屬性發生變化時,就產生事件并等待相應處理。每個MSComm 控件都有一個串口相對應。

          Visual Basic 6.0(以下簡稱VB) 是一種功能強大、簡單易學的程序設計語言,利用ActiveX 控件MSComm能十分方便地開發出使用計算機串口的計算機通信程序。本文在VB中使用MSComm控件實現上位機與PLC的串行通信。

          VB 程序由串口初始化、數據發送、數據接收等幾大部分組成。主要的程序段如下所示。

          Rem      程序加載時進行串口初始化

          

        3.jpg

        通信相關文章:通信原理


        雙絞線傳輸器相關文章:雙絞線傳輸器原理

        上一頁 1 2 下一頁

        關鍵詞: CAN PLC RS485

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黄浦区| 潜山县| 长垣县| 九台市| 易门县| 布尔津县| 南安市| 闸北区| 喀什市| 锦州市| 大同县| 嘉峪关市| 门头沟区| 蕉岭县| 阳信县| 三都| 沙洋县| 香河县| 湘乡市| 皮山县| 来安县| 泾源县| 胶南市| 龙山县| 武威市| 河津市| 嘉祥县| 贡嘎县| 太白县| 邯郸市| 广平县| 塘沽区| 和硕县| 通渭县| 澄江县| 沐川县| 新干县| 辽宁省| 友谊县| 金山区| 淳化县|