This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Controlling the Light Engine using LabVIEW

Hello, Everyone,

Our lab bought a CEL 5500 light Engine and now I am trying to use LabVIEW to control the light engine. Since I am new to this area, I have following questions.

1. How to make LabVIEW communicate with the light engine ? Do I need to install some drivers ? I think this is the most important step for me. If the light engine can recognize LabVIEW, I can send commands to control it.

2. I have found the portabilitylayer.dll and USBlib.dll files. Are they the only files I need to call ?

3.I am attempting to import the shared PortabilityLayer dll file for Labview operation. Yet there are always some errors. I guess I did not define the preprocessor correctly. But I am not sure about that. 

 

Can anyone help me about these questions ? 

Any suggestions from you are appreciated.

Thanks.

Zhi.

  • Hi Zhi,

    Welcome to the forums. We'll work on getting some feedback for you shortly.

    Thanks,
    Clinton
  • #1. Have you followed the steps described in the NI forum http://digital.ni.com/public.nsf/allkb/DCB90714981A1F148625731E00797C33

    We have not tried importing in LabView environment,

    can you try the following below modifications in the PortabilityLayer.h  file? The function names inside the DLLs are actually in the format LC_DLP_xxxx

    change from

    #ifdef PORTABILITYLAYER_EXPORTS
    #define PORTABILITYLAYER_API
    #define LC(name)    LC_##name
    #else
    #define PORTABILITYLAYER_API __declspec(dllimport)
    #define LC(name)    name
    #endif

    To -

    #ifdef PORTABILITYLAYER_EXPORTS
    #define PORTABILITYLAYER_API
    #define LC(name)    LC_##name
    #else
    #define PORTABILITYLAYER_API __declspec(dllimport)
    #define LC(name)    LC_##name
    #endif

    #2. Yes those two are sufficient.

    #3. Try the suggestion in #1 above. If it doesn't work you can modify the Portability layer header file to remove the preprocessor statements, for example,

    PORTABILITYLAYER_API Status LC(DLP_Status_GetSeqDataFrameRate)(Double* state_out);

    can be replaced as

    Status LC_DLP_Status_GetSeqDataFrameRate)(Double* state_out);

    Hope this helps.

    Regards,

    Sanjeev

  • Hello, Sanjeev,

    Thanks for your suggestion. For your third suggestion,  

    PORTABILITYLAYER_API Status LC(DLP_Status_GetSeqDataFrameRate)(Double* state_out);

    should be replaced as

    Status LC_DLP_Status_GetSeqDataFrameRate)(Double* state_out);

    or

    Status LC(DLP_Status_GetSeqDataFrameRate)(Double* state_out);  ?

    Thanks.

    Zhi.

  • Status LC(DLP_Status_GetSeqDataFrameRate)(Double* state_out);

    #define LC(name) LC_##name preprocessor statement would take care of prepending the LC_

    Regards,
    Sanjeev
  • Hi Zhi,

    I hope all is well. My name is Justin and I'm with Digital Light Innovations. I know you've been working with Sanjeev but I also wanted to introduce myself in case you have any other CEL5500 related questions. I'll be happy to help you out! Just make a post and I'll follow up.

    Thanks,
    -Justin Lemon
  • Hello, Sanjeev,

    Thanks for your help. 

    I modified the PortabilityLayer.h file. The following images show how I modified this file.

    The following steps show I imported the PortabilityLayer.h and PortabilityLayer.dll files to LabVIEW.

    Step 1: Import Shared library

    Step 2: Select the shared library file and header file.

    Step 3: Include Paths and Preprocessor definition (I am not sure if this step is correct, I did not define any preprocessor here).

    Step 4: It said that no function is found and recognized in the header file.

    The following error information indicated that maybe I did not define the preprocessor correctly. 

    Do you know how to solve this problem ? 

    Thanks,

    Zhi

  • Okay, I don't have NI tool to try, revert back to original code, then can you add #define at the top of PortabilityLayer.h file?

    Regards,
    Sanjeev
  • Hello Sanjeev,

    I tried to put #define at the top of the PortabilityLayer.h file, it did not work either. Do you know if someone has succeeded in using LabViEW to control the light engine ?

    Now I doubt if importing the dll file to the LabVIEW library is the correct method ?

    Thanks. 

  • I don't either. Let's wait for some body else comment who were successful interfacing LabView.
  • Any luck with this?

    I too am looking for a solution to communication with the LightCommander via LabVIEW

    Thanks

  • Hi, Sanjeev,

    I hope everything is going well for you. Do you have some new information about using LabVIEW to control the light engine ? I have tried several different approaches, yet did not figure it out. Any new information from you would be highly appreciated.

    Thanks.
    Zhi.
  • Hi all,

    Has anyone found a solution to this problem, I understand that this is a year old but me and my team really need a solution to this problem. Me and my team purchased a Cel5500 from Digital Light Innovations (DLI) and have had no luck using the provided PortabilityLayer.dll file with LabVIEW.

    Thanks,

    Stephanie
  • Hello, Zhi:

    I have got the same problem as you.  So far, have you succeeded controlling CEL5500 with labview or made any further progress on the problem. DLi claim their products can be interfaced with labview but without providing specific instructions of how.  

    Yuzhen

  • Hello, Stephanie:

    I have the same problem. Have you made any progress on it?


    Yuzhen
  • Hello, Sanjeev:

    Have you got any further progress on the problem? Our lab also have purchased a cel5500 and we want to have it controlled by labview.

    Thanks,
    Yuzhen
  • Hi Yuzhen,

    Sanjeev is supporting other product lines at this time. TI DLP has not focused on providing LabView drivers or Labview support for our DMDs and Controllers. I recommend contacting DLi directly to see if any new solutions exist on their side. Thanks and best of luck.