Integration TCL in LabWindows/CVI

Hi everyone!
I am just a begginer with LabWindows/CVI and would like to use TCL commands from my CVI project. To do so, I have already added the tcl.h and the corresponding lib, but got some errors:
 Test.c - 20 errors,2 warnings
  "tcl.h"(201,21)  Redefinition of macro 'DLLIMPORT'.
  "tcl.h"(202,21)  Redefinition of macro 'DLLEXPORT'.
  "tcl.h"(416,33)  syntax error; found 'identifier' expecting ';'.
  "tcl.h"(417,37)  Redeclaration of '__int64'.
  "tcl.h"(417,37)  syntax error; found 'identifier' expecting ';'.
  "tcl.h"(661,5)   syntax error; found 'identifier' expecting '}'.
  "tcl.h"(661,26)  Warning: Empty declaration.
  "tcl.h"(662,1)   Unrecognized declaration.
  "tcl.h"(714,63)  Missing parameter type.
  "tcl.h"(714,63)  syntax error; found '*' expecting ')'.
  "tcl.h"(796,5)   syntax error; found 'identifier' expecting '}'.
  "tcl.h"(802,1)   Unrecognized declaration.
  "tcl.h"(815,59)  syntax error; found '*' expecting ')'.
  "tcl.h"(815,60)  Extraneous formal parameter specification.
  "tcl.h"(816,59)  syntax error; found '*' expecting ')'.
  "tcl.h"(816,60)  Extraneous formal parameter specification.
  "tcl.h"(817,51)  syntax error; found '*' expecting ')'.
  "tcl.h"(817,52)  Extraneous formal parameter specification.
  "tcl.h"(874,5)   syntax error; found 'identifier' expecting '}'.
  "tcl.h"(874,26)  Warning: Empty declaration.
  "tcl.h"(879,1)   Unrecognized declaration.
  "tcl.h"(1165,9)  syntax error; found 'identifier' expecting '}'.
I am not sure about what is the problem, cause I have donde the same thing in a Dev-Cpp project and worked perfectly.
I would really appreciate any comment you can add.
Regards!

Hey Xanax,
It looks like you're seeing errors that would seem to indicate that this header file might have been intended for a C++ compiler (as you said you were able to use).  You can, however, try to adapt the header file to more appropiately address the syntax supported by ANSI C.  To do this, I would refer to each of the errors.  Double-click on each one of them to take you to the location.  For the "Redefinition" errors, comment out the lines from the header file.  For the other errors, start from the top of the list (important to start at the top because some subsequent errors can result from previous errors).  For the "found 'identifier'" error messages, most likely there is a keyword that is not appropriate for C.  For instance, if the header file says the word "class", classes do not exist in C.  Try to go through the header file, error by error, trying to figure out where the header file might be misaligned with C syntax.  During this process, feel free to post with any specific segments that it's complaining about and perhaps we can offer some guidance.
Thanks,
Andy McRorie
NI R&D

Similar Messages

  • [Labwindows/CVI] Integration d'une DLL VC++

    Bonjour à tous,
    J'ai une DLL VC++ avec le .h et le .lib et je n'arrive pas à l'integrer correctement dans un projet CVI.
    dans le .h j'ai une fonction declaré comme suite
    GET_TX(const int FreqMhz, double& resultsevm);
    Labwindows n'accepte pas le passage par reference (double&) donc j'ai modifier la declaration comme suite à fin de l'integrer
    GET_TX(const int FreqMhz, double *resultsevm);
    c'est vrai que j'ai pas d'erreur de compilation suite a cette modif, mais il me semble que la valeur resultsevm retourné par la DLL pas correcte (valeur tres grand % au valeur attendu ) !!!
    Pouvez-vous m'expliquer comment faire pour integrer la dll correctement ?
    si non comment loader la dll dynamiquement ?
    merci d'avance

    Bonjour Tanite, et bienvenue sur le forum de discussins de National Instruments.
    Voici deux documents qui pourraient éventuellement vous aider à utiliser votre DLL dans votre projet CVI :
    1. Creating Import Libraries for a DLL in LabWindows/CVI
    2. FAQ: Using Dynamic Link Libraries with LabWindows/CVI
    Cordialement,
    Vincent.O
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet

  • Drive VXI-MIO-64E-1 in LabWindows/CVI

    I'm integrating a VXI system based NI's VXI-1394 controller in which VXI-MIO-64E-1
    was used. My develop envirenment is LabWindows/CVI 5.01. When I use the MIO
    card to sample a waveform, the only length of the waveform I can sample is
    2048Sa. Then, I insert 2 SIMM with size of 8MB to the MIO card, but it is
    useless.
    How can I configure and use the onboard Mem of VXI-MIO-64E-1? Could you give
    a sample program in CVI?
    Thank you very much!

    Hello Vishnu,
    Unfortunately, the VXI-DAQ cards are no longer supported, but you can find information about using them in the manual.  The VXI-MIO Series User Manual  has details about setting the input range in Chapter 3 on page 3-4.
    Good luck with your application!
    Meghan
    Applications Engineer

  • Connect LabWindows/CVI to Opto22

    I would like to connect the hardware of Opto22 to the software of
    LabWindows/CVI. I thought of using OPC but I don't understand really
    how to setup an OPC server. Is there another way to connect these 2
    items using a driver of maybe DDE? I quite new in these things so
    forgive me if I ask stupid questions.
    Sent via Deja.com http://www.deja.com/
    Before you buy.

    Hi nqn,
    There are actually two conversion wizards that CVI offers with regards to integrating with Visual C++. You can read about them in the Integrating LabWindows/CVI with Microsoft Visual C++ KnowledgeBase.  The only problem is that we don't have conversion wizards available for Visual Studio 208.  We only have conversion and project wizards available for Visual Studio 2005, Visual Studio .NET 2003 and Visual Studio 6.0.  I will say that we are planning on creating wizards for Visual Studio 2008 but this is several releases away. With that said, I would suggest that you submit a product suggestion so we know people are wanting this. 
    So for right now, I would suggest using the conversion wizard in Visual Studio 2005 and then just upgrading that project to VS 2008. 
    Best Regards,
    Jonathan N.
    National Instruments

  • LabWindows​/CVI Openings in MN!!

    A Fortune 200 Consulting firm is currently recruiting a talented LabWindows/CVI professional to play an integral role in the success of a high-profile project. 
    Experience and skills needed for this role:
    Solid and current knowledge of LabWindows/CVI
    Experience with Oracle and instrument data acquisition
    Technical Development experience
    Deep understanding of Labwindows/CVI
    Understanding of DIADEM
    User documentation knowledge
    Team player in an IT environment
    Knowledge of Oracle 10g
    Excellent communication and consulting skills 
    Experience with technical requirements gathering
    understanding of Software SDLC
    Qualified candidates please respond via email to [email protected]

    This depends on your CVI version... the full development version includes the advanced math library, which provides functions such as PulseMeas to evaluate waveforms.

  • Introducing LabWindows/CVI 2009

    National Instruments released LabWindows/CVI 2009 on Friday, December 4th.
    LabWindows/CVI 2009 includes enhanced productivity tools and introduces a new toolkit for run-time analysis and optimization. LabWindows/CVI 2009 also includes support for new technologies such as the Microsoft Windows 7 operating system, 64-bit application development and deployment, and provides a new interface for communicating with NI PXI FPGA-based hardware including FlexRIO and R Series data acquisition modules.
    Visit the What's New  page to see a full list of the new features in LabWindows/CVI 2009 that will help users create more reliable applications in a shorter amount of time and take advantage of new PC technologies. You can also view the What's New webcast series to get a closer look at the new features in LabWindows/CVI 2009. Some of the new features include:
    The new Execution Profiler Toolkit, an application performance measurement and analysis tool
    Improved debugging capabilities  capabilities with extended information in the variables and watch windows
    Easier user interface development with the attribute browser
    Integrated support for 64-bit application development and deployment
    The C- Interface to LabVIEW FPGA, a communication interface for FPGA-based hardware
    Support for Windows 7, the latest Microsoft operating system
    Additional Technical Resources Just for LabWindows/CVI Developers
    Subscribe to the LabWindows/CVI Quarterly quarterly newsletter  to receive the latest product news, tips and tricks, and developer resources. You can also join the LabWindows/CVI user community  and start collaborating with users.
    Adri Kruger
    LabWindows/CVI Product Manager
    Message Edited by Adri K. on 12-07-2009 03:28 PM
    Adri Kruger
    National Instruments
    LabVIEW Product Marketing

    Turbo,
    There isn't a document that covers all the features from 6.0 to 2009, though there are documents that talk about individual upgrades. 
    http://www.ni.com/lwcvi/whats_new.htm
    Also this document covers the upgrades since 8.0  http://zone.ni.com/devzone/cda/tut/p/id/7995
    There have been quite a few upgrades, you can always download an evaluation version and test it out for yourself http://www.ni.com/lwcvi/try.htm
    Richard S -- National Instruments --Applications Engineer -- Data Acquisition with TestStand

  • Visual Studio or LabWindows/CVI?

    I have a bit of a dilemma.
    I currently own Visual Studio 2010, IMAQ Vision Development Module 2013, and Measurement Studio (not sure of version). I currently do all of my programming in VB.net. Because IMAQ VDM is stuck in .Net framework 3.5 and there will be no further .net development by NI, I need to plan for the future. My applications need run on Win 8, 9, 43, or whatever my company decides to migrate to from Win 7.
    My understanding is that the NI modules I currently own will work with LabWindows/CVI. Correct? I also believe I can use them with C++ using the VS IDE. Is this also correct?
    Within my applications I do a lot of interfacing with Excel, writing text files, and interfacing to non-NI devices (cameras, DAQs, scanners, etc). I am able to do these things pretty easily using VB.net using vendor-provided SDK's.
    Therefore, my question is this...given the investment I have in software already, do I gain anything by migrating to LabWindows/CVI? What do I lose?
    I should point out that regardless of the path I choose I will need to bone up on my programming skills in the corresponding language.
    Thanks for all your help!

    Hello Steverino!
    Here are some advantages when using LabWindows/CVI over Visual Studio, which make the product more suitable for various industry-related applications:
    You are correct, LabWindows/CVI integrates with the NI platform: NI hardware and software, like TestStand or LabVIEW (e.g. debugging source code from one software to another, seamlessly).
    NI hardware and third-party hardware connectivity.
    OpenMP support.
    CVI integrates with intrument control.
    CVI Run-Time benefits from User Protection.
    Run-Time checking (e.g. for uninitialized variables).
    Scientific User Interface Controls and GUI Editor.
    Advanced debugging capabilities:
    Remote debugging support from ADE.
    Real-Time debugging support from ADE.
    Memory leak detection using the LabWindows/CVI Resource Tracking Window.
    Just-In-Time debugging.
    Deployment: build custom installers and patches that you can ship as stand-alone easy-to-use installers.
    LabWindows/CVI libraries: Advanced Analysis, Toolbox, Connectivity (Network Variables, Network Streams, DataSocket), etc.
    Support for LabWindows/CVI Toolkits: SQL Toolkit, Vision, PID, RT.
    Regards,
    - Johannes.

  • Software Development Engineer positions at Hysitron, Inc. in Minneapolis (LabWindows CVI exp preferred)

    Software Development Engineer
    Hysitron, Inc. is a premier scientific instrument manufacturer. Founded in 1992 with headquarters located in Eden Prairie, MN we are committed to promoting nanotechnology by developing advanced transducer and control technology. This leadership has made Hysitron the world leader in nanomechanical test instruments. The TriboIndenter®, TriboScope®, Ubi, and other Hysitron innovations have opened new horizons for scientists interested in investigating and understanding mechanical properties of materials at nano-scale. Hysitron fosters an environment and culture where innovation flourishes, teamwork is encouraged, and superior performance is rewarded.
    Hysitron invites applications for multiple software development engineer positions from those aspiring to explore and succeed in the nano world. Hysitron, Inc. is an Equal Opportunity Employer M/F/D/V
    Job responsibilities
    The software development engineers would be responsible for developing test and measurement software applications for nano-mechanical testing instrumentation. Job deliverables would include:
    -          Develop software applications in C based Labwindows CVI for Hysitron Instrumentation
    -          Support the development of applications to address challenges in instrument automation and control
    -          Test software applications using debugging and simulation tools
    -          Perform software releases and software quality assurance activities
    -          Participate in the design of new software products
    -          Perform maintenance activities for existing products
    -          Adapt and deliver on quality software development practices
    Minimum qualifications
    -          BS in Computer Science/ Computer Engineering/ Equivalent Scientific or engineering discipline
    -          Min of 3 yrs experience in Instrumentation software development in an industrial or R&D environment
    -          Expert at programming language C, knowledge of C++
    -          Working knowledge of various communication protocols, e.g. USB, RS232, IEEE, RS485, TCP/IP, Modbus
    -          Knowledge of general software design/documentation processes in test and measurement systems
    -          Proficient problem solving skills
    -          Strong analytical and technical skills
    -          Excellent communication and interpersonal skills
    Preferred Qualifications
    -          Proficient with LabWindows CVI and XML
    -          Working experience with DSP(Code Composer Studio) and/or FPGA level programming
    -          Exposure to digital electronics and instrumentation
    -          Working experience in Robotics interface programming
    -          Experience with Controls/Automation engineering
    Application and Information
    Qualified candidates should send a letter of application and their resumes to (please include ‘SW Engineer’ in subject line):
    Hysitron, Inc.
    10025 Valley View Rd
    Eden Prairie, MN 55344 USA
    Phone: (952) 835-6366
    Fax: (952) 835-6166
    E-MAIL: [email protected]
    Web: www.hysitron.com

    This position is still accepting resumes/CVs.

  • How do I send e-mail to a distribution list using LabWindows/CVI?

    I need to be able to send e-mail to a user-defined distribution list using LabWindows/CVI? Has anyone done this? Any ideas where I could look?

    I commented on something similar to this awhile back.  My issue was that I had the base version and didn't have the Internet classes.  So this external app worked like a charm
    It has a lot of command-line inputer options to use as well.
    http://forums.ni.com/t5/LabWindows-CVI/Need-Help-for-Sending-Email-with-LabWindows-8-5-or-9/m-p/1095...

  • How to use CAN256 and CAN257 in Labwindows CVI?

    I am trying to learn about CAN programming in LabWindows CVI. None of the samples do anything other than generate cryptic error messages. I do not have a card or interface device yet, but reading in the help files I found this:
    "NI-CAN provides a virtual CAN card with two interfaces, CAN256 and CAN257. The two virtual interfaces are connected by a virtual bus. When you write CAN frames to one virtual interface, those frames are received by the other virtual interface, and can be read as channels. This feature allows you to read and write CAN data in the same manner as two real CAN interfaces connected by a real CAN cable. The conversion does not require real NI CAN hardware, and your application is not required to check for specific CAN IDs."
    I modified the Waveform ouput project and add CAN256 to the dropdown in the uir file. However when I run it, I get the same error message as always, error -1074388725.
    Is there an example CVI code someplace to demonstrate the use of these virtual channels?

    Thanks Drew.
    Ultimately, my customer provided me with a WriteCAN256.vi and ReadCAN257.vi that were perfect for my needs. The WriteCAN256.vi along with my NI USB 8473s allowed me to provide data collection on multiple CAN devices and to verify that my Software can handle all data types from CAN devices.
    Note: My customer allowed me to share his .vi's. They are enclosed ...
    Best Regards,
    Don W
    Attachments:
    CanBus Read (Frames)_85.vi ‏55 KB
    CanBus Write (Frames)_85.vi ‏48 KB

  • How to use the checksumdll.lib in LabWindow/CVI to create CRCChecksum();

    Hi All,
    Any one know how to use the checksumdll.lib in LabWindow/CVI to create CRCChecksum() ?
    Thank you.

    Do you ave some documentation about that dll?
    Have you looked into dll properties searching for vendor name? Maybe you can look int vendorìs site and obtain some help.
    Ultimately: are you forced to use that dll or can you use any software to calculate the checksum? There are several CRCs that you can use: provided you know which is the type used you could find an algorithm to calculate the CRC and check an existing one.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • How to set a DMA transfer type for PXIe-6536 in LabWindows/CVI?

    I have a PXI chassis PXIe-1078 with a controller PXIe-8115 running under Windows 7. The digital output board is PXIe-6536.
    I use a function DAQmxSetChanAttribute to set a property DAQmx_DO_DataXferMech to a value DAQmx_Val_DMA, since I want to use a direct memory access data transfer. This wokred well with a PCI-6534 board using the same LabWindows/CVI code before migrating it to the PXIe system.
    Unfortunately, running this code on the PXIe system reports a DAQmx error -200452: "Specified property is not supported by the device or is not applicable to the task".
    The task is created in the following simple way (the board name in MAX is 'Dev1'):
       DAQmxCreateTask ("digTask", &digitalTask);
       DAQmxCreateDOChan (digitalTask, "Dev1/port0:3", "DIG_CHANNELS", DAQmx_Val_ChanForAllLines);
       DAQmxSetChanAttribute (digitalTask, "", DAQmx_DO_DataXferMech, DAQmx_Val_DMA, 15);
    How can I solve this problem? How is it possible to choose between different transfer types?
    Thank you in advance for any hint!

    Hi CavityQED,
    The PCI-6534 is a "Digital I/O" board while the PXIe-6536 is a "High Speed Digital I/O" board, that's why they don't have the same properties.
    By the way you can use DMA transfer with this method :
    http://zone.ni.com/reference/en-XX/help/370520J-01/hsdio/direct_dma/
    Let me know if it helps you.
    Regards.
    Mathieu_T
    Certified LabVIEW Developer
    Certified TestStand Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014

  • How to get bar graph in word in labwindow/CVI ?

    how to get bar graph in word in labwindow/CVI ?

    ashwinic9,
    spawning your question over more and more threads (the present one, this one and this other one) won't give you a faster answer; instead, it will irritate forum users! 
    Especially if you have at your disposal a fast way to perform a test. I pointed you some days ago to word report example, that writes a table to a word document: did you tried changing the graph into a bar graph and generating the report? I have done it for you and the result is OK, as you can see in the attached document.
    Now, since the example works well, there must be something in your particular situation that prevents the graph to be shown; that is: you must add some more data on your actual problem and maybe a small example that exposes the problem.
    But please: keep active only this discussion and let the other threads die! 
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?
    Attachments:
    wordreport.doc ‏38 KB

  • I would like to know how to transform an API C++ application in MFC C++ application to use the measurement studio components or Labwindows CVI

    I don t know the way used to transform a C++ with API program in an MFC application using measurement studio or Labwindows CVI.
    Thank you for you help.

    You can use the Measurement Studio Add/Remove Components Wizard to add Measurement Studio components to your C++ application. For more information, see the "Adding and Removing Components from Measurement Studio Projects Using a Wizard" topic in the Measurement Studio reference. You can find it in the table of contents under:
    Visual C++ Help
    Tutorials
    Measurement Studio for Visual C++ 6.0
    If you're using the Measurement Studio update for Visual C++ .NET, this topic will be under:
    Visual C++ Help
    Tutorials
    Measurement Studio for Visual C++ .NET
    - Elton

  • I used to working with Labwindow CVI and i would like to know how can i use the commands "loadpanel" and "Displaypanel " in Labview. Using Invoke Nodes?

    I want to make another panel appears and runs, but i don´t want to use a subpanel. So, i would like to use somenthing similar to Loadpanel and Displaypanel, that you can use in Labwindows CVI, but in Labview, is ti possible?I hope your answers, thank you!!!

    Hi Bichillo,
    I posted an example here.
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=137&HOID=50650000000500000014570100&HTHREAD=000087828&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0
    It demonstrates how to do what you are asking.
    I do not mind you laughing at the code.
    Have fun!
    Ben

Maybe you are looking for