Deploying Shared Varaiables in Executable

I am running two executables. One is running on a tpc-2106 Touch Panel Monitor using the Labview PDA Module. The other is being deployed on a FP-2010 controller. They are communicating over ethernet using network published shared variables. The FP-2010 is the host and the tpc-2106 is the client.
The tpc-2106 executable is essentially monitoring and displaying status and data that it receives from the executable on the FP-2010. If I run the FP-2010 vi in the development system everything works fine, however when I build the executable and deploy it on the FP-2010 the observed data and status on the tpc is not always correct and largely unpredictable. If I start up the debugger any incorrect data that I'm observing on the tpc display becomes corrected.
In the build properties the shared variable library is "Always Included" and the destination is "Support Directory".
I'm using Labview 8.5, Windows xp SP2.
Has anybody seen this before or have an idea as to what might be causing this?
Thanks,
pmac

Kevin H,
Yes, I have seen that KnowledgeBase article.
As it turns out, the source of the problem was not shared variables but, believe it or not, a value property node. 
Using shared variables to "probe" the FP-2010 exe and display it on the tpc front panel, I was able to determine that a boolean value property node that was wired to a case structure selector was not getting updated. Once I replaced it with a local variable everything worked perfectly. I don't know why this is the case but I did talk to another engineer who said he had a similar issue with value property nodes in an executable. So I guess this is something to keep in mind when building executables.
Thanks for your suggestion,
pmac

Similar Messages

  • Deploying shared variable

    Is it possible to disable or hide the deploying shared variables dialog box at program start?

    Hello Peter
    No, it is not possible to completely disable or hide this dialog box when deploying a VI to a real time target or building an executable since this dialog box is used to report errors during the download process. The only thing you are able to do is check the Close on successful completion checkbox to close this dialog box after a successful download.
    Carlos Pazos
    Applications Engineer
    National Instruments Mexico

  • Deploying Shared Services manually through Web Logic Error

    Hi,
    Can someone help me out of this error. I'm trying to deploy shared services through weblogic. I'm getting this following error:
    Status: start Failed
    Description: [Deployer:149026]start application interop on SharedServices.
    Begin Time: Sat Sep 10 13:29:16 PDT 2011
    End Time: Sat Sep 10 13:29:54 PDT 2011
    Exception: [HTTP:101216]Servlet: "WorkflowEngine" failed to preload on startup in Web application: "interop". javax.servlet.ServletException: Cannot initialize Hyperion DSF. Error: [Hyperion][Oracle JDBC Driver][Oracle]ORA-00942: table or view does not exist at com.hyperion.cesdsf.server.framework.DsfServer.init(DsfServer.java:52) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:278) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:507) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1723) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1700) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1620) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2761) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:889) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104) at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:139) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:815) at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1222) at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:433) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Thanks.

    OS: Windows server 2003 server Sp2
    Installed: Foundation services... Financial Mgmt..
    Trying to configure Shared Services manually thorugh Weblogic 9.2 .
    But while deploying the application I'm getting an error saying "Failed" and above error.

  • I am getting error while deploying "shared library" to FP-2010

    i am getting error while deploying "shared library" to FP-2010
    screen shot is also attached
    regards
    mazhar
    Attachments:
    error24.JPG ‏128 KB

    Hi mazhar.ali,
    Do you explicitly reference a DLL in your code? 
    What is the size of your code?  (The FP-2010 only has 32 Mbytes of RAM, so if you're trying to deploy and run your code from RAM, this might be something to take into account.)  (How Much Memory Does My FieldPoint Controller Have?)
    Regards,
    Kevin S.
    Applications Engineer
    National Instruments

  • Deploy Shared Variable Engine in localhost

    I need to talk to multiple RTs using single computer. It seems
    obvious to deploy shared variable engine (libraries) in localhost instead of
    RT. However, the problem is the shared variables (read) used in localhost VIs
    are not being updated from RTs. But when I am using another local VI to update
    the shared variable, it is working just fine. The variable path of the RT looks
    like "\\My Computer\Local NPSVlvlib\Test
    Data". I think this is the problem why the values are not being updated
    because RT cannot resolve the network path ("\\My
    Computer\Local NPSVlvlib\Test Data"). Also, I tried to change the shared
    variable path in RT but I could not do it. Help Needed!!!!
    Solved!
    Go to Solution.

    Thanks for your reply. I found in this link http://zone.ni.com/devzone/cda/tut/p/id/9900#toc2 that host computer can host the shared variable library and RT does not need the shared variable engine. See below
    If your application includes a single host computer and a single or multiple RT targets it is recommended to host the library on the host computer. This will save memory and processor time on the RT targets. Also, by hosting the library on the host computer instead of the RT target, you can reduce the software install footprint on the RT target. The RT target will not need the Network Variable Engine, but will still require Variable Client Support. The Network Variable Engine allows hosting, the Client allows communicating with libraries on other machines. You can see a RIO target with these installed in Figure 4.
    That exactly what I am trying to do. Any comments? 

  • Error -196736204 occurs when deploying shared variables?????

    When I try to deploy shared variables contained in a library named 'DAQ_sv.lvlib' I get the following message for each shared variable in the library.
    Deploying DAQ_sv.lvlib:exit \\192.168.1.100\DAQ_sv\exit deployment failed (error: -1967362041, IAK_SHARED:  (Hex 0x8ABC7007) Out of range.).
    this paticular message was generated by the shared variable 'exit'.
    Does anyone know what caused this?

    Hello Steve,
    You probably have a shared variable in this library that has the "Bind to Source" option checked in its properties but the path for that binding is either incorrect or empty. Make sure all the variables in this library have valid bindings. Also try deploying a new library to new variables make sure that there is nothing else wrong.
    Regards,
    Chetan K
    Application Engineering
    National Instruments

  • Deploy shared variable on specific ip

    Hi, there is the problem to deploy shared variable on a specific network interface. There are many network interfaces in my computer. If I wan to deploy the variable on the nework interface with the physical address 00:50:56:C0:00:01 and the ip 192.168.117.1 I followed this, but I get that: This is the wlan ip. What is wrong? use Labview 2012 SP1 32bit

    What version of LabVIEW are you using?  Are you deploying the Shared Variable with LabVIEW Project?  Are you running LabVIEW Real-Time?  Do you have a Remote declared in the Project?  If so, simply put the Shared Variable Library (in Project Explorer) on the Remote and tell it to Deploy -- it should (automatically) go to the right place.
    Note that the note you cite is from LabVIEW 8.2.1, which was one of the earliest implementations of Shared Variables.  There have been many changes in the last 5-7 years ...
    Bob Schor

  • Modifying Dependent Shared Objects in Executables

    I am attempting to perform the following operations on ELF32 format files:
    1) modify the names of the NEEDED shared objects that are referenced by an executable after the executable has been built.
    2) modify the embedded SONAME of a shared object file (adding one if it does not exist) after the shared object file has been built.
    3) modifying the NEEDED shared objects that are referenced in a shared object file after it has been built.
    The shared objects and executables are built from third party software that we have the source code for, but we do NOT want to modify the Makefile for each third party package each time we build a new version.
    Of the three items, the one that is proving the most challenging is the modification of the executable files after they have been built.
    Is there either a tool that enables me to modify these fields in the shared objects as well as the executables? Is there a way that I can re-link a shared object or executable file and then specify that modifications be made to the existing SONAME and NEEDED information?
    (I have attempted unsuccessfully to use the elf library on executable files. Even relatively simple operations, such as modifying the length of the dynamic string section in which the NEEDED shared object is stored breaks the executable file.)

    Hello Tomi,
    First, thank you for taking the time to write such a well
    though-out suggestion.  Are you familiar
    with the “LabVIEW Object-Oriented Programming: The Decisions Behind the Design”
    document?  I think the reason we chose to implement a ‘by
    value’ strategy, is that is more in line with the LabVIEW programming paradigm
    of dataflow, and would make sense to most of our LabVIEW users.
    I think your suggestion is interesting, and it does
    highlight the need to think outside of the conventional LabVIEW box and look to
    some of the innovative things other languages do.  However, I think we all agree that
    synchronization takes careful planning and extra work for the programmer.  Even with an ‘ideal’ solution I see no way
    around this.  For LabVIEW users today,
    one great way to get synchronized ‘by reference’ semantics with your objects is
    to use a single-element queue to pass your object.  The queue itself is passed ‘by reference’ and
    is inherently synchronized!  The does
    have the disadvantage of adding one more small layer of complexity to your
    program, but some complexity would have to be introduced in any situation.  The other disadvantage with this is that it
    is not always an intuitive way to implement your program and requires some
    amount of LabVIEW knowledge before one would generally come across this
    technique.
    In any case, I appreciate the time and effort you put in to
    your suggestion.  Please make sure that
    you submit the suggestion formally through the NI Product Suggestion Center so
    that it can be reviewed by some of the decision makers here.
    Thanks again,
    Travis M
    LabVIEW R&D
    National Instruments

  • Deploy with error and execute succesfully

    I have a Mapping and if I deploy and execute it in the Deployment Manager it is executed succesfully but If I debug it I received these error:
    ROWKEY: 702
    TABLE: DBG$$$DIM_INSTALACIO_VIEW_0
    STATEMENT: TRACE 112: SELECT
    ORA-01403: no data found
    ROWKEY: 701
    TABLE: "DBG$$$_DIM_INSTALACIO_GRP1_0"
    STATEMENT: TRACE 113: INSERT
    ORA-22160: element at index [1] does not exist
    ROWKEY: 701
    TABLE: DBG$$$DIM_INSTALACIO_VIEW_0
    STATEMENT: TRACE 111: TRACE 114: "DIM_INST_1_COD_CONCESIONAR$2"("DBG$$$_DIM_INSTALACIO_GRP1_0_i") :="DIM_INST_1_COD_CONCESIONAR$0"("IJ_DBG$$$_EXPR_4_GRP1_0_i");
    ORA-01403: no data found
    ORA-06512: at "ODS_CLIENTES.DBG$$$_RT8_MAP_GILYCARBAJAL", line 11422
    ORA-22160: element at index [1] does not exist
    How Can it be?

    Things to check:
    1. You can be using a different target schema for you Debugging sessions than for your deployed map execution.
    2. There can be a mistake defining Test Data for the debugging session http://download.oracle.com/docs/html/B12146_01/debug.htm#i1004902
    Nikolai Rochnik

  • Deploying Shared Services in Oracle Application Server

    Has anyone deployed Shared Services (9.3.1) in Oracle Application Server? We are trying to deploy SS in Oracle Application Server and are not able to do it. Any suggestions?

    I think SS work's only under Apache Tomcat
    I was try deploy SS 9.2.1 and 9.3.1 on Oracle iAS and Weblogic 9.2.MP1
    and have similar error.(- can't register planning application)
    But Planning and EAS on Oralce and Weblogic works fine .
    p.s. OiAS - it's closed product - use Weblogic for new ENV.
    If you need detaled instruction for setup - please read documentation
    http://www.oracle.com/technology/documentation/epm.html
    http://hack4essbase.wordpress.com/2008/08/07/weblogic-classpath-and-env-for-hyperion-planning/

  • Deploy Shared Variables when Application Executes

    This is an option in the Project build specification in LV2010.  I am finding that the check mark to signify that I want to include a lvlib in the build and have it auto deploy will not stay check marked.
    I have tried to make sure a NSV reference appears in the startup vi and also have tried to 'always include' the library file in the build.  I have attached an image of the dialog in question.  The checked box in the listbox will go away when I close the build window or if I do the build and then reopen the build spec.  This seems like a bug.  Any way around it?

    Sachsm,
       Thank you for reporting this unexpected behavior. I have filed a Corrective Action Request #279570 with R&D to be fixed in a future version of LabVIEW. 
       Unfortunately the only workaround for now is to only exercise this option right before building (i.e. do not close the window and reopen it to build) the application. 
       Again thank you for bringing this to our attention.
    Regards from Austin,
    Ben J.
    National Instruments
    Applications Engineer

  • How do I setup shared variables between executables created in sepparate projects

    Hello,
    I have several sepparate projects with their own respective executable files and I would like to be able for these executable files to all share the same variable (one program controls the value of the variable, while the others read from it).
    I got this setup to work on my personal computer (by being able to access variable manager, etc), but I need to deploy these executables on different computers that don't have the labview development program. What steps do I need to do in order for me to be able to put these executables on any computer (I'm assuming I need to setup a path for the shared variable that is always in the same folder, etc)
    Thanks
    Vlad
    Solved!
    Go to Solution.

    Hi Vlad,
    I think this article may answer some of your questions regarding shared variables in deployed applications.
    http://zone.ni.com/devzone/cda/tut/p/id/9900
    It sounds like you already have your executables built, but this article may answer some questions about deploying them to other machines.
    http://zone.ni.com/devzone/cda/tut/p/id/3303
    Jeff S.
    National Instruments

  • Deploying Shared Variables to Remote Target?

    I have a 2-application server/client setup where my client(s) merely read information "published" by the server via a Network-Shared Shared Variable.  If I run my server on a "clean machine" (i.e. no LabVIEW development) and I "publish" the shared variable library (via the "Library : Deploy Library" Application method) to the localhost, I have no problems whatsoever reading the data in the client (the path of the .lvlib file provided to the Invoke Method VI is an absolute path to the .lvlib file, BTW).  However, I'm having a bear of a time getting the server to deploy the library to a machine running a second client on the same network - to do this I still use the same absolute path to my .lvlib file for the first input to the method (it's in the same place on the target as well as on the host, not that I know what this means for a targeted host) and I specify the IP Address of the target machine on the second input.  There is no firewall on either machine (I removed it because I was getting nowhere and needed to eliminate a possible source of problems) and my router doesn't filter traffic going across the local subnet.  Am I not using the programmatic publishing correctly to publish to another target (from within the server), or can anyone point out any problems in my usage?
    By the way, if I publish to the local host (127.0.0.1 or the host machine's IP address) I do not get an error out of the "Invoke Node" VI.  However, when I try to publish to a network target (both machines have the Variable Manager running and both machines work fine if both server and client are on the same machine) I get error code 1 and the message:  "Invoke Node in MyServer.vi<APPEND> Method Name: <b>Library : Deploy Library</b>" which is anything but helpful. 
    Any help would be greatly appreciated!
    -Danny

    Hi Arun,
    I hope you're doing well.  I'd like to clarify the architecture that you are actually using.  It sounds like you are deploying a network-published shared variable library on two seperate host PCs.  You are then attempting to read data from both of these hosts from a RT target using the Datasocket VIs.  The RT target seems to be reading from the shared variables from one of the hosts just fine, but you can't read from the other host.  Are both hosts deploying their libraries in an executable as mentioned in previous posts, or is the deployment process done through the LabVIEW development system?  Also, when you connect to the hosts using Datasocket, how are you entering in the addresses for each item?  Lastly, it might help to know whether you have LabVIEW and LabVIEW Real-Time versions 8.0 or 8.0.1.  If you could provide some more information on your set up, we can try to give some suggestions.  Thanks!
    Thaison V
    Applications Engineer
    National Instruments

  • Binding shared variable in executable across network

    I can't seem to get a shared variable to bind from an executable on another computer back to a source variable on the main machine.
    I can get the remote variable to change with programmatic access.  Is it possible to have shared variables in an executable bind to a PSP URL on another computer?  This is labview 2011.
    I can see everything with NI Distributed System Manager, and the programmatic access changes the remote variable, so it's not a network issue.
    Thanks for any insights.  This just doesn't seem to work the way NI's online white papers say it shoud.

    What I don't understand is why after binding to a specific URL, the "Shared Variable Deployment" screen of the application builder makes the target "my computer". 
    I probably could get this to work if I changed the network address of "my computer" in the ini file created in Application Builder?
    This seem a strange way for this binding process to work.  If the absolute target (for shared variable bound to another variable and referencing "absolute") was retained when the VI goes through the application builder, it would make for sense.
    I can't get this to work any way with using bound variables.  The only way this works is using programmatic access to shared variables in the built app, and I don't consider this the same thing.
    My conclusion is that shared variable binding and appropriate absolute references to deployed variable libraries do not survive passing through the application builder with their absolute references intact.

  • Custom data type causing trouble in deploying shared variable to RT target

    I seem to be having some difficulty in using a network published shared variable created from a custom data type when deployed as an executable on an RT cRIO target.  I'll start by describing why I believe this is where the problem lies.  I created my RT VI in the LabVIEW development environment (LV 2012) and everything works fine.  This VI is pretty simple because it rapidly devolved in to a debug exercise.  The RT VI starts by simply blinking the User LED a couple of times and then starts a simple acquisition loop to read a few values off the hardware using the scan engine (while still blinking the User LED).  After reading the hardware, the values are bundled in to a cluster and written to a network-published shared variable defined by a type def custom control.  The custom control contains five dbl precision floats.  If it matters, the cRIO RT system hosts the shared variable in this case.
    So, I deploy this under the development environment and everything works fine.  The LED blinks merrily along, telling me that the program is running properly.  Running a host VI that reads the network-published shared variable yields the desired result.  All is good.
    Now I want the cRIO system to run this simple program autonomously at startup.  I build it, set it as the startup VI, deploy it and then restart the cRIO target.  The LED never starts blinking... the VI does not seem to run.  I will spare you most of the debugging work and jump to the end.  I basically "Diagram Disabled" various sections of code until the VI started running correctly as an executable.  I kept reducing the size of the disabled code until only one thing was disabled:  the write to the custom data type shared variable.
    So, I guess my question is this:  Are custom data types defined by type def'd custom controls allowed in executable RT programs?  I've read through the cRIO Developers Guide, my NI Real Time Development course book and the Using Shared Variables white paper and I didn't see anything that forbade it.  I know that there are some things not allowed in executables that are allowed in the development environment (front panel property nodes, dialog VIs, OS-specific calls, etc), but no mention of custom data type shared variables.  Any ideas as to why my VI runs in the development environment but fails when compiled unless I remove the write to the network published shared variable?
    Thanks in advance for your help!!
    Solved!
    Go to Solution.

    Paolo,
    So I thought that you meant to disconnect them in the build specification.  Under the Additional Exclusions in the build specification, there is a check box for Disconnect Type Defs.  I checked that box, recompiled, redeployed and it did not work.  At this point I had to give and move forward, so I was going to convert the data typed from a cluster to an array.  When I went in to change the data type in the shared variable pop-up from the project explorer, there was a big button under the variable definition that "Disconnect from Type Def".  Clicked that button, recompiled, redeployed, restarted and everything worked great.  Thank You!!
    I suspect that I'll have to be careful if I change the definition of that data type (add an element, etc) since it is no longer connected to the data type.  We'll cross that bridge when we need to.
    Thanks again

Maybe you are looking for