V80在變頻通訊中的應用
一、 前言
變頻器的應用非常廣泛,在很多應用場合需要頻繁修改運行頻率、停止或啟動變頻器,手工調節面版方式已經不能滿足使用需要。
用模擬信號控制變頻器運行頻率,數字信號控制變頻器啟動或停止,這種方式需要另外購置模擬信號模塊,控制多臺變頻器時,成本會增加很多。在控制距離比較遠的情況下,模擬信號會受到距離的影響,衰減很大。
用V80系列PLC通訊控制變頻器運行頻率、數字信號控制變頻器啟動或停止,這樣不僅能控
制單臺也能控制多臺變頻器,而且能很好的控制成本。V80支持MODBUS RTU通訊協議和自由通訊協議,它可以支持RS232和RS485,V80的COM1口為RS232通訊接口,COM2口為RS485通訊接口。
V80系列PLC單元所提供的MODBUS 主站功能,進行參數設置及動作控制。通過該功能可完成主站單元對多臺MODBUS從站單元聯機,進行數據交換,也可直接與其它支持標準MODBUS的設備連接。
M_BUS指令,上節點:M_BUS讀寫命令, 0 => READ, 1 => WRITE。
中節點:讀寫M_BUS單元的設備編號(1-254),
0 (或255)=> 廣播方式,#256~#9999無效。
下節點:M_BUS菜單參數設定區,6個寄存器地址
地址偏移1:高位錯誤信息;
地址偏移2:主站類型;
地址偏移3:主站尋地址;
地址偏移4:從站類型;
地址偏移5:從站尋地址;
地址偏移6:讀或寫的數據數量;
自由通訊指令有發送指令XMT和接收指令RCV。
XMT發送指令必須先設置特殊繼電器09933為ON,此時,V80通訊口2是在自由通訊模式下,ModBus主從功能被禁止。
上節點:發送區首地址,每個數據占十六位,低八位為待發數據,高八位參見說明書。
中節點:發送長度。
下節點:錯誤指示,非0即表示有錯誤產生。
RCV自由通訊接收指令可以設置字符超時時間,開始字符,接收字符,最大字符數。詳見說明書。
二、V80系列提供MODBUS通訊協議
1、 寫單個線圈(功能碼05H)
設備地址+功能碼(05)+線圈地址(XXXX)+ OFF線圈0000(ON線圈FF00)+ CRC 16
寫第1個線圈為ON報文:01 05 0000 FF00 8C3A
01H設備地址
05H功能碼
0000H線圈地址為輸出第1 個
FF00置為ON
8C3A為CRC 16校驗
寫第1個線圈為OFF報文:01 05 0000 0000 CDCA
2、 寫單個寄存器(功能碼06H)
設備地址+功能碼(06)+寄存器地址(XXXX)+ 數據 + CRC 16
寫數據5到第1個寄存器報文:01 06 0000 0005 49 C9
01H設備地址
06H功能碼
0000H寄存器地址為第1 個,40001
0005H寫入數據00005H
49C9為CRC 16校驗
3、 寫多個線圈(功能碼0FH)
設備地址 + 功能碼(0F)+ 線圈地址 + 線圈長度 + 線圈數據 + CRC 16
連續寫16個線圈為ON報文:01 0F 0000 0010 02 FFFF E390
01H設備地址
0FH功能碼
0000H線圈地址
0010H控制線勸長度為16個
FFFF表示bit0-bit15全為ON(0表示OFF,1表示ON)
E390為CRC 16校驗
連續寫16個線圈不同時為ON的報文:01 0F 0000 0010 02 0F00 E7D0
01 0F 0000 0010 02 F000 A620
01 0F 0000 0010 02 0100 E3B0
01 0F 0000 0010 02 0200 E340
01 0F 0000 0010 02 0300 E2D0
01 0F 0000 0010 02 00F0 E264
連續寫32個線圈為ON報文:01 0F 0000 0020 04 FFFF FFFF C51C
4、 寫多個寄存器(功能碼10H)
設備地址 + 功能碼(10)+ 寄存器地址 +寄存器長度 + 數據個數 + 數據 + CRC 16
連續寫1個寄存器(40001)報文:01 10 0000 0001 02 0005 6653
把0005寫到40001寄存器
01設備地址
10功能碼
0000寄存器地址為40001
0001寫寄存的個數為1
02寫的數據為它后面的兩個00和05。
0005數據為5
6653為CRC 16校驗
連續寫2個寄存器(40001、40002)
報文:01 10 0000 0002 04 0007 0009 8268
把0007寫到寄存器40001,0009寫到寄存器40002
連續寫2個寄存器(40001、40002、 40003)
報文:01 10 0000 0003 06 0007 0009 0005 4341
把0007寫到40001,0009寫到40002,0005寫到40003
5、讀線圈狀態(功能碼01H)
設備地址 + 功能碼(01)+ 線圈地址 + 線圈長度 + CRC 16校驗
讀20個線圈:01 01 0000 0014 3C05(讀從第1個線圈到20個線圈)
01設備地址
01功能碼
0000線圈首地址
0014讀長度20個線圈
3C05為CRC 16校驗
返回:01 01 03 XX XX XX ZZZZ
01設備地址
01功能碼
03字節長度,表示后面返回的3個字節
XX XX XX讀出的20個線圈的狀態(每組XX表示8個位)
ZZZZ為CRC 16校驗
6、讀寄存器(功能碼03H)
讀3個寄存器:01 03 0000 0003 05CB
01設備地址
03功能碼
0000寄存器首地址
0003 長度(讀3個寄存器)
05CB為CRC 16校驗
返回:01 03 06 XX XX XX XX XX XX ZZZZ
01 設備地址
03功能碼
06字節長度(讀回的3個寄存器,長度為6個字節)
XX XX XX XX XX XX讀出的3個寄存器
ZZZZ 為CRC 16校驗
三、 V80與丹佛斯變頻器通訊
1、 變頻參數設置
海利普HOLIP-C+變頻器(此變頻器不支持標準MODBUS協議,可用V80的自由通訊功能塊實現控制)
C12設置為2運轉指令由通訊口給定
C13設置為2運轉頻率由通訊給定
C109設置為1(根據需要設置地址)設備地址為1
C110設置為1波特率為9600bit/s
C111設置為4,方式為8E1 FOR RTU(數據8位,1位停止位,偶校驗,RTU模式)
2、 V80參數設置
COM2通訊口(RS485接口)
波特率9600bps,偶校驗,使用自由通訊協議,在程序中要把09933線圈設置成ON
3、 海利普HOLIP-C+通訊協議
RTU模式
靜音>50ms ADDR FUNC LEN D(n-1)~D(0) CRC 靜音>50ms
1)靜音:表示50ms 時間以上無串口中斷
2)ADDR:通訊位置 8-bit位置
3)FUNC:命令碼 8-bit命令,具體內容參見3.1 章節中命令碼中的詳細說明
4)LEN:資料長度 指D(n-1)~D(0)的長度
5)DATA:資料內容 n×8-bit資料
6)CRC:偵誤值
RTU模式采用CRC(cyclical Redundancy Check)偵誤值。CRC偵誤值以下列步驟計算。
1:載入一個內容為FFFFH 的16-bit暫存器(稱CRC暫存器)。
2:將命令訊息第一個位元組與CRC16-bitCRC 暫存器的低次位元組進行Exclasive OR
運算,并將結果存回CRC暫存器。
3:將CRC暫存器內容右移1bit,最左bit填入0,檢查CRC暫存器最低位元的值。
4:若CRC 暫存器最低位元為0,則重復步驟3;否則將CRC 暫存器與A001H 進行
Exclusive OR運算。
5:重復3 及4,直到CRC暫存器的內容右移8bits,此時,該位元組已完全處理。
6:對命令訊息下一個位元組重復步驟2 與5 直到所有位元組皆完成處理,CRC 暫存器的最后內容即是CRC值。當在命令訊息中傳送CRC值時,低位元組須與高位元組交換順序,
即低位元組將先被傳送。
7:范例:
a.讀取功能碼數據 ( 01 )
發送格式: ADDR 01 LEN Data
ADDR=0時,無返回數據
ADDR≠0 且符合變頻器地址時有響應
當返回為正常時,格式如下:
ADDR 01 LEN Data
如返回為一個字時 LEN=3 一個字節時 LEN=2
當無此功能或無效時返回為:
ADDR 81H 01
例如:讀取CD000的參數
發送: 01 01 01 00 CRC
00 為數據。代表CD000.
接收: 01 01 03 00 13 88 CRC
說明:CD000 = 01388H = 5000,即50Hz.
b.功能碼設定 ( 02 )
發送格式:ADDR 02 LEN Data
ADDR=0 作廣播用,可以設定,但無應答
ADDR≠0時可以設定 同時有回應訊號
當返回為正常時,格式如下:
ADDR 02 LEN Data
當設定不正確時,或無此功能,返回參數為:
ADDR 82H 01
例如:將CD000參數值改為60.00Hz
發送: 01 02 03 00 17 70 CRC
00 為數據。代表CD000. 1770(Hex),轉換為十進制數為6000。
接收: 01 02 03 00 17 70 CRC
c.控制命令 ( 03 )
發送格式:ADDR 03 01 CNTR
ADDR=0 為廣播,無返回響應
ADDR≠0時有響應,返回
CNTR
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
jogr jogf jog r/f stop Rev for Run
當設定正確時,返回當前控制狀態 格式:ADDR 03 01 CNST
CNST
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
跟蹤啟動 制動 r/f jogging Runing r/f jog Run
檢測不正確時 ADDR 83H 01 CNST
例如:通訊控制變頻器運行時即CD033 = 2時
發運行命令
發送:01 03 01 01 CRC
01 為數據,代表運行命令。
接收:01 03 01 09 CRC
09 為數據,代表變頻器處于運行狀態。
注意: 因通訊實時性,變頻器返回狀態滯后性,所以發命令之后返回的數據不
能正確反應變頻器當前狀態。
d:讀取狀態值 ( 04 )
格式:ADDR 04 01 CFG
ADDR=0時無返回 ADDR≠0時有返回
CFG=0—8 時返回單個狀態
0:Set F 1:Out F 2:Out A 3:RoTT 4:DCV
5:ACV 6:Cont 7:Tmp 8:Error 和CNST
例1: 讀取設定頻率
發送:01 04 01 00 CRC
返回:01 04 03 13 38 CRC
其中 13 88 為數據,13 為高位,88 為低位。
例2: 讀取錯誤代碼和當前變頻器狀態
發送:01 04 01 08 CRC
返回:01 04 03 08 00 09 CRC
其中 00 為數據,代表無故障。
09 為數據,代表當前變頻器為運行狀態。
e:變頻器串口頻率設定 ( 05 )
格式:ADDR 05 02 Data
ADDR=0時無返回 ADDR≠0時有返回
例 變頻器頻率設定為50.00Hz
發送:01 05 02 13 88 CRC
返回:01 05 02 13 88 CRC
其中13 88為數據,13 為高位,88為低位。(通過串口設定頻率時,須先將CD034
設為2。)
4、V80梯形圖程序
寫入變頻器:40201設置發送的頻率,10001正轉啟動,10002反轉啟動,10003停止;
從變頻器讀出: 40210變頻器狀態,40211變頻器狀態,40212頻率指令,40213輸出頻率,40214輸出電流,40215直流母線電壓,40216輸出電壓。
七、總結
V80系列PLC的通訊應用非常廣泛。支持標準MODBUS協議的設備,可以直接使用V80的MODBUS功能塊實現通訊通訊;如設備采用其它的協議,可以用V80的自由通訊功能塊實現通訊通訊。自由通訊功能塊使用靈活,可以自由定義字符超時時間,開始字符,結束字符,接收長度等等。V80系列PLC的COM1口為RS232通訊口,COM2口為RS485通訊口。V80支持串口互換功能,如有些設備使用RS232通訊不支持RS485,可以將PLC內部的09934線圈設置成ON,就可以用V80的RS232串口實現通訊。
文章版權歸西部工控xbgk所有,未經許可不得轉載。
下一篇:V80系列PLC在節能行業的應用