I have a Delta ASDA B2 Driver connected by my PC via IEEC 1394/ ModBUS RTU.
If I send a reading command as:
11 03 01 12 00 01 27 63
(where:
0x11 Motor Address
0x03 Modbus RTU Read command
0x0112 read internal speed #1 command
0x0001 read 1 register
0x2763 CRC check
)
I correctly have this answer:
0x11
0x03
0x02
0x03E8 speed. In decimal values it is 1000: OK
0x7939 CRC
Then -via Modbus- I can start/stop the servo without problems.
But if I'm going to change the speed by the command (with servo off):
11 06(write single register) 01 12 01 F4 (where 0x01F4 is 500 in decimals) 2A B4
the system gives me an error:
Re: Delta ASDA B2: Sending Speed/Torque via Modbus
Solved!
I simply used the 0x10 function (write multiple regs) and not the 0x06 one.
The final format is something like (for 300.0 rpm):
0x11 0x10 0x01 0x12 0x00 0x02 0x04 0x0B 0xB8 0x00 0x00 0xA8 0x2B (ASDA B2 Manual 8-13)