Jump to content

viSci

Members
  • Posts

    466
  • Joined

  • Last visited

  • Days Won

    20

Posts posted by viSci

  1. I would like to obtain a .net reference to an open word document and add a table at the current cursor location in the document.  I can already do this using a crude

    automated copy and paste method but would like to be able to add a proper word table into the document.  Using the .net interfaces I think this is possible but so far

    have not been able to get it to work.  Has anyone tried to do this before? 

  2. Hey Neil - I am in the process of designing a 50 node (RT Linux) system with around 100 tags per node.  I was briefly thinking about using NSV's or RTI-DDS but now am thinking that OPC-UA would be a better solution for publishing tag values.  Do you have any performance metrics like tag updates /s for your implementation?.   I have seen some pretty nice OPC UA Client Viewers that function like the NI DSM but would prefer a native LV viewer.  Would you consider offering your OPC UA Viewer and Data logger as a toolkit?

  3. I was told if you are within the first 30 days you can send it back to NI and they will replace it with your OS of choice.  In my case that is not possible so I have to find a way to do it myself.  I found this document 

    http://www.ni.com/product-documentation/54592/en/

    which alludes to being able to restore a cDAQ image or even make it a dual boot device but details are lacking.

  4. I have two cDAQ-9133 controllers, one with WES7 and one with LinuxRT.  I would like to convert the cDAQ 9133 with WES7 to LinuxRT.  Both cDAQ's were purchased 6 months ago to determine the best OS for our application.  I have gone through all of the forums and it seems like I might be able to use the NI recovery disk or possibly a disk cloning utility like acronis or similar.  Has anyone had success doing this?

  5. Sharp LV developer needed for design / implementation of large scale distributed data acquisition system.  Skills Needed: LabVIEW Real-Time, Publish Subscribe, Messaging Protocols, Data Distribution Services (like RTI-DDS, RabbitMQ, etc), DB Stored Procedures, Tree Structures, TDMS.   This is a 9-12 month contract position in Gainesville, FL.  Please send CV to mike.sachs@viscience.com

  6. I often use variant attributes as a quick and dirty dictionary.  I found out that I could flatten my 'variant dictionary' and save

    the flattened string to a file.  I tried to unflatten the saved string and reconstitute the variant and its attributes but am getting an error 116 (Unflatten or byte stream read operation failed due to corrupt, unexpected, or truncated data.)

    I am using a variant constant because the variant dictionary I created has no datatype other than the attributes which are all 1D string arrays.

    I am beginning to think that this might not be possible to do, but thought I would check in to make sure I am not overlooking something.

     

  7. I am looking for alternatives to using Systemlink to manage a large network of WES7 cDAQ's.  I imagine there are many windows server tools out there to manage software deployment, replication, remote monitoring, etc.  I am hoping someone might have some experience in this area and could offer a few suggestions on tools that would work well for the NI ecosystem but not require being an IT specialist.  Thanks.

  8. Not sure were the 1024 comes in as AES key here is 32 bytes and the ReconFile path is 260 characters.  As you said to get 260 I would have to append two clusters.

    Here is my latest clusterasaurus...

    image.png

    Unfortunately this still is not satisfying the DLL.  It is not blowing up but returning an error indicating an invalid parameter so I might not be too far off...

  9. So does every *struct passed into a dll need to be flattened to a byte array? I guess in the previous case it only worked because I was passing a empty array in the cluster.

    So for something like this:

     

    // Structure to pass reconstruction parameters
    struct RECON_INFO_STRUCT
    {
        unsigned int        cpmBlkSize;
        unsigned int        sepTimeDelta;
        unsigned int        sepByChannelFlag; //0=no, 1=yes
        unsigned int        wavFormat; //0=mulaw, 1=pcm
        unsigned int        decryptFlag; //0=no, 1=yes
        unsigned int        AESKeySize; //0=128,1=192,2=256
        char                      AESKey[CRYPTO_KEY_MAX_LENGTH_BYTES];
        unsigned int        makeReadableAfterReconFlag;
        char                      reconFile[MAX_PATH];
    };

    STATUS __stdcall SRVIVR_API_ReconFile(void* handle, char* partDataFileName, RECON_INFO_STRUCT* pReconInfo, void* pNotifyCB, void* pCBArg);
     

    Do I need to manually flatten everything to a single byte array or is there some way to use this?

    struct.png

  10. Ok, that comment prompted me to dig some more into the IDD for the device and found that Length parameter, which I thought was the number of bytes in the data array is really the number of bytes in the data array plus 12 for the 3 long int parameters in the cluster.  Once I made that change it all started working.

    Thanks for your help!

  11. Was hoping someone might be able to give me a tip on this one...

    Trying to call the function below:

    typedef struct
    {
        unsigned int  Length;
        unsigned int  Id;
        unsigned int  TimeTag;
        char    Data[1024];
    }DATA_FRAME;


    int __stdcall SRVIVR_API_StoreData(void* handle, int partition,  int totalFrames, DATA_FRAME frameData[]);

    Here is what the import dll tool produces:

    1.png

    This does not look correct to me and produces the dreaded 1097 exception error.

    I modified the call to be:

    2.png

    Which I believe is closer to the intent of the original C function, but still gives me a 1097 error.  I suspect

    that somehow the array pointer that the function is expecting is not correct.  The frameData parameter is being passed

    into the function as a 'Adapt to Type', Array Pointer.  I also tried flattening to a single U32 array and passing that in as an array data type but still no joy.  Any ideas?

    BTW, I have had success calling many other functions from the dll of the form:

    int __stdcall func(void* handle, int param1,  int param2, etc);

  12. Have been looking at the OPC UA toolkit, it looks pretty cool and as you pointed out has compatibility with a huge selection of 3rd party tools and utilities.  It seems like the licensing is free for Linux cRIO's so would just need to purchase the $500 dev toolkit.  OPC UA also has a full selection of scaler and array data types and a pretty nice LV API.  I was wondering if anyone knows about the OPC UA History Data vi's.  It seems like a type of memory resident time series historian but was wondering if it uses any sort of database under the hood.

  13. Has anyone looked at NI's new Systemlink / Skyline technology?  It looks like a type of DDS running on RabbitMQ that is being used for all future LV software and package deployment for Windows and Linux platforms.  Skyline 17.5 has Publish Subscribe tag's, tag viewer and a new web dashboard that can bind to tags.  I was informed that in Q2 Skyline will have historical capabilities but am not sure if it could serve as a citadel replacement.

  14. Shaun - Thanks for the link.  There is a DirectShow rendering example given for mms video stream but I could not get it to work.  I tried to modify the URL for local media but no luck.  I will try to contact the originator of the library...

    bbean - Yes Blackmagic does have a nice app that works great.  I can use it to stream uncompressed AVI files to my SDI output.  The problem is that I need to do this programatically...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.