Host Engineering Forum

General Category => ECOMs and ECOM100s => Topic started by: sloarpwr on January 01, 2014, 09:45:16 AM

Title: DL06 and Outback Power AXS Port address mismatch
Post by: sloarpwr on January 01, 2014, 09:45:16 AM
I am looking for help with a seemingly simple matter.  A device I am trying to communicate with is expecting a modbus address request of 40686, for example.  Using the ibox ECRX, the request is transmitted as Function Code 3 with an address of 686.  The slave device chokes and says "illegal data address".  I used port mirroring and Wireshark to intercept the error and attached the screenshots, not sure if they will make it to this post.

Is there any way to transmit the full register address of 40686 to the slave device?  I think this is my problem.  If I use ModbusPoll and read 40686 I get a proper response.  If I try to read 686, it's illegal.


Thanks,
Murray
Title: Re: DL06 and Outback Power AXS Port address mismatch
Post by: Greg on January 02, 2014, 10:14:25 AM
Yes there is a way to do this. Instead of using the ECRX with the "V-memory mapping"... use Z-memory and a hex number for 40686. In other words in the ECRX parameter "From Slave Element (Src)" instead of putting in a V-memory register, use Z9eed (or Z9eee) whichever works. 9EEE hex = 40686 decimal.

The Z parameter will allow you to address the full 65536 memory range (Z0 to ZFFFF; i.e. holding registers 0 to 65535).
Title: Re: DL06 and Outback Power AXS Port address mismatch
Post by: sloarpwr on January 02, 2014, 07:49:16 PM
I like simple solutions.  This worked perfectly.  Thank you.