How to contorl PoCL in CVI

Hello,
I am using an NI-1433 board and can communicate with my JAI camera and use power over cameralink (PoCL) to power the camera. I would like to turn this on / off so that the camera is only powered when the software is running.
Can this be done?
If so, how?
DSN

Hi DSN,
The mechanism used to turn the PoCL on and off is marked to only be available at initialization time while loading the camera file, so there isn't a simple way to use this to turn the camera on and off. However, I did find another forum post where another community member came up with a possible workaround. You would need to close the IMAQ camera interface, then open a new one that uses a different camera file where the tag for supporting PoCL is unchecked.
I hope this helps!
Emily C
Applications Engineer
National Instruments

Similar Messages

  • How can I run a CVI panel in labview ???

    Seems simple enough... I want to create a DLL to be called from my labview VI using the "call library function". The DLL will have a panel that the user can navigate around and push buttons to invoke callbacks.
    Seems simple enough, but when I try this the buttons do not work. If I try to compile the DLL with the "real time only" runtime support, then it does not like the "LoadPanel, DiscardPanel, RunUserInterface", etc...  vital commands to run a panel.
    So what gives? anyone know how to create a DLL with an operable panel to be called from within a labview VI?
    I guess I should clarify, the callbacks are CVI callbacks.
    Much thanks in advance...

    Use LoadPanelEx instead of LoadPanel.
    And enable this in the setup:
    George Zou
    http://webspace.webring.com/people/og/gtoolbox

  • How to use LStrHandleArray in CVI

    Hello,
    I have compiled LabVIEW drivers as a dll and am calling them from LabWindows CVI. One of my drivers has an arrray of strings. Each element will contain a 16 bit Hex number (0 - FF). I need to know how to define the LStrHandleArray in CVI, and also how to set it equal to a defualt value which will be passed to the LabVIEW driver. I also have another driver that is returning an array of the same format. Please keep in mind my C experience is minimal.
    This code will build:
    LStrHandleArray  TXBuffer[10] = {0,0,0,0,0,0,0,0,0,0};
    This code will not build:
    LStrHandleArray  TXBuffer[10] = {CA,0,0,0,0,0,0,0,0,0};
    I get a build error: " 28, 34   Undeclared identifier 'CA'."

    You might want to post this in the CVI forum, you are more likely to get useful advice about C there. That said, you need to understand what you're trying to do. It might help to upload the LabIEW code to show the functions you need to call.
    Only 8 bits (a byte or a char) are needed to store hex 00-FF. Why do you need to store 16-bit values?
    An array of strings is not the same as an array of characters. Are you trying to store 10 characters, or 10 strings?
    If you only need to store 10 characters, it will be much easier to use a standard C array than an array of LStrHandle, although you will have to modify the LabVIEW code.
    There are several possible problems with the LStrHandleArray initializer, depending on how the data type LStrHandleArray is defined (extcode.h defines LStrHandle, but not LStrHandleArray). I'm going to guess that you intended LStrHandle, and not LStrHandleArray since the [] defines it as an array. You would then have an array of pointers to memory locations, so assigning constant values to them doesn't make any sense (however, it is allowed by C syntax, and 0 is acceptable as a null pointer). Assigning an initial value to an LStrHandle is much more complicated because the correct way to do it is to allocate the memory with a call to the LabVIEW memory manager, then copy the constant string into it.
    To use the hex value CA as a numeric constant, you would instead write 0xCA. Or, as a character constant, you could use '\0xCA' (in single quotes). However, assigning the value 0xCA to a handle is meaningless and likely to cause crashes, because it assigns a pointer to the memory at address 0xCA rather than pointing at a memory location that contains that value.
    I apologize if the above isn't clear given your level of C experience.
    Suggestion: it appears that you just want to pass an array of 10 bytes from CVI to a LabVIEW application. Do this by defining an array of 10 characters and pass that to LabVIEW as an array of bytes, which you can convert to a string in the LabVIEW code if necessary.
    char TXBuffer[10] = {'\0xCA', 0, 0, 0, 0, 0, 0, 0, 0, 0};

  • How can I use LabWindows/CVI do Roulette Wheel ?

    This is LabVIEW's example.
    I want use cvi to like it. (push  start button & picture will be whirl)
    How do I create an image and Rotate it ?

    The LV program does not rotates the image: it recalculates and redraws it instead. You can observe that numbers are not rotated but are always drawn horizontally.
    You could replicate this behaviour using a canvas control and the appropriate functions to draw text and arcs and paint them. You can look at canvas.cws and piedemo.cws examples. They are already installed on your machine in samples directory: use the example finder (Helo >> Find examples menu function) to locate it.
    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 contorl the standard output???

    Howdy....
    How to control the output in the console with System.out.println()??
    I wanna display some strings in the same position of the console.
    Thanx!

    if you don't want to use the default PrintStream instance, you'd have to code your own PrintStream subclass that prints lines as you like and then use System.setOut() to set your implementation as the system instance... ...sounds like a bad idea, or at least the wrong solution to the problem. Why not have the client format the String as necessary, rather then having the PrintStream instance do it?

  • May i know how to use Lab Windows CVI to generate serial I/O?

    i'm using CVI labwindow software now, i would like to use it to generate serial digital input/output data by using an instrument data acqusition card,PCI-DIO-32HS. THank you very much.

    Hello,
    Please refer to the following link for more information about the theory.
    Link 1
    Sincerely,
    Sastry V
    Applications Engineer
    National Instruments

  • HELP!  how to contorl which site can be sent Bdoc?

    HI everyone :
                       I add  2 sites in the T-code SMOEAC,and assign them  the same subscription.example:one of  the subscription
    contains the replication objects "BUPA_MAIN".
                       now when I create a BP in  the CRM ,the system will sent Bdoc to both the  sites.
                       iif I want to choose  only a  site which i request when the BP  save,how can  i  do?
                       thank you!

    Hi Nikey,
    There is no possiblity to setup the system in such a way than when you save the change to business aprtner you then get to choose which site the change is sent to: either a subscription has been maintained, in which case the data or sent, otherwsie they are not sent.
    You do, however, have an option to restirct which the BUPA_MAIN-relevant data are sent to each site by using citeria fields.
    Some publications (and the replication objects they are based on) are delivered as type "Simple bulk" which does not give you the opportunity to assign criteria values for filtering. This applies to BUPA_MAIN
    You therefore have to re-create the publication. To do that, first deleted the
    subscriptions, publications and the replication object, then recreate the replication object as type "Simple intelligent".
    Afterwards you can create a new publication via wizard of type "Simple intelligent (msg)" assigned to the BDOC-Type BUPA_MAIN.
    Then, you will be able to select some "filter criteria".
    The reason for deleting the "old" publication is, that you are not allowed to assign a BDOC-Type to more than one publication
    But please keep in mind that there is no realignment supported. So you should only use fields for filtering, which cannot be changed after-wards (such as the transaction type).
    This is the "simple" solution for filtering on fields. This will not provide complex filter criteria.
    If you need this, you are able to create a filter function in R/3- and/or CRM-Inbound and -outbound.
    If you need this, you are able to create a filter function in R/3- and/or CRM-Inbound and -outbound.
    If you want to keep the control about the upload trigger, you can add
    an additional module in transaction CRMC_BUT_CALL_FU, position > 200000.
    BUPA_MWX_BDOC_BPS_FILL_CENTRAL. Within this new module, you can delete
    all partners within the complex structure that you don't want to upload.
    You can use every criterion you are interested in.
    I hope this helps.
    Brian.

  • In TS how can I use a cvi panel launched by one .dll in a different .dll

    I have a dll file that has common functions used by
    several of our PCA's. In this dll I launch a console
    window to dump RS232 strings to for user convenience.
    Each PCA's also has it's own specific dll and I want
    to dump RS232 strings to the console window that was
    lauched by the common dll. Can I do this...

    You can definitely call one common DLL from multiple other DLL's. Some things to watch out for:
    1. If you are accessing your "common DLL" from multiple other programs (the DLL's for each of you PCA's) you need to set up some type of data protection. You may get unexpected results if one program is using the DLL, and another tries to access it. There are many ways to accomplish this. Try searching on MSDN (msdn.microsoft.com) for "multithread-safe DLL".
    2. Since you will be writing to a panel that is created by the common DLL, you will have to set up a communications scheme to accomplish this. The easiest way would be to pass strings between the DLL's using exported function calls. So the common DLL will have an exported function, say "DisplayText(...)" whi
    ch each of the PCA DLL's will call in order to pass in text to be displayed in the common window.
    regards,
    Eric Meyer
    Applications Engineering
    National Instruments

  • How to contorl ring's dropdown menu position?

    Hi All,
    I have ring controls on FP. The problem is, when the ring text string is long, the dropdown menu goes over the screen and shows up a few centimeters over to the left.
    Any way to control the dropdown menu position? It's just not in the right spot and looks wired.
    Thanks a lot for any help.
    Anne 

    Since the ring control on FP is just beside the monitor right border and its text string is longer than it's actual size, when I click on it, the dropdown menu shows up a few centimeters over to the left instead of going out of the screen.  I guess it's a build in feature, but looks bad.
    I am using classic ring contol, and labview 8.5.1.
    Here is the screencopy.  Thanks

  • Count digital events on a Counter with pci-6602 with callback on CVI

    Hi,
    I'm using a PCI-6602 card with CVI 8.5 and I need to trig on event.
    On every pulse I received, I need to do some actions like increasing a counter, send a message on Rs232 etc.. I don't want to do any loop checking that the counter value has changed. I would like to use a callback to execute this code only on the edge or counter value event.
    My problem is that I don't know which function can do this. Is there any way to get an event on a pci-6602? 
     Thanks 
    James 
    Solved!
    Go to Solution.

    Hello.
    It's completely possible to create a callback that will allow you to do what you want when a edge will occur on an external signal you define.
    To do this, you can for exemple create a counting edges task that will use one of the 6602 counters,and the set your external signal to be the source of your sample clock.You'll then be able to register a callback with the function DAQmxRegisterSignalEvent, and your callback will be called each time an edge will occur on your specified sample clock source.
    Here's 2 links that explain the events in DAQmx and how to handle them in CVI. The example ReadDigChan-ChangeDetectionEvent.pr that ships with DAQmx examples (Hardware Input and Output<<DAQmx<<Digital measurements) can be very useful to understand how to do. This example creates a signal event callback to detect change detection for digital inputs.
    Regards.

  • OS language settings break CVI code

    I'm developing software that requires support for chinese language, I've followed the instructions to change this settings for LabVIEW 8.6 (http://digital.ni.com/public.nsf/allkb/91A1863834F4B1A0862575670067D15C) and TestStand 4.1 (http://forums.ni.com/t5/NI-TestStand/Operator-interface-Chinese-language-support/m-p/375100) but I haven't been able to find information on how to do this in CVI 8.5.
    When I enable the support for characters in Chinese on my XP machine and I open the CVI files they are shown like this:
    What do I need to do to get this working?
    Thanks!
    <<-N->>
    CLA - CTA

    Hi Nick,
    I created a simplified function in my driver just to show how it breaks, I'm attaching the source code and a VI I'm using to test this.
    My machine settings are initially in English so I can compile the code. Within the attached project I created a function called tktds8k_SetDataStartNIExample function that runs regardless of wheter you have an instrument or not. Within this function all I'm doing in sending a command using:
    sprintf(buffer,"DATATARt %d",0);
    Using the _tktds8k ExampleNI.vi VI I run the function and take look at what is sent with NISpy, and this is what I see:
    Then I change the language settings to Chinese and run the same VI and this is what I see:
    In production test run I get errors along the lines of passing toom any arguments to a function.
    Regarding the CVI editor, I was under the impression that Idea Exchange was a feature request portal and to me this is a very serious defect in the software... there no guarantee the IDE will work in a multibyte environment for which we are buying dozens of licenses as part of the NI Developer Suite. Would you agree with this?
    <<-N->>
    Attachments:
    NIExampleCN-EN.zip ‏477 KB

  • How to get the motherboard serial number?

    Hi
    i am writting an application which will encrypt the motherboards serialnumber and other info to do an activation of my application.
    inevitably locking my program to a specific PC.
    Does anyone know how i can get the motherboards serial number?
    I tried the wmi but get so many errors like missing prototype and not declared.
    I dont know when to start using the Windows Management Instrumentation with regards to Lab windows/CVI.
    Can anyone help me?
    Thanks
    Shako
    Help share your knowlegde

    I made up a small example that shows how to use WMI in CVI.
    Unfortunately, I tested it on two systems (Win XP and Win7) and the serial number that can be retrieved in System Enclosure (that should be the S/N assigned by the PC producer) is always blank.
    I will try to locate additional infos on this matter, in the meanwhile you may want to experiment with the example and search for other available infos (like for example OS or disk s/n) to create your own security system.
    The example can be found here.
    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 add dll library to application?

    I start programmed the CVI a few weeks ago and I have a little problem. I must make an application layer for profibus master device. However I total do not know how to add dynamic library to program, because in another way I get the error: undefined symbol. I know that it very trivial, but I cannot find solution. I have a lib file and also I include file about device, but I still get the error – undefined symbol – can you help me?
    Thanks very much for any advice or help

    Dear laszku,
    Are you looking for solutions to connect your CVI application with PLC? Because there are also solutions for that which are easy to use, and to implement with CVI.
    If you want to use your DLLs, there are some on-line help, how to import them in CVI.
    Basicaly there are two different method to import DLLs:
    - static import, when you import the library in your CVI project. The dll will be loaded when the exe starts running. If there is an issue to load the library, you'll be able to get the error at compilation time.
    - dynamic dll import, when you load the library at run-time. With this, you get the flexibility to control, when will be the dll linked to your exe in the memory, while running. The disadvantage is, you'll get errors only at run-time.
    I recommend you some of our on-line tutorial, how to load DLL into your application in CVI:
    CVI Help: Loading Dlls - This says: You cannot import DLLs directly into your project. You need to create DLL Import Library, which can be imported into your project.
    To do so, look at this knowledge base: Creating Import Libraries for a DLL in LabWindows/CVI
    You might get answers for your following questions at this FAQ page:
    FAQ: Using Dynamic Link Libraries with LabWindows/CVI
    Some help sites:
    Rules for Using DLL Files
    Linking to Functions Defined in a DLL From LabWindows/CVI
    If you need dynamic linkink, you can get example code with this site:
    How Can I Access DLL Functions in a LabWindows/CVI Program Without Including the Import Library in t...
    I hope, I could help you to find the way how to import DLL libraries.
    If you still couldn't solve the error after studying the links, please provide me more information, where, which symbol is missing, and also the full error message.
    The error you get, can be caused by the linker or pre-compiler also, which doesn't find the symbol you requested. Please check the path of your library and dll also.
    Best Regards,
    Tamas Szekely
    Applications Engineer
    National Instruments

  • 'Lost ActiveX connection to CVI' error

    Hi,
    I began to use TS3.0+CVI7.0 after being used to TS2.0+CVI5.5.
    I tried to use, for the first time, the new module call format, and I must have done some very basic mistake.
    While in debug mode, I get the above error upon exiting the procedure.
    Here is the procedure called:
    void __declspec(dllexport) PowerUP(CAObjHandle seqContextCVI, long *result,
    char reportText[1024], short *errorOccurred, long *errorCode, char errorMsg[1024])
    int error = 0;
    ErrMsg errMsg = {'\0'};
    ERRORINFO errorInfo;
    // char *lastUserName = NULL;
    Boolean success = TRUE;
    char *StepTitle = {'\0'}, NextErrMsg[BUFFER_LEN] = {'\0'}, buf[128];
    StepTitle = "Begin Power Test";
    EndOfTest:
    // FREE RESOURCES
    // if (lastUserName != NULL)
    // CA_FreeMemory(lastUserName);
    /* Error Handling */
    if (error != 0 ) {
    success = FALSE;
    Fmt(buf,"%s<****ERROR: %s",StepTitle); //how do I put > in the string?
    errChk(mstr_WriteToLog (seqContextCVI, buf, 2, 2, NextErrMsg));
    /* Set up values for TS */
    if (success)
    *result = PASS;
    else {
    *result = FAIL;
    strcpy(reportText, StepTitle);
    Error:
    /* for run-time error*/
    if (error != 0) {
    if (*NextErrMsg != '\0')
    sprintf(errMsg,"PowerUP - %s / %s",StepTitle, NextErrMsg);
    else
    sprintf(errMsg,"PowerUP - %s",StepTitle);
    *errorOccurred = TRUE;
    *errorCode = error;
    errorMsg =
    strcpy(errorMsg, errMsg);
    } //PowerUP
    What is the error?
    Thanks
    Rafi

    Rafi,
    I tried running your code and it works fine for me. The only difference was that you have a function called mstr_WriteToLog that I didn't have the code for. Since that was the only change that I made to the code, I'd recommend double checking that function for any errors. I've also attached the sequence with the cvi step so you can see if there is a problem in how you are calling your CVI DLL.
    Another suggestion would be to make sure you aren't closing TestStand while your CVI DLL is still executing. Lastly, the function call of mstr_WriteToLog accepts the sequence context as a parameter (seqContextCVI). I'm not sure what you are doing in that function, but it seems a little odd to write the sequenceContext to a log. If you are trying to print
    that, you might be getting an error there. Again, that's just a wild guess, so I'd suggest further debugging. If you can't make any more progress, please let us know the exact error message that you get as well as any error number.
    Good luck!
    Shannon R
    Applications Engineer
    National Instruments
    Attachments:
    CallsRafiCVIDLL.seq ‏20 KB

  • Using CVI Timer()

    Hi , 
    I want to know how to work with the CVI Timer ,
    I want to test the time it takes my software to run using the timer , in the function help it says that The resolution is normally 1 microsecond.
    I want to know if I see in the timer 1.7 is it in sec of microsec ? More likely sec but i want to be sure.
    Kobi Kalif
    Software Engineer
    Solved!
    Go to Solution.

    Hi,
    you might want to have a look at the example asyncdem provided with CVI.

Maybe you are looking for

  • BT wired / wireless connections - You View box and...

    We have connected the BT Home Hub 4 to the You View box (using the 10 metre ethernet cable as a temporary measure until the electrician moves the power socket and we can use the powerline adaptors instead).  We are using an HDMI cable to connect the

  • The *.icc file is associated with PS process after assigning profile for a picture of CMYK mode ?

    Hi everyone, I have a curious problem for your help  My OS is Windows 7. Start PS and open an image, choose "Edit" -> "Assign Profile...", in the pop-up dialog there is a drop-down list showing many system profiles, and I find all of these *.icc file

  • How to use INNER JOIN in such case

    when i program as below[CASE1]. the code is able to active. CASE1: ========================== DATA: WK_BUKRS LIKE T001-BUKRS,       WK_BUTXT LIKE T001-BUTXT,       WK_TABLE(4) TYPE C VALUE 'T001'. START-OF-SELECTION.   WK_BUKRS = 'DECN'.   PERFORM GE

  • Is CF slated to catch up on PHP in next version?

    Looking at the difference between CF and PHP it seems that CF still has plenty of lessons to learn from the creators of PHP. PHP has many features and api's built right in that are either missing in CF or rather less powerful (drawing, file handling

  • Read mode - Web template Vs Characteristics

    Hello, I am using a web template in version 3.1. I have some navigation attributes. To try to enhance the display of filters value for some characteristics I changed in the web template the read mode from Q (posted values) to M (master data). Unfortu