文章編號:1003-6199(2011)04-0081-04
摘 要:在自動化控制領域,隨著分布式控制系統的發展,在工業上的分布式控
制系統中,采用串行通信來達到遠程信息交換的目的更簡便。發展起來的RS485是平衡傳送的電氣標準,在電氣指標上有了大幅度的提高。由于其性能優異,結構簡單,組網容易,組網成本低廉,RS485總線標準得到了越來越廣泛的應用,同時,在RS485總線中采用的Modbus協議是公開的通信協議,而且被很多的工控產品生產廠家支持,該協議已廣泛應用于水利、、電力、冶金等行業設備及系統的國際標準中。本文主要闡述采用Modbus協議實現施耐德PLC與ABB變頻器的數據通信。
關鍵詞:RS485; Modbus協議;PLC;變頻器
中圖分類號: TN919.6+ 文獻標識碼:A
Based on the Modbus Schneider PLC and ABB Converter Data Communication Between
JIA Haitao,ZHANG Kun,LI Liang
(Laiwu iron and Steel Group Department of automation、Shandong Province, Laiwu 271104,China)
Abstract:In the automation and control, along with the development of distributed control systems, distributed control in industry System, using serial communication to achieve the purpose of remote information exchange easier. Developed RS485 Is to balance the electricaltransmission standards in the electrical indicators have increased significantly. Because of its performance, Results Structure is simple, easy networking, network cost, RS485 bus standard has been more widely used, Meanwhile, the bus RS485 Modbus protocol is used in open communication protocol, and is a lot of work Control products manufacturer support, the agreement has been widely used in water conservancy, electric power, metallurgy and other industries equipment and systems System of international standards. This article focuses on Schneider PLC using Modbus protocol converter with ABB Data communication.
Key words:RS485; Modbus agreement; PLC; inverter
1 引 言
本文介紹施耐德昆騰系列PLC與ABB ACS-800系列變頻器通過Modbus協議的數據通訊。主要討論了系統配置及通訊協議、BM85網橋的應用、Unity Pro編程軟件環境下的系統組態及通訊編程和變頻器運行參數設置等關鍵技術環節。該技術于2009年11月應用于萊鋼銀山型鋼三期燒結配套機械化料場汽車受料槽及混勻配料自動控制系統中。
2 Modbus 協議簡介
Modbus協議詳細定義了校驗碼、數據序列等,這些都是特定數據交換的必要內容。Modbus協議在一根通訊線上使用主從應答式連接(半雙工),這意味著在一根單獨的通訊線上信號沿著相反的兩個方向傳輸。首先,主計算機的信號尋址到一臺唯一的終端設備(從機),然后,終端設備發出的應答信號以相反的方向傳輸給主機。Modbus協議只允許在主機(PC,PLC 等)和終端設備之間通訊,而不允許獨立的終端設備之間的數據交換,這樣各終端設備不會在它們初始化時占據通訊線路,而僅限于響應到達本機的查詢信號。如圖1所示:
3 系統配置及通訊協議
3.1 系統配置
該系統以施耐德公司和ABB公司的相關產品來實現全數字交流調速系統在Modbus網中的通訊及控制原理。其中PLC為施耐德公司的昆騰系列PLC,變頻器為ACS 800系列,編程軟件為Unity Pro軟件,用于對PLC編程和Modbus網進行通訊配置。上位機畫面操作采用Vijeo Citect 7.10進行畫面編程和操作,與PLC通訊采用以太網通訊方式。具體網絡拓撲結構如圖2所示:
由網絡拓撲結構圖可知,整個網絡的關鍵在于網橋BM85,由該網橋將Modbus Plus轉成Modbus協議。網橋的4個Port口可以定義為主、從、網絡等工作方式,根據實際情況,在這里網橋設置為網絡(Network)模式。網橋的設置利用超級終端進行設置。
3.2 BM85網橋的應用
BM85網橋是一種用于接收串行通信設備數據進入MB+網的網絡轉換設備。它可以作為MB+網的一個節點,根據型號不同,可以接收4個基于RS一232、RS一485或MODBUS串行通信沒備的數據。
3.2.1 BM85網橋的設定
BM85網橋設定分為三步。用MODBUS專用聯接線,將BM85網橋PORT1口與終端電腦聯接起來;設定終端電腦中的超級終端通信工具,采用VTIO0通信協議,通信參數為9600,N,8,1(9600bps,沒有校驗,8位數據位,1位停止位),進行聯接測試,如果聯接成功將顯示出當前BM85網橋中各接口的通信參數;根據各串口聯接設備通信參數按照畫面上的命令提示進行4個串行通信口的參數設置。
3.2.2 BM85網橋數據存儲格式
BM85網橋數據存儲格式為16位,開關量占1位數據位,模擬量占1個字(16位數據位),采集來的數據按接口地址分區存儲,數據存儲地址按上傳數據順序從寄存器40001開始。
3.3 通訊協議
在本系統中,昆騰PLC作為主站,變頻器作為從站,主站向變頻器傳送運行指令,同時接受變頻器反饋的運行狀態及故障報警狀態的信號。變頻器與網橋BM85相連,接入Modbus網中作為從站,接受主站的控制。網橋BM85將主站PLC傳送的信號尋址到一臺唯一的變頻器(終端設備),向變頻器寫入控制字、設置值或讀出實際值、診斷信息等參量,然后,變頻器發出的應答信號以相反的方向再傳輸給主機。Modbus通訊協議有兩種傳輸方式 ,控制器能設置為兩種傳輸模式(ASCII或RTU)中的任何一種在標準的Modbus網絡通信。用戶選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個控制器的時候,在一個Modbus網絡上的所有設備都必須選擇相同的傳輸模式和串口參數。
注意:ACS 800變頻器只支持RTU模式,在這里只對RTU模式進行介紹
當控制器設為在Modbus網絡上以RTU(遠程終端單元)模式通信,在消息中的每個8Bit字節包含兩個4Bit的十六進制字符。這種方式的主要優點是:在同樣的波特率下,可比ASCII方式傳送更多的數據。
代碼系統
#8226;8位二進制,十六進制數0…9,A…F
#8226;消息中的每個8位域都是一個兩個十六進制字符組成
每個字節的位
#8226;1個起始位
#8226;8個數據位,最小的有效位先發送
#8226;1個奇偶校驗位,無校驗則無
#8226;1個停止位(有校驗時),2個Bit(無校驗時)
錯誤檢測域
CRC(循環冗長檢測)
4 Unity Pro編程軟件環境下的系統組態
及通訊編程
4.1 系統組態
使用Unity Pro編程軟件,在項目瀏覽器的通訊 網絡里,新建一個Modbus Plus網絡,然后打開硬件組態,雙擊CPU的Modbus Plus接口,把新建的Modbus Plus網絡連接上,同時Peer Cop一定要打鉤選上,這樣網絡的系統組態就建立起來了。
4.2 通訊編程
在Unity Pro編程軟件里有專用于Modbus通訊協議的功能塊“MBP_MSTR”(如圖3所示),通過使用 MBP_MSTR 功能塊,可選擇14種可用的網絡通訊操作之一。根據所用的通訊協議,最多可有 16 個 MBP_MSTR 功能塊同時處于活動狀態。
#8226;Modbus Plus 同時支持最多 4 個功能塊
#8226;TCP/IP 以太網同時支持最多 16 個功能塊
所有功能塊都使用一條數據事務路徑,并且需要經過多個循環才能完成一項操作。可以將 EN 和 ENO 配置為附加參數。
注意:
1)當對 MBP_MSTR 功能塊編程時,必須熟悉網絡的路由過程。Modbus Plus 網絡計劃和安裝指南詳細說明了 Modbus Plus 路由路徑結構。如果實現TCP/IP 或 SY/MAX 以太網路由,則必須使用標準以太網 IP 路由器產品。Quantum with Unity Pro TCP/IP 配置用戶指南中提供了對 TCP/IP 路由的完整描述。
2)在 FBD 和 LD 段中,該功能塊只能在程序級別使用,且只能用于導出的功能塊 (DFB)。使用 DFB 時,必須直接將參數 CONTROL 和 DATABUF 與 DFB 的 I/O 引腳連接。出于技術原因,MBP_MSTR 功能塊不允許使用 ST 和 IL 編程語言。
3)只有當每個循環中僅執行一個讀/寫作業時,才有可能在 Quantum PLC 和 Momentum PLC 之間實現 TCP/IP 通訊。如果每個 PLC 循環都發送幾個作業,通訊就會停止,并且不會在功能塊的狀態寄存器中生成錯誤消息。
示例:
您可以發送 MBP_MSTR.Enable:=(HSBY_NOEPLCMSTR_ON) AND (%SW61.1) AND NOT (%SW61.0)或您可以創建一個布爾變量 primary_state:=(%SW61.1) AND NOT (%SW61.0),然后插入該變量以便執行該段。
5 變頻器運行參數設置
變頻器與PLC連成通訊網絡后,除在Unity Pro編程軟件中進行編程外,在每個變頻器上也要進行適當的參數設置。
5.1 基本參數設置
1)將98.02改為(Std Modbus)。
2)將98.07改為ABB Drivers 。
3)將52.01改為站號 。
4)將52.02改為波特率(默認為9600)。
5)將52.03改為數據長度和檢驗方式。
6)將10.01(外部1命令)改為COMM。(若需控制變頻器的啟停)
7)將11.02(外部控制選擇)改為EXT1。(若需控制變頻器的速度)
8)將11.03(給定值1選擇)改為COMM。(若需控制變頻器的速度)
9)將16.01(運行允許命令)改為YES。
5.2 過程參數的連接
過程參數互聯完成RMBA雙端口RAM連接器與變頻器相應參數的定義和連接,包括主站(PLC)到變頻器的連接和變頻器到主站(PLC)的連接兩部分。在變頻器上設定下列連接參數。
1)從PLC發送到傳動裝置變頻器的PZD值。
lPZDl——控制字,如變頻器的啟動使能、停止、急停等控制命令;
lPZD2——變頻器的頻率設定值;
2)從傳動裝置變頻器發送到PLC的PZD值。
lPZDl——狀態字,如報警、故障等變頻器運行狀態;
lPZD2——變頻器的速度實際值、電流實際值等;
參考文獻
[1] 陳銘.基于MODBUS協議的設備和PLC實現通信的研究[J].湖南科技學院學報,2009,30(04):16-19.
[2] 張明.施耐德電氣PLC與變頻器通信向導集錦[S].施耐德技術服務中心TSC,2008.
[3] 馬運生.Unity Pro編程手冊[S].施耐德技術服務中心TSC,2008.
[4] 馬運生.Modicon的MB+網絡的BM85網橋參考手冊[S].施耐德技術服務中心TSC,2006.
[5] 王艷.ABB ACS800變頻器固件手冊[S].北京ABB電氣傳動系統有限公司,2004.
收稿日期:2011-07-25
作者簡介:賈海濤(1986—),男,山東萊蕪人,助理工程師,學士,研究方向:自動化控制(E-mail:lonewolfkun@163.com);張 坤(1983—),男,山東萊蕪人,助理工程師,研究方向:自動化控制。