Jump to content

controling other programs


Recommended Posts

Hello everybody. I'm an engineering intern working in labview. I've only been using labview for a few months, so I'm really new at it. Anyway, I need to find a way to read the data off of a loadcell using labview. The loadcell is part of a kit called ergopak, and it does come with a program to control it. I'm pretty sure I can use preprogramed mouse movements and mouse clicks to control the other program, but my boss would prefer for me to be able to read the address space where the loadcell stores it's data.

The loadcell communicated wirelessly with a usb that is plugged into the computer. I've emailed the company that makes the loadcell 3 times, once asking if the loadcell could be controlled by labview, once asking if it could be controlled by DDE, and once asking which address space the loadcell uses. They told me that it can't be controlled by labview, but haven't responded to the other emails yet.

I would really appreciate any advice at all.

Link to comment

I'm afraid you're at the mercy of the company and their response.

Assuming you still want to work with the loadcell wirelessly, then unless the company made an API to work with their transceiver (which sounds doubtful at this point) you're out of luck.

It sounds like your only hope would be if the company designed the transceiver to look like a COM port to the PC.

What do you see show up in device manager when you plug it in?

~,~

Norm Kirchner

The Captain

Link to comment

The only thing that changes when I plug it in, as far as I can tell, is that something called "USB serial converter" pops up. There's nothing in the properties of the serial converter that would suggest that it's related to the ergopak, but it does go away when I unplug the usb.

I recently got in contact with the company, and they seem willing to help, so that's good

EDIT

I've used memory addresses to read information before, but that what was on micro controllers. Can I read information from memory addresses on PCs the same way, and if so can I read the info with labview?

Edited by Dachenday
Link to comment

If you have USB serial converter pop up, it sounds likely that you have a COM port show up on your system as well.

Download a program like Serial Monitor to see what traffic might be going through your PC or how the port is setup for the device.

http://www.hhdsoftware.com/

Not sure if it's still free but I have an old version I could post if need be.

Once you get the settings you might be able to sniff enough shit off of it to figure out what it ate last night.

Good luck,

~,~

Link to comment

If you have USB serial converter pop up, it sounds likely that you have a COM port show up on your system as well.

Download a program like Serial Monitor to see what traffic might be going through your PC or how the port is setup for the device.

http://www.hhdsoftware.com/

Not sure if it's still free but I have an old version I could post if need be.

Once you get the settings you might be able to sniff enough shit off of it to figure out what it ate last night.

Good luck,

~,~

Link to comment

thanks for the info.

Fortunately, the company did send me everything I need to interface with and control the loadcell. I do have a new problem though, and I would appreciate advice on the matter.

When I stream the data in from the loadcell, in comes in as a hexadecimal number with a range of 0 to 255. however, most of those bits do not contain information, and are merely used to confirm which device is being used and other stuff like that. My first thought was to change the hexadecimal into binary, and then to put every bit into an array, and then use the index array function to read the bits I need. However I have not been able to find a way to treat the hexadecimal number as 8 separate bits. I would appreciate any advice you could offer.

Link to comment

Is it just one number that you're getting or do you get an array of numbers? Is the set of bits that you don't care about always the same set of bits? If so, you could simply mask out the bits using a simple AND function with the required mask. For example, if you just want bits 0 and 1 you can mask your measurement by ANDing it with 0x03.

Alternatively, you can use the Number to Boolean Array to convert your U8 to an array of 8 Booleans.

Link to comment

Thanks for the help, everybody. I got it working

Dachenday,

As a very appropriate thank you and smart thing to do, (if it's within the terms of the agreement between you and the company) would be to share your code here or on NI.com so that any other people like yourself that need this information don't have to go through the same pain you did.

my $0.02

~,~

Link to comment
  • 3 weeks later...

Sorry for the long delay (school just started back, and I'm finishing off my undergraduate degree). Sorry for not posting my code, but I'm not sure if it is appropriate or not (Since I'm being paid to write it, I'm not even sure who owns it, I'm pretty new at this).

But thank you very much for the help, I do appreciate it.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.