Passing data to main vi's and error 1055

Hello! I am perplexed by an error that I am getting in LV 8.2 and I would certainly appreciate any insight as to why this might be occurring. I have searched through this forum, but did not find any answers that seemed to be particular to this problem.
All I want to do is pass data from a sub vi to a main vi, while being able to see that data execute in the sub-vi (i.e. from the main vi front panel). One way that I learned to do this is to have a control refnum object on the sub-vi wired to a property node and write the data property. I then create a reference to a control in the main vi. It is the refnum wire from the sub-vi that is then wired to the reference to the control that I wish to update. This however only works for a given VI (executing from the sub-vi and/or the main) about 50% of the time. When it does not work, I get error 1055: Object reference is invalid. This error is originating from the property node in the sub-vi. I can run the sub or main vi again, without changing anything, and it will run fine. I do, however, seem to see the error less often when running from the main vi.
I have tried changing the refnum object in the sub-vi from the generic control class (default) to the exact type of control that I am passing data into in the main vi (in this case a cluster). Both variations seem to execute with and without the error consistently.
Thanks in advance for any replies!
Attachments:
sub-vi.JPG ‏67 KB
main-vi example.JPG ‏17 KB

If you can make it strictly typed I would use that.  Then you will know if you are wiring the correct data into the value property node. I am not sure what to say about the error.  It seems to me that you are doing it the way I would.  One thing you could try is to test the refnum first with a comparision "not a number/path/refnum?".  This wont solve the error but maybe you can catch it before it happens.  Maybe your main VI is closing the control reference befor the sub VI is finished?  From your pics I don't see how this would happen.
orbit wrote:
Everything seems to work fine when running from the main vi, but still gives an error when just running the sub-vi. This behavior is fine as long as I don't get the error in the main vi as I did before!
I just re-read this part above.  Are you trying to run the subVI alone?  You will for sure get an error 1055 because you didn't pass in a valid reference.  This valid reference is generated from the main VI (it is possible you may not get the error if the main VI was run once and still in memory because the subVI will still hold the mainVI's control refnum).
If you want to run the subVI without running from the main VI you will have to handle the invalid refnum or you will get the error. 

Similar Messages

  • Correct Way to Pass Data from Main VI to Sub VI

    I'm currently working on a program that consists of a main VI which passes in several inputs to numerous copies of the same subVI which are displayed in subpanels. As you may know, in order to display a subVI in a subpanel, a reference to the subVI must be passed into the "Insert VI" property node of the subpanel. However, I am unsure as to what is the proper way in which I can generate this reference from the subVI block on the block diagram of the main VI. Note that in my case, it is insufficient to simply generate a reference to the subVI by pointing to the file path of the subVI and opening an instance of it, because that instance of the subVI must also receive input from the main VI. Generating a reference in this way does not, as far as I know, allow the main VI to interface with the subVI.
    I had thought that I developed a solution to this problem by extracting a reference to the current instance of the subVI from the "Owning VI" property node of any control or display in the subVI. This works well for about 12 hours of program execution. However, after that point, the program starts highlighting the "Insert VI" property node every time the subVI is updated. Furthermore, the main VI seems to often lose the reference to the subVI and becomes unable to start, especially after the subVI has been edited. Given these two problems, this solution clearly is not a proper solution.
    Could anybody advise on how to properly generate a reference to an instance of a subVI that receives input from a main VI?
    Any suggestions would be appreciated.

    Griffon2-6 wrote:
    I've figured that out too - set the "Option" input on the "Open VI Reference" block to 0x8.  
    Great!
    Thats the way to go. Keep digging around and you will find solutions in the LabVIEW Help or on the forums for most of the things.
    When you set the open VI reference option to 0x08, you can obtain reference to different instances of the same VI, so that you can pass different data and let them run separately.
    Griffon2-6 wrote:
    However, now I've discovered that the inputs from the main VI are not being passed to the subVI instances as the program is running. Does passing control values via invoke nodes allow for real-time data transfer?
    I have one question. You said you are calling this sub VI in a sub panel? How many subpanels do you have and why are you calling the reentrant vi in differnet sub panels?
    Could you post your code?
    (If a post helped you sove the problem, mark it as solution. That will help us identify and track the solutions for different issues.)

  • Pass data from servlet to EJB3 and backward

    Hello All,
    The distributed application is being developed by the following scheme:
    J2EE Application Server (JBoss) - Servlet container (JBoss's contained Tomcat) - RIA client (Flex)
    Application server needs to handle client's requests and provide backward connectivity also.
    Servlets in this scheme are required by the BlazeDS library which is implemented as set of servlets handling HTTP requests from the clients.
    This forces us to:
    - invoke EJB from the servlet while handling client's requests.
    - invoke servlet from EJB for the sake of providing the client with urgent messages which need to be displayed immediately.
    The easiest ways to achieve that I am aware of are:
    - servlet invokes EJB via JNDI lookup (inefficient?)
    - EJB invokes servlet by passing HTTP request to web server (inefficient!)
    Is there standard and efficient ways to wire servlets(JSP) and EJB in either directions?
    Thanks,
    Alex.

    Hi Chicon,
    Thanks for advice. Probably I need to add few more words to make the question clearer.
    Chicon wrote:
    It is not the role of an EJB to fire a servlet. EJB's are only modules.
    In your case, the EJB invoked should pass the necessary data to the servlet. From the data it receives, the servlet has either to build and to send the HTML document(or other formats : pdf, txt, xml,...) or to fire the appropriate JSP to the client. The servlet may also call a more specific servlet to do the job, e.g. in a Struts like framework.- Invocation of EJB from servlet is one data flow direction. After EJB is invoked and finished, servlet gets results, makes its own job and sends data to clients either in html or binary AMF (Flex proprietary) format.
    - Invokation of servlet from EJB is another data flow direction. It will be employed, when server decides to inform all interested clients about an urgent event. Client are not asking for that event explicitly, but they are ready for handling such messages from the server.
    Of course, in order to achieve this, there is a need in a channel between server and each client. This is what BlazeDS for.
    The first requirement could be satisfied by either JNDI lookup or (as malrawi proposed) by dependency injection.
    The second one is a little bit harder... It may involve any other mediators, not necessarily the same servlets.
    I am looking for the best suitable solution now.
    Thanks,
    Alex.

  • Passing data from Applet to JSP and back

    What is the best way for me to communicate between an Applet and a jsp page? I want to be able to call Applet methods from the JSP and be able to send data to the JSP from the Applet. Thanks.

    Can't do this
    JSP lives on the server. When it's done, the code is sent to the client
    So, in terms of lifespan...
    JSP -> Internet -> Client -> Applet
    JSP is dead before applet starts

  • Pass data from Main report to Subreport

    I have client name in Main Report. I need to display the same name into Subreport. How can I pass the value from MainReport to SubReport.

    Hi Mahendra,
    Drag the subreport control from toolbox,
    Go to the subreport properties by right click on the subreport.
    In General property add the child report.
    In parameter property , add parameter,in Name dropdown will show the parameters already created in the child report.
    In Value column which is fron of Name, you can give values which are avilable in Main report.
    You can see below screen for better understanding.
    Thanks
    Prasad

  • How to pass data from main vi/exe (sender) to many vi/exe (receivers) with one receiver code/vi?

    Hello all
    I am tring to dev some data distribution system, where one vi gets data from hw to shared variable. Vi compiled to app "sender.exe" The others units (receivers) should receive that data from shared var and write it to different serial ports (configured by user in runtime via control). Number of actually working ports may vary.
    Should (and can?) this "receivers" vi's be the one vi, compiled to app "receiver.exe" and executed many times with different settings (diff serial port number)? // I tried this, second+ execution of receiver.exe just makes existing window active instead of creating new process as it works with other languages.
    Or should i build many different vi (receiver1, receiver2, ... with actually the same content) into different .exe to run them at the same time?
    Or may be the best way to build multi-port receiver with ability to communicate with any number of serial ports? // i dont like this, no code reusage here ))
    The question is complicated with possibility to work via network (one of the reasons to make different exe for receivers) and may be the shared vi namespace may not allow many receiver-side vi's to have the same name?
    In short, it should work as SENDER.exe >> RECEIVER1.exe, 2, 3... i.e. "one to many".
    Asking for a best solution advice.
    Please help)

    ns_create wrote:
    Should (and can?) this "receivers" vi's be the one vi, compiled to app "receiver.exe" and executed many times with different settings (diff serial port number)? // I tried this, second+ execution of receiver.exe just makes existing window active instead of creating new process as it works with other languages.
    To allow multiple instances of the same exe, read this.
    (I don't fully understand your setup, so I won't comment further at this time.)
    LabVIEW Champion . Do more with less code and in less time .

  • How do I create a table of 3 data elements for each trial and have it updated instead of waiting until the end of the program?

    I am trying to record 3 pieces of data, all (software) timing in ms (in U8 integers). I managed to finally get each data in the right column but now it doesn't record anything in the table and it doesn't update the numeric indicators during the experiment like it should. I can't figure for the life of me what I did wrong. I know at least the trial part of the program works, but so far the data recording part is giving me a headache.
    Thanks
    Attachments:
    BETACRT.vi ‏241 KB

    Why it is not reporting the data is easy; fixing the program may not be. LabVIEW uses a dataflow paradigm. This means that no part of the program executes until all of its data inputs are availble. In your case the table and the array functions driving it are fed by outputs from the outer while loop. Thus no data gets to the table until the while loop has finished executing (which is at the end of your experiment). One possible approach would be to store the data in a shift register and move the table inside the loop.
    Many experienced LV programmers try to avoid or minimize the use of sequence structures and local variables to read and write to/from front panel objects. We use a state machine which is a while loop with a case structure. Queues can be u
    sed to pass data between the user interface and the data acquistion loops. This subject is too involved to be handled in a brief posting, but if you search the archives and examples you can learn more.
    Also, be aware that software timing can be problematic if you are using a desktop operating system. If the OS decides to check the net for software updates or something you could have large discrepancies in your timing. These might be rare, but there is no reliable way of detecting them. I have built several systems similar to what you seem to be trying to do and have never been successful with software timing.

  • Passing data from webdynpro to BSP

    Hi Experts,
    Can anyone tell me is there any possibility of passing data from webdynpro to BSP and vice-versa.
    If so, kindly let me know.
    thanks a lot.
    regards
    vijay

    Two possible options, not sure however how this will work in practice.
    1. use the URL and pass additional parameters (http://help.sap.com/saphelp_nw70/helpdata/EN/7b/fb57412df8091de10000000a155106/content.htm)
    2. If in portal, do via portal eventing (http://help.sap.com/saphelp_nw70/helpdata/EN/f6/7d6f4151dc5758e10000000a1550b0/content.htm)

  • Error while passing date parameters in procedure and commit issue

    Hi
    1) I am doing a archiveing records and pls find my code below and i have couple of issue,pls find my code and want to ensure the commit is happening every 100000 rows inserted but i am archeiving a huge table but when i checks the table frequently it shows 0 records and after it shows count the actual rows around 20 million records.How can i ensure it commiting on every 100000 records. pls find my code my db version is 10g on windows
    CREATE OR REPLACE PROCEDURE doins as
    cnt number:=0;
    FOR x IN (select * from Call_log
    where trunc(c_date) = to_date('11-Aug-2008','DD-MON-YYYY'))
    LOOP
    INSERT INTO call_arch
    select * from Call_log
    where trunc(c_date) = to_date('11-Aug-2008','DD-MON-YYYY');
    cnt := cnt + 1;
    IF( cnt = 10000 )
    THEN
    cnt := 0;
    commit;
    END IF;
    commit;
    END LOOP;
    2) Error while passing date as parameter i am getting following errors while passing date parameter pls find my code and errors
    CREATE OR REPLACE PROCEDURE doins(p_date date) as
    cnt number:=0;
    begin
    FOR x IN (select * from Call_log
    where trunc(c_date) = to_char(p_date,'DD-MON-YYYY'))
    LOOP
    INSERT INTO call_arch
    select * from Call_log
    where trunc(c_date) = to_char(p_date,'DD-MON-YYYY');
    cnt := cnt + 1;
    IF( cnt = 10000 )
    THEN
    cnt := 0;
    commit;
    END IF;
    commit;
    END LOOP;
    end;
    exec doins(11-Aug-2008) then gives
    SQL> exec doins(11-Aug-2008);
    BEGIN doins(11-Aug-2008); END;
    ERROR at line 1:
    ORA-06550: line 1, column 16:
    PLS-00201: identifier 'AUG' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    if i gave exec doins(11-08-2008) it gaves
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'DOINS'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    rgds
    rosh

    CREATE OR REPLACE PROCEDURE doins(p_date varchar2) as
    cnt number:=0;
    begin
    FOR x IN (select A.rowid,A.* from Call_log A
    where trunc(c_date) = to_date(p_date,'DD-MON-YYYY'))
    --hope that's c_date columne is   DATE datatype
    LOOP
    INSERT INTO call_arch
    select * from Call_log
    where rowid=x.rowid;
    cnt := cnt + 1;
    IF( cnt = 10000 )
    THEN
    cnt := 0;
    commit;
    END IF;
    commit;
    END LOOP;
    end;
    thats your correct procedure - but NOT CORRECT ISSUE.
    You should use bulk collect with limit clause and forall clause to do it faster!!! Or Merge clause.

  • How To Pass Data Between A Main Report and a Subreport

    Hello,
      I'm working with Crystal Reports Professional XI. 
      I have a main report with two date parameters: BeginDate of Date type and EndDate of Data type.  The main report has no details being printed instead it's grouped by a formula field and displays a summary count at the group footer.  I have  a subreport that is not linkable to the main report.  The subreport is grouped differently.  It has no detail records being printed and displays a summary count at the group footer as well.  The two reports are using the same tables with the same linking relationship.
       I created the same two date parameters in the subreport but this isn't right because when I run the report then I get four Date prompts: BeginDate and EndDate parameter from the main report and the BeginDate and EndDate parameter from the subreport.
      I'm not dong something right here.  What do I need to change in the reports so that l have the same record selecton being passed from the main report to the subreport record selection based on the BeginDate parameter and the End Date parameter from the main report?  Right now, the subreport is selecting all the records in the tables specified.
      Have a great day.  Any feedback would be greatly appreciated.
    Thanks,
    Ting

    Hi Jason,
       Thanks for replying to my posting.  It's been awhile since I've worked on Crystal Reports so I'm getting reacquainted with sub-reports again.  
        By linking the main report to the subreport by the BeginDate and BeginEnd parameters, will the date parameters be passed from the main report to the record selection for the subreport?  
       Also by doing your approach when the user is prompted to run the report, will it display on the popup window four date parameters: the BeginDate and EndDate from the main report and underneath that the BeginDate and EndDate from the sub report?  If so I'm trying to avoid that because it would be the same date range that I'm wanting to use for the main report and the subreport.  
        I hope that made sense.
    Thanks,
    Ting

  • Passing data b/w applet and apache server

    Hi all,
    I have an application that runs in the JApplet.I have to pass data b/w server and applet.The
    datas are brought from the server using php to the browser and passed to applet using param
    tags.
    1.Is it possible to set value for the param tag from applet?
    2.How to retrieve data from the param tag to the applet in the form of an array.
    In the getParameter it is required to specify the param name.
    Is it possible to retrieve data from param tag similar to that of getting data from command
    line arguments array.

    Hi all,
    I have an application that runs in the JApplet.I have
    to pass data b/w server and applet.The
    datas are brought from the server using php to the
    browser and passed to applet using param
    tags.
    1.Is it possible to set value for the param tag from
    applet?Why do you ever want to do it? It sounds like setting arguments passed to a program's main method from command line after the main method has been invoked. It is possible though to dynamically set any values for any applet params using php before the applet gets loaded to the browser window as you generate an html file on the server side.
    2.How to retrieve data from the param tag to the
    applet in the form of an array.
    In the getParameter it is required to specify the
    param name.
    Is it possible to retrieve data from param tag similar
    to that of getting data from command
    line arguments array.You can use some naming/numbering convention for your params. For example settings1, settings2 ... Then you can loop in your code retrieving the values like getParameter("settings" + i) checking to see that it is not null or empty.
    However, if you don't want to reload the applet (together with the page) just to get some new data from the server, you can establish a tcp/ip connection as elchaschab recommended.
    Cheers!

  • Outbound IDOC( Error passing data to port)

    Hi,
    We have an interface running daily configured such that the idocs are converted to files and placed on a directory path.
    All the idocs are processed successfully but for one hour the idocs failed and the error message says:
    Status: Error passing data to port
    Error at OPEN (Directory path) with operating system error msg.:No such file or directory.
    The missed data from the error idocs have been sent via PFAL.
    But again after this one hour the idocs were successfully posted for the same directory path.
    Please let me know what the issue can be here or how can we avoid this.
    Thanks.

    Hi
    *Some times it may happen that IDOC doesnt reach to the port , in case if you are using Transactional RFC port so*
    *you can use the report RSEOUT00  for sending the IDOC to port .*
    *Hope it may help you .*

  • Error in Production Load: Error passing data to port

    Hello All,
    I got this unexpected error in production. The Jobs are still processing for a long time(in Yellow status) with the error message :
    Extraction (messages): Missing messages       (Status:Yellow)
         Missing message: Request received      (Status:Yellow)
         Missing message: Number of records sent     (Status:Yellow)
         Missing message: Selection Completed     (Status:Yellow)
    Transfer (IDocs and TRFC): Missing messages or warnings           (Status:Yellow)
         Request IDoc : Application document posted                (Status:Green)
         Info IDoc 2 : sent, not arrived ; Error passing data to port      (Status:Yellow)
         Info IDoc 3 : sent, not arrived ; Error passing data to port      (Status:Yellow)
         Info IDoc 1 : sent, not arrived ; Error passing data to port      (Status:Yellow)
    I went through the below forumn, and asked the basis to look in to it. In the meantime can any one please suggest me any solutions.
    Some problem with IDoc's Settings while loading data

    Hi Ram,
    The problem may be with the connection to the source system you are loading the data from. You can check the connection using the note 140276.
    Best Regards,
    Des.

  • How to call routine and pass data to routine in vofm

    Hi Experts,
    I need to update KBETR and KWERT values present in 'Conditions Tab' in Purchase Order (ME21N/ME22N).
    I have created a new customer tab in which we enter amount field and  percentage filed. When user enters some value in this and clicks on 'Conditions Tab', calculation has to be done and the calculated value has to be appeared across a specific condition type.as i am new to abap  i dont know how to create routine and pass data to routine in vofm from customised tab in me21n .
                                                                                                                                                                          Thank's in advance

    Hello Rajendra,
    You can get plenty of forums in SCN related to it. Follow below steps to create VOFM routine.
    Go to VOFM Transaction Code
    1. On the Menu Select required Application i.e Pricing
    2. Enter any Number in between 600 to 999 for Custom Developments.
    3. On entering Pop Screen appears ask for Access Key(We have to remember that Every New Routine needs an Access Key)
    4. Once the Access Key is received we can do modification.
    5. Enter the Routine Number ,description and insert the Access Key
    6. Now the ABAP Editor will open and required code can be copied from Standard SAP Routine and Custom Code Can be developed.
    7. Once the coding is completed we have to Activate the Routine
    8. Select the Routine and Go to Edit – Activate
    9. Ensure that Active check box is ticked upon Activation of the Routine.
    10. Double click on the routine will enter into ABAP Editor, we have to generate the Routine
    11. Go to Program and select Generate
    12.A screen pops up with the related Main Programs  and select all required main programs wherever the Routine is being called.
    13. Once the Routine is Generated and Activated, We need to configure the Routine in the config.
    ** Important SAP note: 156230.
    Check the below document too.
    http://www.scribd.com/doc/35056841/How-to-create-Requirement-Routines
    Regards,
    Thanga

  • Passing data and command in url of the page

    Hi,
    I have a developed a page which has material as input field on first page
    now on press of button on that page ,it feteches the data related to that material in the input processing of that page and display output on other page.
    now i want to display out directly ,supressing the first page.
    so is there a way where i can pass data + command (button press) in the url of that page so it will execute on i/p processing of this page directly and displays the o/p on other page.
    for eg...  ?matnr=x.....(what to write for button click so it executes on i/p processing directly)
    Remember my code for fetching the data is on the first page in input processing,so i need to call this page itself.

    Hi Sushi,
    I wouldn't do it quite the way you are - I would only build one page.
    Make MATNR an auto page attribute. Then in <i>onInitialization</i> you can test
    if MATNR is not initial.
    and then fetch the data.
    In the layout you can either display the input field, call it MATNR, and any error messages from the fetch data code or if the data was fetched okay display the results.
    Now you can call the page with <i>?matnr=X</i> and it will work.
    Cheers
    Graham Robbo

Maybe you are looking for

  • External Firewire HDD causing finder crash

    I just bought an external Seagate FreeAgent Desk 1TB HDD. The thing is very finicky about how you plug it in and start it up, do the wrong sequence and it won't ever show up on the desktop. When I have it plugged in via FW800 The thing causes my find

  • Cannot resolve symbol error while trying to define methods in a class

    Well, I'm fairly new to java and I'm trying to write a simple program that will take user input for up to 100 die and how many sides they have and will then roll them and output the frequencies of numbers occuring. I have overloaded the constructor f

  • Tax Condition in invoice

    Dear Expert, I make the tax as conditions that comes in the condition tab not in the invoice tab of the PO and it comes right now when i go to make invoice this tax conditions doesn't comes at the invoice Any help for this issue

  • How to find creation date of a cron job in RHEL 5

    We have instances having RHEL 5.10 in our setup. I wanted to know how to find the creation date of a cron job in RHEL 5. I was investigating a cron job, hence the query to know the creation date of a cron job. I hope my question is clear. Requesting

  • Bug when maintaining dimension data i AWM 10g

    Hi, I have been playing around with AWM 10g since the release and generally I'm very impressed with it. Easy and logical to work with. I have found what I believe is a bug though. The second time I load data to a dimension through the maintenance wiz