Why cant a shared variable be read as a diagram in SignalExpress

In SignalExpress I add a step to read a shared variable. I can display it in graphical mode, but not the graphics mode. Can someone explain why this is? I'm doing something wrong?

Kind regards

Frank Greenslade

Christchurch

New Zealand

I found that the problem was the type of data. SignalExpress discovers double graph table.

Tags: NI Products

Similar Questions

  • Are published network shared variable write & read Atomic actions

    Hello

    I have a very basic question about shered (published network) variable.

    I think I know the answer already, but since I couldn't find in my documentation, I thought that it is more prudent to request...

    Are reading and writing on a shared variable of stocks Atomic?

    To be more precise: on my target real time I create an array with data (each element being the configuration item or a cluster containing name, value, and type) and when the table is finished I am this store in a published network shared variable.

    On my host (Windows), I'm voting (in a loop) until the table contains at least 1 item, when this is true I'm parsing all the elements in the table.

    Is there a chance that, reading of the shared variable, the table contains a subset of the original painting on RT target (i.e. the action of reading takes place while writing is still ongoing).

    Or is the action of reading delayed until the write is completed? (i.e. both write and read actions are atomic even over the network)

    I think the latter is true but not could find no evidence in the documentation.

    Kind regards

    SoC

    Hello Rob,

    Yes, you can access the entire value, data type - you use both. For the table data type, the integer value is actually the full picture. So, Yes, you can see reading and writing as Atomic actions.

    But, on the other hand, you can lose data if the RT system rewrites the variable before the host had the time to read. To avoid this, you can enable buffering for the variable. See the following links for more information:

    http://www.NI.com/white-paper/4679/en

    http://zone.NI.com/reference/en-XX/help/371361H-01/lvconcepts/buffering_data/

    Finally, you can also activate a FIFO RT on your target RT if you need to send data through the variable in a deterministic section of the RT. See also, more information:

    http://zone.NI.com/reference/en-XX/help/370622H-01/lvrtconcepts/rt_projectvariable/

  • How to choose which shared variables to read

    I am trying to clean up a code and I'm looking for style tips. The following code actually works as you wish, but I wonder if there is a more elegant way to do it.

    I have a number of variables shared playing of Modbus devices. The problem is that these can be disabled as needed. When the unit is off, all vi to try to read that variable sharing waits a time out, then gives an error.

    What I did is to put each read operation in a case structure and then have an array of Boolean to tell which ones is turned on (see screenshot). It works fine, but I wonder if there is a better way to do it?

    Thank you

    Mike

    Replace all the tables index and case with a single loop and use 'I' connected to a case to choose which variable to read.

    /Y

  • Shared variable problem reading after deployment

    Hello

    I tried to create an OPC client to communicate with a server KUKA. I have a project with an i/o library configuration server. When I run the project, I can perfectly read/write my variables using the Distributed System Manager. If I put all the variables, I can read the correctly updated value at the server end. However, as soon as I start a VI that contains variables (which deploys them automatically), everything stops working and I can not write them to the VI or the DSM.

    I would be very happy if anyone knows how I could handle it.

    Best,

    Glauber

    OK, so it seems that the problem was that the request from the client to the server rate was too high. I added a wait on the loop that r/w, the variables and now this works. There is no need to be a single writer, and the autodeploy option can be.

    in any case, thanks to those who responded to the message.

  • Common bug Variable programming read/Open Timeout

    I hope someone else has a preview of the question that I see when you use a network I/O published variable or static variable in general.

    There seems to be a bug when accessing variables shared by programming.  In the image below, I'm trying to access a shared variable hosted on a crio remotely.  In both cases I access the same shared variable on a crio which has been disconnected from the network.

    In the top box, the variable will be constantly timeout to 100 ms, when you use a shared variable node.  However, under the bottom, the time-out period is still 5000 ms even if I put it at 100.   There seems to be a 5000ms internal timeout in the service of programming for shared access even when you use the functions 'Reading Variable with Timeout' and ' Open Variable and check.  The Vi "Open Variable shared in the background" does not solve the problem either.  Time-out settings seem to have no effect if the network is disconnected when first login.  It is a huge problem if I opened a GUI and the network connection is disconnected.  All my demons using these variable slow to a crawl, because I can't specify a timeout.

    Not only that, but the vi is not reentrant and block.  So if I'm variable opening in several places, for example when using networks of actors, they all block series and create a bottleneck of the HUGE network.

    I hope that someone has experienced this same problem and has a way to go around.  At the moment I plan everything to use the TCP/IP protocol instead of rewriting shared or I/O variables.  Or establishing another layer that my calls them to the individual cards shared variables nodes.

    It's always a pain shared variable nodes are MUCH less flexible than with programmatic access.  In addition, I am also using an Ethernet add-on and I have to use shared variables to read data from the modules that there is no real time running on top.  Thank you

    Jiles,

    Thanks for the tip.  I had used the SHOUT library in the past, but he had forgotten.  This ended up being the solution to my problem.  I still think programmatic options for shared variables need to be a little more flexible, but I worked around it.

    In the library the CRY, there is a CRY Get Remote cRIO controller of information within this VI is an another VI cri_RT controller of Ping.  It is the function key that I ended up using.  I just a super short deadline on the function and check for an error before opening a shared variable connection.

  • TPC-2012 cannot read the shared variable

    Hello

    I have a TPC-2012 and can not read variables shared with him. I welcomed the shared on a cRio-controller Variable. On another PC, the variable is read correctly, but not on the tpc-2012. What can I do? No error message is displayed on the TPC-2012 (Windows CE 5). The PTC can not write values in a shared Variable.

    Thank you

    Christian

    What LabVEIW Touch Panel version do you use? I don't know why static variables do not work correctly on your device. TPC-2012 comes with support preinstalled for shared variables, and it would be possible that it has been deleted or corrupted. Here are some steps you can follow:

    Install the Support of shared Variables
    How do we install the Support of Variables shared on the TPC-2012?

  • datasocket read stop but shared variable can be updated

    Hello

    I program with datasocket open/read, sometimes stops playing and after some time, maybe 10 seconds, it go on reading, I compare with variable shared (DSC) and found

    the shared variable can be updated, I don't know what happens to my program.

    (the reason why I want to use datasocket is that I need to dynamically change the ULR, I have several OPC tags to read (automata 100 times 80 labels per PLC))

    Thanks for your help!

    Hi ~

    The reading function is expecting that the items to be updated, and 10 ms is the default time for this expectation. Affecting false wait the update value will probably solve this problem.

    PS: Variables URLS could be changed programmatically, see this document if you wish.

    Nice day

  • Shared variable RT FIFO (multi element) - read both

    Hi all!

    I'm trying to collect data from analog inputs on my cRIO with a time step of 1 second. For this I use a timed loop and a variable shared with RT FIFO active (several table of doubles). Along with the timed loop, I also use a while loop that is significantly slower (lets say 10 sec period) who must read all the berries stored in the FIFO and write it in a .txt file (everything is run locally on target RT). Is it possible to empty the shared variable RT FIFO at the same time, and if not how can I get a number of tables that are currently stored in a shared variable?

    What is the difference between one created using the palette of FIFO of Real-Time/RT and RT FIFO created by a shared variable? I prefer to use the shared variable instead of Real-Time/RT FIFO allowing also time stamp.

    Best regards

    Marko.

    Marko,

    We recommend that the nondeterministic loop run faster than your deterministic loop and remove samples when they become available. If you don't want to do this, you can simply place your RT FIFO loop for the value to perform 10 iterations and then put that in your loop. For more information about the differences between the RT FIFO and Variables shared with RT FIFO active, please see pages 32 to 35 of the CompactRIO Developers Guide link below.

    http://www.NI.com/PDF/products/us/fullcriodevguide.PDF

    I hope this helps!

  • Delay weird read shared variables

    Hello

    I'm working on a project were I am followed a few lines of production. I use an OPC server on the DSC module to connect to PLCs on the production line and I created variables related to my labview tags of the PLC project.

    On my project, I have a main VI were I show information on production lines and I can access several subVIs were I see more information on these lines. Then I a VI that runs in the background were I read about 50 shared the PLC variables and where I save data in a MySQL database, data entry of data on the database of the Citadel and the recording of alarms.

    The problem I have is that I noticed a delay read variables that read weight of containers from the production line the VI that runs in the background. It seems that all shared variables suffer no delay, only the variables weight start to make some delay when the values are on the rise. It also seems that when I run only one VI, without running the main VI, there is no any kind of delay. I read shared variables shared as variable nodes.

    Can someone help me understand what is happening and how can I fix this delay? The VI that runs in the background is time critical and a strange delay like that messes up my data.

    Hi Mateus23,

    The shared variable has various capabilites buffering, including integration with real-time FIFO functionality in LabVIEW Real-time.

    I guess that buffering settings are causing the unexpected behavior.

    Check out these resources:

    Buffer Network-Published static Variables (white paper)

    Properties shared Variables dialog box

    - Network Page

    - Page FIFO in real-time

  • VBAI: How to read a shared variable?

    I'm doing my inspection to do things that depend on the value of shared Variables. How to set the VBAI Shared variables, it is obvious, but I didn't understand how to read them and then create some kind of a structure of MATTER using this variable.

    Any ideas on how to implement such an architecture?

    I create two different States and use the transitions that are based on the value of the shared variable. You can read the value of the variables or the previous measures in stages that allow this (not all stages, but most don't) or transitions. To create a new State, go to the state diagram (click on the 'toggle window view hand' so the State-transition diagram is in the main part of the window). Right click in an empty part of the state diagram and select "create a new State".

    To create a transition, right-click on a State and select 'Create a new Transition' and drag the transition to the new State.

    To change the transition, double click it and you will be able to select the shared variable as measurement, and comparison operations to make the decision. If this comparison is false, the default transition is taken instead.

    Select help > Show context Help if you change the schema of the State for more details on how to use it.

    Hope this helps,

    Brad

  • Why network shared variables is wrong values at startup?

    I run the example of the "RT FIFO Variables - Networked.lvproj" expedition. Once I have deploy shared variables that I can run successfully the host and the target live. Data is exchanged as expected. However, once I press the STOP button on the host VI VI target cannot be restarted independently of the execution state of the host VI. The only way I can get the target VI to start running again is to change (for example to add a text box or somekind of NOP) and then redeployed.

    It seems that some incorrect value gets stuck in the target variable stop FIFO and so cannot run the target. I tried to add a variable entry to the variable STOP before the loop in the example, but this is not enough.

    Can someone explain to me why this example of shipping can be run twice consecutively without a necessary redeployment?

    I vaguely remember something on the initialization of the shared Variables (I can't find the reference right now).  But I tried the demo code (finally) on and (as it turns out that) I had reason - is an example of poorly written, precisely because it is 'designed by omission"to work exactly once!

    Remember that instructions must start the host, and then start the target.  The first time, at the start of the target, you get a sinusoid.  But once you stop the host (which also stops the target), if you start again host, then the target, the target will stop immediately.  This is because the target (but not host) the shared Variable stop (when the target starts to run) as True (what it was the previous time the target ran) and stops see.  What you need to do is to provide sufficient time for the Variable (reset) shared between the host and spread throughout the network and gain access to the target.  I tried to put a 50 ms delay before entering the loop of the target - not long enough.  But 500 ms was fine - the example ran fine the second, third and a fourth time.

    I'll bring this to the attention of OR.

    Bob Schor

  • RT target does not read shared variable hosted by host

    Hello

    I just started to move my LabView application to a system of RT, and I came up with a problem. When I host a shared variable network-published on the RT target, I can access through vi running on the target and the host (which is good!). However, when I have this host on the host variable (such as by simply dragging on 'My Computer' in Explorer projects or all create a new variable), the vi running on the target RT is not read.

    I wonder if there is a problem with my installation of LabView, or if there is some step I'm missing. Any suggestions would be greatly appreciated!

    My host is running Windows 7 x 64, with LabView 2009 SP1 32 - bit. The objective of the RT is a real-time OS-powered desktop PC. I have attached a very simple project to illustrate this problem: I start 'Target VI' and 'Host VI' at the same time. On 'Host VI', I change the values of the two shared variables: 'hosted host' and 'target hosted. Only the changes made to the target "hosted" appear on the 'target VI'.

    Thank you!

    Andrew

    Take a look at this link (software configuration and firewall hardware to support National Instruments products) and this link (configuration of firewalls and routers network address translating shared Variables) to see if this highlights exactly what you need to explain in your application regarding the definition of the firewall exceptions.

    David has.

  • Why it takes so long to open a connection to a shared variable, the first time?

    Hello

    I have an application to large scale developed with LabVIEW DSC, which covers multiple computers on a LAN.  In one of the VI I open variable connection shared by using the "open Datasocket' VI.  I notice that after restarting my computer and execution of this VI into the source code (I have not tried with an executable file yet) it takes about 20 seconds to get a successful connection to a variable share located on another computer.  The later 'Datasocket Open' claims the same computer to the same shared variable takes much less time, about 100 ms.  I reproduce this with 3 different computer, so the behavior seems to be reproducible, but it's not to do it every time but very often.  This scenario may occur also when I did not open a connection to another computer for awhile.

    Anyone have this experience? Is there something I can do all this to avoid this 20 seconds delay problem? Anyone have an explanation?

    All of my computers running Windows 8.1.  I'm using LabVIEW 2012.  All my firewalls are 'off '.

    Thank you

    Michel

    Here is a picture of my open VI.

    Recently, I did this for another client. You can emulate a timeout (and actually connect faster) by using the function "open in background" and then checking the variable.connected? property.

  • Publish a queue using the shared variable

    I have a 2D table queue and I would like to publish (the reference) in a shared variable, so that I can pay the items in the queue in an another vi. I tried to create a queue control and used the custom of the shared variable control option, but it gives me an error "invalid data type.

    You try to read from the queue to another computer? Passing the reference to the queue on the network to a another computer will not allow the application to read data from the queue. The queue data is stored only locally.

    I honestly don't know why you get an error trying, however. Other options to access a queue in the world on the same machine are to use a Global Variable, rather than a shared Variable, or to get your reference queue by using a well-known name who know the other parties of the request.

  • Shared variables, analysis engine and multiple targets

    I'm looking for some general tips on my LabVIEW project structure.

    The project consists of a laptop with LabVIEW, a connected joystick and a CompactRIO connected via ethernet. I ran the cRIO mode Interface FPGA, but a change in some things causes the project to have be moved to scan mode.

    From now on, the code on the portable computer updates the shared variables on the cRIO and bed from the variables shared on the cRIO for surveillance. I want to shared variables on the cRIO because he will also need to work without the connected laptop. Before moving the cRIO for scan mode, I found that I had to first run the code of the laptop and then run the code cRIO, or shared variables would not release properly. Now that I spent to scan mode, I have to run the code cRIO first, and even then the shared vars do not properly communicate for more than a few seconds and are well laggier.

    My ideal project solution is a system that can operate with or without the connected laptop and obviously do not have these questions shared variable. I would like the autostart code on the cRIO and ask the user to execute the code of the computer laptop, if necessary, but in the past, it doesn't seem to work with shared variables.

    I'm really confused about why this is happening. I hope I explained my problem well enough. I really don't want to display the entire project here, but I can email to people if they are willing to take a look. Thank you for taking the time to read this.

    I'm under LabVIEW 2010 SP1 with FPGA, DSC modules and robotic in real time. I have the updated Feb 11 driver and NOR-RIO 3.6.0 installed and completed all updated on my RT cRIO.

    I do this kind of thing all the time...

    Move all your NSV libraries on the cRIO.  Of the project, you must deploy on the cRIO and then they are persistent until you reformat.

    Your windows GUI application, you can set static NSV tags on the block schema or use the API SV dynamic R / w.  Also you can bind GUI controls and

    indicators directly to the NSV cRIO (it's what I do) also I create a library of 'mirror' in the PC HMI that is linked to the library of cRIO.  This library has DSC Citadel

    data record enable and automatically records the historical traces of all my important data - very nice.  Libraries hosted PC can be set to autodeploy in the version of the app.

    the project also has an option of autodeploy to the development environment that normally, I turned off.  If you have a PC at the cRIO binding configuration so be careful

    on any kind of autodeployment because this will eventually force the cRIO app stop when you deploy.  To work around this problem, you can use the PSP (IP address rather than project binding

    process name) and use of the DSC deploy library s vi in your HMI application.  Once you use the scan engine, you can use the app DSM (Distributed System Manager) to view, DIF and

    each of you IOV and NSV graphic on your network.

Maybe you are looking for