Parallel loops in a Subvi RT in real-time and not

Hi all

I seem to remember learning (obviously not well enough) on a cRIO (vxworks) that if there were a Subvi with two parallel loops and loop fell asleep due to a wait function the other loop also be forced to sleep as they are executed in the same thread.

I have a 2 questions:

(1) is this completely wrong?

(2) is also true on a normal windows OS and if so how can I test it because I tried and couldn't seem to see this behavior?

Kind regards

Steve.

Hello

(1) is this completely wrong?

Not completely. If you have to screw (or loops) set up as a time critical (priority) and the other goes to sleep, the entire wire goes to sleep, so also the other VI (or loop) goes to sleep. But notice that it is only when configured as critical moment!

(2) is also true on a normal windows OS and if so how can I test it because I tried and couldn't seem to see this behavior?

Lol if a standby under Windows, just the loop loop sleeps.

Christian

Tags: NI Software

Similar Questions

  • Why is-Web application server on a target at a distance in real time is not start?

    Hi, I need help urgent please

    I was wondering why the Web application server on a target at a distance in real time is not start?

    The target is 9014 real-time and its connected to a local network abroad, I have a public IP address port forwarded to the local IP address of the device (Network Address Translation) with all open TCP/UDP ports. I can log on remotely over the internet using the public IP address to the device configuration page and change many settings. Whenever I have activate the Server Web applications and made port 8080, worth defaults to 0 after the reboot of the target.

    The admin login I use has all permissions to control the unit.

    For this reason, I have a problem, deploy web services remotely through the project after building it as it happens with the following error.

    "Web Services deployment failed. You must start the application Web server OR before you deploy a web service.

     

    I have attached a few screenshots

     

    Thanks for the help

    I had someone to plug his laptop to the same network as the cRIO, logmein used to connect remotely to the laptop, I had to download labview and the software needed for the cRIO in the computer, and then with the help of MAX, I reinstalled the software on the cRIO. The port of the web server application 8080 is now activated and I was able to deploy services web ok.

    I wonder why I can't use MAX distance to reinstall the software on the cRIO.

    The cRIO is installed on a private overseas network (192.x.x.x), then I have a public internet IP address (67.x.x.x) mapped to the private IP address of the cRIO (Network Address Translation). I can connect to the cRIO config page using the address 67.x.x.x, but not via MAX

    If I find target real tiem using the Ip address of 67.x.x.x, sometimes with the private static IP (192.x.x.x) located on the cRIO but it shows disconnected status

    I wonder if someone has an idea how to go about using MAX to reach the target in real time on the internet

    Thank you

  • I get a message that my real time is not selected. I press 'Activate' and it stills is not correct the problem.

    Essentials microsoft security on my toolbar is shown in red. When I open it, it tells me that my real time is not selected and that I should turn it on. I press turn on button but it still does not correct this situation.  However, he told me that I am protected.  I've updated everything and I also ran a full scan but still does not help.

    Hi jomarie285,

    Uninstall and reinstall a new copy.

    Microsoft Security Essentials.

    http://Windows.Microsoft.com/en-us/Windows/Security-Essentials-download

  • OEDQ-UCM: Match individual real time does not

    Hello

    We have created personalized for the individual and entity matching rules and added custom fields (which are used to match) in the fields of the seller for account and Contact deduplication parameter. We tested the rule through web services in real time and that they work as expected.

    To account when we create a record in duplicate in the user interface, based on the new rule to match the popup comes with the score. But for the Contact it does not work. We have one rule for Contact match in which if is a field (say A field) is a match. But through the user interface, we can create duplicate with the same values in the to field.

    In the sdq Connector log, I can see pilot records and records of candidates are passed to OEDQ.

    March 17, 2015 23:13:59 [11796526]: sdq_init_session

    March 17, 2015 23:13:59 [11796526]: return of sdq_init_session from 432685954

    March 17, 2015 23:13:59 [11796526]: sdq_set_parameter 432685954 < data > < parameter > < name > RECORD_TYPE < / name > < value > contactmatch < / value > < / parameter > < parameter > < name > clusterlevel < / name > < value_2 > < / value > < / parameter > < parameter > < name > matchthreshold < / name > < value > 70 < / value > < / parameter > < / data >

    March 17, 2015 23:14 [11796526]: sdq_get_dedup_keys 432685954 < data > < DriverRecord > < mobilephone > < / portable > < faxphone > < / faxphone > < dob > 05/03/1979 < / dob > < email > [email protected] < / email > < uid1 > EMIRMUR < / uid1 > < FGBFullName > Murali Katikk < / FGBFullName > < uid2 > PSPRTMUT < / uid2 > < FGBPassportExpDate > 03/06/2017-00:00:00 < / FGBPassportExpDate > < firstname > MURALI < / firstname > < individualid > 1 - DAY2 < / individualid > < lastname > KARTIKK < / lastname > < middlename > < / middlename > < jobtitle > < / jobtitle > < alternatephone > < / alternatephone > < City > < /. City > < Address1 > < / address1 > < / DriverRecord > < / data >

    March 17, 2015 23:14:01 [11796526]: sdq_dedup_realtime 432685954 < data > < parameter > < name > RECORD_TYPE < / name > < value > contactmatch < / value > < / parameter > < parameter > < name > clusterlevel < / name > < value_2 > < / value > < / parameter > < parameter > < name > matchthreshold < / name > < value > 70 < / value > < / parameter > < / data > < data

    > < DriverRecord

    > < mobile phone

    > < / mobile phone

    > < faxphone

    > < / faxphone

    > < dob

    > 05/03/1979 < / dob

    > < Email

    > [email protected] < / email

    > < uid1

    > EMIRMUR < / uid1

    > < FGBFullName

    > Murali Katikk < / FGBFullName

    > < uid2

    > PSPRTMUT < / uid2

    > < FGBPassportExpDate

    > 03/06/2017-00:00:00 < / FGBPassportExpDate

    > < first name

    > MURALI < / name

    > < individualid

    > 1 - DAY2 < / individualid

    > < name

    > KARTIKK < / lastname

    > < middlename

    > < / middlename

    > < jobtitle

    > < / jobtitle

    > < alternatephone

    > < / alternatephone

    > < City

    > < / City

    > < address1

    > < / address1

    > < / DriverRecord

    > < CandidateRecord

    > < Email

    > [email protected] < / email

    > < first name

    > MURALI < / name

    > < individualid

    > 1 - DAWX < / individualid

    > < name

    > KARTIK < / lastname

    > < / CandidateRecord

    > < CandidateRecord

    > < Email

    > [email protected] < / email

    > < first name

    > MURALI < / name

    > < individualid

    > 1 - DAXD < / individualid

    > < name

    > KITENGE < / lastname

    > < / CandidateRecord

    > < / data

    >

    Can I see any newspaper OEDQ to check what is causing the problem? where could I find it? If I run AAU Batch Manager job too, records become Source_inserted, with no results in S_DEDUP_RESULT. It works when I test the web service. I am new to AAU and OEDQ. Ask for to provide you assistance on this.

    Thank you

    ALIOU

    Hi Liam,

    Check objects integration ["Contact Dedup IO" and "Account Dedup IO"] and the [deduplication] Business Services using Siebel tools.

    Then in Siebel, update data cards to bind the fields in the UCM IO to DQ IO.

    Kind regards

    Nick

  • Test test. I noticed that my real name and not my screen name. What name post me so much that you see?

    Test test. I noticed that my real name and not my screen name. What name post me so much that you see?

    You are the only person who can see your real name (and the administrators of the site of course, they have access to everything). I see "SixSigmaGuy", like all the other 'normal' users on this site. Moderators even see your real name. You can check this by copying the URL in this thread, disconnect and then paste this URL in your browser.

  • Rotary decoder in real-time and 'pulse shifter '.

    Hello world

    I'm putting in place a rotating decoder for use as a shifter of pulsation by labview real-time.

    Basically, this means I have two input channels (ttl-legumes, ~ high 20us) rotary engine. A channel contains a pulse at each CA (angle cranc) ° up to 12 kHz (increment). The other channel contains a pulse every 720 ° CA (the charge cycle, BDC_cc low break-even point). With this information a pulse to be generated on an output also channel ttl (high), which triggers my setup of measurement. This impulse must be moved in a programmable relationship to the entrance of BDC_cc, which aims at a table of regular measure.

    I got it running by streaming the channel of BDC_cc until a rising edge is detected, then count the edges of increment to the designated trigger point and then generate a pulse on the output channel. The problem is that the late 70-120us exit trigger. In short it's too; a maximum error of ~ 20 is acceptable. Digital channels appear to work faster, so I put discarded Counter-based acquisition.

    I'm quite new to LabView, so I'm sorry if the answer is obvious...

    My purchase setup consists of:

    PCI-MIO-16-1

    BNC-2120

    LabView 12.0
    Max 5.3.1f0

    Widows XP

    This configuration seems to exclude some options Labview offer, such as the external digital acquisition sampled or externally triggered by the acquisition in the base. A manual interpretation of analog inputs is way to slow.

    I have attached my working version.

    Any input appreciated woud...

    John,

    I only have a minute right now, but think I can play with a device simulated tonight or tomorrow.

    I'm quite sure that there would be a clean solution clocked by material if you use a series M or X-series

    Council MIO, but the older generation counters timers on the set of the E series do support everything which

    You need.  It's been a while since I had to rely on this generation of hardware.

    I think the basic approach is to use the lunatics of angle as the clock pulse train that defines the

    delay time of the pulse you want to generate.   You could be "Timer" the pulse based on the real

    angular position, helping you synchronize to a specific angle of crank.  The question is whether and how E-series

    counters of takes to support the generation of pulses triggered (or redeclenchables).  If they are not, I would say that you consider

    get new hardware DAQ which support this kind of trigger and you give a very precise pulse

    implementation.

    -Kevin P

  • Is the module vision development in labview 8.6. sufficient for acquiring images in real time and analysis using a webcam

    Hello

    I'm new to labview and trying to develop a system of eye tracking using labview 8.6. He has the vision development module, and I was wondering if this was not enough for the treatment and real-time image acquisition or could I need other software tools.

    Yes, to acquire images from a webcam, you need drivers imaq-dx.

    Take a look at this link:

    http://digital.NI.com/public.nsf/allkb/0564022DAFF513D2862579490057D42E

    Best regards

    K

  • Can I download a background on the system in real time and run it?

    Hi, I would like to take advantage of some tools in the system in real time.

    I thought that I could download it by file transfer,

    and then did something like this in the system in real time.

    Probably it is not...

    However, there is other ways to achieve my thought in the system in real time?

    Do you mean the exe was built for windows, so that it is not allowed to run in time real system?

    Fix.

    I have to communicate between CompactRIO and servers through an ethernet cable...

    so... you write a program runs on the cRIO and bring it to your servers over TCP.

  • LabView real-time and PCIe-8255R w / Marlin camera


    Hi Bruins,

    You must install IMAQdx on your target in real time. Here is a link on how to do it.

  • in real time, take notes during classes with the stylus

    Hello

    There was this other thread to pdf-annotation, but I need to know if the unit is really able to take handwritten notes without too much latency. I don't want to use any OCR because my main goal is to write mathematical stuff for classes which is a nice OCRable. He may also be involved, that then maybe a scetching software would be better suited as 'MyScript Notes mobile' design. And this must be done in good time before the teacher clean the Blackboard. So do you think this is possible with theThinkPad tablet?

    ThinkPad Tablet 32gig... and love it!

  • Do we need the intermediate database if a single execution in real-time duplicate controls with the connector for Siebel Disqualification?

    Still confused:

    Do we need a staging database? We want only to perform real-time duplicate checks.

    Documentation (Guide to integration of Siebel, Oracle® Enterprise Data quality customer Data Service Pack, Version 9.0, April 2013) is not quite clear about this:

    "The staging database is used by the Siebel connector as a staging area for the transfer of data between Siebel and Disqualification when running batch through Data Quality Manager of Siebel." (p. 19)

    "The interface in real time of the Disqualification is also used for the batch cleaning tasks (normalization): Siebel sends each record selected for treatment to the Disqualification by batch cleaning web services." (p. 6)

    «Double the lot identification and quality of data health check jobs (either full or incremental batch) use interface batch Disqualification.» In this case, the candidate registers for correspondence or health checkups are written to the database shared staging, Disqualification executes a batch on these records and - if pairing - rewritten matches, Siebel picks up and uses to link together the records. "(p. 6)


    However, for a design it is necessary to plan in advance, if a database is required or not.

    Any suggestions?

    Hello

    The staging database is used only for temporary storage where the interface between Siebel and Disqualification batch is used. It is not necessary at all if only using the interface in real time. Note that some of the 'batch' in Siebel tasks actually use the interface in real time - this applies to all data in batch cleaning jobs in Siebel and also for the workflow "UCM lot" which is in fact orchestrated by calling web services Disqualification.

    In general, the batch interface is only used where Disqualification is attached to Siebel CRM (instead of UCM). Because DQ Siebel lots do not call survival (so that you can only link to potential duplicates together).

    Note that the tables key used for the selection of the candidates belong to the Siebel database in the form of standard tables (S_DQ_CON_KEY and S_DQ_ACC_KEY). They are not in the database shared staging. The staging database is used ONLY for the data transfer for treatment in batches. It seems that you are not intending to use this interface.

    Also note that Disqualification still needs its own repository database, but if you use only a Disqualification in real-time (and not, for example, by using a Disqualification to batch migrate data in Siebel using the interface of the EIM), it should probably not push the database this hard.

    Kind regards

    Mike

  • How to extract a D 1 waveform data in different channels to use for calculations on a page of data in real time

    Hi all

    I am a fairly new user to Labview and am trying to create a program that: watching the entries in different modules (9213, 9217) CompactDAQ sensors check errors and then uses data from some final calculations like averaging etc.  I've set up a small piece of code that includes the main functions that I am trying to accomplish.  Now I'm rather uncomfortable with getting set up and assigned channels, then pass these data in a while loop that continuously pulls the data from these sensors.

    I have the vi calculations complete and complement the inputs of channel UI, now, I'm working on the side of data manipulation and reading things.  The waveform D 1 who comes to read function is currently divided into components I want (given String Name and Y).  He then transmit this information out of the loop via a queue which transmits to the parallel loop below that will perform the verification errors and calculations of average.  There are some things that make it difficult. I showed the 2 sensors in my example, but in the actual program, there may be up to 400 entries.  The problem is that not all of these sensors will be used on all the tests that the software is used for.  To use the entries in the VI test for example: if I'm trying to the average of these 2 entries to create a common value, but then on a test, sensor 2 is not there, it must be recognized that fact and not use it in the service average.

    So to get down to it, I want to create something that can look through the D 1 waveform data groups, determine what these values are, then perform the functions necessary for these numbers once they are identified, then pass on the calculations of VI where it displays then usable for user information.  I think I'm having a problem with the finding in sorting than what I thought at makes me think that there must be an easier way.

    If someone has encountered this?  What is my explanation of what I'm trying to make sense?  Let me know and I can clarify.

    In terms of features, I don't see anything wrong. with respect to the effectiveness we must remember some general indications. These issues that I bring to the top will not affect your code now since your stack sizes are very small but can start to create the fragmentation of memory and slow down the software if your stack sizes are much larger and the software runs for a long period of time.

    1. try not to use the table to build. Whenever you use a table built labview creates a copy in memory. Try to initilized your berries and replace subsets.

    2. as much as you can try not index tables or unbundle cluster several times. try to perform as many tasks as possbile in one shot. (what was obvious in your second loop)

    In addition, he's looking good.

    I made a few changes to your code and attached to it. I wanted to give you a different on her opinion as it relates to being able to control entry and exit of programitically, if you had a look up table. I do not have the same changes to your second loop but I can guide you through what to do if you do not want to go in that direction. Yet once your original code is well done for someone who is new to labview, so don't feel you need to follow the new design of VI. Just try to remove the table construction and multiple indexing as a good habbit programming.

  • How to read data from a worksheet to a chart in the form of wave at intervals to simulate real-time data

    Hi I have measured data using a SELF-DIAGNOSIS device and that you have downloaded the log files as a .csv I have attatched below.  I'm trying to read the 7th column of data (RPM) and display it on a waveform graph, read line-by-line to simulate driving real-time data. The interval between readings, I'm trying to achieve is 500 Ms because it is the time interval of readings on the worksheet. I'm finishing the two loops when rpm is equal to zero, as happens when the car is off. I have attatched the relevant section of my program below. Any suggestions would be greatly appreciated.

    Thank you

    Michael

    There are two errors in your block diagram.  First of all, as you read the entire table 2D in all at once (which is fine), you make a clumsy (pardon my language) job to make a line of programming.  Once you take the first line of headers, you have the ideal substrate for a loop, which is made of elements of an array (lines) process, one at a time, using its tunnel of indexation.

    The second mistake is to forget data flow.  The loop, I mentioned, or the While loop you use, produced one at a time and points it at 2 Hz thanks to your expectation of 500msec.  You want to give each point to your chart, but the picture is out of the loop, which means that there is No point until the loop ends.

    Here's an easy Question - where you put the indicators in table of waveform?  [Council - I said that "outside the loop is bad"].

    Bob Schor

  • How can work in real-time my vi?

    Hello

    I have a vi that use a lot of loop in loop (as 128 * 128) in there.
    and to use an equation (contains: n! & gamma (n)) on this subject.

    It works fine but the problem is: when I click on the thumb, it takes about 1 second to respond to be broadcast.
    but I want to run in real time. and want to meet be ready less than 50 ms.

    What is the problem? and what do I do?

    Thank you


  • Do curve a real - time of the linear adjustment computed

    Hi, here is how my program works:

    (1) plot data read from a file

    (2) user can move the sliders to select a range of data

    3) allows users to choose the scale with control 2 Y (Y minimum and maximum)

    (4) make a linear adjustment of certain data in real-time and gives the results.

    And there's no problem, I asked the graph xy of a while loop in which I drove

    (1) the function of fitting (selection of data to 2 inhabitants variable (cursors)) and table functions

    (2) local variable 2 (write) to adjust the scale Y with the number in the control.

    Data and sliders move user appear, all right.

    The problem is that I want to draw the fitted line of the xy-graph, so I did 2 x 2-number-table (with x = 0.1 and y = intercept, slope + interception) and...

    I must establish xy-curve in real-time to the Assembly line to refresh on a cursor move XD

    So I put the chart at the time, and I traced it each time the moment of the cycle (I used a condition with shift register to skip unnecessary calculation).

    And here's the problem: when the xygraph is traced the scale there is the default. A few ms then the scale will have correct (when the program has wide are the values of controls).

    Is there a way to avoid that the graph will go to scale by default when it is drawn again? Or is it possible to trace the line of editing without trace all the xy graph?

    Thank you

    PS: I tried to put a sequence stacked with paint 1) graph 2) scale but cen see you in any case the flash of the scale Y incorrect

    I think all you need to do is disable autoscale for axes.

    Overall, there are a few very complicated and very dangerous built code. Here is a small sample (are there many, many others!):

    The code on the left can blocking the program, for example if the data are all zero. Why is there a local variable? thread just from the source, it is just there! What you probably want instead of these small while loops is the array of threshold function. No need to loop.

    To write two properties, you use oven (!) property and three structures of sequence nodes deep stacked. Property nodes are running up and down, so all you need is the code below! Also note that 'table of index' is resizable. You don't need to wire the index unless you want something special.

Maybe you are looking for