Modification of the data types of the custom shared variables

My application includes a library containing a number of shared single process variables. I use type defs to create the shared variable "of the custom control." I know that shared variables do not-automatic update since the type defs, so I'm updating shared variables (data type, do a right click, properties) whenever I update the type definitions.  However, if I make a change to a type design that does not change the data type, for example to change the labels controls, these changes will be reflected in the shared variable.  The data types of variable window shared list contains entries for each previous update, which indicates he uses the previous entries.  How can I make the window of properties of shared variables 'forget' my previous defs type wandering without deleting the variable total? Withdrawal and replacement would be troublesome because the done variable references throughout my project.

Thank you

Wes

The variable is not in the Distributed System Manager, or Manager of the Variable, and cancellation of the deployment has not been resolved.  However, I found Labview from closing completely and reboot clears the memory of the previously used custom data types that sees the library.  Thus, the effective workaround I found is:

1 make a significant change to the data type of the type (per your suggestion) FED. Record.

2 - redefine the variable screw-notice type FED.

3. save the project. Close and restart labview.

4 - the old def type is now disabled.

5. return the significant change of the def type, implement trivial change and save.

6 redefine the variable using the type correct now def. Viola!

Thank you!

Tags: NI Software

Similar Questions

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

    Hello

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

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

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

    Thank you!

    Hello

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

  • CompactRIO RT (:-65589) error code: error or warning occurred when writing the following shared Variable)

    Hello

    is anyone know this error Code:-65589?

    This error says:

    Shared in environmental_logger.vi variable
    This error or warning occurred when writing the following shared Variable:
    CompactRIO Target\Mod2\DO1 \\RT
    \\localhost\Mod2\DO1

    My cRIO9073 has 3 modules:

    MOD1: 9203 HAVE,

    MOD2: 9472 DO,

    Mod3: 9265 AO.

    When I delete all States and run only the first "init" State where I put DO0 = true and DO1 = false, I get this error. What could be?

    I think we need more information about your project - you can take a screenshot of your project LabVIEW RT target and the location of the shared variables? What is the configuration of the shared variable? Do you use the cRIO Scan Engine or FPGA (or both?)? How you deploy your library of variables? You should also zip to the top of your project and join, if you can.

    Here are some articles about the possible causes:

    http://digital.NI.com/public.nsf/allkb/C32368835ADAEE19862578500067A8C4

    http://digital.NI.com/public.nsf/allkb/7B52091D2FFA01EC86257C32005DF935

  • Update of address of the card "shared Variable.

    Hello Experts!

    I have a question about shared variables:

    Now I create a variable Shared (81O_G01) in the library, and it is related to:

    My Computer\SVCREATION.lvlib\Modbus1\410611

    Question is: How can I change this address SV (410611) when tha variable has already been opened?  is this possible?

    Thanks in advance!

    Anibal

    Hey Anibaldos,

    Looks like you're trying basically change the binding of a /A1 to /A2 variables at run time. I think that there are a few options for this:

    (1) in LabVIEW DSC, you can access a hosted variable and change the link address by using a property node. If you run the server modbus on a windows machine, this is the best option. Otherwise, I'm guessing you don't have a DSC. If this is the case you can always edit links by editing the library manually, but it seems that this will not help you.

    (2) it may be possible to open a variable connection shared using pallets (Data Communication > shared Variable) to this specific address, to which cases you have no need to use the shared variable. You can simply open a connection to two addresses different modbus and read one or the other as needed.

    (3) if #2 does not work, then I think you can still use datasocket API to perform such an operation. There is a bit of research you need to do to use it (for example, URL editing and UI thread problems), but it does not work. In my opinion, this is the approach taken by this document: https://decibel.ni.com/content/docs/DOC-13508 (I know from experience, you have to dig a little to find the screw, but they are there).

    (4) you can use the Ni Labs library: http://ni.com/labs

  • How can I justify the difference between varchar and varchar2 data type

    Hi all

    How can I justify the difference between the data type varchar and varchar2 on any table for space management.
    Is there any query to justify this.


    Concerning
    Girish

    Published by: boujemaa on February 2, 2011 21:23

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14220/datatype.htm#sthref3780


    The VARCHAR data type

    The VARCHAR data type is synonymous with the VARCHAR2 data type. To avoid any changes in behavior, always use the VARCHAR2 data type to store strings of variable length.

  • The number of bytes is the data type of "pixel"?

    I'm relatively new to use Pixel Bender to process audio data, so I'm sorry for my lack of understanding of what follows.

    I had a question about the data types 'pixel' and 'image' Pixel Bender.

    I'm trying to understand code Kevin Goldsmith has written for his mixer 2 channels of audio and there seems to be a gap between the amount of data sent to the shader of PB, and the amount received when the buffer is sent to her for treatment.

    Here is the link to the code:

    http://blogs.Adobe.com/Kevin.Goldsmith/2009/08/pixel_bender_au.html

    At the top of the code, it says a "BUFFER" of 2048 constant:

    private public static var Buffer_size : uint = 0 x 800;

    Then, in the processSound() function, he implemented an byteArray with a size of 16 384 bytes:

    shaderBuffer. length = BUFFER_SIZE * 2 * 4;     <---(échantillons stéréo 2048 * 2 * 4 octets/échantillon)

    However, I am confused about the part where it defines a hypothetical image and sends the data to the shader:

    effectShader. data ["source"] . width = BUFFER_SIZE / 1024;     <---(2048 / 1024 = 2)

    effectShader. data ["source"] . height = 512 ;

    From the code above, one can easily see that the size of the image is only 1024 "pixel" (2 * 512), and on the receiving end there is a "image.4" of variable entry expected to receive.  So far, I was under the assumption that a data type "image4" consists of a variable amount of pixels (determined by the size of the image that is food inside), each composed of 4 layers of color of 1 byte.  In this logic, each pixel in a data type "image4" should consist of 4 bytes.  Now, let's do the math: 4 bytes * 1024 pixels = 4096.

    4096 is not equal to 16 384!

    How can feed you a 16 384 'byteArray' bytes in a variable "image4" of 4096 bytes?

    I'm sorry to seem presumptuous to the explanation above, but I can not understand what is happening here!

    The number of bytes is a 'pixel' in PB?  He holds float or integer values or both?

    I've scoured the web to find these answers, but nothing helps!  Maybe I'm off the mark with my current understanding of the pixels and images in PB, but I need to understand this before I can move with the application that I do.

    I am very grateful of any advice or information that someone can give.

    Thank you

    Matt

    This is the Pixel Bender Language Reference:

    "pixel1: represents the value of a single channel of an image." The name distinguishes this
    single element pixel of a pixel which contains several channels. The pixel values are
    considered as 32-bit floating-point numbers. »

    32 bits = 4 bytes

    If a channel is four bytes rather than that you have accessed. If this should explain the difference.

  • Executable does not connect to the hosted PXI shared Variables

    Hello

    I'm developing an application to run with RTE 8.2.1 on Windows XPe machine. Data are passed through network shared Variables in a target RT PXI. I developed on a laptop with the top Suite Developer Pro and everything works wonderfully here. When I create a program installation (and an EXE version) and on the port to the XPe machine, variables don't connect with each other (as seen to drag the control to the public Service, view the small arrow to the right to the status of the connection). I think it's due to not having the right drivers on the target XPe. Do you have any suggestions as drivers that I should include in the installation properties? I currently have:

    OR LabVIEW 8.2.1 RTE

    Engine OR Variable

    And NI-DAQmx is already installed on the machine (I think... a previous installation, the wizard sees a newer version about this than what I'm trying to install). I have also included the library with the shared variables in the properties of the EXE in the part of the Support files.

    I know this is a very old version of LV, but if you have ideas, or things to check, I would be very happy to help.

    Thank you!

    I understand the problem!

    In the structure of the Project Explorer files, I had included the buttons under the heading of the library (HMIvariables.lvlib), with the rest of the variables. I guess when you try to deploy by programming, he's trying to deploy the control files and get the dreaded error 1. I moved out of the library control files in Project Explorer and it fixed the issue and deployed the library, as verified by the Manager of shared Variable.

    I got 1 Core 3, and on the RT 1 and 2. Nobody never mentioned against it and could not find any documentation talking about do not do. I hope it helps someone else!

    Thanks for your help.

  • Pass a reference to the shared variable

    I use two shared variables in a loop where I write one and read each other.  I need to repeat this loop 5 times, but each loop uses a different pair of shared variables.  These variables are shared between a vi on the computer and a cRio.

    It would be ideal to incorporate this loop into a Subvi where I can pass a reference to the two shared variables in and then read and write in threw these references.  Then I could just call this Subvi 5 times, instead of copying and pasting the loop 5 times.

    Is it possible that I can accomplish this?  I can't find an example that would achieve this.

    Thank you

    If I understand correctly, you can use the mode programmatic access to shared Variables and it would work.

    http://zone.NI.com/reference/en-XX/help/371361H-01/lvconcepts/sv_usingdynvarapi/

    http://zone.NI.com/reference/en-XX/help/371361G-01/lvconcepts/usingdynvarapi/

  • Why it takes so long to open a connection to a shared variable, the first time?

    Hello

    I have an application to large scale developed with LabVIEW DSC, which covers multiple computers on a LAN.  In one of the VI I open variable connection shared by using the "open Datasocket' VI.  I notice that after restarting my computer and execution of this VI into the source code (I have not tried with an executable file yet) it takes about 20 seconds to get a successful connection to a variable share located on another computer.  The later 'Datasocket Open' claims the same computer to the same shared variable takes much less time, about 100 ms.  I reproduce this with 3 different computer, so the behavior seems to be reproducible, but it's not to do it every time but very often.  This scenario may occur also when I did not open a connection to another computer for awhile.

    Anyone have this experience? Is there something I can do all this to avoid this 20 seconds delay problem? Anyone have an explanation?

    All of my computers running Windows 8.1.  I'm using LabVIEW 2012.  All my firewalls are 'off '.

    Thank you

    Michel

    Here is a picture of my open VI.

    Recently, I did this for another client. You can emulate a timeout (and actually connect faster) by using the function "open in background" and then checking the variable.connected? property.

  • Removal of the custom by TestStand 4.0 data types

    Hello! I use the custom in my TestStand sequence data type. This data type is derived from my own control and is a huge cluster of clusters. It is created in a file of sequence (and not in any *.ini). By changes in the sequence, it becomes necessary to delete existing custom data type and create a new one due to changes in the custom control. How can I remove custom data types?

    I n ' found any possibility to do in Teststand menus. It was not so important, if the custom data type was not so huge.

    Thank you in advance for your answer - maybe it's a workout if no direct solution?

    Hello

    Just see the Type of data in the file in the sequence and highlight the custom data type it, then delete it.

    (Please make sure that you do not have variables defined in your file of sequence that still use the data type you want to remove).

    Concerning

    Ray Farmer

  • Causing problems of custom data type to deploy the shared target RT variable

    I seem to have some difficulty in using a shared variable published network created from a customized data type when it is deployed as an executable on a target of cRIO RT.  I'll start by describing why I think that this is the rub.  I created my RT VI in the LabVIEW (LV 2012) development environment and everything works fine.  This VI is quite simple, because these were quickly devolved into an exercise in debugging.  The RT VI begins by simply flashing the LED to a couple of times and then starts a loop simple acquisition to read some values out of the material using the analytical engine (while still flashing the LED of the user).  After reading the material, the values are grouped in a cluster and written in a shared variable published to the network defined by a custom control type def.  The custom control contains five floats double precision.  If it's important, the RT cRIO system hosts the shared variable in this case.

    So I have that deploy in the development environment, and everything works fine.  The LED flashes merrily along, telling me that the program runs correctly.  Running a VI host who reads the shared network has published variable gives the desired result.  Everything is good.

    Now, I want the cRIO system to run this simple program by itself at startup.  I build, set it as start VI, deploy it, and then restart the cRIO target.  The LED never flashing... the VI doesn't seem to work.  I'll spare you the major part of the work of debugging and access to the end.  I basically "diagram Disabled" various sections of the code up to the VI began to run correctly in an executable file.  I kept reducing the size of the disabled code until something has been disabled: the writing in the shared variable for the custom data type.

    So, I guess my question is this: are custom data types defined by type def would be personalized orders authorized executables to RT?  I read through the cRIO Developers Guide, my book of development in real time course of NOR and the white paper using shared Variables and I see nothing that forbids it.  I know that there are things not allowed in the executable files that are allowed in the development environment (property nodes façade, dialogue live, operating system specific calls, etc.), but no mention of the shared variable type custom data.  Any ideas as to why my VI is running in the development environment, but does not update unless I have delete the entry on the published network variable shared?

    Thank you in advance for your help!

    You must disconnect the data types of variables and then recompile. You can find it useful to keep on disk, a copy of the original lvlib.

    Don't know if this is a bug or not. It was suggested by someone in the forum that putting the ctl files in the right position (the disk? in the draft?) would allow the rtexe start; I did a quick check and it didn't work then I dropped the tests more far.

  • Help the insertion of an unknown number of lines in a custom Data Type

    Hi all

    I need help in the insertion of an unknown number of lines in a custom Data Type

    In Oracle I was thinking something like...
    CREATE OR REPLACE TYPE &HKDB_Schema_Name..SOMEDATA AS OBJECT (ID int, Name varchar2);
    /
    CREATE OR REPLACE TYPE &HKDB_Schema_Name..TYP_TABLE AS TABLE OF &HKDB_Schema_Name..SOMEDATA;
    /
    
    CREATE OR REPLACE PROCEDURE &HKDB_Schema_Name..SProc1
    (
    )
    AS
    l_TempTable TYP_TABLE := TYP_TABLE();
    v_count NUMBER := 0;
    l_ID int;
    l_Name varchar2(200);
    BEGIN
     
      LOOP
      -- exit the loop if the select returns no results. (look if exists in l_TempTable)
      v_count := SELECT COUNT(*) FROM Person p WHERE p.ID NOT IN (SELECT ID FROM TABLE(CAST(l_kgListTable AS TEMP_KGID_TABLE)));
    
      -- select the top result
      SELECT p.ID, p.UserName INTO l_ID, l_Name FROM Person p WHERE p.ID NOT IN (SELECT ID FROM TABLE(CAST(l_kgListTable AS TEMP_KGID_TABLE)))  
      AND ROW_NUM = 1;
    
      insert data into custom data type
      l_TempTable.extend;
      l_TempTable(l_TempTable.last) := SOMEDATA(l_ID, l_Name);
    
      EXIT WHEN v_count < 1;
      END LOOP;
    END SProc1;
    While I don't know this will probably do the job, it feels not very effective, have to select where the argument no_lig = 1 and then insert a facility on time. Is there a better way to do it?

    Basically, it's a migration of a MSSQL stored procedure where the equivalent would be...
    DECLARE @TempTable TABLE (ID int, Name varchar)
    
    INSERT INTO @TempTable (ID, Name) (SELECT ID, UserName FROM Persons)
    Thanks in advance,
    Toby

    Oh sorry you posted that before but I missed it. In this case maybe you should simply remove the

    as "HasChildren"{pre} part. This is only valid for a column name, but you input that expression directly into a type. It is not a column at this point.
    
  • complex customer KSOAP of web service with the data type

    I had created my client to the web service using ksoap sample. This works very well in the Simulator.

    Now, I am creating the web service to the complex data type client. For the same thing, I want any heel KSOAP generator tool. Please suggest any tool. If this type of tool is not available then please guide me standard procedure for the management of complex data types in ksoap.

    help will be appreciated.

    Have you tried the SUN WTK stub generation tool?

  • Shared variable data type: can I choose a picture of a typedef custom, without making the table itself a typedef?

    Hi all

    I would like to pass a table to a cluster on my network. My group is typedef'ed, but I would avoid to pollute my project with an another redundant typedef.

    Is it possible to use the option "From Custom Control... ' of the shared variable with an array without saving the table as a new .ctl file?

    Oh, I didn't know you were using shared variables. I thought that you were just considered another option with TCP/IP or UDP or something like that. In this case, you will need to create a second custom control. This control would be a table with the cluster of typedef in there. Not need to make this new control itself a typedef however. Sorry, I know you were hoping for a different answer. I doubt a single file will really be "clutter" your project well

  • Resolve the conflict of data type of TestStand pragmatically in CVI

    Hello

    I'm porting a UI for the 2010 ICB/TestStand.  My problem with the badly planned spread data types defined custom.  While I can handle the MyTypes.ini and StationGlobals definitions, sequences that we are loading are originally the dialog box 'Type to the Type of conflict'.  The sequences that are loading have been created in previous versions of TestStand (3.1 and 4.0 for the most part).  The main reason why a 'conflict' is detected because the data types of the sequences can either have different indicators (for example, "modified") or updated dates.  The structure of the types are ALWAYS the same, so there is no danger by choosing the "wrong" data type  However, given that the "currently loaded" Type is one that "must" always be used, it would be great if the resolution could be resolved so that the operator never has to see the dialog box.  In our environment of manufacturing of these dialog boxes are considered errors.

    There are hundreds of files in sequence that could be affected.  The process to go through each of them individually and setting data types would be impractical (really, out of the question).

    I use TSUI_ApplicationMgrOpenSequenceFile() to open the sequence and can not find a way to settle the conflict resolution to automatically choose the "currently loaded.  Please let me know if there is a way to do it, and if so, provide an example.  Any other suggestions you might have would be welcome.

    Thank you

    JF

    (Either by the way - I meant "programmatically", not "pragmatic" in the subject heading)

    I tried your suggestion and I still get the dialog box when

Maybe you are looking for