Change/ scale shared variable programatically

hi!
well, i am creating lot of shared variables using labview, but my question is, have i got  any item or something to scale them or, change the properties of the shared variables i created??
for example, rate max/min, color.....
have you got any idea?

Hi kazak,
               see this link:-
               http://zone.ni.com/reference/en-XX/help/371618G-01/lvdscconcepts/chang_svpro_prog/  
Thanks as kudos only

Similar Messages

  • Slow performanc​e to read/write shared variables programati​cally

    We are using datasocket read and write functions to read and write shared variables programatically (in the same machine) but we only achieve a performance of aprox. 200 reads/writes per second. We are using Labview 8.6 with DSC.
    Is possible to get better results? That performance is normal?
    Any help would be appreciated. Thank you in advance.

    Hi MMCDAT,
    I think this value can
    be normal as you can see in this link:
    http://zone.ni.com/devzone/cda/tut/p/id/5037
    As you can see, the
    limit for datasocket depends on your Ethernet limitations, even if you as using
    it just in one PC:
    http://digital.ni.com/public.nsf/websearch/6AC9E65​734E53F9A8625672400637ECC?OpenDocument
    You can improve the
    performance changing the update mode or Vis configurations:
    http://digital.ni.com/public.nsf/allkb/F8F7DE98856​B50588625672400648045?OpenDocument
    http://digital.ni.com/public.nsf/allkb/2D9C6D73A16​0537986256B290076456E?OpenDocument

  • How can I change my Shared Variable from "I/O Variable" to "Network Published"

    Hello,
    I have an application that is using a series of NI wireless sensor nodes.  I am trying to programmatically access shared variables.  Right now the only method I have found to access the data from the shared variables is datasocket read.  I am on labview 8.6.1 so I don't have as many shared variable options as newer versions of labview.  I do think there is a way to access properties for the shared variables, but I'm not sure about how to change the nodes channel properties to "Network-Published".  Do i need to remove the node from the project and bring it back in with the new settings?  When i have done this in the past i have run into naming conflicts.  I would appreciate any ligtht that can be shed on this issue that will help me create a vi that operates quicker.

    Any Shared Variable that has “I/O Variable” for its Variable Type (see screenshot of the Shared Variable Properties below) refers to any channel of data (such as Analog Input or Output or Digital Input or Output) directly from a module channel.  In other words, this is how you directly get the raw reading straight from (or to!) a specific module channel.
    You cannot edit the Variable Type to Network Published.  You can check “Enable Network Publishing” as above, which allows this Variable to be accessed from a VI on a Host VI.  You could also create a separate Network-Published Shared Variable which you can wire directly to the I/O Variable on the Target VI if you wish.
    Best,
    Ryan C.
    Applications Engineer
    National Instruments

  • Shared Variable programatic access error -1967362038

    I am trying to read/write about 300 tags from a AB ControlLogix 5561 processor from Labview 2011 on windows XP SP2 through RSLinx Classic OEM OPC Server.
    At first, I tried to do everything through front panel data binding through Datasocket, but I've seen that it becomes slow/unreliable when the bound control count reaches beyond 100 tags or so. Wrong values are read/written, some controls just won't bind intially or lose thier binding...it's really odd. So, I've put all of my faith in Labview's DSC module to solve all of my problems.  
    I installed it on a development system, played around with the programmatic access VI's using the NI's test OPC server and everything worked great. It really looked like the answer to all of my problems but upon installing it on the target system I can't get it to work the same way! 
    I've created a library of simply 3 bound variables to the PLC through an IO server pointing at the local instance of RSLinx. I am able to browse the PLC tag structure, so at least the link through RSLinx is working to some extent.
    Fairly often, when running the seach variable container vi on that library, I get error -1967362038 with explaination  "IAK_SHARED". When this error occurs, the same error shows up in the distributed system manager and the shared variables can no longer be read. I can't seem to pin down a pattern but happens every few minutes or roughly ever 3rd or 4th time I start the vi. When it happens, the only way I've found to get things working again is to undeploy and redeploy the library, while watching it in the distributed system manager, then continually loop the search variable container VI for a few seconds and eventually, the variable comes back to life.
    Does this sound like an issue with RSLinx? One of the previous posts related to this error mentioned that it may be due to some corrupt files in MAX?
    Other network published shared variables (non-OPC) seem to be OK so I think this is a problem related to the DSC module.  
    I rebooted twice immediately after the DSC installation.
    I have uninstalled SQL Server 2005 and the DSC module and reinstalled both. Twice.
    What could be causing this error?
    Would it be worth while to port over to the NI OPC Server?

    Hi pjrose,
    First, I notice that this post is pretty similar to a service request that one of my colleagues has been working on. Are you working with another NI Applications Engineer on this issue?
    That said, the issue could very well be related to the DSC module. I doubt that the error is a MAX corruption error, at least at present. One thing that would be worth checking would be the connections on your network. Additionally, what are the types of variables that you are accessing, and how specifically are you coding the access to them? If you could post an example of how you're accessing them, that would be helpful.
    Best,
    Dan N
    Applications Engineer
    National Instruments 

  • Dynamically enabling/disabling opc-binding to shared variables?

    Hi.
    I've got some shared variables binded to my OPC server, but sometimes some variables need to "ignore" the OPC updates and and be simulated, and in some cases, all of the variables.
    So, I've got an application to dynamically change the shared variables properties: Network.UseBinding and Network.URL to "connect to" or "disconnect from" the OPC server, but is there a way to "unbind" the whole library from the OPC quickly and restore it back when need it?
    I tried creating and deleting the IO server programatically but the variables go "bad"...
    Is this is a good practice or should I change the method?

    Hi Keptat, you can bind them directly to the OPC sever but you need to add
    psp: at the begining.
    For example 
       psp:\\localhost\IOServer\ModbusSlave1.000001
       psp:\\aebenjamin\IOServer\OPC1.Channel_0_User_Defined.Ramp.
       psp:\\ host \ library\IOservername.register
     An easy way to find the complete address y bind a Variable with psp
    binding to the OPC server and you will get the path.
    In the example code it gets the psp address from a Library, but won't get
    you the directions of the registers inside the IOserver, so you need this list
    manually.
    Another option is create 2 libraries one with the variables binded to the IO
    Server and the other binded to the simulated info, in this case you just have
    to point to the library, and get the address of all variables.
     Also you have to make sure the OPC server is deploy and you can see it
    in the Distributed System Manager
    Best Regards
    Benjamin C
    Senior Systems Engineer // CLA // CLED // CTD

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

  • Shared Variable Engine OPC Server & Matrikon OPC Explorer

    Hello All
    I have a shared variable Engine OPC server running on my IPC. I am querying NI OPC Server through Matrikon OPC Client. My situation is if shared variable engine process is switched forcefully off (NI DSM) or communication between server and client is lost then client is crashing which is quite obvious. But the problem is if Server is Up again then the client is not connecting to server automatically.
    First of all is it  possible, that if server is up again then it will try to send some signals to the priviously connected clients ? If yes then do i have to make changes in shared variable engine properties ? How i can do this ?
    I hope you all will understand my problem, if not please post you doubts. I will try to clear my points.
    Thanks & Regrad´s
    Varun Garg

    Hi, just now I face a similar problem. When clients restart connection, the variable engine crash, for now the only way founded is restart the program programmatically, but I'm interested in how fix that.

  • Creating and loading 4000 shared variables

    I need some help laying out the design of this system.  The data is coming over reflective memory.  I've written a dll and a simple server to do the interface between the reflective memory and shared variable engine.  Everything seems to be working.  The problem I am having is with scaling the application up to handle approximately 4000 variables.  I have a spreadsheet to manage the reflective memory allocation and can use it to import the shared variable definitions with the names from the system that is writing the data.
    I am having trouble deciding on the best way to proceed.  I would like to read a buffer from reflective memory instead of reading 4000 times.  I also would like the server to read in a file that defines the association between the shared variable and reflective memory address.  The problem I am having is getting the data out of an array into each of the shared variables.  I don't see a way to load the value of a shared variable using the property node (so that I can do this inside a loop).  I also can't setup an alias that would access an array element.  I don't want to manually create 4000 variables.
    Any ideas would be appreciated.  Thanks.

    I have never had to resort to creating Shared variables programatically so I will leave that for others.
    I would cheat.
    In LV 7.1 DSC i could import my tag config from a csv file. After importing and saving in LV 7.1 I could let LV create the SV's when the code is updated.
    THat all assumes I will only have to do that one.
    I have used the interupts fired when SCRAMNet locations update to "steer" the value to appropriate code which could then in turn update the SV using a datasocket write since I can compose the URL for the SV dynamically.
    Just sharing ideas,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Enable shared variable buffer

    Dear all,
    I'm writing on a program to create shared variables programmatically. I use the examples available in labview and DSC 8.0 as reference. I'm able to create and set the different properties such as scaling, alarms, inital value etc for the shared variable(s). However, when i wire a boolean "true" to " enable buffering", it doesnt seems to work. I checked the shared variable created in the shared variable engine, the variable is created but the buffering cant be enabled programmatically. Can anyone guide me what's the fault? thanks.

    Hi,
    The VI worked without any problem though I had to change the shared variable name. One thing to note about changing the properties of shared variables programmatically using the shared variable I/O is that it only affects the deployed shared variables and not the actual library file. In essence, these changes are not saved in the library. So the shared variable properties window will not reflect the current status of the "Network.UseBuffering" option. To verify that the "use buffering" is enabled, place another "Network.UseBuffering" property node on the block diagram and read the current state from it.
    Attached is a modified version of the VI with the current status of the "Network.UseBuffering" property for the deployed shared variable.
    Tunde
    Message Edited by Tunde A on 03-05-2007 12:34 PM
    Attachments:
    Modified_buffering_error.vi ‏10 KB

  • Programatically add description into the Shared Variables in library file

    Hello All,
    I have been successful to programatically create the shared variables.
    Now, i want to programatically add the description to these variables, is there any method through which i can progrmatically add the description into these variables?
    Regards,
    Nishant

     Hello Dennis,
    I haven't refuseed to change the icon but whenever i try to change the icon, i am getting nothing in my icon gallery and subsquently failing to change the icon.
    I am really sorry, fi that would have create problems. But, i have always tried to change it.
    Let try it once again.
    Regards,
    Nishant

  • Is it possible to generate a user event when shared variable value change on RT target?

    Hi,
        I wonder if it is possible to generate a user event when a network published shared variable value change?
        Thanks a lot!
        Regards,
        Tom

    Tom,
    I understand not wanting to waster resources on polling but I am not aware that LabVIEW can automatically generate an event on a SV change.
    Maybe a better solution...
    You could implement lower level TCP communication (i.e. have a look at STM - simple messaging protocol) for passing data betweeen RT and PC (instead of using a SV).  You could send a generic command (boolean trigger maybe?) from your RT system when the value of whatever it is the SV is storing has changed.  You can avoid polling on the non-RT system this way.
    Dan

  • Scale cRIO NP Shared Variable AFTER Deploying an Executable

    I have a project coming up that has about 140 shared variables deployed on an RT target and sharing data at 1S/s over the network.  There is nothing else going on concerning the RT target, just dumping values.  I would like to scale these SV's in the .lvproj to avoid having to write a bunch of scaling code in software. 
    My only concern is what happens when I have an executable application running (without LV 2012 installed on the computer).  How would I re-scale these values without having access to the .lvproj?  Distributed System Manager doesn't provide for this.  Any help would be appreciated.  Thanks.
    Nathan - Certified LabVIEW Developer

    Hy Nathan,
    Your Shared Variables are within a library in you LabVIEW project. In your Application Properties make sure to include that library. This is shown in Figure 9 in the below white paper.
    http://www.ni.com/white-paper/9900/en/
    MJ
    Application Engineer
    National Instruments

  • Programati​c Access to network published shared variable - Knowlege Nugget

    Wanted to Share a coding problem I have just resolved:
    I have been trying to debug the code above.
    It worked for one device and not the other (Identical devices: DevA,DevB)
    It has been throwing an error, unable to access variable.
    I resolved the problem by changing by changing the timeout to something > zero
    Hope this helps future travellers
    This seems onlt yo be a problem during the first connection to the variable,
    Subsequent reads don't seem to need it.
    It is almost as though it needs time to troll through the project shared variable database to finde the reference the first time through.
    iTm - Senior Systems Engineer
    uses: LABVIEW 2012 SP1 x86 on Windows 7 x64. cFP, cRIO, PXI-RT

    Ben wrote:
    Since I don't use shared varibales I have to ask...
    Is there a timestamp returned that reveals the state of the variable?
    Ben
    The timestamp is only available on the reads.  It returns the timestamp of when the variable was written to.
    One more thing to watch out for (we recently got bit by this).  The NPSV is actually written to a buffer (8kB?).  The variable is published either when the buffer is filled or 10ms has passed.  There is a command to flush the buffer to avoid this 10ms delay.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Changing shared variable reference modes for all nodes in applicatio​n. Shortcut?

    I have a large application which makes extensive use of both network-published and single-process shared variables.  I want to change the reference mode of every such node in the application from absolute to target-relative.  Is there any way to do this without having to open every subVI in the application and use the right-click menu on every node?
    Sean

    I don't know of any shortcut, but if you want to change the reference node of everything in the application you could probably script it.  I was thinking something similar to what I have below where you traverse the BD of a specific VI for all SharedVariableNodes and change the relative mode to Target Relative.
    Depending on how your project is organized you can add some additional functionality before the open VI reference to go through and open the reference of every VI in your project.
    Matt J
    Professional Googler and Kudo Addict
    National Instruments

  • Shared Variable does not update when typedef is changed

    I have a shared variable of type custom control (typedef made up of a cluster). When I chang the typedef, e.g. the name or type of one of the fields in the cluster, and then save it, the shared variable does not update to reflect this change. That is, if I place the shared variable on my block diagram and do a "UNBUNDLE BY NAME" on the output, I see the old fields. I have to go back to the properties of the shared variable, change its data type, apply it, then go back and change it back to my custom control.
    Anyone else seen this behaviour? Anyone know how to get the shared variable to update without going through this procedure?
    Bill
    “A child of five could understand this. Send someone to fetch a child of five.”
    ― Groucho Marx

    I guess I should have included this information:
    LabVIEW 8.2.1 using Project Explorer.
    “A child of five could understand this. Send someone to fetch a child of five.”
    ― Groucho Marx

Maybe you are looking for

  • Downloading on same account, different computers

    I have two computers in my house. Different family members have their iPods registered to the different computers, but use the same Apple Account for iTunes. Do I have to download songs and videos and pay for them again if i'm downloading them on the

  • My function must be caught or declared to be thrown?

    hi again. so here's what's going on. i'm writing a class that contains a function that will be used as a part of a program. only one parameter will be passed, in this case, BAC. to test my program, i'm trying to write a simple main function to call t

  • Infosource in BI 7.0 EPH1 - Source to BI

    Are company is starting a new install of BI 7.0.  We currently have a 3.5 instance as well.  I have heard two different arguments when it comes to infosources in BI 7.0 from source to BI.  Some people say yes use infosources and other people say no d

  • Photoshop CS5 HDR Toning - Any Way to Change Defaults?

    I've been fooling with the Image > Adjust > HDR Toning... feature, and as long as one keeps the settings relatively conservative, the tool produces good results with little downside.  It's really great for a landscape with a bright sky and dark trees

  • IMAP subfolders moved to seperate entry in sidebar

    After updating to 10.5.2 Mail.app moved for some reason the subfolders from one of my IMAP accounts to a seperate location in the sidebar which is named like the mailbox itself. Why did this happen and how can i make my subfolders show up directly be