02-20-2020 01:22 PM
I am trying to communicate with a Serial device with binary/hex communication protocol. The serial configuration is correct. It doesn't matter what I attempt to write to the device, it spews out the same response. I have tried three different approaches to reading the data. I have attached the frame definition as well.
The VISA test panel I can change the number of bytes to read to virtually any number and it comes back as "expected" without changing the command at all.
My main question is why the VISA write function does not change the outuput? Why is the device not recognizing that I have given it a valid command.
Solved! Go to Solution.
02-19-2020 10:48 AM
I am trying to communicate with the ellipse Micro AHRS & INS. I have configured the VISA serial port and have attached the VI. I have also attached what I am trying to read and the command i am sending to the board. I am having a tough time actually getting the data into an understandable format. It pops out as hex, and I convert it to a byte array...use the array subset to get the last 4 bytes, which is supposed to be the velocity in odometer direction, but it seems to either just be shooting out random numbers or just not responding to the command. The instrument is not moving, I should be seeing all 0's in those 4 I have selected.
02-19-2020 11:07 AM
So you are dealing with a raw/binary/hex communication protocol. Where is the rest of the message format defined? Can you point us to a manual?
The first main thing is you need to turn off the Termination Character (Boolean input on the top of the VISA Configure Serial Port). After than, you need to be searching for the frame as you read the data. I need the full protocol to be able to help any more.
02-19-2020 11:18 AM
thank you for your response. I have have noticed it looks like there is a termination char 0x33. I have updated my code since. I am wondering if I need to send multiple commands to this device (e.g. configuration command, initialize data transfer, then the actual command of getting odometer velocity, before finally a transfer end)? I am also wondering if that were the case, how to send multiple commands in succession, sort of like a compiler. I cannot attach the pictures in an easy to read pdf because I do not have the online one, but I have attached the hardware manual.
02-20-2020 08:35 AM
I am trying to use labview to communicate with the ellipse 2 micro AHRS & INS. Just get basic information, like time, velocity, acceleration etc.
However I am dealing with an ELLIPSE2-I-G4A3-M1, it says in the firmare manual that some logs are 'not available'. Does that mean when I send a command to the device, it cannot respond back properly?
Also, I have framed my device and configured it with all the right parameters. It is a serial visa. I sometimes however, get framing errors. maybe like once every 5 runs or so, I'm wondering what that could mean.
02-20-2020 01:41 PM
@arosss wrote:
I am trying to communicate with a Serial device with binary/hex communication protocol. The serial configuration is correct. It doesn't matter what I attempt to write to the device, it spews out the same response. I have tried three different approaches to reading the data. I have attached the frame definition as well.
The VISA test panel I can change the number of bytes to read to virtually any number and it comes back as "expected" without changing the command at all.
My main question is why the VISA write function does not change the outuput? Why is the device not recognizing that I have given it a valid command.
.
02-20-2020 01:47 PM
Yeah I'm pretty stuck and frustrated so I'm just posting different places to see if someone had a possible solution?
02-20-2020 01:52 PM
02-20-2020 02:20 PM
Looks like I found a C++ library that does this. You can look through that ans see if you can replicate what they did using LabVIEW.
http://docs.ros.org/lunar/api/sbg_driver/html/files.html
02-20-2020 02:20 PM