Jasondelane
Lifetime Supporting Member
I have a project coming up in a few months where I'll be taking measurement from an LMI Gocator and sending them to a Do More PLC H2-DM1E.
I have the Gocator set up on Modbus TCP, and the output is configured automatically as follows.
Command 0 16-bit
Arguments 1 var
Sensor State 300 16-bit
Command in Progress 301 16-bit
Alignment State 302 16-bit
Encoder 303 64-bit
Time 307 64-bit
Job Name Length 311 16-bit
Job Name 312 var
Index 0 375 32-bit
Index 1 377 32-bit
Index 2 379 32-bit
Index 3 381 32-bit
Buffer Advance Register 976 16-bit
Buffer Count 977 16-bit
Buffer Overflow Flag 978 16-bit
Inputs 979 16-bit
zPosition 980 64-bit
Exposure 984 32-bit
Temperature 986 32-bit
Encoder Position 988 64-bit
Time 992 64-bit
Frame Index 996 64-bit
[V] Profile Bounding Box/X 1000 32-bit
[D] Profile Bounding Box/X 1002 16-bit
[V] Profile Advanced Height/Height 1 1003 32-bit
[D] Profile Advanced Height/Height 1 1005 16-bit
[V] Profile Advanced Height/Height 2 1006 32-bit
[D] Profile Advanced Height/Height 2 1008 16-bit
[V] Profile Advanced Height/Height 3 1009 32-bit
[D] Profile Advanced Height/Height 3 1011 16-bit
I'm using a WRX instruction in the Do More, trying to get values from Height 1, Height 2, and Height 3. I'm able to poll and get data from the Gocator, but only certain registers are actually providing useful data.
How should I properly configure the Memory Configuration and MRX instruction to get this data into its own register?
I made a new memory block called SCAN, Signed DWORD and I'm using that as the destination for the MRX instruction.
The MRX instruction setup is using function 3, Read Holding Registers, offset from register 900, for 125 registers, destination SCAN0
Where am I going wrong in this setup?
I have the Gocator set up on Modbus TCP, and the output is configured automatically as follows.
Command 0 16-bit
Arguments 1 var
Sensor State 300 16-bit
Command in Progress 301 16-bit
Alignment State 302 16-bit
Encoder 303 64-bit
Time 307 64-bit
Job Name Length 311 16-bit
Job Name 312 var
Index 0 375 32-bit
Index 1 377 32-bit
Index 2 379 32-bit
Index 3 381 32-bit
Buffer Advance Register 976 16-bit
Buffer Count 977 16-bit
Buffer Overflow Flag 978 16-bit
Inputs 979 16-bit
zPosition 980 64-bit
Exposure 984 32-bit
Temperature 986 32-bit
Encoder Position 988 64-bit
Time 992 64-bit
Frame Index 996 64-bit
[V] Profile Bounding Box/X 1000 32-bit
[D] Profile Bounding Box/X 1002 16-bit
[V] Profile Advanced Height/Height 1 1003 32-bit
[D] Profile Advanced Height/Height 1 1005 16-bit
[V] Profile Advanced Height/Height 2 1006 32-bit
[D] Profile Advanced Height/Height 2 1008 16-bit
[V] Profile Advanced Height/Height 3 1009 32-bit
[D] Profile Advanced Height/Height 3 1011 16-bit
I'm using a WRX instruction in the Do More, trying to get values from Height 1, Height 2, and Height 3. I'm able to poll and get data from the Gocator, but only certain registers are actually providing useful data.
How should I properly configure the Memory Configuration and MRX instruction to get this data into its own register?
I made a new memory block called SCAN, Signed DWORD and I'm using that as the destination for the MRX instruction.
The MRX instruction setup is using function 3, Read Holding Registers, offset from register 900, for 125 registers, destination SCAN0
Where am I going wrong in this setup?