SINAMICS V20 380-480V 3AC -15/+10 % 47-63Hz 標(biāo)稱功率 15kW 有 60 秒 150 % 過載 未過濾 I/O:4 DI,2 DO,2 AI,1 個模擬輸出 現(xiàn)場總線:USS/MODBUS RTU 安裝有基本操作面板 保護(hù):IP20/ UL 開放 尺寸:D 240x207x173(寬x高x深)
西門子SINAMICS V20變頻器,IP20 / UL 開放式,FSD,3AC380-480 V, 15,00 kW
訂貨號: 6SL3210-5BE31-5UV0
參數(shù)數(shù)據(jù)類型含義data_typedbstartlength
UInt | 映射到此數(shù)據(jù)區(qū)域的 MODBUS 數(shù)據(jù)類型的標(biāo)識符: |
UInt | 映射的數(shù)據(jù)區(qū)編號,該 DB 必須是非優(yōu)化 DB |
UInt | 映射到數(shù)據(jù)塊中的 MODBUS 地址,從 0 開始 |
UInt | Bool 個數(shù)(對于data_type 1 或者 2),Word 個數(shù)(data_type 3 或者 4) |
表 1. Data_Area_Array 數(shù)組的元素及其含義
本例中,使用 TIA Portal V16,CPU1215C 配置 CM1241 RS422/485 模塊作為 Modbus RTU 主站,CPU1214C 配置 CM1241 RS422/485 模塊作為 Modbus RTU 從站,主站訪問從站的數(shù)據(jù)塊中的數(shù)據(jù)區(qū)域:
主站配置:在 OB1 中,拖入 Modbus_Comm_Load 指令和 Modbus_Master 指令,MODE=0,DATA_ADDR=40006,DATA_LEN=5,如圖 8 所示:
圖 8. 主站調(diào)用 Master 指令
從站配置:在 OB1 中,拖入 Modbus_Comm_Load 指令和 Modbus_Slave 指令,參考圖 4 所示:
從站的背景 DB 中 Data_Area_Array 進(jìn)行如圖 9 所示配置:
圖 9. CPU1214C Modbus_Slave 背景 DB 中 Data_Area_Array
Data_Area_Array[1]:data_type = 3,db = 3,start = 0,length = 5,,即 DB3.DBW0-DB3.DBW8 對應(yīng) 40001-40005。
Data_Area_Array[2]:data_type = 3,db = 4,start = 5,length = 5,,即 DB4.DBW0-DB4.DBW8 對應(yīng) 40006-40010。
Data_Area_Array[3]:data_type = 3,db = 5,start = 10,length = 5,,即 DB5.DBW0-DB5.DBW8 對應(yīng) 40011-40015。
Data_Area_Array[4]:data_type = 0,db = 0,start = 0,length = 0。
Data_Area_Array[5]:data_type = 3,db = 6,start = 15,length = 5,即 DB6.DBW0-DB6.DBW8 對應(yīng) 40016-40020,由于 Data_Area_Array[4] 參數(shù)為空,所以 Data_Area_Array[5] 參數(shù)失效。
在 CPU1214C 創(chuàng)建 4 個非優(yōu)化 DB 塊,DB3/DB4/DB5/DB6,如圖 10 所示:
圖 10.CPU1214C 創(chuàng)建數(shù)據(jù)塊
CPU1215C 的 Master 塊讀取 40006-40010 地址,對應(yīng) CPU1214C 的 DB4 塊中的 DB4.DBW0-DB4.DBW8 內(nèi)容,Master 塊讀取到內(nèi)容如圖 11 所示:
圖 11. 主站 CPU 讀取到的數(shù)據(jù)
如果主站 Master 讀取從站 Modbus 地址 40016,數(shù)據(jù)長度 5,如圖 12 所示:
圖 12. 主站調(diào)用 Master 指令
由于從站 CPU1214C 沒有 40016-40020 地址對應(yīng)的數(shù)據(jù)區(qū)域,所以 Master 指令執(zhí)行之后報錯,如圖 13 所示:
16#8383:請求幀中的數(shù)據(jù)地址無效。.
圖 13. Master 指令執(zhí)行報錯
HR_Start_Offset
HR_Start_Offset 用于 Modbus 保持寄存器的起始地址,存儲在 Modbus_Slave 背景數(shù)據(jù)塊中,默認(rèn)是 0。
Modbus 保持寄存器地址從 40001 或 400001 開始。這些地址與保持寄存器的 PLC 存儲器起始地址對應(yīng)。通過組態(tài)"HR_Start_Offset"變量,可以將 Modbus 保持寄存器的起始地址定義為除 40001 或 400001 之外的其它值。
例如,如果保持寄存器被組態(tài)為起始于 MW100 并且長度為 100 個字(即 MB_HOLD_REG 設(shè)置為 P#M100.0 WORD 100)。偏移量 20 可保持寄存器的起始地址為 40021 而不是 40001。低于 40021 和高于 40120 的任何地址都將導(dǎo)致尋址錯誤。
HR_Start_Offset地址小值大值020
Modbus 地址 | 40001 | 40100 |
S7-1200 地址 | MW100 | MW298 |
Modbus 地址 | 40021 | 40120 |
S7-1200 地址 | MW100 | MW298 |
例如,將 Modbus_Slave 放入程序段后,可以切換到先前的程序段,分配 HR_Start_Offset 值。該值必須在執(zhí)行 Modbus_Slave 前分配,如圖 14 所示:
圖 14. 從站的 Slave 編程