
adccommunitymod (AutomationDirect) asked a question.
Created Date: October 22,2014
Created By: Mike@Forshock
**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****
So, I am not figuring this out after reading the manuals. I know that I must send 1 byte at all times, meaning 8 coils (Y0-7). But I need to write Y4 to a slave on address 00001, and Y5 to 00002. I can place the Y bits into a C memory space to line it up, but am lost on the Write instruction, specifically the location for the WX directive. Using DL-06 with ECOM100 as master, Lantronix XSenso (R2) as slave. Lantronix Memory Table 14-3 0xxxx Read/Write Coils (Function Codes 1, 5 and 15) Device Address Modbus Address Description 00001 0x0000 0: Relay 1 Off, 1: Relay 1 On 00002 0x0001 0: Relay 2 Off, 1: Relay 2 On 00003 0x0002 Write 1 to reset latched Relay 1 00004 0x0003 Write 1 to reset latched Relay 2 Thanks
Created Date: October 22,2014
Created by: Do-more PE
LD V40500 Word Memory location for Y0
SHFR K4 Make Y4 into the first bit position
OUT V2000 Write it out to a new memory location to send to the Lantronix
Then send V2000 to the Lantronix via MODBUS.
Created Date: October 22,2014
Created by: scott.lawrence
place the Y bits into a V-Mem location. Use that location as the From Master Element in the ECWX instruction.
Created Date: October 23,2014
Created by: Mike@Forshock
I got that, my mind cant wrap the WX address inside the Lantronix device.
:confused:
Created Date: October 23,2014
Created by: Mike@Forshock
After doing a little more looking, I would simply place GY0 as the WX instruction.
Correct?
Created Date: October 23,2014
Created by: Do-more PE
You need the MODBUS Conversion spreadsheet . The instructions for use are on the first tab.
GY0 would be correct for MODBUS address 0x0000.
Created Date: October 24,2014
Created by: Mike@Forshock
Status Update: No Go
So after calling AD and Host Engineering support, it appears that we cannot use the ECOM100 to communicate with a Lantronix XSenso device.
The ECOM100 sends at minimum 1 byte (8 bits). The XSenso will only accept the first 4 bits. Causing an exception.
Now thinking, that I may be able to try a CLICK (allows for bit level) using an RS485 Modbus Gateway. I get error code 3, exception related to the data format it appears.
Using Lookout 6.7.1 (latest) I can poll and update the XSenso so long as I stay within the addresses supplied. Pulls the Float value just fine.
A very frustrating day, and would have tested with my DoMore DM1E, but it seems by 4-slot base no longer functions after sitting on the bench....
That being said, AD and Host tech support was very helpful and patient :D
Created Date: October 22,2014
Created by: Mike@Forshock
So, I am not figuring this out after reading the manuals.
I know that I must send 1 byte at all times, meaning 8 coils (Y0-7).
But I need to write Y4 to a slave on address 00001, and Y5 to 00002.
I can place the Y bits into a C memory space to line it up, but am lost on the Write instruction, specifically the location for the WX directive.
Using DL-06 with ECOM100 as master, Lantronix XSenso (R2) as slave.
Lantronix Memory
Table 14-3 0xxxx Read/Write Coils (Function Codes 1, 5 and 15)
Device Address Modbus Address Description
00001 0x0000 0: Relay 1 Off, 1: Relay 1 On
00002 0x0001 0: Relay 2 Off, 1: Relay 2 On
00003 0x0002 Write 1 to reset latched Relay 1
00004 0x0003 Write 1 to reset latched Relay 2
Thanks