network data stream

Good afternoon

I need to send the data generated in the vi, by network data stream.

The problem is that I found no example that does something similar, and this is my first time using Activex with Labview. Can someone explain me how to send Activex data via the network stream please and if possible help me find a solution to the attached vi.

I think I need to convert the data somehow after control of the room before using the writing and reading items, I tried with strings and arrays unsucessfully, I really think I'm missing something.

Thank you in advance!

Erika

Erika,

What do you think?  You try to play an .avi file, a .mpg or what?  IMAQdx has functions that can play video and output files 'images', and you can deliver these images via TCP/IP on another computer using network flow.  Indeed, there are cameras that capture video and output via TCP/IP - IMAQdx is used to capture the image directly from the camera and can view or save a file from .avi (for example).

You have the Vision Module installed on your system?  In your Palette of block diagram, it will appear under the Vision and movement and should include IMAQ (or IMAQdx) and utilities of Vision (which contains the Palette under files to make the reads and writes of video files).  See if you can use this to display your video...

Bob Schor

Tags: NI Software

Similar Questions

  • Remove the first 5 blocks in a data stream

    Hi all

    I have a problem to remove the first 5 blocks in the data stream. My sampling rate is 1 s, block size is 1 and the entrance is the module «the ddf file read»

    I use the following modules for an average analysis 30 years running.

    [read the folder]---> [Formule1] -> [set variable] -> [formula2]

    |                 ^

    --> [time]-|

    module parameter

    ======                =========

    delay of 30

    Formula1 ${var_1} + in (0) - in (1)

    the value of variable ${var_1}

    Formula2 in (0) / 30

    This configuration is used for channels 13 and one of these channels is used for purposes of triggering. Due to the nature of the variable defined and read in the underlinedmodules, the trigger sequence is delayed for 2 sec. Since I used the trigger to collect the last returns average of each channel, it is now mixed with 2 sec for the next round.

    My question is: is there a way to reduce say 5 blocks of data from the stream? Please help and have a nice day

    Look at the SEPARATE module in the Group of data reduction.

    It allows you to set up an initial leap, then a current break.

    To do this, you want to jump 5 blocks once, does through go zero blocks... who spends the first five and then release all the data blocks of subsequence.

  • Digital acquisition of data streams

    Hello

    I tried (unsuccessfully) to acquire digital data of a sensor laboratory.  The Guide from the manufacturer:

    "When the excitement of voltage, DTC Decagon sensor makes a measurement.  Three measurement values are passed for about 140 ms of excitement to the data logger as a character of flow series of ASCII.  The series is 1200 asynchronous baud with 8 data bits, no parity and one stop bit.  The voltage levels are 0-3, 6V and logical levels are (low active) TTL.  The power must be removed and repeated his request for a new set of values to pass.  The ASCII data stream contains three numbers separated by spaces.  The first number is the depth of the water in mm, the second number is the temperature in degrees Celsius, with a resolution of 0.1 degree C, and the third number is the electrical conductivity in dS/m, with a resolution of 1 dS/m.  A carriage return follows the three digits, then the character ' t "", which indicates that it is a sensor DTC, and then a control character, and finally a carriage return and supply line. ' "

    My attached VI is a little dubious-it probably looks like something that someone used for analog signals may create.  However, I was hoping it would be enough of a starting point for a more wise to work with LabVIEWer.

    Thank you very much

    Lacksagoo

    The guide said in reality as a data acquisition card OR is the same as a data logger. I've never associated the two as being the same. What I think about a data logger is an autonomous instrument.

    Looking for a more details in your original post, the voltage levels are not standard. You may need a shifter level or need to find a USB-RS232 adapter for TTL levels.

  • Create a data streaming from C++ stream and read it in LabView

    Hi all.

    I'm working on a project that is to connect to a tracker of movement and reading data of position and orientation of this in real time. The code to get the data is in c ++, so I decided that the best way to do it would be to create a c++ DLL that contains all the functions necessary to first connect to the device and it reads the data and use the node to call a library function to power the Labview data.

    I have a problem, because, ideally, I would like a continuous flow of data from the code c ++ in Labview, and I don't know how to do this. Put the node function of library call for a while loop seems like an obvious solution, but if I do it this way I'd have to reconnect to the device whenever I get the data, which is quite a bit too slow.

    So my question is, if I created c ++ function that creates a data stream, could I read that in Labview without continually having to call a function? I would rather have only to call a function once, and then read the data stream until a stop command is given.

    I'm using Labview 2010, version 10.0.

    Apologies if the question is badly worded, thank you very much for your help.

    Dave

    dr8086 wrote:

    This method resembles an excellent suggestion, but I have a few questions where I don't think I understood fully.

    I understand the basic principle is to use a call library function node to access a DLL that creates an instance of the device object and passes a pointer too in labview. Then a separate call library function node would pass this pointer to another DLL that could access the device object, update and read the data. This part could be in a while loop, then continue on reading the data until a stop command is given.

    That's all. I'm including some skeleton for example code. I am also including the code because I don't know how you experience multi threading so I show how you can use critical sections to avoid interactions between threads so that they do not lead to questions.

    // exported function to access the devices
    extern "C"  __declspec(dllexport) int __stdcall init(uintptr_t *ptrOut)
    {
        *ptrOut= (uintptr_t)new CDevice();
        return 0;
    }
    
    extern "C"  __declspec(dllexport) int __stdcall get_data(uintptr_t ptr, double vals[], int size)
    {
        return ((CDevice*)ptr)->get_data(vals, size);
    }
    
    extern "C"  __declspec(dllexport) int __stdcall close(uintptr_t ptr, double last_vals[], int size)
    {
        int r= ((CDevice*)ptr)->close();
        ((CDevice*)ptr)->get_data(last_vals, size);
        delete (CDevice*)ptr;
        return r;
    }
    
    // h file
    // Represents a device
    class CDevice
    {
    public:
        virtual ~CDevice();
        int init();
        int get_data(double vals[], int size);
        int close();
    
        // only called by new thread
        int ThreadProc();
    
    private:
        CRITICAL_SECTION    rBufferSafe;    // Needed for thread saftey
        vhtTrackerEmulator *tracker;
        HANDLE              hThread;
        double              buffer[500];
        int                 buffer_used;
        bool                done;       // this HAS to be protected by critical section since 2 threads access it. Use a get/set method with critical sections inside
    }
    
    //cpp file
    
    DWORD WINAPI DeviceProc(LPVOID lpParam)
    {
        ((CDevice*)lpParam)->ThreadProc();      // Call the function to do the work
        return 0;
    }
    
    CDevice::~CDevice()
    {
        DeleteCriticalSection(&rBufferSafe);
    }
    
    int CDevice::init()
    {
        tracker = new vhtTrackerEmulator();
        InitializeCriticalSection(&rBufferSafe);
        buffer_used= 0;
        done= false;
        hThread = CreateThread(NULL, 0, DeviceProc, this, 0, NULL); // this thread will now be saving data to an internal buffer
        return 0;
    }
    
    int CDevice::get_data(double vals[], int size)
    {
        EnterCriticalSection(&rBufferSafe);
        if (vals)   // provides a way to get the current used buffer size
        {
            memcpy(vals, buffer, min(size, buffer_used));
            int len= min(size, buffer_used);
            buffer_used= 0;                 // Whatever wasn't read is erased
        } else  // just return the buffer size
            int len= buffer_used;
        LeaveCriticalSection(&rBufferSafe);
        return len;
    }
    
    int CDevice::close()
    {
        done= true;
        WaitForSingleObject(hThread, INFINITE); // handle timeouts etc.
        delete tracker;
        tracker= NULL;
        return 0;
    }
    
    int CDevice::ThreadProc()
    {
        while (!bdone)
        {
            tracker->update();
            EnterCriticalSection(&rBufferSafe);
            if (buffer_used<500)
                buffer[buffer_used++]= tracker->getRawData(0);
            LeaveCriticalSection(&rBufferSafe);
            Sleep(100);
        }
        return 0;
    }
    

    dr8086 wrote:

    My main concern is that the object can get out of memory or be deallocated since it would not take place to any namespace or whatever it is.

    As you create the object with the new, the object expire not until the dll is unloaded or the process (LabVIEW) closes. If the object will remain valid between condition LabVIEW dll calls not a not unload the dll (who does if the screws are closed). When that happens, I don't know exactly what happens to the active objects (that is, if you forgot to call close), I guess the system recovers the memory, but the device could still be opened.

    What to do to make sure that everything is closed when the dll before I could call unloads close and remove the object is whenever I create a new object in the dll that I add to a list when the dll is unloaded, if the object is still on the list, that I'm deleting it.

    dr8086 wrote:

    I also have a more general question of programming on the purpose of the buffer. The buffer would essentially be a large table of position values, which are stored until they can be read in the rest of the VI?

    Yes, see the code example.

    However, according to the frequency with which you need to collect data from the device you have this buffer at all. That is, if take you a sample on every 100ms, then you can remove all threads and buffer related functions and instead to read data from the read feature itself like this:

    double CDevice::get_data()
    {
        tracker->update();
        return tracker->getRawData(0);
    }
    

    Because you need only a buffer and a separate if thread you collect data at a high frequency and you can not lose any data.

    Matt

  • Unable to read the security descriptors data stream

    Whenever I start my computer runs CHKDSK - it says checking file system on E: and then he said that it should be checked for consistency. It works until stage 3 when he says 'impossible to read the security descriptors data stream' how to fix this?

    I tried chkdsk e:/r and it runs before step 3 when I get the "unable to read the security descriptors data stream" and it goes no further.

    I also tried fsutil dirty query e:- but it says something about a parameter incorrect and not if the volume is dirty or clean.

    Then I tried chkdsk e:/f/x - that always gives me the same mistake about it being an incorrect setting.

    As far as I know there is absolutely nothing on E:, I didn't even know that there was an additional drive. Right now I have it turned off so that I can use my computer. It seems to work fine without it. I read an article that said that if I can't fix e: with chkdsk which I have to do a low-level format of the reader? What's my next step? And I can do without the XP disc?

    The syntax

    fsutil dirty query e:

    is correct (except, of course, you try to use from the Recovery Console, where the fsutil command is not available).  Are you logged on as a user with administrative rights when you use fsutil?

    Similarly, the switches /f and/x are not available for chkdsk in the Recovery Console.

    See Recovery Console controls.

    Click on desktop then right-click on E: drive icon and select Properties.  What is indicated for:

    • File system
    • Space used
    • Free space
    • Capacity

    Now double click the icon for E: are shown files?  If not, click Tools > Folder Options > view and select the radio button "Show hidden files and folders" and uncheck "Hide protected files (recommended) operating system.  Now that you see all the files?

    Everything you read 'low level of shaped' is nonsense.  Any modern PC drive cannot be low level formatted by end users.  You can read this, but there is really no necessary even to "zero fill" your drive E: http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=203931 (I have not checked to see if the WD tools rescuer has similar characteristics to SeaTools for DOS).

    If you are convinced that there is nothing of value on E (for example, installation of backup or restore), you can either format by right-clicking on the drive icon in my computer and selecting "format" or you can start disk management as described previously and use either in electronic format or delete the partition completely.  If you delete the partition, space becomes "unallocated".

    Because I guess C is your system drive (where Windows is), you may be able to use the diskpart tool to extend the partition F to use the unallocated space left if you decide to remove E well it's much easier (and safer) to do with disk management third-party tools such as Easeus Partition Manager free : http://www.partition-tool.com/personal.htm

  • Mobile network/data does not work

    As the title says, my mobile network/data connection does not work, I have activated in the settings, I have the good selected network and the right of the selected network type. Yet when I try to use it, my phone works just like I quite aky connection. I have a signal and there is a circle with a line crossed out this symbol (like this

  • Returns a route with the network data model

    Hi all,

    I like to read (on Chapter 11 of "Pro Oracle Spatial for Oracle Database 11g" manual) is it possible to receive the direction of travel of the computation of the path more runs using the routing engine.

    I want to ask you: is possible to receive the sense of the market by using the network data model? (for example, by using the Java API).

    Thank you in advance.

    Hello

    NDM API manages only the paths to the topological level. i.e. path of nodes and links. It generates no routes since the paths.
    You must use information Street links to generate driving directions yourself. You may need to use the sign post information as well as information geometry (towers from left to right) for directions.

    You can also use (API XML that uses the NDM API as its scan engine!) of the motor routing service Oracle to generate your itineraries which will include directions.

    Jack

  • Roads divided into the network data model

    Hello world

    I have a network model which consists of tables for the links and nodes of the city. The problem I have is that the links / roads are divided roads and some are not. As it is a partition in the middle to separate the road as on motorways and main roads.
    I can't seem to understand how the network data model which roads are divided and which are not. Also driving is supposed to be on the left side of the road.
    Please help and give your opinion,

    Thank you and best regards,
    Avinash

    Published by: avibooks on Sep 17, 2008 18:26

    Avinash,
    The function that you used in MapViewer is only for demonstration purposes. It does not contain the complete modeling and analysis of the model of network Spatial Oracle database functionality.
    I'm going to recommend that you use the Oracle Spatial NDM Java API (manual) instead.
    A workaround, you can try is to treat the physical barrier information yourself.
    As stated in my 1st approach, store this information in the table of links,.
    issuance of a JDBC query to the links table and check whether the link at the end of the path contains physical barriers.

    -Jack

  • Network for Streaming HTTP location

    I have a mapped network drive where all my videos are stored. By using a UNC path, I can broadcast successfully via RTMP. However, when I try to use HTTP streaming, videos will play for about a second and then I get an error. In my Apache error log, it says this:

    [error] mod_jithttp [404]: [err = 1] "c:\ < my - UNC path > ' does not exist

    It seems that it is adding "c:\". "at the beginning of my UNC path. But my httpd.conf file must be correct if she works at least for a fraction of a second. What is going on? It's driving me crazy after finally getting all the configuration of permissions the right way. Thank you!

    If anyone has the same problem, here's how I thought of it. Running apache as the system user is very good, there is no need to change that. It was actually the obliques which ended by fixing it. However, if you are trying to mount an Amazon S3 account in Windows (via TNTDrive or Windrive), then when a user requests to the front in a video on your site, the server did download the entire video to date, and then the user can see the rest. It is incredibly slow and inefficient.

  • Problem of cellular network data on iPad 2 Air

    I reside in the Nepal. And I bought my iPad Air 2 February last year of the India (so 1 year warranty has expired). I bought wifi + cell in the hopes that I will use data from the cellular network that I usually have to travel a lot, and getting OPEN wifi or hotspot to PAY in our country is always a doubtable idea.

    MY problem is

    Most of the time, NO SERVICE instead of the network's logo.

    No. 3 sign whenever the network is available.

    CELLULAR DATA NETWORK all of a sudden disappear even if that's availabale, and whenever I try to use it.

    Battery drain strongly when CDN disappear and iPad try to look for the CDN using the text "searching...". ».

    I do not know if my problem started exactly, but it happened while I was iOS 8 is installed on my iPad. Then, I panicked and searched Internet solution and tried everything mentioned on the Internet. Yet, I have no solution. Then I saw an article saying that his problem to Apple and they will fix it on the next iOS update. I was relieved about my problem with this idea. Thereafter, whenever new iOS came (namely 9.1, 9.2 and I m running 9.3 today onward), I installed them in the hope that they could have resolved the issue. But, I am always disappointed because they don't solve the problem. So, is it authentic Apple coustomer care anyone online can guide me what to do?

    probably, I'll have to go to India if you won't help me. But, going to India only to solve this problem alone is not something appropriate for me. In addition, I'll have to find Apple Store too which may be available in only a few cities in India.

    future prospects for answers.

    BTW, if Apple answer soon about these issues (I'm not alone!), then slowly we can hesitate to buy apple products in the future.

    With respect,

    Prashant bejaoui

    (User of Apple since 2008)

    I have this same problem on iPad 2 since the 9.3 update.  I have not found a solution, but I found a way to get the cellular network.  But if you turn off and then turn on the you will find that he is gone again and you must repeat the following work around.

    1. turn off the power and remove the SIM card.  Then be able to turn it back on and it will ask for SIM card.  Insert sim card and it should find the network.  It's simple, but if you have a case that is a nuisance to maintain sideways.

    second workaround solution.

    1 go to settings and disable (mobile) data cell.

    2 turn airplane mode ON.

    3 turn off iPad.

    4 wait about a minute. (Not sure if absolutely necessary)

    5 iPad power on.

    DISABLE airplane mode turn 6

    7 activate cellular data.

    You should then see a cellular provider box pop up under the cell data area and must seek and find your network.

    It works on the iPad 2 and I hope that other iPads.

    I noticed heavy battery drain less than 9.3 and when I ran my iPad in the condition of no Service, use of the battery is improved considerably.

    Good luck.

  • Example of reference for PCIe Data Streaming double 6537 s disc

    Hello world

    I have successfully changed the example of reference for streaming ( http://zone.ni.com/devzone/cda/epd/p/id/5315 ) for the card PCIe-6537 UNIQUE and able to write to the clock speed of 20 M (at end of initial test) without any error.

    However, I don't know how to view the *.bin file to check whether I wrote the right data. I saw an example VI called 'read the binary '. However, it is said "File already open" and gives a GPIB controller error (very odd). Should I try using MatLab? I doubt that this will help because it seems that the file write VI does not close the file correctly.

    I have attached the updated UNIQUE PCIe-6537 source code and the file with this post error. There are file support as well for writing file window live

    I'm the kind of new acquisition continuously and at high speed. Please let me know if I'm missing something. Thanks in advance.

    See you soon,.

    YK

    I have a few links you can go to more resources continuous here and here.

    The original question, you have posted using binary VI reading won't be able to because of the memory.  You can read more small segments of the file and keep the file intact.  There are a number entry that indicates the number of data items are returned by the function.  If you want to save multiple files, you can use any looping function to make it work, just set the condition to find out how much time and when to stop.  I don't know of a quick example that does this.  You read again all the data, but given that the readings are in small pieces, it will help the issue given that the data are not need a large space contiguous memory to reside in during playback.

    Data compression would be more than a post processing step rather than a step continuously, and it can slow down your stream if you were writing at the same time after your reading.  In producer/consumer architecture, you could read in the data and compress it before the record in a file, which would not affect the performance of your reading, it forms the data and create a file that is smaller and takes less space in memory.

  • NTFS alternate data stream

    Hello:

    I am trying to write a code that works with other data in NTSF streams. Similar to this Microsoft makes This example . The attached VI is a simple example of code - open the second stream "metadata" and write something. However, open them VI LabVIEW (2009 SP1) always returns error when I try to open the stream.

    So, he knows that LabVIEW (at least 2009) does not work with NTFS streams? If possible, please tell me how.

    Thank you

    -Ilya.

    Ilya,

    I agree - ADS is tantalizing close to a very elegant solution.  I hadn't really looked at their use for something useful - I always considered them a breach of security and a hold-over of formerly Mac resource fork.

    Another suggestion that may or may not work for you:

    Have you looked into the TDMS files?  They were designed to be a solution to this type of problem - if you don't have to sacrifice performance for convenience to keep everything together metadata is stored with the binary data.  I think that how LabVIEW implements TDMS read and write is faster that in general, you would be able to achieve since we are able to bypass some of the regular windows caching etc.  TDMS is not specific to LabVIEW but to be able to open files in Excel or offline like DIAdem analysis tools.

    You can find more info about TDMS here if you're interested - http://zone.ni.com/devzone/cda/tut/p/id/3727

    In any case, good luck.

    ~ Simon

  • Update blackBerry software 10 over the mobile network data connection

    I have a notification of today on software update software version 10.3.1.1565 is available. But the update is suspended with a note: 'you are connected to the mobile network. This software update is too large to be downloaded via the network. Use a Wi - Fi network. ' Really? I have 30 GB data plan and I don't want to connect to any Wi - Fi and I don't want to connect to any PC, I want to use my mobile data plan to download this update. Is it possible to do? Thank you!

    I don't think that you can set on the device. If you go to

    Settings > software updates > Options

    You see the following:

    "Depending on your service provider, downloads will be in a Wi - Fi or a mobile network".

    So it's not in your hands of Blackberry, but with your carrier.

  • Removal of Alternate data stream (ADS) does not update the time stamp of the file.

    I use the standard CL program stream.exe for the operation of the ads on file.

    If I add your ADS in a file, data\time file will be changed.

    F:\>dir
    23/07/2014 test.txt 32 768 18:43

    F:\>stream cr test.txt:0 important_info
    SUCCESS: tf1.txt:0 is created.

    RC = 0

    F:\>dir
    30/07/2014 tf1.txt 32 768 19:11

    If I remove ADS from file, the data\time file will be unchanged.

    F:\>dir
    30/07/2014 tf1.txt 32 768 19:11

    Tf1.txt:0 F:\>stream
    SUCCESS: tf1.txt:0 is deleted.

    RC = 0

    F:\>dir
    30/07/2014 tf1.txt 32 768 19:11

    Is this a normal behavior? I suspect a defect of stream.exe.

    This issue is beyond the scope of this site and must be placed on Technet or MSDN

    http://social.technet.Microsoft.com/forums/en-us/home

    http://social.msdn.Microsoft.com/forums/en-us/home

  • Unable to push on another network multicast streams

    I have a Flash media server located somewhere else. I push my endcoder live stream Flash media for purposes of multicast on the internet that works well, but after this application of multicast cant publishes error stream and shows.

    Registered multicast context: teststream-1
    Multicast status NetConnection: NetConnection.Connect.Failed, multicast context: teststream-1
    MULTICAST POST ERROR: Could not establish NetConnection side server for use by multicast NetStream. Status code: NetConnection.Connect.Failed, description:, multicast context: teststream-1

    If I do the same thing from a computer on the same network, it works fine. So, I can view multicast stream in the player.

    Y at - it all the settings I need to change in order to make this work on the internet? I'd appreciate any help really.

    Hello

    You must ensure that the appropriate ports are open. The file rootinstall/logs/edge.xx.log indicates that the server is listening on ports. Open 1935 and 19350-65535 UDP. If the server is located behind a NAT, specify its public (outside NAT) address in the rootinstall/conf/_defaultRoot_/Adaptor.xml file in the component adapter, RTMFP, Core, HostPortList.

    For more details, go through the following link:

    http://help.Adobe.com/en_US/flashmediaserver/configadmin/WSdb9a8c2ed4c02d261d76cb3412a40a4 90be - 8000.html #WS829c643386b9152167c57eb5131f88a5f28-7fff

Maybe you are looking for