Use ComponentWorks Objects in Labview

Hi,
I am begineer to LV & Compenent Works, Can Anybody  tell me can i use Compnent Works Objects in Labview 8.2 to built my Front Panel Quickly. To show the user  status of Pumps/Valves.
What can be the easy method to show  animated objecs on front panel.
Is there any library of controls from where i can import ActiveX Objects in Labview.

The Component Works controls are part of Measurement Studio.  If you want to use them in LabVIEW, you do need to purchase Measurement Studio in order to license the ActiveX controls.
That being said, it's not too difficult to add these ActiveX controls to LabVIEW.  You simply use an ActiveX container on the front panel of your VI and select "Insert ActiveX Object".  The controls will be listed, all starting with "cw..."
It looks like you are discussing pumps and valves as well, which might be best addressed by the ActiveX controls found in the Measurement Studio toolkit: ActiveX Automation Symbols Toolkit.
Let us know if you have any additional questions.
Thanks,
Andy McRorie
NI R&D

Similar Messages

  • Is there any object in labview that contains a list of data for the user to select (selection one at a time) or add a new data?

    Is there any object in labview that contains a list of data for the user to select (selection one at a time) or add a new data?

    List and table controls -> listbox..is that what you are thinking of?
    The listbox presents the user with a list of options, and you can set it to only accept one selection at a time...Adding new data to the list can not be done directly by the user but if you make e.g. a text control and a button you can programatically insert new objects described in the text box when the button is pressed...(see example).
    If you need more than one column you have the multicolumn listbox. If you want the users to write new entries directly yu can use a table and read selected cells using it's selection start property to read what cell has been selected.
    MTO
    Attachments:
    Listbox_example.vi ‏34 KB

  • Imlementing synchronized access to shared objects in LabVIEW OOP

    Many objects in object-oriented programming have an
    identity, such as a file, a front-panel object or a hardware device.
    These objects cannot be modelled using present LabVOOP (LabVIEW Object Oriented Programming) objects as
    LabVOOP objects gets copied as wire is branched; multiple different
    wires cannot all represent a single object. This issue has been
    irritating the community of LabVIEW users since the release of LabVOOP
    a few months ago.
    It seems that there is a huge demand for
    objects with unique identity i.e. by-reference objects in LabVIEW. The
    central problem why LabVOOP propably doen't have these objects is the
    difficulty in implementing synchronized access to these objects from
    multiple parallel threads. The problem of synchronized access can be
    divided into two different separate topics. First how the
    sychronization should be implemented in LabVIEW runtime engine. Second
    how this synchronization mechanism should be visible to the developer.
    I'd like to start this thread to discuss these two issues.
    Synhronization under the hood
    Traditionally
    people talk about locking of an object and about get-modify-set pass
    when accessing the object. Locking is traditionally done by acquiring a
    mutex for an object, modifying the object and releasing the mutex so
    that other threads can access the same object instance. This is how
    inter-thread synchronization is traditionally done. However, besides
    the mutex based locking, the computer science community has innovated
    also different kinds of methods on synchronizing the access to objects.
    One way to get object-level synchronization is modify the
    runtime engine so that it only allows a single method of a synchronized
    object to run at any time. This mechanism of syncrhonization is
    implemented in programming languages like O'Haskell, which is a Haskell
    variant with object orirented features.
    Also different
    transactional mechanisms[1,2] have been successful. In transactional
    mechanisms multiple threads are allowed to access a synchronized object
    simultaneously. As each method accessing an object commits their
    changes, they verify that no other object has modified the object
    simultaneously in a manner than would break the transaction. If such a
    modification has occurred, everything is rolled back. Transactional
    mechanism do not suit to every possible situation as not everything can
    be rolled back. For example it's hard to roll back an action that
    somehow modifies the physical world.
    User experience of synchronization
    How
    the synchronization is generally implemented in LabVIEW shouldn't be
    directly visible to the developer end-user. The developer should
    understand the general concepts of synchronization to take full
    advantage of it, but in general the synhronization mechanism should be
    integrated directly to development environment. There should in general
    be no need to acquire a mutex by calling acquire mutex node but instead
    the end-user should be able to specify which data needs synhronized
    access in more sophisticated way.
    In the following I propose a
    mechanism of integrating the synchronized access of by-ref objects to
    the development environemnt of LabVIEW. The proposal is very
    preliminary but I hope it breaks the ice and the community would start
    innovating in how should NI implement the syncrhonization support in
    the user interface of LabVIEW.
    Wire level synchronization
    Only
    methods can access object private data members. In synchronized access
    to the object, it's the methods accessing the private data members that
    need to be synchronized. The private data members are accessed by
    applying unbundle node to the class wire and data is written back to
    the object using bundle node.
    What I propose is the following.
    An unbundle node could either be normal or "synchronized". A
    synchronized unbundle would guarantee the access to the private data
    members in synchronized manner. All data wires originating from
    synchronized unbundle would be of synchronized type, in a little
    similar manner as a dynamic dispatch wire is of special dynamic
    dispatch type. Such a wire must evetually be connected to a bundle
    node. When the wire is bundled back to the originating object, the
    synchronization requirement is released.
    These synchronized
    wires would look somewhat different from normal wires so that the
    developer instantly knows that the wire is synchronized. The developer
    can branch the wire, but only one wire branch can own the synchronized
    type. The developer could easily select which wire would be
    syncrhonized by Ctrl+clicking the wire. Such a wire can be considered
    as a combination of a data and a mutex, even though mutexes don't need
    to be the underlying synchronization method. The wire just guarantees
    that there is a mechanism in the runtime engine that makes sure the
    access to the wire data is synchronized.
    There is a need to wire
    data originating from a non-synchronized wire to a synchronized wire so
    that it can replace the private data member of the class. This is
    accomplished with a new node similar to bundle node, that would allow
    replacing the data in a syncrhonized wire with some data originating
    from a non-synchronized wire.
    The synchronized wire can be
    connected to a front panel controls of special syncrhonized type. This
    way the synchronized wire can originate from a method and allow passing
    the synchronized data to the calling VI and back to another method.
    This is practical for example in a situation when the developer wants
    to run different analyzes to a data class but don't want to rewrite all
    the existing data analysis tools as class members. So the developers
    writes a syncrhonization acquiring getData method that let's the
    calling VI to access the syncrhonized data. Then the developer passes
    this data to an analysis VI and passes the result back to a setData
    method that writes the result back to the class wire.
    There
    will probably be technical problems in allowing the user to connect
    such a synchronized wire to all existing VIs since these VIs. Therefore
    the programming model for all nodes that do not support such
    synchronized wires will be branching the wire and passing the
    non-synchronized wire branch to the node and then bundling the result
    back to the synchronized wire.
    To increase performance and
    decrease unnecessary buffer copies when a syncrhonized wire is
    branched, if the syncrhonized wire continues directly to the new bundle
    synchronized wire node, no buffer copy is made.
    Discussion
    The
    syncrhonized access to a by-ref LabVOOP objects can be implemented in
    multiple ways by National Instruments. The synchronized access should
    be divided to two different and independent parts: 1) the user
    experience of synchronization and 2) the runtime engine synchronization
    mechanisms. As LabVOOP objects have special properties compared to
    other LabVIEW data types, optimal user experience can be gained by
    designing the user experience specifically for LabVOOP objects. From
    user experience point-of-view this syncrhonization mechanism may not
    work for other data types. Separating object syncrhonization from
    synchronization of other data types is advantageous also for other
    reasons. Due to the fact that object data can only be accessed via
    object methods, more advanced synchronization methods may be used with
    objects than can be used with other data types. O'Haskell
    synchronization implementation is an example of this. Integrating the
    synchronization directly to the user interface allows NI to change the
    mehcanisms under the hood, when computer science comes up with more
    advanced methods. Therefore NI could begin with traditional and quite
    easy mutex-based synchronization and later move to more advanced
    perhaps transaction based syncrhonization methods or even combinations
    of multiple different methods.
    I hope this topic generates
    discussion that would help NI to implement an excellent synchronization
    mechanism in LabVOOP. I hope that all talented individuals in the
    community participate this discussion to help NI to reach this goal. I
    also hope that if you just have time, it would be great if you could
    surf the computer science resources to find out what kinds of new
    techniques there exists for synchronizing access to shared resources. A
    Large community may find much more innovative solutions than a few engineers at NI. Let's give NI the power of open source design
    Tomi Maila

    Hello Tomi,
    First, thank you for taking the time to write such a well
    though-out suggestion.  Are you familiar
    with the “LabVIEW Object-Oriented Programming: The Decisions Behind the Design”
    document?  I think the reason we chose to implement a ‘by
    value’ strategy, is that is more in line with the LabVIEW programming paradigm
    of dataflow, and would make sense to most of our LabVIEW users.
    I think your suggestion is interesting, and it does
    highlight the need to think outside of the conventional LabVIEW box and look to
    some of the innovative things other languages do.  However, I think we all agree that
    synchronization takes careful planning and extra work for the programmer.  Even with an ‘ideal’ solution I see no way
    around this.  For LabVIEW users today,
    one great way to get synchronized ‘by reference’ semantics with your objects is
    to use a single-element queue to pass your object.  The queue itself is passed ‘by reference’ and
    is inherently synchronized!  The does
    have the disadvantage of adding one more small layer of complexity to your
    program, but some complexity would have to be introduced in any situation.  The other disadvantage with this is that it
    is not always an intuitive way to implement your program and requires some
    amount of LabVIEW knowledge before one would generally come across this
    technique.
    In any case, I appreciate the time and effort you put in to
    your suggestion.  Please make sure that
    you submit the suggestion formally through the NI Product Suggestion Center so
    that it can be reviewed by some of the decision makers here.
    Thanks again,
    Travis M
    LabVIEW R&D
    National Instruments

  • How can I use USB interface in Labview?

    Hi.
    Does labview allow to USB interface?
    I have been seen allowing GPIB and RS232.
    I'm beginer at Labview and wanna use USB interface for my target system and pc.
    I wanna know how to labview interfaces from target system to pc.
    And if Labview doesn't provide USB interface module, how can I use USB?
    Is using a USB at Labview hard to beginer?
    Plz, answer to my quetion.
    sorry, my English is very poor.
    thx for reading my article.

    You can access devices connected to the USB port, but not in the same way as you would a GPIB or RS232 device. There are no USB drivers like there is VISA for GPIB or serial. Rather devices that plug into the USB appear to the systen as some sort of standard resource like a printer, disk drive or IO board. LabVIEW then interacts with these devices as it would any other device of the same type.Look at it this way, if you have a USB daq device you will access it through MAX the same as if it were a plugin card. Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Calling DLL FMI Objects in Labview

    Hello,
             I am working with Functional Mock Up Interface between Modelica and Labview.
             I have made an FMI Program and now comes the tricky part of Porting it to Labview(We use RT Target with a PCIe6343 Device).
             The easiest and simplest direction i took was to convert this FMI program(written in C) into a DLL.
              Now this FMI program uses FMI objects and FMI functions for data handling.
             My first out of many questions is.
             1.Can i Call a Function specified in The DLL to create an Object in Labview.?
              2.How to get to creating an Object via a C DLL.
                 Regards
              Raghu

    Hi Raghu,
    you cannot directly access global variables that are declared in a DLL from LabVIEW or any other programming environment. The easiest solution for this is to add functions to your DLL which provide dedicated reading and writing access to those globals to external callers.
    Using C++ instead of LabVIEW will therefore not resolve this issue, as you still need to define data i/o functions inside the DLL to access the global variables.
    But before you start re-engineering your model DLL to include these functions, you might want to re-evaluate the concept of your mock-up interface. From my understanding, a FMU provides the simulation functionality only (give the model some inputs, wait for the calculation to finish, read back the outputs), which can be called through a standardized interface from a quite complex simulation framework. The framework provides data generation and storage, i/o with the simulation model, data visualization and logging. Although writing such a framework in LabVIEW is possible, I would not recommend doing so alone, as you will probably need several month just for concept design and programming.
    So from my point of view, the only sensible way to go would be to see if your existing simulation framework has an interface (ActiveX, .NET, OPC, TCP/IP low level, ...) that allows you to share data other programming environments. This way, you could implement the user interface in LabVIEW and send the user-changed parameters to the simulation framework, which then forwards them to the model. The model's outputs are then read back from the framework and will be passed to your LabVIEW application, which visualizes them for read-out...
    Best regards,
    Sebastian

  • DirectX objects in Labview?

    Does anyone have any info for using directX objects for 3D display in
    labview. It would be awesome for displaying products and certain mechanics
    in 3D using directX.
    I would appreciate any help or useful resources on this one...
    Thanks.
    Mike

    For this you'll need some kind of program that will display those 3D products and is compatible with activeX, for example, you can insert an Autocad container to display Autocad 3D drawings.
    Hope this helps

  • Is anybody use Hyper File with LabView?

    Is anybody use Hyper File with LabView?
    I Have a project that need to conect to a hyper file data base Made by PCsoft.
    Thanks
    Benoit Séguin
    Software Designer

    I have never used HyperFile, but a quick check of the company's website indicated that there are ODBC drivers available for it so it should be a simple matter connecting through ADO.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How do we use if statement in labview?moreover can i use if statement inside for loop?

    how do we use if statement in labview?moreover can i use if statement inside for loop?

    The if statement in LabVIEW is the Case structure. You can find that on the Structures palette right next to the For Loop. If you're still on the same subject about terminating a for loop early, then what you do is enclose your functions inside the loop with a case statment and make one of the case's empty except for one or more constants that you might have to wire. Hopefully, the attached picture will explain what I mean. Also, as I mentioned in one of your other posts, I think this technique is not as good as using a while loop. The array in the attached example is the same size no matter what and you may have to handle stripping extra or invalid elements.
    Attachments:
    For_Loop_with_Case.jpg ‏21 KB

  • Implicit and explicit Type conversion using Type object in heap

    Hi,
    I am surprised how Implicit and explicit Type conversion works using Type object in heap. for example when implicit type conversion occur what pointer it returns to object and similarly with explicit type conversion.

    Hello,
    >> I am surprised how Implicit and explicit Type conversion works using Type object in heap.
    For Implicit conversions: Typical examples are conversions from smaller to larger integral types, and conversions from derived classes to base classes. For the first one, the reference would be different which means it would return a different pointer to
    a new object. For the reference type, it actually points to the same memory location, you could use the object.ReferenceEquals() to check it.
    For Explicit conversions (casts):Typical examples include numeric conversion to a type that has less precision or a smaller range, and conversion of a base-class instance to a derived class. For first one, it would perform the same with implicit conversions.
    While for the conversion of conversion of a base-class instance to a derived class, actually, there's no built-in way to do this conversion.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Attention!!-don't use OLE object in Reports

    If you are planning to use or is currently using OLE objects in Reports-please don't use it as the object maynot reload in future and your report may not even open in Report Builder.I got this message when opening the report containing OLE object:
    REP-4004: Error occurred while restoring OLE object
    and it refused to open up crashing my days of work.
    The pity is I can't open my report even to remove the OLE object.

    I know that is weird.I placed the object in the same directory-but in vain.Afterall, what's the logic of putting it in the same directory after embedding it?

  • Getting 'File not found' error while using server object model code

    Hi,
    I am using server object model code to pull list data in a console application. My machine has standalone installation of SP 2010. I am getting error 'File Not Found', however the same operation is working fine with client object model code.
    Code I am using:
    string strURL=http://servername/sites/sitename;
    SPSite siteObj=new SPSite (strURL); //getting error here.
    I have already checked the below,
    1. Framework being used is 3.5.
    2. I have proper access to site.
    3. Running visual studio as admin.
    Any help is much appreciated.
    thanks
    Tarique
    thanks and regards Tarique Aslam

    Hello Tarique ,
    Couple of pints need to check:
    1. User running the console application needs to have at least read permission to the SharePoint databases
    2. Set application by changing the "Platform target:" option on the "Build" to "Any CPU"
    Also refer this similar thread:
    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/2a419663-c6bc-4f6f-841b-75aeb9dd053d/spsite-file-not-found
    Hope it could help
    Hemendra:Yesterday is just a memory,Tomorrow we may never see
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

  • How to use a object(in MXML - in FLEX 4) in multiple way.

    This is my object in MXML:
    <mx1:Canvas id="menuElement" visible="true" rotationY="-15">
         <mx1:Canvas mask="{imageMask}">
              <mx1:Image id="menuImage" visible="true"/>
              <s:BorderContainer id="menuBackground" width="70" visible="true"  borderVisible="false">
                    <s:Label id="menuDescription" fontSize="30" fontWeight="bold" rotation="-90" />
                        <s:backgroundFill>
                             <s:LinearGradient rotation="90">
                                  <s:entries>
                                       <s:GradientEntry  id="backgroundColor" color="0x000010" alpha="0.6"/>
                                  </s:entries>
                             </s:LinearGradient>
                        </s:backgroundFill>
                   </s:BorderContainer>
              </mx1:Canvas>
         <mx1:Canvas id="imageMask" backgroundColor="#FF0000"/>
    </mx1:Canvas>
    I use this object (one time) with configuration in actionscript (positions, source of picture etc.) and I receive something like on a picture below:
    Now, I need to create 4 elements like below. I don't wan't to copy 4 times this block of program. Anybody have idea how can I make it and how can
    I recall of each element from actionscript?
    Regards

    if you run nw04s SP8, it's a limitation. you can create your own simple types and use them in your entities. but the custom data structures you create in the dictionary don't show in list of available structures when you want to create a new complex attribute

  • How many users do you have using Busines Objects Enterprise?

    Post Author: hcso
    CA Forum: Deployment
    How many people did you first roll it out to and was it a difficult process?  I'm guessing there was training and documentation made available?
    Using:
    Business Objects Enterprise Release 2 SP2
    SQL Server 2000 Data Mart
    IIS
    .NET framework installed
    Crystal Reports XI R2
    Active Directory authentication
    Windows Server 2003 virtual machine
    Service Pack 2
    Intel 3 GHz
    1.02 GB RAM
    15 G hard drive
    Thank you!

    The sparsebundle will expand in size as required.. there is not set size.. when the hard disk is full then each TM should start deleting old backups. If you want to set a size for each backup then you will need to create a disk image.. but really TM can be left to look after this itself.
    http://pondini.org/TM/33.html

  • How to use Logger object in Lookout 5.0

    I am now trying to log data using Logger object. I use Switch1 for activating LogContinuously mode and Switch2  for breaking logging process. If I turn off Switch1, the logging process stops, its ok. My problem is if Switch1 is still on and I turn off Switch2, the logging process is still running. I seems different from what I have read from Help file. Anyone has the solution for it?Please give me an advice! Thanks a lot. Its better if someone post an example about using Logger object here for reference.
    Regards, 

    I think the behaviour you described is correct. If you turn on switch2, the logging process will stop, even when switch1 is on. If you turn off switch2, the process will be running.
    Here is an example of logger object.
    http://zone.ni.com/devzone/cda/epd/p/id/3816
    you can change the "log break" button into a switch, which can better show you how it works.
    Ryan Shi
    National Instruments

  • Using Multiple Object Types in a FIM Managed Criteria Distribution Group

    Is it possible to use multiple object types in a criteria based distribution group. So when building your criteria filter, "Select (object type) that match (all/any) of the following condiftions". Currently you can only choose 1 object type and
    I want to be able to choose object type "user" and a custom object type I create for my contacts 

    You can create main condition as "any" and later add two sub-conditions - one that object in set "All People" and other sub-condition that object in set "All Contacts" or "All Groups".
    If you found my post helpful, please give it a Helpful vote. If it answered your question, remember to mark it as an Answer.

Maybe you are looking for

  • How can you find out what number comment you are on within the comments list?

    Hi everyone, I have looked around but I cannot seem to find an answer to what seems a very simple request. I have a PDF with over a hundred comments on it and I am making (slow) progress through the comments list. I would like to estimate how long th

  • IPOD transfer from old PC (that no longer operates) to new PC? HELP!!!

    i'm a dummy when it comes to this stuff. literally. my old computer full of over 500 songs i bought is destroyed. i only burned about half of that on CD's. i have about 60 songs on my ipod and would like to salvage that to my new computer. is it poss

  • BB in Home sub forums? Need your feedback in Idea...

    Hi Guys Not sure if you have had a chance to check out the Ideas Bank yet?  An idea has been submitted suggesting that the BB in Home board should be split into smaller sub forums?  What do you think?  Is this a good idea?  What sub-forums should we

  • Designing GUI in NetBeans 6.1

    I have some forms with JTextFields, JButtons and JLabels. I have a very annoying problem in the NetBeans 6.1, that sometimes if I change the location of one of the components in the form (in the design view), for example a JTextField, the entire form

  • Problem opening Aperture library

    I have an aperture library on an external HDD that I used to use on my macbook running Aperture. I want to open this library on my imac running aperture 3 but I get this message There was an error opening the database for the library "/Volumes/WD HDD