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.

Tags: NI Software

Similar Questions

  • How to use the 'Get Shared Variable list' VI on a target RT?

    Hello

    I would like to browse all variables shared in a library hosted on my CompactRIO programmatically. I dropped the 'Get Shared Variable list' VI in my VI in real time, but when I tried deploying, LabVIEW says

    Deployment PRC_GetVarList.viPRC_GetVarList.vi loaded with errors on the target and was closed.
    LabVIEW: Unable to load the shared library dscProc.dll:ni_lvdsc_process_GetTagListEnd:C. ensure that the library is present on the target of RT. MAX allows you to install software from OR or FTP to transfer custom RT target libraries.
    LabVIEW: Unable to load the shared library dscProc.dll:ni_lvdsc_process_GetTagListBegin:C. ensure that the library is present on the target of RT. MAX allows you to install software from OR or FTP to transfer custom RT target libraries.

    I watched the wizard of the MAX software, but cannot find the DSC-based modules. Where should I look?

    Thank you!

    Hello

    The palette of DSC is not supported on the screws in real-time and will lead to errors when they are deployed.  Unfortunately, to have a successful build you will need to modify your application and remove the screws from the palette of DSC on your target of RT.

  • 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.

  • Shared variable of subjects with the executable in real-time

    We have a PXi target running Labview time real 8.5 and we use a series of shared variables for communication between the target and the client software. The code was developed (and used) in the last 2 years, and presented no problems with the shared variables when they are deployed since the Project Explorer (for the target and the laptop based client software). However, when you try to run an executable version on the system time PXI real target of exactly the same engine code variable shared seems to fail during the initial loading. Since it is an executable, it is difficult to display errors, but it seems that the accident occurred at the beginning of the program when we try to initialize a number of shared variables. Sometimes it loads but probably only 10% of the time. When you plug the tool to debug for code and restarting the executable, runs without any problem. However, once we managed to capture and error (error-1950678982 the shared variable client side read buffer is full).

    I checked a number of messages in the Knowledge Base (e.g. how to deploy Variables of a compiled executable shared network?), but it still has not solved the problem. Thoughts and suggestions?

    Adrian

    I tested it for a few hours now and I can't make it fail again. The big difference in my implementation was to use your suggestion, and no wire the error cluster through the method since the error it generates caused a number of questions later. So let me summarize the final configuration that seems to work then:

    -during the execution and executable on a target time real 8.5, startup not connected to a client. Library of shared variable hosted on the target and should load by itself.

    -J' added a flat structure sequence on the vi 'main' (top of page vi executable) with a node (as shown above) Invoke method in the first structure with a timer to 10 seconds and the rest of the code in the second part of the structure. The shared variable library has been copied to the target in a data directory and the path provided to the method (the same way as above) and the IP address is that of the target.

    I discovered that it takes about 8-9 seconds for the shared variable engine and library to start (I don't remember is that past exactly that) and it is important to wait this time to initialize shared variables or the behavior is unpredictable. The method always generates the error 1043 (function not supported) but I simply ignore it now, and it seems to work.

    Thanks for your help! I will let you know if there is some instability in the future, but everything looks good from here.

  • Do not access shared variable

    Hello

    I have a host (exe) application that uses variables from shared network to read the values of an RT application on a target of cRIO (exe all built with LV2010). The host application uses a method node to deploy the shared on RT target variable library. As I run this application on the pc where I have the development system, it works fine... when I put the application on a pc with the LVRunTime only, get a strange behavior: node library method does not return an error with the Distributed System Manager, I see shared variables actually deployed on the target... BUT the application of the RT is unable to update the shared variables!

    At first, I thought there was a problem because the target RT boots until the library is deployed by the host application, but it works on my development pc. So what don't understand me?

    Thank you for any clue,

    I'm sure that you can not deploy the hosted cRIO SV programmatically. This must be done by the project.

    Try to start over again, cancel the deployment of all libraries in the project and redeploy it manually.  Remove your method "deploy".

    and then check that your RT code is updated the NSV using DSM.  Then, try to read or write of NSV from the host application.

  • Passing an array via one RT FIFO network shared Variable, Code error-1950679034

    This should be simple.  I'm just passing through a table via a single RT FIFO network shared Variable element.  And yet I get nothing.  How could - not working?  What is this error?

    Well... it must have been some sort of thing calendar because adding an expectation of 100 ms fixed it straight up.

    Now don't feel ridiculous

  • 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

  • There is no chance to install a standalone engine shared Variable of EVS?

    Hello!

    I wrote a small application that reads the values of a NetworkVariable created on the local computer. The address of this variable is something like \\127.0.0.1\System\test1

    That I can see, I can use this type of variable (I mean System -based) that if I installed an EVS (by Measurement Studio). But to install Measurement Studio, I need too Visual Studio...

    There is a way to work properly with NetworkVariables based on a system without having to install everything as I said before? AES is responsible for the correct operation of NetworkVariables? In this case, is there any chance to install a standalone engine shared Variable of EVS?

    Thank you!

    I found the solution to help NI MeasurementStudio 2008:

    Server deployment

    In this scenario, you must deploy the motor Variable shared to another machine that plays the role of the server. To deploy the shared Variable engine, you must run an installation on the target computer. The required Installer is installed with Measurement Studio for the [InstallDir] \ Redist\NINETVARSERV folder.

    You can view all the command-line options to run the installation program with setup.exe /? . Command line options, you can choose to run the installer in silent mode.

    You can use the Variable Manager to create and configure network on the server variables. The variable Manager is installed by default. To run the Setup program without installing the Variable Manager, run setup.exe /prop VARMANEXCLUDE=1 command. To run the installation program of engine Variable shared in silence and without the Variable Manager, run setup.exe /q /acceptlicenses yes /prop VARMANEXCLUDE=1 command.

  • new variable networked shared in my computer, but not in the shared variable engine list

    I have a Variables.lvlib shared on a cRIO target and test algorithms when I don't have access to material cRIO. Thought I could do a new project, add the library to the windows target (workstation). I need to add a few additional variables, I did in the original (i.e., while the library was the target in real time). Then create a new project and added the lvlib to the project (under my computer), and then wrote a VI to write in these SVs. When I let fall a constant Variable Refnum shared on the block diagram and browse for objects variables under 'Variable' Motors > ni.var.psp > localhost > shared Variables, list of variables shows everything except the 6 new variables. When I switch the view 'Current project', I get the same variables for new list WITH THE 6. However if I select the variables in the list and run the VI I get an error-1950679035 impossible to locate the variable in the shared Variable engine. Of course, I forgot something, anyone out there set me straight?

    Thanks for your time - lmd2

    Hello Lawrence,.

    Looks like you'll have to maybe just to deploy the new variables - refer to this document:

    LabVIEW Help: Making static Variables available on a network

    http://zone.NI.com/reference/en-XX/help/371361K-01/lvconcepts/sv_deploying/

    Hope that helps!

  • published RT cRIO-9030 with network-a project of shared variables cannot communicate with host VI when compiled and deployed as executable startup.

    I have a project including a VI RT running on a cRIO-9030 and a host VI running on a desktop computer.  The two programs communicate via shared variables that are hosted on the cRIO.  As shows, when I run the screw of the project, everything works as expected.  When I compile the RT VI in a start-up executable can deploy for the cRIO, as well as the libraries of shared variables (the record of support in the build specification-oriented), I am unable to connect to the executable running in real time.

    I have 'Disable Autodeploy Variables' checked on the cRIO target, if I no longer get the prompt to stop the currently running application to deploy the variables.  The host VI opens and appears to run, but has no connection with shared variables (data does not update).  Compilation of the host VI as an executable file and it works outside the project result in the same behavior.

    I read some relevant posts / knowledge base articles related to this problem, but still can't seem to find a way around it.  I note a number of articles on the series in double bond of variables, but this is in contradiction with my possible behavior for this system: I finally have a number of cRIO controllers identical all runnning the same executable RT and want to be able to have a single host VI which allows the user to select from a list of available controllers (using the screw system configuration) and extract the host name of the controller selected, that would be later used for programmatic addressing of the variables on the host of part VI.

    In any case, I want to start with the simple fact of being able to get that first controller running without an open connection to the RT VI project.  With the deployed executable start, I checked via programmed behavior of LED application of the RT and FPGA are running on the cRIO.  The problem, I think, has to do with shared variables, but I'm not sure where to go from here.  I want to connect to RT executable running from the VI to the host (in project) to verify that the compiled executable of RT works as expected and then the subsequently compile host VI in an executable that can be run from any desktop on the local subnet.

    Thoughts?

    It seems that the error has now been corrected.  There were three things, I changed: the file startup.aliases in the startup on the target directory (Home: / lvuser/natinst/bin) put in 'localhost' as an alias for the controller.  I changed it to the IP address of the controller.  Then, I got some features of IO files in my application RT relative paths using the path obtained by the 'current path VI' VI.  As this path changes according to the location / delivery system, I had to create a VI that has used the Application property: type with a case properly structure band / build railroads desired regardless of the runtime system data files.  This may have broke my RT request.  Finally, I got a property node in one of my RT SubVIs, who attempted to change an indicator in the Subvi, which is not taken care of in an RT compiled executable.  I can't do this for debugging purposes somewhere along the way, but in any case, I removed it, and after a recompilation and the deployment of the executable of RT, everything seems to work as expected today.  The host VI on the desktop can connect to the application of the RT project, and when it is compiled into an executable file, which also works.

  • cRIO and 9234 modules do not work or communicate via fpga with accelerometers, fpga, connected to the real-time application is also related to shared variables related to modbus slave

    Hello

    I have a compact rio, which has a 4 way frame this chassis is the three modules of ni9234, they are related using FPGAs for application in real time, then using shared variables in the low-speed loop associated with a slave modbus to communicate with the domain controllers, the nor 9234 accelerometers linked to them with option ac coupled iepe on c modules , my problem is the real-time application seems to work well even when power loss occurs it restarts without problem and the fpga written hard disk portable bin files very well, but without an accelerometer connected I get readings of low noise as soon as I connect an accelerometer to one of the outputs 10 it just goes to a fixed number (0.03125) as soon as you unplug it again He returned to readout noise, I ran a scan on the modules and get only a spike when I connect or disconnect the accelerometer, I tested voltage at the pins on the module and I get 22 volts CC which makes it more likely that the material is not the problem, but software is perhaps the cause to hang up, I join the project and files for your perusal. I also realized a new project which, in mode directly linked scan has the module entry in the shared variable and the scenerio even once again. Help would be appretiated.

    Thank you very much

    Jason

    Whren using waveform with the 9234 acquisition, we recommend the following FPGA and RT model.

    http://sine.NI.com/NIPs/CDs/view/p/lang/en/NID/209114

    It can be extended as a datalogger with:

    http://zone.NI.com/DevZone/CDA/EPD/p/ID/6388

    or using shared variables combined with the analytical engine

    http://zone.NI.com/DevZone/CDA/tut/p/ID/9851

    The FPGA in all this, as well as the framework of RT have used successfully by 1000s of users.  I recommend giving these a try.

  • shared variables stops when I use RT Set date and time.vi

    Hi all

    I have a problem that I can't solve. I run a project of RT on a PXI-8106 module using LV8.5. I used shared Variables to transfer data to and from my host computer for about 6 months with no problems. Recently I neeeded to the synchronization time RT with my host PC of time (to collect time-stamped data of the target RT) and I decided to use the "RT set time and Date.vi ' both before the beginning of each synchronization test.

    As soon as I started using this vi, I noticed that my shared variables would either stop updating, or slow down considerably (this includes loss of data during the transfer of data between the PXI to host PC with shared variable). I do not receive any errors or warnings from any of my shared variables, and no errors are generated when using the RT set time and Date vi, so im at a loss for where to start. Ive disabled this feature for now and my system works well again, but I want to get this to work because the timestamps generated in the data by the RT system are out and I need a method to synchronize the time with the host pc.
    Any ideas would be appreciated,

    Thank you

    David

    Thanks for the info. I'll avoid upgrading to 8.5.1 at the moment so I'll just remove the VI. Instead, I create a 'elapsed time' timestamp which should do the job.

    See you soon,.

    David

  • OR shared Variable engine usage example

    Hi guys,.

    using OR shared Variable engine and we try to use it with java. As we understand it, NOR shared Variables are available on the network.  So it is possible to communicate with the use of Sockets. Is there a protocol that I have to use? Any of you got an example on how to write a string to the shared variable?

    Hope this is the right forum.

    Thanks in advance.

    Greetings

    Tuney

    According to this link: http://www.ni.com/white-paper/4679/en/

    "In addition, with the network library Variable introducted in NI LabWindows/CVI 8.1 and NEITHER measure Studio 8.1, you can read and write variables shared in ANSI C, Visual Basic .NET, or Visual c#."

    There is also more information available on the following links:

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

    http://StackOverflow.com/a/4597966

  • How a shared single process variable be FIFO and single element?

    How a variable shared unique process can we both FIFO and the only element at the same time?

    I read the NOR recommended for communication between a loop deterministic and non-deterministic loop.  He is said to use SVariable ingle-process Shared FIFO and single element.  OK I can't have something... because in my mind these two things must be mutually exclusive.  How do you have a single item 1?

    What 'RT FIFO activé' means, that when you use the variables shared in a timed loop it actually is written to a RT FIFO created automatically.

    The key here is that generally shared variables are shared resources and can add jitter to deterministic tasks if another loop uses the variable at the same time as your loop of deterministic.

    So here's the takeaway, when shared with RT FIFO active Variables using:

    • Normal loops read and write the shared variable in the same way as they always do.

    • Call loops read and write a FIFO RT rather

      • The data is automatically passed between the RT FIFOs and shared in a nondeterministic loop variable

    RT FIFOs exist because their architecture referred to as non-blocking so that when the timed loop trying to access it is guaranteed immediate access to a memory space.

    Does that answer your question?

  • SQL and shared Variable communication failure when you run an .exe application

    Salvation OR engineers,

    I'm faced with a problem. I have already tried almost everything under my bottom to solve, but I just couldn't get over it.

    I have a VI on my PC accessing a SQL database via the connection string and some share of variables in a server. Both shared variables and the SQL database are on the same server. There is a firewall between this server and my PC and the server is located in a DMZ environment.

    Design Labview environment, everything works fine. Even when I run the .exe on this computer file, everything works fine. But, when I created an application and install it on another computer, it just doesn't work.

    I'm using Labview 2013.

    Someone of you can help me with this bug?

    Thanks in advance!

    Hello world

    Back to share with you the solution:

    The problem was with the "SQL Native Client". Windows 7 doesn't have it as a default installation, if the application could not find the OLE DB provider for ODBC drivers. After installation, the connection has been established.

    As the server was within a demilitarized zone, I had to open some specific ports as follows:

    UDP/1434

    TCP / / 2343,49163

    59110-59115

    In fact, I have not experienced problems with the OAS. The error was generated when you try to connect to the database and sent to the rest of the code through the cluster of the error.

    Thanks for the support!

    Best regards to everyone.

    Luiz

Maybe you are looking for

  • Impossible to restart the iphone 6 after the white screen

    Screen went blank (White) disabled through holding "home" button and the Start button / stop together, phone expected to restart, but it didn't. attached to load but once again nothing... any ideas would be greatly received.

  • Sleeve for 17 "predator?

    Anyone need and found a sleeve (not a laptop bag) which corresponds to the 17 predator?  I checked the dimensions of many sleeves, I found on Amazon, and none seems not to work in all dimensions.

  • lost webcam only available through FB. and Skype

    having a problem connecting to my webcam can only find on Skype or Facebook any response on the photo gallery

  • How to disable Windows Live Messenger Hotmail

    OP: hotmail/messenger = when I sign on the internet opens my hot mail and I can receive my friends msn messnger im but I have not signed in to messenger how can I stop my email from opening until I sign Messenger I have looked on the e-mail options a

  • My PC detects the Xbox 360 wired controller, but the buttons do nothing

    I checked in the control panel of the wired Xbox 360 controller and it detects all the buttons but it does not move the pointer when I use gamepads, and when I press the buttons, they do nothing. It does not work in games. Why? What I have to disconn