Data Logging a programmatically created shared variable of cluster or array datatype into citadel DB

Hi,
Is there a way to log a programmatically created shared variable of cluster or array datatype into citadel DB?
I have attempted to programmatically create a shared variable of type 'double' and was able to successfully log the same into Citadel DB. In the attachment, Please refer to the attached project SV_TC.lvproj and specifically to SV_W.vi for the code that i have used (W.png file shows the dB in MAX and shared variable in NI Distributed System Manager)
However when i tried the same approach to create a shared variable 'array of double', i noticed that traces are not getting created and hence data logging isn't happening into the Citadel DB. I was however able to write and read the shared variable array without issues. The same is true with cluster datatype also. Please refer to SN_NW.vi for the code that i have used - only difference from SV_W.vi is that i have tried to create a shared variable of type 'array of double'
One observation is that if i create an 'array of double' or cluster in a shared variable library using the project explorer and deploy, i could see that these being logged into Citadel DB.
Hence i want to understand what could be done to achieve the same programmatically? Could you please advice?
Regards,
Sridhar
Attachments:
SV_TC.zip ‏3925 KB

Why is the transaction happening over remote?
Because we need the information to be on our database immediately when they submit it.
I don't know anything about streams or replication.....
The web database is run by the company that hosts our web site. We use PL/SQL to show the pages and output the html. It fetches the data the customer is requesting from our database, but I'm struggling to get the best way to insert into our database from there.

Similar Messages

  • What is the best way to create shared variable for multiple PXI(Real-Time) to GUI PC?

    What is the best way to create shared variable for multiple Real time (PXI) to GUI PC? I have 16 Nos of PXI system in network and 1 nos of GUI PC. I want to send command to all the PXI system with using single variable from GUI PC(Like Start Data acquisition, Stop data Acquisition) and I also want data from each PXI system to GUI PC display purpose. Can anybody suggest me best performance system configuration. Where to create variable?(Host PC or at  individual PXI system).

    Dear Ravens,
    I want to control real-time application from host(Command from GUI PC to PXI).Host PC should have access to all 16 sets PXI's variable. During communication failure with PXI, Host will stop data display for particular station.
    Ravens Fan wrote:
    Either.  For the best performance, you need to determine what that means.  Is it more important for each PXI machine to have access to the shared variable, or for the host PC to have access to all 16 sets of variables?  If you have slowdown or issue with the network communication, what kinds of problems would it cause for each machine?
    You want to located the shared variable library on whatever machine is more critical.  That is probably each PXI machine, but only you know your application.
    Ravens Fan wrote:
    Either.  For the best performance, you need to determine what that means.  Is it more important for each PXI machine to have access to the shared variable, or for the host PC to have access to all 16 sets of variables?  If you have slowdown or issue with the network communication, what kinds of problems would it cause for each machine?
    You want to located the shared variable library on whatever machine is more critical.  That is probably each PXI machine, but only you know your application.

  • Error -1950679007 when I try to create shared variable binding automatically

    Hi All,
    I'm using LV 8.5 with DSC.
    My aim is build shared variable library automatically. A program read variable name, data type and network binding address from .CSV file. Program works well untill I add this "bind to source" property. I don't know what goes wrong. Does anyone else have found this same issue?  
    Picture about problem is in attachment.
    The error codes are found here:
    http://zone.ni.com/reference/en-XX/help/371361D-01/lverror/shared_variable_error_codes/ 
    Other useful information:
    http://digital.ni.com/public.nsf/websearch/2E8BAD0EA218A7558625712E0003F044?OpenDocument  
    Thanks,
    Attachments:
    error_19506790071.jpg ‏88 KB

    Hi,
     Now i able to attach the file, While creating Shared Variable,Enable the options which i given in the image by same order. So i think it will solve this problem. If it cont., i will give some more suggestion.
    With Regards,
    vijay_Conz
    Attachments:
    Creating SV lib.JPG ‏28 KB

  • Create shared variable

    hello,
    1) I want to use shared variable in my project.i want to pass array to a vi on other machin.m using network shared variable.but the problem is tha  it sometimes shows the value and next time when i run vi,it does not.i dont know what happens.
    2)how to add RT in project explorer? i have attatched a bmp file which will tell what do i meant by RT.
    3)if somone can tell me steps in DETAIL about how to create shared variable properly,with example..then please help me out.
    Thak you
    gak
    Gaurav k
    CLD Certified !!!!!
    Do not forget to Mark solution and to give Kudo if problem is solved.
    Solved!
    Go to Solution.
    Attachments:
    abc.jpg ‏41 KB

    Hello gak.
    You should have a look at NI Developer Zone. I think you will find what you want.
    I give you this link to begin.  
    Regards.
    Romain D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    NIDays 2010 : Conférence mondiale de l'instrumentation virtuelle
    >>Détails et Inscription<<

  • Creating shared variables bound to I/O Aliases

    Hello,
    I'm running LabVIEW 2012. When I right-click on an .lvlib in the project explorer, there's a "Create Bound Variables" option. It's really convenient, as it automatically binds many variables to generic network-published shared variables simultaneously.
    However, it doesn't seem to support network-published I/O Aliases -- those libraries just don't show up in the dialog. I know that the I/O Aliases themselves work fine, because I was able to bind them manually, and then read them from my PC.
    Is there a way to automate the binding process for I/O Aliases?
    Thanks

    Hi Joey,
    It's mainly for maintainability.
    I/O Variables are grouped physically by chassis and module, not by purpose. My current project is a plant controller, using 3 CompactRIO chassis (linked by EtherCAT) and 20 C-series modules. The I/O ports for a logical part of the plant can be split across different modules (and even different chassis sometimes) -- thus physical grouping is suboptimal.
    Here is our simplified system architecture:
    We need variables hosted on the PC server for DSC logging, but also need variables hosted on the cRIO for robustness (e.g. in case connection with the PC server is lost).
    We have 2 primary reasons to create I/O Alias libraries, instead of binding directly to I/O Variables:
    It lets us group the variables more logically, which in turn lets us simplify our code for programmatic variable access. It's an abstraction layer between the hardware and the code. The logical groupings also help our developers better visualize the system.
    The client has not finalized their specifications, and the I/O port mappings might change. If we use I/O Aliases, we can just change the I/O Variable that the I/O Alias points to, and that's it. However, if we bind directly to I/O Variables, changing the hardware mapping will require us to change (i) the controller code, (ii) the I/O Variable that the PC variable points to, and (iii) (technically optional, but needed for readability) the I/O Variable name
    Anyway, since it is possible to (manually) create bindings to I/O Aliases, I'm surprised to hear it's expected behavior that we would not see the Aliases in Project items when we use the Create Bound Variables function

  • Error programmatically deploying shared variable lvlib from an installed app

    I'm using shared variables in my app.  According to what I've read, I need to deploy the lib programmatically using the app invoke node deploy library.  I do this and it works fine for the app exe on my machine.  But then I created an installer and tried it on a "virgin" machine and I get a "error 1 at invoke node" saying "an input parameter is invalid."  I added an indicator that shows the lib file path I'm using and it's fine.  I had left the target IP addr unwired but I also tried 127.0.0.1 just in case.  Any ideas what's going wrong here?

    Hi:
    If including the SVE installer didn't resolve the issue then it looks like there are some other possibilities that are discussed in the following forum threads.  Not sure if you've seen these yet, but hopefully they will help.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=240865
    http://forums.ni.com/ni/board/message?board.id=170&message.id=230033
    http://forums.ni.com/ni/board/message?board.id=170&message.id=249345
    Message Edited by A Person on 03-23-2009 02:40 PM
    Message Edited by A Person on 03-23-2009 02:40 PM
    Alex Person
    NI-RIO Product Support Engineer
    National Instruments

  • Create shared variables from a table

    hi!!
    well, what i want to do is to create a shared variable using a table, with variables names and values i want to take them,
    i have a litte example, to see how can i take the name of the shared variables from a table,
    can you help me??
    thanks
    Attachments:
    Shared Variable.vi ‏28 KB

    HI!!
    i have done a program, where i create a sv library, after that i deploy it and finally i want to write something on this sv that i created...
    all runs ok, but i  cant see what i am writting in this sv, for that i choose the NI distributes system manager,
    can someone help me please????
    i think is because the type of data...
    thanks!
    Attachments:
    SV_create_deploy_write.zip ‏34 KB

  • My project writes accelerome​ter data to usb drive but shared variables do not communicat​e with modbus

    Hi there,
    I have got a program that reads input from 3 off 9234 modules on a cRIO, the idea of the program is to read this data and save it in a bin file to a connected usb hard drive, the program also uses shared variables to connect the max signals from the 9234 then send thm to a modbus slave, my problem is that althought I am now getting the correct data on the usb drive I am not getting anything down the modbus link, I attach the program for you to see, all the shared variables are on the rt low speed loop, any help would be most grateful.
    Many thanks
    Jason 
    Solved!
    Go to Solution.
    Attachments:
    logger 2plusmodbus2.zip ‏679 KB

    Hi Jasonh,
    Thanks for posting your code! Due to the lack of comments on the code, would it be possible to direct me to where it sends the code to the modbus slave please?
    This tutorial on How to turn a RT Target into a Modbus Slave using IO Servers may also be of some help.
    Kind regards,
    Tori
    Student

  • Programmatically bind shared variable

    Hi,
    I'm trying to bind a control to a shared variable, if I clic on properties=>Data Binding, everything is set up correctly, but I get a red flag. Then if I add a white space after the variable path then clic OK. everything is fine and working properly.
    My problem is I have to bind hundreds of shared variables so I don't want to modify every single control properties...
    Anyone has any clue on what's happening?
    Rodéric L
    Certified LabVIEW Architect
    Attachments:
    properties.JPG ‏34 KB
    method.JPG ‏18 KB

    Looking at some similar code that I had developed to set FP bindings, I included single quotes in the url, for example:
    \\My Computer\IO\'PU.Heater_Power'
    Maybe the space is satisfying the need for a delimiter of some sort?

  • Need example with write to DATA log file programmatically?

    Hi all,
    I would like to request for an example of writing a datalog (*.DAT) file which could do this.
    Datalog file.
    NAME: AGE: SEX: (header)
    john 16 M (data)
    marie 55 F
    Dolah 34 M
    The program can also let me to add in new data and then store in the same file.dat. The data (hopefully) can be written to the bottom of the last saved entry of data. (eg. after the row Dolah).
    I need to do this so that I can open and read back the datalog file and use the data for other purpose.
    Please help,
    juni

    You've got some examples in Fundamentals>File Input and Output but one of the easiest things to do is to modify Write Strings to Spreadsheet File.vi to write strings as detailed at the bottom of the diagram and then save it to a different place and with a different name.
    Attachments:
    Spreadsheet_File_Write.jpg ‏17 KB

  • Use shared variables with FPGA device on Host PC

    Hi all I am having a frustrating problem. I am trying to use shared
    variables linked to a cRIO 9012. The shared variables were created and
    then written to in a RT vi. is there any way I can assign locations to
    these not within a RT vi. I altimately need to run the Host vi on a
    TPC-2512 touch panel computer and I can't run a RT application on that. I
    just need the variables to update without the RT vi running and I can't
    figure out how to do that, if its even possible. Here is what I have so
    far. Thank you in advance for your help.
    Attachments:
    PumpMonitoringDevice.zip ‏2083 KB

    Adam:
    You may be able to use arrays to speed up your program, but bear in mind that the TPC is pretty much guaranteed to be slower than your computer (as it's likely to have lower system specs).
    You'll want to use the array manipulation functions to combine and retrieve your data (most useful will likely be "Build Array" and "Index Array," see context/LabVIEW help for more details). Once you have the data in an array, you can likely pass it through a shared variable configured for an array datatype.
    I'm not sure if/how much of a speed boost it will give you, but I think it's definitely worth trying. If you're not sure about the speed, try simply cutting your variable count in half and see what kind of speed increase you get with the same amount of code but fewer variable values being transmitted through your network connection.
    Good luck!
    Caleb Harris
    National Instruments | Mechanical Engineer | http://www.ni.com/support

  • How to add a new Shared Variable programmatically to an existing and deployed library?

    Hi there!
    I am trying to accomplish this on both LabVIEW 8.6 and LabVIEW 2010 and seems like it's not any different in this situation.
    My case: A project has a library with 4 Shared Variables (SVs). The library and the variables are deployed (visible in Distributed System Manager 8.6/2010). I want to add 2 more variables into this library. It is possible to do this manually from Project Explorer window's options menu. But while running an application it has to be done programmatically. Can I provide the library reference to the one currently existing without creating a new one?
    "Create Or Add Library To Project" function in the Datalogging and Supervisory Control (DSC) toolkit does not help in this case. That function, as the name suggests, just tries to create a new library in the project.
    Two possible methods:
    The function "Add Shared Variable To Library" (DSC>EngineControl>Libraries & Processes) needs a library reference, which could be provided via "CreateOrAddLibraryToProject" function, but this function tries to create a new library, and if I provide the path of the existing library it throws an exception that the library already exists in the project (yes, as I wrote above, I need to add new variables to an existing and deployed library).
    OR
    The function "Create Shared Variable" (DSC>EngineControl>Variables & I/O Servers) will add Shared Variable in a process, and not physically in a library file, and the problem (limitation) with this approach is that it doesn't allow to add complex data type Shared Variables (for example in LabVIEW 8.6 it has only 4 datatype options in input parameter, and even in LV2010 it does not have "Image" datatype that I need).
    The scond method is my preferred method as it allows to work on Online Shared Variables and doesn't create them physically in libraries (and this is good as the variables' scope remains only till the Variable Engine is running). But it doesn't support advanced data types, and the first method is powerful in terms that it supports to virtually any datatype, it just seems tricky to get that reference to the library.
    Any tips?
    Thanks ahead!
    Vaibhav

       <<<<>>>>   
    As the above two images show, while a library does not exist, it is easy to use the "CreateOrAddLibraryToProject.vi" which will add a new library to the project (if it doesn't exist on file system, a new library will be created) and that way, using the reference (the green wire going out from the function and the Case Structure, can be used to add Shared Variables to the library. The problem was what to do when a library already exists in the project, how to add more variables to it. I was looking for a way to get a library reference, and somehow I could not see it inside a Project's property (VI Server functions). Hence I posted the question. And upon continuing my search, I found it on the Application's property list.
    I hope it was useful for someone else as well. And thanks for the replies. Please share a better idea if you have.
    Vaibhav

  • How to create an array containing shared variable values

    Hi
    I am trying to programmatically create an array containing shared variable values and their names.  I can get the variable names by supplying the process name to the get shared variable list function.  How do I then read the value of all the shared variable items returned?
    I have used a data socket open to open a connection to all variables when my program starts.  I then use datasocket read on the opened connections to write to an array.  This works fine until I try to write to one of the variables using a shared variable node.  The variables writes can take from 4secs to 2 mins.  When I remove the shared variable node again all is fine.  Also when I stop using the data sockets, all is fine.
    Is there a conflict between shared variable nodes and data socket writes to the shared variables?
    Can anyone help?  I cannot easily post example code because I am reading the variables from a Wago PFC (PLC) using OPC.

    Hi
    Sorry I forgot to mention the LabVIEW version, its 8.20.  I have tried saving the shared variable node as a sub VI and it makes no difference.
    Attached is a stripped down version of the software.  You will not be able to connect to the IO server because it requires some Wago hardware and software.  You may spot something I have done wrong with the I/O servers, variables or sub VI's.
    The main program that runs is called 'HMI Engine' in the 'Framework' folder.  There may be some other things in the project that aren't used in this example.  I have removed all but the variable connection part of the code.
    I hope someone can help!?
    Thanks
    Mark.
    Attachments:
    HMI Test.zip ‏144 KB

  • 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

  • Shared variables update in QuickClient but not in Variable Manager

    Greetings,
    I am using LV 8.6 Developer with the DSC module installed. Also, I'm using WinXP Service Pack 3.
    I am trying to create a VI that will interact with an OPC server connected to some equipment.
    I've created shared variables to read the value of tags in my OPC server exactly according to the instructions on this page:
    http://zone.ni.com/devzone/cda/tut/p/id/6346
    For some reason though, the value of the shared value never updates to reflect the value on the server.
    When I follow the tag on the OPC QuickClient, it updates just fine, but somehow the value of the shared variable isn't updating. 
    I also tried retreiving this data using the DataSocket method in the "Multiple OPC Items Monitor.vi" example, but running that VI crashes LabView every time. 
    Also, I can create a shared variable and write to tags using a VI, but I can't read them.  
    It seems like I'm *this* close to getting the shared variables to work. Any suggestions?

    Hi Rob,
    To answer your questions...
    DataSocket: NI doesn't give me the option to investigate the error when I restart the program. I did a search for .cpp files, but none turned up. I did collect the error report that Windows generates, and I attached it. I'm not sure if that would be something useful or not.
    SharedVariables: I went to use the Distributed System Manager to take a look at the variables. For both my shared variable as well as the tags on the I/O data source, the data type is listed as "advanced" and the quality is "unknown bad."  I collected the logs from the I/O server and attached them. Oddly, when I look through there, I see some Quality=BAD  and some VT_ILLEGAL flags. The deadband is set to zero, and the update rate is 1,000ms.
    Also, I've configured the DCOM and Local Security Policy settings as described in numerous support articles, and my Windows Firewall is turned off. The OPC server and LabView reside on the same computer. 
    I suppose the confusing thing is why the QuickClient works fine, but the SVE doesn't.  
    I've tried this on three different computers with the same results in all cases. Currently, LV and the OPC server is the only software installed on any machine. The only other OPC server I have access to is the LV server, and it seems to work okay. 
    Thanks,
    Wes
    Attachments:
    a793_appcompat.txt ‏133 KB
    screen.JPG ‏105 KB
    OPC I-O Server Diagnostic Information.txt ‏69 KB

Maybe you are looking for

  • New Photo in OS X option to edit photo with external editor such as Photoshop has been removed. will this be back!

    Hi I have just updated my iPhoto to Photos in OS X and i have noticed that the option to edit photo with external editor such as Photoshop has been removed. will this be back! Its now a pain to send a photo directly to my favourite photo editing soft

  • Voice command ???? for E 63 , how to use it?

    i recently bought E 63, i studied the manual of E 63, i cannot get the clear concept of voice command option in the phone. In the E 63 key pad where is th evoice key (colour, any indication ----- voice key????/) . whhat is the concept of this voice c

  • Why won't Photoshop Elements 11 and Premier Elements 11 load ?

    I just purchased Photoshop Elements 11 and Premier Elements 11.  I have Windows 7pro, have the disc for Windows and have the serial numbers for both programs.  When I put the disc in, I can't get past the welcome screen.  Why?

  • Rendering previous images in a new CMS workflow

    As an alternative process photographer, I have never bothered much with monitor calibration. However, with today's instruments being as inexpensive as they are now, I see no reason not to. However, I am concerned that by doing so all of my, pre-color

  • Ping Opacity

    Hello, Thanks to Gary White for the link . http://www.alistapart.com/stories/pngopacity/ page is interesting. Questions: ( and pardon as I am beginner in CSS): * where do I insert the code. * Looks like I need to insert code for each ping,. Confirm?