Hi,
I need a bit of advice from somebody familiar with modbus protocol.
For a pick and place machine I am currently developing an interface between pc and servo drivers, model panasonic minas a6 mbdlt25sf. Interface is connected by rs485 and communication works fine.
Movement control is done with block operations, no signal on physical interface is used. All is on modbus.
I made a successful test with the following steps:
-all configurations required for modbus comm were made according to panasonic documentation SX-DSV03042_R2_4E.
-in Panaterm, block operations editor, I defined 10 accelerations, 10 speeds and 10 decelerations. I defiend block 255 as a testing block, with relative positioning commands, 50000 steps (equal with one turn in my case), valid acceleration, deceleration, speed and immediate stop conditions. Block 255 is programmed in eeprom.
-with modbus commands, I enable servos, program 0x4414 register with the block ID to start, turn on/off strobe signal (coil) and block is executed, motor executes 1 turn.
So far so good but for actual positioning I need to program a block with variable parameters each time before a move is required.
To be sure I use the same byte alignment, I checked the data content from the block 255 which works.
Reading 8 bytes from address 0x4BFC (this is address of block 255), gives following sequence: 0xA0, 0x00, 0x01, 0x1A, 0xC3, 0x50, 0x00, 0x00
I want to use block 1 to perform movement, but when I try to write the exact same data from block 255 into block 1, I receive an error, no matter what I do.
The sequence used to write is (block register write): 0x01(controller address), 0x10(block write), 0x48, 0x04 (block 1 address), 0x00, 0x04 (data lenght), 0xA0, 0x00, 0x01, 0x1A, 0xC3, 0x00, 0x00 and another 2 bytes crc. Crc is valid, otherwise controller does not reply. At this message, I always get the following reply: 0x01 (controller address), 0x90 (error), 0x03 (exception code-abnormal data), crc
I tried to send this message with servo on, with servo off, with block operations enabled to modbus, with block operations disabled, I also tried to send disabled data (0x00, 0x00...) for that block. No mater what I do, same error.
Anybody has any advice? Thank you.