Vision builder AI shared variable sudenly damaged

Dear Ni users.
Description of aplication.
We use NI vision builder AI together with siemens WINCC software. We use shared variables acros NI shared variable engine, so read and write some parameters over WiNCC.
The  aplication witch was working for more then 1 year, and sudenly we have noticed that we cannot se NOT acces shared varables in WINCC.
After examine what can be wrong we faund that we cannot so no tags from NI shared variable engine, so we think that somehow something crashed?
Do you have any similar cases in future. We cannot acces into any shared variables accros NI distributed system manager?
SEE THE ATACHMENT
Under localhost the Vision Builder  is mising, like in this white paper from Ni.
https://decibel.ni.com/content/docs/DOC-18647
Thank you for help
Attachments:
Zajeta slika.JPG ‏34 KB

Hi Bostjan_1234,
What is the hardware involved in this setup? Do you use smart cameras?
Have you tried the standard steps: restarting the system, defining a new tag/variable to see if you can see it in Distributed System Manager?
I am looking forward wih great interests in your reply.
Best regards,
IR

Similar Messages

  • "Shared Variable Control" combo box on Front Panel is empty after Build

    Hello;
    I have a project using shared variables and the DSC module. I am working on building a .exe application now that the project seems to run well.
    I have several places on the front panel where I have shared variable controls. These combo boxes allow the user to click the drop down button and browse the list of shared variables in the project, as well as "browse". When I run the VI from the project, the combo boxes fully populate with all of the deployed tags in the project (I have only one .lvlib in the project).
    When I build the project and run the executable, the only item in the combo box list is the "browse..." selection. I can click on that and browse to my variables, but it is much more time consuming to do so than to simply select the desired variable from the drop down list.
    So, how can I populate the list of shared variables from a particular library ino the Shared Variable Control combo box in a project build?
    A couple of things I have done to try to esolve th problem are ensure that the "Enable Enhanced DSC Run-Time Support" box is checked in the advanced tab of the build window, added the appropriate .lvlib file to the "Dynamic VI's and SUpport Files" window under the "Source Files" tab of the build window, and properly deployed the tag library programmatically in the project.
    Thanks,
    Michael Hampson
    Michael Hampson
    President
    XL Automation, Inc.

    Hi Michael,
    What you see in the development environment is to make it easier for developers, and as far as I know, there's no way to automatically populate the shared variable control during run time in an executable.  The reason being that the shared variable control would have no way to know which process it should be using to get the variables from.  The attached vi demostrate how you can acquire the list of shared variables in a process.  You can also set the default values of the shared variable control by right clicking it on the front pannel, go to Data Operations->Make Current Value Default.  I can do some more research on this, but I'm about 95% sure that there's no way to convert the array of shared variables to populate the shared variable control, as the shared variable control is a special type of xControl.
    Yi Y.
    Applications Engineer
    http://www.ni.com/support
    Message Edited by Yi Y on 07-02-2007 01:27 AM
    Attachments:
    SharedVariableList.vi ‏15 KB

  • Shared Variable Deployment not accessible in Build Specificat​ion

    Hi everyone,
    I have a large project developed in LV 8.6.1 from which I executed numerous applications. I converted the project in LV 11 sp1f1, everything works well in code, everything is saved.
    I wanted to build executable without cod change for LV 11 here is what I found:
    Build the executable with Build Specifications inherited from LV 8.6 for which I checked on Use Labview 8.x file layout in Advanced. My application programmatically deploys all internal shared variables and when I wanted to access the Shared Variable Deployment in project in Build Specification then labview locked and I have to kill LV. Other time I did not access the Shared Variable Deployment and I start building executable when it looks the build progressing similar as in LV8.6 and last step before popping the attached error all the saved files in the build location were deleted.
    I set up a build specification just for this LV 11. Again I wanted to access the Shared Variable Deployment and again labview is looping something from which I had to kill labview. I opened it again, I skipped the shared variable deployment line and I build the application. Because my application programmatically deploys shared variables I included in builder the lvlib where shared variables belong. The build files does not includes this time as output the file *.lvlib for which my inherited LV8.6 code programmatic deploys shared variables.
    My question is should I change the code (very large code) taking out the programmatic variables deployment and to relay on the build executable to do deploy them then what should I do with Shared Variable Deployment line in Build Specification which for my large application is not accessible or is any way to still use the shared variable as in LV8.6 but for which I need *.lvlib in build location.
    Another important issue: when I launched my application built as I showed in previous second case, first thing that I see is that my application is not able to save errors (I have a log file where I save different drivers or communication errors). Any idea why application even without shared variable deployed is not able to write a text file? I am administrator of my computer with all rights.
    Thank you,
    Virginia

    No, I am not able to close Labview because of the windows error with only one button to close application. The application is correct executed. Next time when I start this project it is asking me if I want o recover even if I accept to recover it looks what I had last time it does not save.
    For my application also I am building a VI without diagram built as source distribution for which I set in my builder this top vi and I excluded everything from the project because my application copies instances at the run time of this vi as many times as hardware modules I have in the system and also I have this vi included in my application (for the content of this vi). My vi contains interfaces for hardware configuration as well as drivers functions call for each hardware module I have to control in my application. Everything is good building this vi, but in less then one minute after the build is executed and build interface closes again I have the windows error which force me to close project. Next time when I open project I did not see the option to recover the project.
    In the mean time I received second message and I wonder if you refer to files names or to folder names or all together. I checked and the maximum size is 122 characters in the vi paths.
    Thank you,
    Virginia

  • Send variable from vision builder to NXT Brick

    Hello,
    I have a color sorting machine controlled by an NXT Mindstorms brick. I believe that Labview has a module to communicate with the Lego brick, but I was wondering if the Vision Builder (which we are currently using for another application) could also communicate with the brick (we don't have Labview). Ultimately, after insecting the object with Vision Builder, I would like to send a variable (based on the inspection) to the NXT mailbox, preferably via usb, otherwise BT, that would serve as a motor command for the servo. If there is no such communication module, is there a code that I could insert into the Vision Builder program that would allow for such a communication?
    Solved!
    Go to Solution.

    Hi there,
    As far as I know, Vision Builder will not be able to "target" the Lego Mindstorms brick.  
    The LabVIEW add-on for Lego Mindstorms can be found here:  http://zone.ni.com/devzone/cda/tut/p/id/4435
    I'm assuming you're planning on connecting your camera to a PC? 
    Although I just found a camera that can connect directly to the Lego brick here:  http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=78
    If your LabVIEW code is running on your PC, you should be able to use either vision builder or vision assistant and then have your brick "do something" based on the results.  You'll have to choose your PC as the "target" for your code and you will need LabVIEW and the Mindstorms add-on to make this work.
    Patrick Allen

  • Build specification freezes when trying to view "Shared Variable Deployment" screen

    Labview 2009 f3
    For some strange reason, any applications that include shared variable libraries will no longer build into executables.
    I was able to build these applications without issue a week ago.  However, when I went to make an updated build today, the build failed and I had to force Labview to close.  When I view the build specification properties, I can navigate through all the option screens except the "Shared Variable Deployment" screen.  As soon as I click on that option, the interface freezes up and I have to force Labview to close.
    This problem does not occur for applications that do not include shared variable libraries.
    I tried removing the shared variable libraries from the applications that were failing, but that did not correct the issue.

    I never did find a proper fix to this issue. 
    One day I attempted to build the application again, but this time I got distracted doing something else.  When I finally checked the build status a few minutes later I expected it to still be frozen, but to my surprise I found that the application did successfully build.  To this day, that particular application still looks like it is going to lock up, but about about 8 minutes later it finally takes off and builds like nothing was wrong...like every other shared variable application I have created.  So I guess my only suggestion is to let the application sit for a while and see what happens. 

  • How can I build an application that deploys my shared variable library?

    I have a VI that I want to build into an application and put on a non-development machine. I am using a shared variable which obviously is contained in a library. In the VI itself I can deploy the library by specifying a path. Is there a way to build the application so that the library is deployed automatically when the .exe launches? I want to get away from having the end user to have to know where the library is and set the path correctly.

    Hi Troy,
    Sorry, but I think I missundersood you.
    I think you have to deploy the library programmaticaly by using the Application Control functions (OpenAppRef, InvokeNode)
    I didn't test this but the following picture shows how to start:
    Kind Regards, Christian
    Message Edited by Christian_M on 01-05-2006 09:11 AM
    Message Edited by Christian_M on 01-05-2006 09:11 AM

  • Strange behaviour with Vision 8.2 and Shared Variable 1D Image Array

    I've just upgraded to LabVIEW 8.2 and Vision 8.2.  When loading a particular VI, it is searching numerous times for ...\LabVIEW 8.2\resource\objmgr\IMAQ Image.ctl - which of course doesn't exist.  As best as I can track it down, this seems to be cause by a Shared Variable I have in the project which is a custom control of a 1D array of Image. 
    So I've created a new project from scratch to illustrate (attached).  The VI runs OK, but any editing means that this non-existant control is searched for again.  Of interest is also that there is a coercion dot where the Image is used, but the data type on the wire seems OK.  Creating a control (rather than a Shared Variable) works fine.
    Anyone know what's going on here?
    Message Edited by GregS on 02-26-2007 03:43 PM
    Attachments:
    1DImage.png ‏4 KB
    1DImageShared.zip ‏15 KB

    Hello Greg,
    I downloaded your project and opened it up on my
    system.  I received the same results as you
    did – I tried to open the project it searched for \LabVIEW 8.2\resource\objmgr\IMAQ Image.ctl.  I also used the 1d Image.ctl file as a constant on my block diagram and it did not
    show the coercion dot as you mentioned.
    There does seem to be some strange behavior going on here
    with the coercion dot and the shared variable. 
    I will have to look further into it and report this to R&D. 
    But for now, we need to address your application.  What is the goal of your application?  How does using a shared variable with IMAQ
    Images help you get there?  You may be
    aware of this already, but when an Image wire is passed around LabVIEW, it is
    not actually passing a copy of the data in a dataflow manner.  The large size of IMAQ Images necessitates
    that LabVIEW pass around a pointer to the IMAQ Image.  Therefore, when an array of Image controls is
    made and used as a shared variable, the controls do not contain the actual
    image data.  Instead, they contain
    pointers to the IMAQ Images.  When they
    are passed into a shared variable, unexpected results may occur.  If the shared variable is network published,
    for example, another computer on the network would receive a pointer to an
    image that it would not be able to find or access.
    There may be a much better way than shared variables to
    achieve the same functionality you are currently looking for.  If you do in fact require shared variables,
    you could use IMAQ ImageToArray.vi
    to create an array that can be used in the shared variable like any other data
    type, and then use IMAQ ArrayToImage.vi
    on the other end to be able to view the array as an image.
    Please post back with more information about your
    application and we should be able to find the best solution for you.
    Regards,
    Luke H

  • Slow update of shared variables on RT (cRIO) after building exe

    Hi,
    I've been struggling with this for the past few days.  I am having a problem with slow updating of shared variables on my RT project....but only after building the application into exe's.
    The application consists of an RT target (cRIO 9073) sampling inputs at a rate of 1sec.  I have a host PC running the front panel that updates with the new acquired values from the cRIO.  These values are communicated via shared variables.
    Once the cRIO samples the inputs, it writes the values to the shared variables, and then flags the data as 'ready to be read' using a boolean shared variable flag.  The hostPC polls this boolean shared variable and updates the indicators on the front panel accordingly.  
    Now, this worked fine during development, but as soon as I built the RT exe and host exe's, it stopped working properly and the shared variables ended up being updated very slowly, roughly 2-3sec update time.
    To give you some more background:
    I am running the Labview 2010 v10.0.
    I am deploying the shared variable library on the RT device (as the system must work even without the hostPC).  I have checked that its deploying using Distributed System Manager, as well as deploying it into the support directory on the cRIO and not the exe itself. 
    I have also disabled all firewalls and my antivirus, plus made sure that the IP's and subnets are correct and its DNS Server address is set to 0.0.0.0.
    There are 25 shared variables all in all, but over half of those are config values only used once or twice at startup.  Some are arrays, plus I dont have any buffering and none of them are configured as RT FIFO's either.
    The available memory on the cRIO is about 15MB minimum.
    What strikes me is that it works fine before building exe's and its not like the cRIO code is processor intensive, its idleing 95% of the time.

    Thats exactly what I'm saying, it takes 2-3seconds to update the values.
    I have tried taking out the polling on the PC side, and registered an event on the changing of that shared variable and that doesn't do anything to change the slow update time.  Even if I stop the PC, and just monitor the shared variables in DSM it updates slowly.
    I also tried utilising the "flush shared variables" vi to try to force the update....that does nothing.
    I wire all the error nodes religously. Still no luck.
    Its very strange, I'm not too sure whats happening here.  These things should be able to update in 10ms. 

  • Problems with builded app and shared variables

    I got connection error message (Invalid server: cannot connect to server) when selecting a shared variable using dashboard. The app is running on a Win7 PC.
    I have no problem connecting the PC's IP at my dashboard indicator, even, I can select the shared vars library of my app.
    I opened the ports on Windows and Router TCP: 2343, 59000-60000 UDP: 2343, 6000-6010, and created new inbound rules for the kads.exe, lktsrv.exe and tagsrv.exe programs and installed the Run-Time 2013 engine on that PC. By the way, the application also has HTML files created with the web publishing tools that is working OK.
    When I test the application on my develop PC (with LabVIEW 2013) everything works fine.
    Did I miss something?

    Hello jesushidalgo,
    Make sure that there is not a personal firewall enabled on either computer that could be blocking the NI-PSP packets.
    Acess http://digital.ni.com/public.nsf/allkb/6E37AC5435E44F9F862570D2005FEF25?OpenDocument and see the solution.
    Acess: http://www.ni.com/white-paper/12402/en/  to see how configure software and hardware Firewalls to support National Instruments Products.
    Tell me if worked, ok?
    Best Regards
    Rita Souza
    Engenharia de Aplicações
    National Instruments Brazil

  • NI-1744 Smart Cameras go offline using Vision Builder AI and LV2010?

    I've run into a perplexing and frustrating problem.
    I have a set of 6 NI-1744 smart cameras used to monitor sample motion in an automated system
    A central robot moves samples between 6 satellite chambers; there is a camera mounted above the entrance to each of the satellites; the sample carriers are drilled with up to 10 holes encoding their numbers in binary (0-1023). There is also an L-shaped registration mark drilled near the region for the number encoding. Matters are complicated somewhat in that the second generation of carriers has a slightly more complicated registration mark (which includes the simple L of the first generation).
    What I would like to accomplish is this:
    Most of the time, I just want to be able to see what's under each camera, illuminating from above using a ring light attached to the camera. Call that Inspection A.
    I may need to capture an image without the ring light. Call that Inspection B
    When a sample transfer is occurring, I need to run a more complicated inspection (Inspection C):
    A light is turned on underneath the end of the sample transfer arm (the "fork"), backlighting the region where the hole pattern would be if a carrier is in fact present.
    Acquire an image of the fork with the backlight on.
    Check to see if the image shows the fork to be empty. If so, return that information and the inspection is complete.
    If not, look for the (backlit) registration mark and establish a coordinate system for the holes. Look to see which holes are present, calculate the sample number, return the data and the inspection is complete
    If not, look for the 2nd gen registration mark. If it is found, establish the coordinates as in step 4, calculate the number, return the data and complete.
    If none of the registration patterns are found, turn on the ring light, capture an image and return it so the operator can intervene and enter the appropriate data.
    I have successfully built the inspection, and it appears to work in the Vision Builder configuration interface, or if run from the Vision Builder inspection interface. If I attempt to *use* the inspection, accessing it via the VBAI interface in Labview, one or more of the cameras will hang after one or more inspections and stops responding to LabVIEW. It will take multiple reboots to get it back on line and visible to either VB or Labview.
    Originally, I had thought to configure the camera to run inspections continously and select inspection A, B, or C based on a variable I could access using the Labview Shared Variable Engine.  Every time I tried that the camera in question would hang. My current sort-of-successful software uses the VBAI functions in LabVIEW to open Inspection A, B, or C on the camera, run that inspection a single time and return the results and inspection image. That still ends up with one or more cameras hanging, especially if I've added the case to handle the more complicated registration mark.
    I think I may be running out of memory in the camera. I have occasionally received an out of memory error message when running the inspection in debug (step) mode in the VB configuration interface, at which point the camera will disconnect from the VB interface. When I look at the system monitor tab for a camera in MAX, I can see that it is showing me 11.5M free/124M total memory, and 72.3Mfree/118M total disk space. If I understand those numbers, that means that less than 10% of the memory is free when the inspection starts!
    I'm only communicating with the cameras via the ethernet interface. Are there any software components I don't need to have installed on the 1744 (MAX lists about 12 different things installed!) in that case?
    Alternatively, it appears there are VBAI functions available that might let me acquire an image and then process it via a local copy of Vision Builder running on the host PC, rather than in the camera. Is that so, and if so, would it be faster than running the inspection in the camera?
    I've attached a zipfile with the inspection that appears to stall the camera, and samples of typical images captured of the empty fork and a sample holder.
    Kevin Roche
    Advisory Engineer/Scientist
    Spintronics and Magnetoelectronics group
    IBM Research Almaden
    Attachments:
    Carrier Read Problem.zip ‏657 KB

    The good news: thanks to some offline assistance from Brad, my cameras are no longer crashing.
    The bad news: my labview VI using VBAI functions still fails for one or more cameras after a while (typically >12 hours of monitoring). 
    It's very odd: the cameras are still visible online.
    I can ping them.
    I can connect to them via VBAI, run inspections that way (either in configuration mode or inspection mode), and disconnect successfully.
    My calling VI, however insists that it can't connect (usually with a -354700 error from VBAI Connect.vi, occasionally with a -354705).
    I am using shift registers in the monitor loop of the main VI so that I can pass the VBAI session reference for each camera back to the subvis that actually load and run the desired inspection once a connection has been made. After an indeterminate time, one or more of those appears to go bad, but if I attempt to reset and connect to the camera again (I did include a control to let me close and reconnect if necessary from the monitor loop), I still get the above errors.
    The only way to get them back online within LabVIEW this morning proved to be to stop the main VI and reset all the controls to default, reboot the cameras, and then restart the VI. At that point it was able to connect to all 6 again and has been running happily for over 8 hours.
    I set up the persistent sessions using the shift registers because I have observed in the past continually opening and closing resources like that can lead to memory problems. It also dramatically reduced my cycle time when all I want to do is get the latest images from the cameras to under 2 seconds.
    Any ideas? Is there some subtlety to disconnecting/reconnecting to the VB in the cameras via Labview that I'm missing?
    I am working on a slightly smarter version of the inspection that can be allowed to run continously in a camera and simply return the appropriate result when asked, rather than having to start and stop different inspections as I do now, but that is not ready for deployment yet. It's the symptom of running just fine for X hours and then losing one or more cameras that is baffling me right now.
    Kevin Roche
    Advisory Engineer/Scientist
    Spintronics and Magnetoelectronics group
    IBM Research Almaden

  • Vision builder migrating to labview... Many VI

    Hi,
     I am using the latest version of labview and NI vision builder. By using the Vision builder am getting the X and Y coordinates of the object in that area. I need to export this to labview. I tried by going to "migrate to labview" . Then I created a new folder, then I gave the name. When I click OK. It creates many VI's. I need this in single VI. When I open the "main.VI" i could only see "pass, start" ; when i check the block diagram.I couldn't find the programe that i needed for it.
    Hope you have understood my question.
    Can you please help me.
    Thanks in Advance
    Solved!
    Go to Solution.

    Another option, which could be used in conjunction with the API solution Christophe mentioned is to make your X/Y values shared variables that you update in your VBAI inspection and then read in your LV code. Here's a tutorial on using shared variables to communicate results to LV from VBAI:
    http://digital.ni.com/public.nsf/allkb/D492139A746​F91A8862576E80051BBCE
    Here's a video of how to use the API that Christophe was mentioning:
    http://zone.ni.com/wv/app/doc/p/id/wv-2424
    Here's a video of using shared variables (demo shows using RT targets, but the same idea would work locally):
    http://zone.ni.com/wv/app/doc/p/id/wv-2423

  • LABVIEW 2012 - shared variable error during programming of NI CRIO 9023 and TPC 2212

    HELLO,
    i am using CRIO 9023 with TPC 2212 and LV 2012. I want to develop a stand alone app which has a front panel on TPC. at first i am building a simple app with two controls variables, one is a sliding bar on TPC Vi and the other one is the while loop  variable "i" on CRIO VI. i used  shared variables.
    first i creat shared variable on CRIO side and access this on TPC Vi. I COMPILE both Vi,s and they are working fine. But when i created the slide bar control in TPC VI, compiled and deploy the TPC Vi, it get deployed in TPC. But when i  start compiling the CRIO VI an error mesage occured as follows;
    I have tried every option to best of my understanding like formating crio then installing all softwares including Network variable engine etc. i also go in properties of the executable file of TPC Vi and go in properties-shared variable- then check the "deploy variable in application" option . below is image displayed.
    I am in despirate need for solving this problem as i have to develop the final app for testing soon. can some one help me regrarding this.
    REGARDS

    I would not recommend using shared variable engine.  It is supposed to make things easier, but in fact, you will spend more time troubleshooting why it is not working than you will actually coding an alternative solution.
    Try the Simple TCP Messaging instead.
    http://zone.ni.com/devzone/cda/epd/p/id/2739
    Machine Vision, Robotics, Embedded Systems, Surveillance
    www.movimed.com - Custom Imaging Solutions

  • Migrating large project from DSC 7.1 to LabView 2009 Shared Variables ... What's the next step after recreating my variables?

    I am in the process of migrating a large distributed (multi-workstation) automation system from the LabVIEW 7.11 DSCEngine on Windows XP to the LabVIEW 2009 Shared Variable Engine on Windows 7.
    I have about 600 tags which represent data or IO states in a series of Opto22 instruments, accessible via their OptoOPCServer. There are another 150 memory tags which are used so the multiple workstations can trade requests and status information to coordinate motion and process sequencing.  Only one workstation may be allowed to run the Opto22 server, because otherwise the Opto22 instruments are overwhelmed by the multiple communications requests; for simplicity, I'll refer to that workstation as the Opto22 gateway.
    The LabVIEW 2009 migration tool was unable to properly migrate the Opto22 tags, but with some help from NI support (thank you, Jared!) and many days of pointing and clicking, I have successfully created a bound shared-variable library connecting to all the necessary data and IO.  I've also created shared variables corresponding to the memory tags. All the variables have been deployed.
    So far, so good. After much fighting with Windows 7 network location settings,  I can open the Distributed System Manager on a second W7/LV2009 machine (I'll refer to it as the "remote" machine henceforth) and see the processes and all those variables on the Opto22 gateway workstation. I've also created a few variables on the remote workstation and confirmed that I can see them from the gateway workstation.
    Now I need to be able to use (both read and write) the variables in VIs running on the remote workstation machine. (And by extension, on more remote workstations as I do the upgrade/migration).
    I have succeeded in reading and writing them by creating a tag reader pointed at the URL for the process on the Opto22 gateway. I can see a way I could replace the old DSC tag reads and writes in my applications using this technique, but is this the right way to do this? Is this actually using the Shared Variable Engine, or is it actually using the DataSocket? I know for a fact that attempting to manipulate ~800 items via Datasocket will bog down the systems.
    I had the impression that I should be able to create shared variables in my project on the remote workstation that link to those on the Opto22 gateway workstation. When, however, I try to browse to find the processes on that workstation, I get an error saying that isn't possible.
    Am I on the right track with the tag reader? If not, is there some basic step I'm missing in trying to access the shared variables I created on the gateway workstation?
    Any advice will be greatly appreciated.
    Kevin
    Kevin Roche
    Advisory Engineer/Scientist
    Spintronics and Magnetoelectronics group
    IBM Research Almaden

    I have found the answer to part of my question -- an relatively easy way to create a "remote" library of shared variables that connect to the master library on my gateway workstation.
    Export the variables from the master library as a csv file and copy that to the remote machine.
    Open the file on the remote machine (in excel or the spreadsheet app of your choice) and (for safety's sake) immediately save it with a name marking it as the remote version.
    Find the network path column (it was "U" in my file).
    replace the path for each variable (which will be either a long file path or a blank, depending on the kind of variable) with \\machine\'process name'\variable name
    where machine is the name or ip address of the master (gateway) workstation (I used the ip address to make sure it uses my dedicated automation ethernet network rather than our building-wide network)
    and process name is the name of the process with the deployed variables visible in the Distributed System Manager on the gateway machine.
    NOTE the single quotes around the process name; they are required.
    The variable name is in the first ("A") column, so in Excel, I could do this for line 2 with the formula =CONCATENATE("\\machine\'process name'\",A2)
    Once the formula worked on line 2, I could copy it into all the other lines.
    Save the CSV file.
    Import the CSV into the remote library to create the variables.
    Note: at this point, if you attempt to deploy the variables, it will fail. The aliases are not quite set properly yet.
    Open the properties for the first imported variable.
    There is probably an error message at the bottom saying the alias is invalid.
    In the alias section, you'll see it is set to "Project Variable" with the network path from step 4.
    Change the setting to "PSP URL" with the same path and the error message should disappear.
    Close the properties box, save the library, and then export the variables to a new CSV file.
    Open the new CSV file in Excel, and scroll sideways to the NetworkrojectBound field.
    You'll notice it is False for the first variable, and true for the rest. Set the field FALSE for all lines in the spreadsheet.
    Scroll sideways... you'll notice there are two new columns between NetworkrojectPath and Network:UseBinding
    The first one is NetworkingleWriter; it should already be FALSE for all lines.
    The second one is Network:URL. That needs to be set equal to the value for each line of NetworkrojectPath.
    You can accomplish this with a formula like in step 4. In Excel it was =U2 for line 2, and then cut and paste into all lines below it.
    There is a third new field, Path, which should already be set to the location of the variable library. You don't need to do anything with it.
    Save the edited CSV file.
    Go back to the remote library, and import variables from the just-edited remote library CSV file.
    Once you have imported them and the Multiple Variable Editor opens, click on done.
    You should now be able to deploy the remote variable library without error. (Make sure to open the Distributed System Manager and start the local variable engine. It took me a few failures before I realized I had to do that before attempting a deployment).
    Voila! You now have a "remote" library of shared variables that references all the shared variables on the master machine, and which should be deployable on other machines with very little difficulty.
    It actually took longer to write out the process here than to perform these steps once I figured it out.
    Kevin Roche
    Advisory Engineer/Scientist
    Spintronics and Magnetoelectronics group
    IBM Research Almaden

  • Network shared variables lose binding

    Hello,
    I am developing an application in LabVIEW that uses network shared variables to transmit data between two PC's on the same subnet. The shared variables work fine when running the VI's in development mode, however, when i build the vi's into an executable I find that they no longer work. Here is what I have found so far:
    I deploy the shared variable library on the publisher machine (also happens to be the development machine) through an invoke node in the executable. NI distributed system manager confirms that this does deploy and indeed updates as it should.
    For the executable on the subscriber PC I created a second shared variable library (same project) with the same shared variables and bound them to the respective shared variables from the first library by selecting enable aliasing, then bind to PSP URL and browsing to the shared variable I wish to bind it to (e.g. \\hallnet-ellm2\shared variable library\serial Number). The machines listed under browse were listed by name so when I tried this initially and it did not work I manually changed the name of my machine in the URL box to the IP address of the publisher hoping that would fix it in case the subscriber could not resolve the publishers machine alias. So now my bind URL read \\192.168.0.1\shared variable library\serial Number.
    As part of the executable on the subscriber I deploy this second shared variable library. NI distributed system manager confirms that this deploys but under quality for an individual variable it has a list of issues (see attached) and the bound variable is not updating. At this point the publisher shared variables are still functioning fine. By clicking on 'edit variable' I can see that the variable on the subscriber is still bound but the PSP URL is now \\localhost\shared variable library\serial number. Changing the PSP URL on the subscriber to \\192.168.0.1\shared variable library\serial number enables the variable to update as expected.However by this time my executable has already picked up the error and does not function.
    I think that the issue lies with the bind URL used on the subscriber as for some reason it does not keep the binding configured in the project and instead changes to 'localhost'. Why is this? Should it not stay bound to the address specified in the project?
    I have tried changing the IP addresses in the aliases file so that
    [My Computer]
    My Computer=localhost 
    becomes
    [My Computer]
    My Computer=ip of local machine
    This did not help.
    The shared variable libraries are included in the build spec to go into the support files directory and they are successfully deployed from there on both publisher and subscriber.
    I am using LabVIEW 8.6 on Windows XP
    Thanks for any help you may be able to offer,
    Lee
    Attachments:
    distributed system manager.JPG ‏74 KB

    Hi Lee,
    I hope you are well.  Thank you for your post.  Your application sounds very interesting.
    Looking at your issue I was wondering, have you tried lowering your firewalls, as this may be causing the problem.
    Also, another option would be to setup a private network.  Do you have access to any routers that you could use to link the two machines independent of your IT's infrastructure?
    The other thing to try is two other computers entirely.  Again, it would be ideal to take them off the network you are on, but it's something to try if my prior suggestion doesn't work.  It should work on the original two machines though, and it's likely that different computers won't solve your problems because I suspect the network.
    Remember that the client variables must know the location of the variables on the server, so you can't move the server exe around without changing this value.
    Make sure to set the network location in the "Bind to Source" option for the client variables.
    It is also possible to write a separate piece of code to install on every machine that is responsible for deploying the library and by doing so eliminate the need for programmatically deploying the variables in the original application.  However, this won't really help you, because the variables you use in the application have to be the same as the ones deployed in the library, so if you change the library, they'll no longer be linked and they won't receive data.  You'd have to create a separate exe for every binding source you wanted to link to, and then have a second, known library for the sake of communication locally on the computer between the ‘deployer’ and the actual application.  The main application could then be assigned the responsibility of launching the correct ‘deployer’' if it sees it needs to switch to a different variable binding source.  This method is not the most streamlined or effective, but it might work.
    Just to let you know, you will need to use the DSC toolkit.
    Please find below some knowledge base links that I think you will find helpful in your application.
    Using Shared Variables in Executables
    How do I Programmatically Change the Data Binding Source for Shared Variables?
    I hope this information helps and if you can give these suggestions a go and let me know how you get on, that would be great.
    Kind regards,
    Prashant M
    Applications Engineer
    NI UK & Ireland

  • How can I use an Access front end and Access button to control a LabView Shared variable boolean?

    My company has invested a lot of money on the office network to write many many access databases and front ends. I'm looking for a way to tie a button on an access front end to toggle a LabView boolean shared variable to notify me when they changed something on their side of the network. I'm not seeing anything that helps on a web or forum search. They don't like the idea of a separate labview control that they have to push a button on to let me know.
    Thanks
    Solved!
    Go to Solution.

    Hi Patrick,
    While this is not the intended purpose of Network-Published Shared Variables, you might be able to accomplish this by writing separate accessor VIs for reading from and writing to the variable, making sure to wire the inputs and outputs. Then, you could build a DLL, making sure that you include the accessor VIs as Exported VIs and include the DLL Library in the Always Included section of the DLL Build Specifications. During this process, you will define the function prototype, which will provide the function call, required parameters, and return values. Once the DLL is created, you can then call it and its functions from another programming language (C, C++, C#, VB, etc.). This may or may not work, but it is the only way that I can think of at this point. I have included some references that may help you in this process.
    Building a Shared Library in LabVIEW (White Paper)
    Calling LabVIEW VIs from Other Programming Languages (White Paper)
    Calling LabVIEW DLL From C# (Forum with Examples)
    I hope this helps.
    Regards,
    Mike Watts
    Product Marketing - Modular Instruments

Maybe you are looking for

  • Sync send step in BPM fails and cant be resend   XI

    Hi Forum, I have a file ->JDBC(Sync)->file scenario, with a BPM, having a synchronous send ........ sending and receiving message from a SQL Server, the problem is ........... sometimes the synchronous send to the JDBC fails, bcoz of purely database

  • AP Invoice Date_Paid & Payment reference Number (Check Number or DM Number)

    Hi, I need to add 2 columns for AP Trial Balance report in R12. 1.Invoice Date_Paid 2.Payment reference Number (Check Number or DM Number) Could you let me from which table i can get this information. Thanks pravin

  • Regarding line feed in sap script

    hi i had a long if statement. it is extending more than one line. IF &REGUH-RZAWE& = '2' AND ( &REGUH-LAUFI0(1)& EQ 'E' OR &REGUH-LAUFI0(1)& EQ 'G' ) IF i use '=' Extended line  the statement in that line is printing as it is. If i use '/:' this comm

  • Help!is there a way to disable passphrase?

    at my work i got a wireless router - Linksys WRT54.everything was working fine.when i went to connect with a different pc that has a wireless card,i had to put in a passphrase.i put in the passphrase and it worked,but later,i tried again and it said

  • Linksys E2500 Rounter and DHCP Addressing

    Recently Bought a new Linksys E2500 Router to replace my D-Link router and move to Wireless N Speeds.  Was having problems with the D-Link and the Client Machines getting a 192.168.203.x DHCP Address (never did figure this out).  No idea where this a