Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

C++/DAQ Connection

  1. Nov 12, 2007 #1
    I am supposed to write a program using C++ that will take data collected by two separate DAQ cards and save them as either a text or spreadsheet file. Now, I'm still new at C++ and I do not even know where to begin. How am I even supposed to make a connection between Visual Basics and the DAQ? Note that only one of them has a .dll file (the program for that one is already done) and there is still the one without the .dll. Thanks!
  2. jcsd
  3. Nov 12, 2007 #2

    jim mcnamara

    User Avatar

    Staff: Mentor

    DAQ is usually associated with some sort of device and maybe a device driver. It sounds like you already have a VB dll solution for one - why not use VB simply on that one?

    I do not see why C++ is a requirement, especially if you don't know it at all. All of this can be done less painfully in VB. Is this a class assignment?

    Have you contacted the second card's vendor for a support library?
  4. Nov 12, 2007 #3
    Hey, thanks for the quick reply. This isn't for an assignment. I'm doing research at CSTAR and I was asked to see if I could figure out how to make the program I described above. Although I actually don't know anything about programming, I am happy that I at least have a chance to learn a little bit of it.

    So to answer your questions: I did call the manufacturers of the second card and they don't have a support library for C++. Now, I just noticed something. I am using Wincom (through Matlab) and a .dll file popped up in the file. Could I use this file to create the program?

    Also, you said that it could be more easily done in VB. Could you go a little bit more into that?
  5. Nov 12, 2007 #4
    Also, the program that is already done was made by another guy and I am trying to work backwards from what he has done. Unfortunately, I do not even know how he coded it. He made an MFC .exe file and I don't know how that came about. If you have an idea about how I could modify this program he's made then please let me know.
  6. Nov 12, 2007 #5

    jim mcnamara

    User Avatar

    Staff: Mentor

    No offense - unless you have a really good math background, learning to program by taking on that project is probably a very difficult assignment. Even with good math skills it will take you a long time to write something like that.

    MFC= microsoft foundation classes which is part of VC++ v6.0. So the .exe is from C++ source.

    From your first post, I thought you knew VB.

    You best bet is to find code off the internet that does what most of what you need to do.
    Do you know what the architecture and protocol of the card interface is - serial/parallel/usb/ethernet/prorietary?

    Let's assume serial for an example -
    goto a site like codeguru.com, planetsourcecode.com (these work for most protocols)

    1. search for C++ code that accepts a data stream from a serial device, for serial it is a COM port. For ethernet it will be using a specific TCP/IP port number. Maybe you can use the last guy's C++ code - I dunno. Did he comment his code? Can you figure out what each function does?

    2. go to the vendor's site (or look through their manual) and figure out what is going on with the input datastream. See if you can hack the code you got into playing with the input stream. It will specify things like 8bit parity, or which TCP/IP port to listen to.

    And IMO, MFC obfuscates things a lot for a beginner. Is there no advanced programmer around you can get one-to-one help from?
  7. Nov 12, 2007 #6
    Believe me I have taken no offense whatsoever. I am a complete n00b at programming in general and I know it. I will look into what you said and it turns out that there may be a programmer here that can help me. Thanks a lot for you help.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook