IL.KP by Modbus TCP
For an application, I need to change IL.KP through Modbus TCP.
The problem is that this register (address 454) is a 16-bit one, so I could not write a value > 65.535.
Is there any solution to write a value bigger than 65.535 ?
Comments & Answers
jcoleman02 said ...
All of the Modbus addresses for the AKD are either 32bit or 64bit. Each register is 16bits. For the 32bit parameters, the Modbus address includes two 16bit registers. IL.KP is address 454, which consists of registers 454 and 455. 454 is the upper 16bits and 455 is the lower 16bits. The documentation only lists it as 16bits because it is possible to read/write only the upper or lower 16bit register by itself. But reading/writing both registers will give you the full 32bit size.
defty said ...
Thanks for your answer, but it does not work ...
When I read register 454, it is always 0
For example : AKD-P06 + AKM23D motor , the IL.KP value is 108.934
But I just read 43398 through modbus because (108934-65536 = 43398) and register 454=0, register 455 = 43398...
To solve this problem, I think about using command buffer to set IL.KP=USER.INT1 and send USER.INT1 through Modbus, but it seems that I could not affect IL.KP = USER.INTx through command buffer.
Joerg Muslewski said ...
it might be related to an internal resolution issue of IL.KP in combination with ModbusTCP.
A similar behavior was detected in combination with Profinet.
If it doesn't work, when you write both registers 454 and 455, ModbusTCP is also affected.
In this case, please report it as a BUG to our German support mail address to my attention.
kenny.hampton@… said ...
You are correct, the register 454 is not large enough to enter values greater larger than 65535. The registers for Modbus are only 16 bits in size, so more registers should be assigned to IL.KP. I have reported this issue to our AKD Development Team.