FP Get Image Invoke Method Problem

I am having trouble with the Invoke Method FP Get Image (I discovered the problem by trying to use the Report Generation Toolkit -> Append Front Panel Image to Report.vi).  I am trying take an image of the entire Front Panel (not just visible) and write it to a word report.  I have software that did this beautifully in LV 8.2.1, but I recently upgraded it to 8.5.1 and it no longer works correctly.  I have attached an image to illustrate the problem.  You can see that most of the front panel exists in the image, but I have an array of XY graphs that only exists as seen on the visible front panel.  I have tried explicitly setting the option to image the entire front panel with the same results.  I dont understand how the other parts of the front panel (the numbers for each graph exist as a table of strings and are overlayed ontop of the graph, there is also a summary graph on the bottom left as well as some text on the bottom right; all of this shows up even though it is not on the visible front panel).  If anyone has seen this or something similar I would love to hear how you handled it.
Thanks!
Message Edited by jmcbee on 06-20-2008 12:32 PM
CLA, CLED, CTD,CPI, LabVIEW Champion
Platinum Alliance Partner
Senior Engineer
Using LV 2013, 2012
Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
Attachments:
Word Report Page.PNG ‏85 KB

Hello.  I have built a simplified version of the software that shows the problem I am having.  Please feel free to take a look and make suggestions for either a fix or workaround.  I have been in touch with an AE via phone support so NI knows about and is working on this problem.
Thanks!
I apologize for the double post, having some internet issues at work and I didnt think the previous post had been sent.
Message Edited by jmcbee on 06-23-2008 09:56 AM
CLA, CLED, CTD,CPI, LabVIEW Champion
Platinum Alliance Partner
Senior Engineer
Using LV 2013, 2012
Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
Attachments:
FP Get Image Invoke Method Bug1.vi ‏56 KB

Similar Messages

  • Get image invoke method gives blank image when I try to capture waveform graph picture

    Hello
    I am facing problem when try to capture waveform graph picture using invoke method Get image and write JPEG function, some times it gives blank images.I am using these functions inside nested loops.
    ObservationsWith reference to attached VI)
    (1) Sometimes  I found it captures images correctly when i run labview program first time but after that it starts writing blank images.
    (2) Whenever i use flat sequence structure for waveform graph and get image node it always gives blank picture which indicates that execution of waveform graph and Get image should not be sequential.
    (3) Whenever it gives blank image i checked the image data which is not valid data so it indicates problem is with Get image method or labview program flow(may be race condition between waveform graph and Get image method).
           I have attached vi ,please change path name and folder name in which images are being saved.I'm using labview 8.5.1 .
    Attachments:
    image_capture_problem.lvproj ‏6 KB
    image capture problem.JPG ‏149 KB
    0.0_10__3.jpg ‏2 KB

    Hi,
    I have tried sequence structure.But sometimes it also gives blank images. I have attached new vi which is using flat sequence. Run this vi 7-8 times then you will observe blank images. I don't know why?Any help will be greatly appreciated.
    Attachments:
    image_capture_problem.vi ‏69 KB

  • VI Method "Front Panel:Get Image Scaled" Memory Error 17

    Hi all, I've got two almost identical sub vi front panels that I'm dumping to a jpg image for reporting purposes.  One was copied and slightly modified from the other to show a different data set and plot.  The original works just fine, but the second sub vi, when using the "Front Panel:Get Image Scaled" method to pass the image to write the jpg, always returns the following error:
    "Error 17 occurred at Invoke Node in Myprogram
    Possible reason(s):
    LabVIEW:  Not enough memory to manipulate image.
    =============================
    NI-488:  Unrecognized command.
    Method Name: Front Panel:Get Image Scaled
    [Continue] [Stop]  "
    I've stripped the problem section into a simple tiny new that only opens the report and tries to get the image with the same working/non-working result above.  Using the Execution Trace Highlighter, it error is definitely occuring when the Method executes.
    Any ideas?  Thanks.

    Hey cjgpr,
        I haven't been able to dig up much info on this error message.  There's one other discussion forum post that talked about it some, and a KnowledgeBase article on it.  It seems that whatever changes you made to the front panel have caused it to exceed your computer's memory when creating an image.  Try removing items until it works, then see what actually breaks the functionality.
    Brian B
    Field Sales Engineer
    Tennessee/Southern Kentucky
    National Instruments

  • Set the file path of get image method

    I have a program that takes multiple IV curves of some nano-devices and saves each set of the IV curve data into a CSV file. I also have a graph on the main screen that gives me a visual representation of the data after each IV curve is taken.
    My program automatically names each IV curve with a different file path and at the end of the program execution I could have 50-60 IV curves.  What i'm trying to do is have LabVIEW export an image file of the graph on my front panel and save it with the save file path as the CSV file.
    Currently i'm using "Invoke Node -> Export Image" method, which is working fine and doing exactly what I want because i can tell it what file path to save to....however it is just a black and white image.
    There is another method that I found here: http://digital.ni.com/public.nsf/allkb/5AE4ADCBB65​A6D8F86256FBF007A1AC1
    That talks about a "Invoke Node -> Get Image Method" which physically captures the colorful chart on the front panel.  However I cannot figure out a way to tell it the file path to save to.  So when I run my program, after each IV curve, it takes the image from the front panel and then on the next IV curve, it interrupts my program to ask me to overwrite the previous file because it's using the same name.
    Is there a way to tell the Get Image Method to save to a specific file path?

    Hi Puneet_K,
    Thanks for the code....I didn't know you could wire the output of the image data to a write VI.  It makes sense in theory and i thought it would work....but it's not actually writing the PNG. I even tried BMP and JPEG but no results.
    I'm posting an image of my code with the before and after.  The before uses export image and it works, the after uses the get image and it doesn't create the file.
    Attachments:
    before.PNG ‏71 KB
    after.PNG ‏71 KB

  • How to include background image in 'FP.Get Image' method?

    Hi,
    in LV8.20 you can set background pictures by right-clicking right scrollbar of the frontpanel and selecting 'properties'. It's nice and works fine...
    But:
    When using an invoke node with method 'Front Panel-> Get Image' the background image is NOT included in the resulting image!
    Is there a method that also grabs those background image?
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

    Ken,
    Could you please post the CAR number for this issue?
    Thank you,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Getting the error " [java] Problem invoking WLST - java.lang.RuntimeException: Could not find the OffLine WLST class " while building the O2A 2.1.0 PIP

    Getting the error " [java] Problem invoking WLST - java.lang.RuntimeException: Could not find the OffLine WLST class " while building the O2A 2.1.0 PIP. I am using the Design Studio 4.3.2 for building the O2A 2.1.0 PIP. Please let me know how to resolve this issue. Here I am enclosing the log file .

    We have basically the same issue when we try to create the interpreter using the embedded method..
    I was able to use the interpreter embedded in a java client as long as the weblogic jars were located in a weblogic install if I tried to use them from a maven repository no luck at all...
    All of this worked easily in 9.2 now in 10.3 it seems more error prone and less documented.
    I have seen close to a 100 posts on issues related to this so is there a document which outlines specifics....
    We / I have used weblogic now for almost 10 years and moving from 8.1 to 9.2 was painful and we expected the move from 9.2 to 10.3 not to be soo bad but its proving to be as painful if not more painful than moving to 9.2. We seem to spend a good bit of our time working around issues in the next new release that were not in the previous one..
    Any help would be appreciated I think we will open a support case but even that is more painful...
    Any help would be greatly appreciated..
    PS: We confirmed that all jars in the startweblogic classpath were in the startup. The server we have the embedded wlst instance is a managed server and we are using the component in a war... Are there any restrictions which we are unaware of.
    Error we get is
    1 [ERROR] com.tfn.autex.order.weblogic.QueueMaintenanceUtility.addQueue():217 Error Adding Queue wowsers JNDI Name wowsers Exception: Invocation Target exception while getting the WLSTOffLineScript path

  • FP.Get Image method does not capture the background image

    The attached VI (8.5) demonstrates the issue nicely - the background image is not included in the image captured by the FP.Get Image method.
    Workaround - don't use the background image if you want to capture the FP like this - paste your image in the background or use a picture control.
    Message Edited by tst on 09-10-2008 09:20 PM
    Try to take over the world!
    Attachments:
    Get Image without background.vi ‏713 KB

    Hi tst,
    Thanks for the information.This was reported to R&D (#50678) for further investigation. R&D is currently investigating this issue. We appreciate your feedback.
    Regards,
    Stephen S.
    National Instruments
    Applications Engineering

  • Method Get Image: resolution

    With the method Get image (Front panel, Control, ..), what is the resolution of the image? The screen resolution ?  It is possible to increase this resolution?
    JM
    Jean-Marc
    LV2009 and LV2013
    Free PDF Report with iTextSharp
    Solved!
    Go to Solution.

    J-M wrote:
    Hi Maxime,
    It is for fine details on chart or graph.  When I add the image of some graphs in a report, the result is not as good as I would like.   If the method Get Image has the resolution of screen pixel, I have to live with that...
    Jean-Marc
    You could create a subvi with the graph and make it very large.  Shoot your image of that and then resize it for your report externally or if the report is HTML use the size tags, whilst the raw image is stored and able to be viewed in more detail.
    Just a note though, if you do this, in order to export the image, you will have to open the subvi front panel.  What I have done is insure that when the front panel is opened that it is opened off screen.
    Paul <--Always Learning!!!
    sense and simplicity.
    Browse my sample VIs?

  • Getting Images To Load On Web?

    Hi all,
    I have a question about how to get images to load in an applet once it is uploaded to a website. When I run the applet in JGrasp it works fine but if I try to open the applet in a web browser (via an html file on the hard drive) nothing loads. If I take the code out that sets the background image the application loads fine in the web browser.
    The image is in the same directory as the class file and html file. Is there a way I can get this method to work (loading off the hard drive and also off the website when it's uploaded) or do I have to use a jar file? I have spent some time searching for tutorials and demos but haven't been able to get the jar file to work either. I'm fairly new to programming and most of the examples I found were way over my head.
    Any help in getting this problem solved will be greatly appreciated.
    Here is a short sample program to illustrate the problem: For some reason this sample program only loads in IE and not in Firefox.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class Test extends JApplet implements ActionListener
    {     Container     mainWindow;
         public void init()
         {     ImagePanel panel = new ImagePanel(new ImageIcon("Background.jpg").getImage());
              setContentPane(panel);
              mainWindow = getContentPane();
              mainWindow.setLayout(new BorderLayout());
              JLabel label = new JLabel("TESTING");
              mainWindow.add(label, BorderLayout.CENTER);
              setSize(1000, 500);
              setVisible(true);
              mainWindow.validate();
         public void actionPerformed(ActionEvent e) { }
    class ImagePanel extends JPanel
    {     private Image img;
         public ImagePanel(String img)
         {     this(new ImageIcon(img).getImage());
         public ImagePanel(Image img)
         {     this.img = img;
              Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
              setPreferredSize(size);
              setMinimumSize(size);
              setMaximumSize(size);
              setSize(size);
              setLayout(null);
         public void paintComponent(Graphics g)
         {     g.drawImage(img, 0, 0, null);
    CODE FOR HTML FILE:
    <html><body>
    <CENTER>
         <applet code="Test.class" width="1000" height="500"></applet>
    </CENTER>=
    </body></html>

    Hello again,
    I've got one more small question. I modified the code a little bit so I could create an Image folder (package) which holds all of the images and the ImagePanel class. Since the ImagePanel and images are all in the same folder, I modified the ImagePanel constructor to take a string and then load the file with that name. It works in JGrasp and when I open it in a web browser from my computer, but when I upload it to the site it no longer works. Is there a way to get at these images inside the folder when it's online without drastically changing the method I used in the first place? I saved the original files that I can go back to so if it's not an easy fix then that's no big deal, but I thought I'd ask just in case it is something simple as it would be nice to have the files more organized. Thanks.
    Here's the updated code.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.net.*;
    public class Test extends JApplet implements ActionListener
    {     Container     mainWindow;
         URL               url;
         public void init()
              ImagePanel panel = new ImagePanel("Background.jpg");          // background image
              setContentPane(panel);
                mainWindow = getContentPane();
                mainWindow.setLayout(new BorderLayout());
              JLabel label = new JLabel("TESTING");
              mainWindow.add(label, BorderLayout.CENTER);
              setSize(1000, 500);
              setVisible(true);
              mainWindow.validate();
         public void actionPerformed(ActionEvent e) { }
    class ImagePanel extends JPanel
    {     private Image img;
         public ImagePanel(String img)
         {     this(new ImageIcon(img).getImage());
         public ImagePanel(Image img)
         {     this.img = img;
              Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
              setPreferredSize(size);
              setMinimumSize(size);
              setMaximumSize(size);
              setSize(size);
              setLayout(null);
         public void paintComponent(Graphics g)
         {     g.drawImage(img, 0, 0, null);
    }Inside "Image" folder:
    package Image;
    import java.awt.*;
    import javax.swing.*;
    public class ImagePanel extends JPanel
         public Image img;
         public ImagePanel(String imageFile)
              Image img = new ImageIcon(getClass().getResource(imageFile)).getImage();
              this.img = img;
              Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));          // set size = size of image
              setPreferredSize(size);
              setMinimumSize(size);
              setMaximumSize(size);
              setSize(size);
              setLayout(null);
         public void paintComponent(Graphics g)
              g.drawImage(img, 0, 0, null);
    }

  • Cannot invoke method "setMessageListener" within the J2EE container.

    I use TopicSubscriber.setMessageListener method to convert messages to my own type, but oc4j jms throws following exception:
    javax.jms.JMSException: TopicSubscriber[Oc4jJMS.Consumer.ypchang-cn.12da4a6:111d4f12137:-8000.94,Topic[CreatedSponsorTopic],null,null,false]: cannot invoke method "setMessageListener" within the J2EE container.
         at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1072)
         at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1152)
         at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1123)
         at com.evermind.server.jms.JMSUtils.assertNotContainer(JMSUtils.java:1538)
         at com.evermind.server.jms.EvermindMessageConsumer.setMessageListener(EvermindMessageConsumer.java:217)
         at com.firepond.bcmf.bus.BusSubscriberImpl.setMessageListener(BusSubscriberImpl.java:397)
    OC4J JMS doesn't support user defined MessageListener?????!!!!!!!!!!
    Who can help me out?
    Thanks!

    Hi,
    I am facing the same problem did you got any solution for it.
    I am getting the following error message too:
    Exception in Constructor
    javax.jms.JMSException: QueueReceiver[Oc4jJMS.Consumer.ssipl-wrkst-139.-7dd2dd24:1122873d95f:-8000.269,Queue[360Transaction]]: cannot invoke method "setMessageListener" within the J2EE container.
         at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1072)
         at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1152)
         at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1123)
         at com.evermind.server.jms.JMSUtils.assertNotContainer(JMSUtils.java:1538)
         at com.evermind.server.jms.EvermindMessageConsumer.setMessageListener(EvermindMessageConsumer.java:217)
         at com.skillnetinc.storehub.connector.pos.publisher.ejb.publishTransactionWithSalesAudit.PublishTransactionWithSalesAuditBean.<init>(PublishTransactionWithSalesAuditBean.java:94)
         at PublishTransactionWithSalesAuditBean_RemoteProxy_1dpbn83.OC4J_createBeanInstance(Unknown Source)
         at com.evermind.server.ejb.StatelessSessionBeanPool.createContextImpl(StatelessSessionBeanPool.java:37)
         at com.evermind.server.ejb.BeanPool.createContext(BeanPool.java:418)
         at com.evermind.server.ejb.BeanPool.allocateContext(BeanPool.java:244)
         at com.evermind.server.ejb.StatelessSessionEJBHome.getContextInstance(StatelessSessionEJBHome.java:25)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:86)
         at PublishTransactionWithSalesAuditBean_RemoteProxy_1dpbn83.invoke(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)

  • Invoking methods on JMX with user defined objects.

    Hello, All.
    Here is the problem description: We need to expose methods on JMX which takes some object of user defined class. We are not able to do that. Meaning, it is not getting enabled and if we invoke through code it says exception with serialization things. So we tried to make user defined class to implement serialization by making it to implement Serializable [though just adding serialization id]. But still we are getting the same problem. So I think we are missing some small step; as we are completely new this we are looking for some help in how to provide methods on jmx which accepts arguments of user defined type.
    Thanks,
    Prasanna.

    When executing an operation via JMX using JConsole, I get the following error:
    Problem invoking getManifest : java.rmi.UnmarshallException: Error unmarshalling return: nested is: java.lang.ClassNotFoundException: foo.bar.InernalServiceException (no security manager: RMI class loader disabled)
    Code snippet:
    public ArrayList getManifest(String s) throws InternalServiceException, MBeanException{
    String path = ".\\foo_services.jar"; // Invalid path on purpose to test exception...
    File file = new File(path);
    FileInputStream fileInput;
    try {
    fileInput = new FileInputStream(file);
    } catch (FileNotFoundException e) {
    String msg = "The manifest file is not found in the given path";
    if (logger.isErrorEnabled()) logger.error(msg);
    throw new InternalServiceException(msg, ErrorConstants.JMX_FILE_NOT_FOUND);
    If I throw new RuntimeException(msg, e) instead of InternalServiceException(msg, ErrorConstants.JMX_FILE_NOT_FOUND), it works and I get the appropriate exception.
    What is the reason for this?

  • Error 1026 invalid reference at runVI invoke method in main exe- subVI- subpanel

    Hello,
    I have a main VI which have subVI's inside case structures set up to show FP when called and be modal.
    These subVIs have a subpanel that will pull up a dynamicVI using RunVI invoke method.The dymaicVIs path is built using application directory constant+the VI name to the invoke method.
    now the main VI is built into exe with the dynamicVIs in always included list. 
    when i run the main exe i am getting 1026 error VI reference invalid. 
    Plz help
    Thanks
    Solved!
    Go to Solution.

    Hi Freemason,
    The problem could be coming from the use of relative paths, because the path can sometimes change when building an application. Double check to make sure they are calling the right path. You can also try changing the AutoDispose Refnum in your run VI invoke node to false. It is one of the methods you can select in your run VI invoke node. If neither of these solutions work, run your code using the highlight execution function. If you implemented error handling in your program, you should be able to see the source of the error.
    If you’re still having issues, could you post some screenshots or your actual VI? I may be able to get a better idea of the issue that way. I’ve also attached an example VI that uses multiple subVIs and a subpanel for reference.  Hope this helps.
    Paul C
    Applications Engineer
    National Instruments
    Attachments:
    Multiple VIs in a Subpanel.vi ‏19 KB

  • Error 53 : BD.Get Image Scaled

    Hi,
    I used invoke node(method block diagram:get image scaled) to get a screenshot of block diagram of a VI. It works well in LabView 8.6. But with the application built based on the VI, I got a 53 error code. Any suggestion?

    >>"Built" as in built into an .exe file?
    >>
    >>If
    so, you can't get an image of the block diagram because the block
    diagram is removed from the VI's when they are built into the
    executable.  The only thing present is any needed front panels, and the
    underlying compiled code that is built from the block diagram.
    >>
    >>For what reason do you want to capture an image of the block diagram?
    1. Yes, it is a .exx file.
    2. The application is used to generate screenshot of a user specified VI, not a VI built into the executable.

  • Coherence 3.4.2 JMX: invoking operation problem

    Hi,
    we have run into two issues invoking JMX ModelMBean operations via JMX in Coherence 3.4.2
    1. if a JMX operation has got any parameters /like doFoo(String a)/
    it can not be invoked at all
    this issue can be worked around by overriding RequiredJMXBean.invoke()
    2. if any of a JMX operation's parameters is of a primitive type /doFoo(int i)/
    a different error message is generated
    this issue can not be worked around by overriding RequiredJMXBean.invoke()
    because RequiredJMXBean.invoke() doesn't get invoked in this case
    ---here's sample code, a full project, 4 files total ---
    /* please put this into src/main/java/foo/c34/Main.java */
    package foo.c34;
    import javax.management.MBeanParameterInfo;
    import javax.management.modelmbean.ModelMBeanAttributeInfo;
    import javax.management.modelmbean.ModelMBeanConstructorInfo;
    import javax.management.modelmbean.ModelMBeanInfo;
    import javax.management.modelmbean.ModelMBeanInfoSupport;
    import javax.management.modelmbean.ModelMBeanNotificationInfo;
    import javax.management.modelmbean.ModelMBeanOperationInfo;
    import javax.management.modelmbean.RequiredModelMBean;
    import com.tangosol.net.CacheFactory;
    import com.tangosol.net.management.Registry;
    * This sample program demonstrates Coherence 3.4.2 JMX difficulties with invoking methods
    * Please invoke this program with
    * -Dcom.sun.management.jmxremote
    * otherwise bean "Coherence" won't be exposed in JMX console
    * Not sure why this is necessary because this would imply this is no longer required
    * http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
    * ===
    * To see the problem please try invoking method "operation1" and "operation2"
    * via JMX console.
    * Different error messages will be shown for each method
    * To work around "operation1" problem please comment out this line
    * final RequiredModelMBean rmb = new RequiredModelMBean();
    * land uncomment the alternative one
    * final RequiredModelMBean rmb = new WorkaroundRequiredModelMBean();
    * You shall be able to invoke "operation1" then.
    * Please note that you still won't be able to invoke "operation2"
    public class Main {
       public static void main(final String[] args) throws Exception {
          configureProperties();
          Registry registry = CacheFactory.ensureCluster().getManagement();
          final RequiredModelMBean rmb = new RequiredModelMBean();
          //final RequiredModelMBean rmb = new WorkaroundRequiredModelMBean();
          final ModelMBeanInfo mbi = createModelMBeanInfo();
          rmb.setModelMBeanInfo(mbi);
          final Object managed = new Managed();
          rmb.setManagedResource(managed, "ObjectReference");
          final String name = registry.ensureGlobalName("type=A");
          registry.register(name, rmb);
          for (;;) {
             Thread.sleep(1000);
       private static ModelMBeanInfo createModelMBeanInfo() {
          final MBeanParameterInfo p1 = new MBeanParameterInfo("a", "java.lang.Integer", "a desc");
          final MBeanParameterInfo p2 = new MBeanParameterInfo("a", "int", "a desc");
          final ModelMBeanOperationInfo op1 = new ModelMBeanOperationInfo("operation1", "operation 1",
                new MBeanParameterInfo[]{p1}, "void", ModelMBeanOperationInfo.UNKNOWN);
          final ModelMBeanOperationInfo op2 = new ModelMBeanOperationInfo("operation2", "operation 2",
                new MBeanParameterInfo[]{p2}, "void", ModelMBeanOperationInfo.UNKNOWN);
          return new ModelMBeanInfoSupport("foo", "desc", new ModelMBeanAttributeInfo[0],
                new ModelMBeanConstructorInfo[0], new ModelMBeanOperationInfo[]{op1, op2},
                      new ModelMBeanNotificationInfo[0]);
       public static class Managed {
          public void operation1(Integer p1) {
             System.out.println("operation1 invoked p1=" + p1);
          public void operation2(int p2) {
             System.out.println("operation2 invoked p2=" + p2);
       private static void configureProperties() {
          System.setProperty("tangosol.coherence.cacheconfig", "a-cache-config.xml");
          System.setProperty("tangosol.coherence.ttl", "0");
          System.setProperty("tangosol.coherence.log", "jdk");
          System.setProperty("tangosol.coherence.log.level", "9");
          System.setProperty("tangosol.coherence.clusterport", "5878");
          System.setProperty("com.sun.management.jmxremote", "");
          System.setProperty("tangosol.coherence.management", "all");
          System.setProperty("tangosol.coherence.management.remote", "true");
    /* please put this into src/main/java/foo/c34/WorkaroundRequiredModelMBean.java */
    package foo.c34;
    import javax.management.MBeanException;
    import javax.management.ReflectionException;
    import javax.management.RuntimeOperationsException;
    import javax.management.modelmbean.RequiredModelMBean;
    public class WorkaroundRequiredModelMBean extends RequiredModelMBean {
       public WorkaroundRequiredModelMBean() throws MBeanException, RuntimeOperationsException {
       public Object invoke(final String opName, final Object[] params,
             final String[] signature) throws MBeanException, ReflectionException {
          final String[] fakeSignature = fakeSignature(opName);
          return super.invoke(opName, params, fakeSignature);
       protected String[] fakeSignature(final String methodName) {
          if (methodName.equals("operation1")) {
             return new String[]{"java.lang.Integer"};
          if (methodName.equals("operation2")) {
             return new String[]{"int"};
          return new String[0];
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <!-- please put this into src/main/resources/a-cache-config.xml -->
    <cache-config>  
       <caching-scheme-mapping>
          <cache-mapping>
             <cache-name>*</cache-name>
             <scheme-name>AAA</scheme-name>
          </cache-mapping>
       </caching-scheme-mapping>
       <caching-schemes>
          <local-scheme>
             <scheme-name>AAALocal</scheme-name>
             <autostart>true</autostart>
             <high-units>0</high-units>
          </local-scheme>
          <distributed-scheme>
             <scheme-name>AAA</scheme-name>
             <service-name>AAACache</service-name>
             <backing-map-scheme>
                <local-scheme>
                   <scheme-ref>AAALocal</scheme-ref>
                </local-scheme>
             </backing-map-scheme>
             <autostart>true</autostart>
          </distributed-scheme>
       </caching-schemes>
    </cache-config>
    <!-- please put this into pom.xml at project root level -->
    <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <groupId>foo-group</groupId>
       <artifactId>c34-jmx-demo</artifactId>
       <name>Coherence 34 JMX Demo</name>
       <version>0.0.1-SNAPSHOT</version>
       <description>Demonstrate Coherece 3.4 JMX Difficulties</description>
       <dependencies>
          <dependency>
             <groupId>com.oracle</groupId>
             <artifactId>coherence</artifactId>
             <version>3.4.2</version>
          </dependency>
       </dependencies>
    </project>

    Hi Dave,
    I wanted to let you know that we do not have an answer yet but we are looking into it. Thanks!
    Out of curiosity what type of impact is this having with your application?We've managed to temporarily work around both of the issues.
    Of course we shall be very glad to remove the work-arounds when it becomes possible.

  • Error -50400 occurred at Invoke Method: FIFO.Read in Host.vi

    Hey there,
    we have sensors on an Engine which are connected to a NI cRIO 9014 board (with a NI9411 6-channel digital input modul) and go from there via network to a host computer.
    cRIO board: the cRIO board collects the data from the engine and stores it in a buffer, this is because the network is to slow for the magnitude of data
    host computer: the host computer reads over the network the buffer on the cRIO board, on the host computer it takes out specific portions of the data to create pressure graphs of the engine
    Error: 
    Error -50400 occurred at Invoke Method: FIFO.Read in Host.vi
    Possible reason(s):
    The transfer did not complete within the timeout period or within the specified number of retries.
    This error occurs in the following scenario:
    - engine is running
    - cRIO is running
    When I press the start button (boolean 3) in the host.VI to start the reading of the data from the board AFTER I pressed the run button of the host VI. 
    The Error would not occur if I pressed the start button (boolean 3) BEFORE I pressed the run button of the host VI.
    We tried to increase the time out, but it still did not work, the error occurs!
    We would be really happy if you could look over it and help us in this case! If you need further informations or if we need to clarify some specific portion, please let us know!
    We included the VI's in the attachement!
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    Host.vi ‏152 KB
    C_RIO.vi ‏92 KB
    Cyl_Pres.lvproj ‏196 KB

    Chrisse,
    There are a few things wrong in your application, if I may offer some suggestions.
    First, your while loops are not running in parallel.  In fact, they are in while loops with a true constant wired to them. I am not sure if this is by design for debugging, or on accident.  I would put the Polling(read pulling zero elements) outside your main while loop.
    Your second nested while loop (the one polling the # of elements and then pulling them out) is going to run just once, and may pull only a few samples.  I don't think that is what you are looking for here, and there are a couple ways we can go here.  You could continuously poll until you have 0 elements available for x amount of time, then you know you have no more samples available and you can process all the data OR you can put all of your data processing as part of that loop and just always write to file immediately as x samples are pulled.
    Also, your main loop's stop condition is (i <= 3) Therefore, it will run once and then stop.  Maybe you mean >=3?
    Also, you have 'append to file' disabled on your write to spreadsheet, so everytime you write you are overwriting old data.  If you want to continuously write, you will be losing data.  This can be cured by either setting this to true(requiring a new file name or programatically deleting the old spreadsheet every time you run the vi) OR you can collect all of your data in a shift register, and only write to file once you have all your data available.
    The error you are seeing is because you try to close your FPGA reference twice.  You only need to close it once.
    After seeing your overall picture, I think this can all be cured by simply hardwiring your Read to get your 1440X4 elements, but as we have seen, this does not work.  Something is happening in your system....this is what I want you to do...run just the following code...and let me know how many elements remaining it gives you...Once the number has settled(I hope it does and your engine doesn't keep running), hit stop, and all the values will be put on a graph for you.  My broken wires are because I do not have the FPGA VI.
    Message Edited by Robbob on 04-21-2009 01:48 PM
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video
    Attachments:
    numelements.jpg ‏39 KB

Maybe you are looking for