
低壓伺服驅動器DM-O55B采用32 位高速DSP 芯片;FOC 場定向矢量控制,支持位置/速度閉環;位置模式支持指令脈沖+方向 或 正交脈沖信號;速度模式支持PWM占空比信號 或 4~20ma電流 或 0.6~3V電壓信號控制; 16位電子齒輪功能,1~65535 / 1~65535; 供電電壓+20V~50V。支持50~500W交流伺服電機;支持485(modbus協議RTU模式)控制方式。可以設定驅動器地址,簡化控制系統。也可以直接通過PC機控制,并提供PC機測試軟件;具有欠壓,過壓,堵轉,過熱保護; 提供隔離輸出的 到位信號、報警輸出信號、編碼器零點信號。 1. 寄存器說明 驅動器可以通過modbus(RTU 模式)來控制驅動器。主機可以通過modbus 的讀寫寄存器功能來設置驅動器參數和控制運行。驅動器支持的功能碼為0x3(讀寄存器)、0x6(寫寄存器)、0x78(寫目標位置)、0x7a(修改設備地址)。 寄存器列表如下:


2.Modbus 通信格式 a.modbus 主機讀取數據及從機應答格式 (功能碼03) 
串口接收到的數據都是無符號數,如果寄存器是有符號數,發送的則是二進制補碼的格式,轉換成有符號數的算法如下(VB代碼): If modbus.data(11) > 32767 Then disp_modbus_data.PU = (modbus.data(11) - 32768) * 65536+ modbus.data(10) disp_modbus_data.PU = -((&H7FFFFFFF - disp_modbus_data.PU) + 1) Else disp_modbus_data.PU = dmodbus.data(11) * 65536 + modbus.data(10) End If 注: modbus.data(11) 為目標位置高16 位 modbus.data(10)為目標位置低16 位
b.modbus 主機寫數據及從機應答格式 ( 功能碼06) 
c.modbus 主機寫脈沖數 (功能碼0x10) 
脈沖數是有符號數,一個負數( 假設此數為X) 轉換成32 位16 進制數的算法如下(vb 代碼): If X < 0 Then X = &H7FFFFFFF + (X + 1) PU24_31 = Fix(X / (256 * 65536)) + &H80 Else PU24_31 = Fix(X / (256 * 65536)) End If PU16_23 = Fix(X / 65536) mod 256 PU8_15 = Fix(X / 256) mod 256 PU0_7 = X mod 256 注:fix() 為取整函數 
d.modbus 主機寫脈沖數 (特殊功能碼0x78) 
3.CRC 校驗示例代碼 
4.modbus 方式主機控制過程 a:位置模式 (1)寫 設備1(功能碼0x06 地址0 Modbus 使能) 1 (2)讀 設備1(功能碼0x03 地址16 報警代碼) (讀到0 時為運行正常) (3)寫 設備1(功能碼0x06 地址3 電機目標速度)2000 (4)寫 設備1(功能碼0x78 電機目標位置)1000 (5)讀 設備1(功能碼0x03 地址10 目標位置低16 位) (6)讀 設備1(功能碼0x03 地址11 目標位置高16 位)以上兩個寄存器都為0 時代表已經到了目標位置 (7)重復(4)(5)(6)過程,控制電機位置。 注:電機的目標速度為電機運行的****速度,如果目標位置較小,電機可能達不到****速度即停止。加速過程寫入的電機目標位置是在原剩余的位置上加上新的數值。例如,第一次寫入1024代表運行一圈,運行到還剩256,代表還有1/4 圈要運行,但此時又寫入一個1024,此時電機的目標位置變成1024+256 而不是1024替代256。這樣不會因為還沒到位又寫入一個數值而導致出現錯誤。 b:速度模式 (1)寫 設備1(功能碼0x06 地址0 Modbus 使能) 1 (2)讀 設備1(功能碼0x03 地址14 報警代碼) (讀到0 時為運行正常) (3)寫 設備1(功能碼0x06 地址3 電機加速度) 6000 (4)寫 設備1(功能碼0x06 地址2 電機目標速度) 2000 (5)重復(4)過程,控制電機轉速。
5. modbus 方式主機控制多個從機 a:位置模式 控制多個從機不同時開始運動 (1)寫 設備1(功能碼0x06 地址0 Modbus 使能) 1 (2)讀 設備1(功能碼0x03 地址14 報警代碼) (讀到0 時為運行正常) (3)寫 設備2(功能碼0x06 地址0 Modbus 使能) 1 (4)讀 設備2(功能碼0x03 地址14 報警代碼) (讀到0 時為運行正常) (5)寫 設備1(功能碼0x06 地址3 電機目標速度) 2000 (6)寫 設備1(功能碼0x78 電機目標位置) 1000 (7)讀 設備1(功能碼0x03 地址12 目標位置低16 位) (8)讀 設備1(功能碼0x03 地址13 目標位置高16 位)以上兩個寄存器都為0 時代表已經到了目標位置 (9)寫 設備2(功能碼0x06 地址3 電機目標速度 2000 (10)寫 設備2(功能碼0x78 電機目標位置) 1000 (11)讀 設備2(功能碼0x03 地址12 目標位置低16 位) (12)讀 設備2(功能碼0x03 地址13 目標位置高16 位)以上兩個寄存器都為0 時代表已經到了目標位置 (13)重復(5)~(12)過程,控制電機位置。 注:驅動器的地址需要先設置,可以通過提供的上位機設置驅動器地址。由于以上方式在寫了目標位置后驅動器會立刻控制電機運動,而寫入地址2 的控制數據需要一定時間,所以地址1 和地址2 的電機不會同時運動。如果下一次的運行速度不變,可以不必多次寫入電機目標速度。
b:位置模式 控制多個從機同時開始運動 (1)寫 設備1(功能碼0x06 地址0 Modbus 使能) 1 (2)讀 設備1(功能碼0x03 地址14 報警代碼) (讀到0 時為運行正常) (3)寫 設備2(功能碼0x06 地址0 Modbus 使能) 1 (4)讀 設備2(功能碼0x03 地址14 報警代碼) (讀 到0 時為運行正常) (5)寫 設備1(功能碼0x06 地址2 電機目標速度) 2000 (6)寫 設備1(功能碼0x06 地址3 目標位置緩存) 1000 (7)寫 設備2 (功能碼0x06 地址2 電機目標速度)2000 (8)寫 設備2 (功能碼0x06 地址3 目標位置緩存) 1000 (9)寫 設備0(廣播)(功能碼0x06 地址1 使能) 1 (10)讀 設備1(功能碼0x03 地址12 目標位置低16 位) (11)讀 設備1(功能碼0x03 地址13 目標位置高16 位)以上兩個寄存器都為0 時代表已經到了目標位置 (12)讀 設備2(功能碼0x03 地址12 目標位置低16 位) (23)讀 設備2(功能碼0x03 地址13 目標位置高16 位)以上兩個寄存器都為0 時代表已經到了目標位置 
時代超群工控直銷為您服務 16633216372 王工
|