Error Rings

Error rings are cool, but not cool enough.  Within each family, the errors are organized by number.  However I have neglected to memorize the error codes (worse yet, I refuse to do so).  And I hate hunting through the list for the desired description. So I built this utility that does the searching for me.  Use it as follows:
1. Run "Set_Error_Ring.vi" (in "Error_Ring.llb").  Or better yet, put "Error_Ring.llb" in ...\Labview 2012\Projects\, then the next time you run LV, "Set_Error_Ring" will be in the "Tools" menu.
2. Select an error ring on an open BD (single-click with the selection tool).
3. On the FP of "Set_Error_Ring.vi", select the error family.
4. Type in a regular expression to search list of descriptions; the error list will be filtered as you type.
5. Double-click on the desired error in the list.  The error ring will be updated.
Note: This code breaks some rules, and may not work in the next version of LV.
Attachments:
Error_Ring.llb ‏420 KB

pcardinale wrote:
Most of the BDs are open.  The only ones that are locked are simple wrappers for "L10N.vi", "Update Error Description.vi", & "Get All Errors In Family.vi" in ...\vi.lib\ErrorRing\Utility\.
Those Vis have private scope, and you're not supposed to be able to call them.  I found a way to call them, but thought it would be a bad idea to disseminate that into.
I think you need to see this from a user's perspective.  For the same reason I don't click on links or open files with execution potential in email, I won't execute a VI that has "secrets."
Besides, if you think something is "bad," what makes you think it's "good" for public consumption? 
Bill
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

Similar Messages

  • Using error codes.txt and error rings don't allow parameter inputs like custom error rings?

    The error ring is very useful, especially with its parameterized inputs you can specific with %s, %f and %d parameters.  I'd like to do the same thing in my fixed error codes using the error ring so that I can localize them into mulitple languages, but it seems that LabVIEW error codes from project text files never detect or support the parameter inputs, you get a error ring, but no input parameters.  If you use the same string in a customer error code, it gives you the parameter input but then its hardcoded and you can't localize it.  What gives?
    Is there some other way to configure the error rings to use a project file for the error codes but still support the parameter inputs?
    Solved!
    Go to Solution.

    Hi Mike_King
    Here is a VI snippet that I created with two different approaches, in the first one I used the format into string, the second one the function search and replace.
    Here are some links with information about the functions that I used.
    Format Into String Function - LabVIEW 2011 Help
    Search and Replace String Function - LabVIEW 2011 Help
    Regards
    Esteban R.
    Attachments:
    Generate error code.png ‏34 KB

  • Where is the error ring constant in LV 8.2?

    Where is the Error Ring Constant in LabView 8.2?  It was in the block diagram numerics panel in 7.1.1.

    You might wish to have a look at this.
    Try to take over the world!

  • Error code text file or Error ring, pros and cons of each

    I'm looking for some community input on the pros and cons of using either the Error Code Text file, or the Error Ring for creating custom errors in an application.  My question comes about as a result of this post.
    I've used the Error Rings exclusively in the past to avoid the extra maintenance steps of bringing the text file along with the LV project and source control.  I assumed the error information was simply converted to ring constant.  But with my linked post above, I'm wondering how deep my mistakes may cut me.
    Please weight in on this with pros/cons, , and any past experiences that may be helpful.

    Actually Hooovahh and Jeff are right. As you can see in that way you can prioritize the error that you need to read or in other case ignore. In the same time you can create the error that you want.
    In this link in the last interaction they upload some pictures where you can see the way for make.
    http://forums.ni.com/t5/LabVIEW/Error-Ring-changing-code-number/td-p/3152761/page/2

  • Error ring excluded in executable?

    Hello,
    I encountered following strange behavior: when run in LabVIEW development, following error ring does its expected job as it also acts as a control flow control so that the reference is not destroyed before the loop terminates (see picture).
    Strangely, when I build an executable and execute the VI via run-time, I the reference is destroyed WHILE the loop is still running. As if the error ring was not compiled into the executable.
    Is it a LV bug?
    Thanks,
    Peter

    Bokor wrote:
    I managed to reproduce the problem in LabVIEW development if I disable debugging for this VI.
    It seems to me that the compiler moves this part of the code outside the loop as static content. In this case, I would consider it as a bug, as the compiler shouldn't change the semantic of the program.
    What do you think?
    I don't see this as a bug.  There are some in LabVIEW R&D that say that using the error wire to force a data dependency is a hack.
    I still go back to the fact that you should just be using your other error wire or wire your DVRs through your loop.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Error Ring changing code number?

    I wrote an application a few years ago and used error ring constant in the code.  It was to indicate to that a dynamic dispatch VI was not opened by a child class as intended.  The I found a description from the included list, and it described the condition very well.  That development was done in LV 2011 or even earlier perhaps.
    Now after a mass compile to VL2013 SP1, my error code (400046 specifically) is undefined.  I guess I expected error codes to have a continuous, none changing life once created.  Any ideas why it is no longer recognized?
    Solved!
    Go to Solution.

    Hooovahh wrote:
    RavensFan wrote:
    Maybe he meant error 43.  Operation cancelled by user.
    I meant 42.  I've often seen developers use it as a catch all for when they couldn't find an appropriate error code to use.  If they re-assigned 42 to something like "Incorrect Password Entered" or something, then all those existing applications that rely on 42 to be the catch all would not return the correct error from the simple error handler.
    Maybe they should use -41 instead.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Error handling: Customizing error details: Info about the the path to the VI which has thrown the error

    Hi,
    I need a quick advice about how to display in the error cluster the information about the path and VI which has thrown an error.
    When I don't prepare my own error message, and the error is captured automatically, the information about the path, Vi name and calling VIs is presented automatically.
    When I prepare/define my own basic error cluster I have only what I define in the string part of the cluster. 
    How to cause tha apperance the path and VI name in my defined error message?

    MimiKLM wrote:
    You mean this link
    That's helpful too but,  I had read "When I prepare/define my own basic error cluster I have only what I define in the string part of the cluster" as you wanted to use a file to expose those custom error codes and ultimately ship them with your solution dynamically rather than statically
    The error ring will pick up any custom errors you define in the error file(s).  Including formatting!  this then populates the explain errors and error dialogs just like any error definition that ships with any LabVIEW component or toolkit.
    Certainly, an error ring can also STATICALLY define or re-define an error within the application instance the ring is called from.  Those Error Rings are quite flexible!
    Jeff

  • NullPointerException on commit

    Hello all,
    I'm getting a null pointer exception when I commit my transaction. Here is the stack trace:
    java.lang.NullPointerException
         at oracle.sql.Datum.getBytes(Datum.java:147)
         at oracle.jbo.domain.Date.toDatum(Date.java:146)
         at oracle.jdbc.driver.OraclePreparedStatement.setCustomDatum(OraclePreparedStatement.java:2415)
         at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:2900)
         at oracle.jbo.server.OracleSQLBuilderImpl.bindInsertStatement(OracleSQLBuilderImpl.java:1555)
         at oracle.jbo.server.EntityImpl.bindDMLStatement(EntityImpl.java:6242)
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:337)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:4760)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:3749)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2486)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2396)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1673)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:1836)
         at com.grapevinecs.autoprivate.AutoPrivateAdminApp.doImport(AutoPrivateAdminApp.java:295)
         at com.grapevinecs.autoprivate.AutoPrivateAdminFrame$5.run(AutoPrivateAdminFrame.java:95)
    I've done a few searches and haven't managed to find anything to point me in the right direction. Does this error ring any bells for anyone? Any help is appreciated.
    Thank you,
    Owen Gibbins

    I have determined the cause. I had inserted some date values that had been converted from java.sql.Date objects. In the case that the java.sql.Date was null and passed to the oracle.jbo.domain.Date constructor, the resulting date produced an error on commit.
    Maybe that constructor should throw an exception when passed a null, rather than deferring the error to a later stage?
    And if anyone can tell me how to run in "diagnostic mode," I would still appreciate that. Thank you!
    Owen Gibbins

  • Undefined variable or classname snpRef (when executing Java within a KM)

    Hi there,
    I'm looking into ODI, specifically customizing scripts using java functions and have hit a bit of a problem.
    Does the following error ring any bells?
    Attempt to resolve method: getobjectname() on undefined variable or class name: snpref
    I find it quite weird and strange that it cannot find snpref?
    The script is below - as you can see, I'm just having a play around
    drop table <%=odiRef.getTable("L", "COLL_NAME", "A")%>
    +<%String sTestString = odiRef.getFrom(); %>+
    +<%sTestString = sTestString.toLowerCase();%>+
    +<%out.print("/*"+sTestString+"*/");%>+
    As you can see, I have no clue where snpref is being called from. It may be an internal translation of odiRef but I thought snpRef has been deprecated!? What's also weird is that without the last or penultimate line, everything works fine?
    For example, this works:
    drop table <%=odiRef.getTable("L", "COLL_NAME", "A")%>
    +<%String sTestString = odiRef.getFrom(); %>+
    +<%out.print("/*"+sTestString+"*/");%>+
    it gives:
    drop table ODI_TESTING."C$_0SmalldatetimeTable"
    +/*Testing.dbo.SmalldatetimeTable as SMALLDATETIMETABLE*/+
    Also this works:
    drop table <%=odiRef.getTable("L", "COLL_NAME", "A")%>
    +<%String sTestString = "TeSt"; %>+
    +<%sTestString = sTestString.toLowerCase(); %>+
    +<%out.print("/*"+sTestString+"*/");%>+
    outputting (as totally expected):
    drop table ODI_TESTING."C$_0SmalldatetimeTable"
    +/*test*/+
    What gives? I know this is a bit theoretical but I'd really love to know what's causing it to break so spectacularly? Could it be some sort of misconfiguration?
    Here's the stack trace:
    com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-17517: Error during task interpretation.
    Task: 4
    java.lang.Exception: BeanShell script error: Sourced file: inline evaluation of: ``out.print("drop table ") ; out.print(snpRef.getObjectName("L", "%COL_PRF0Smallda . . . '' : Attempt to resolve method: getobjectname() on undefined variable or class name: snpref : at Line: 4 : in file: inline evaluation of: ``out.print("drop table ") ; out.print(snpRef.getObjectName("L", "%COL_PRF0Smallda . . . '' : snpref .getobjectname ( "l" , "smalldatetimetable" , "testing" , "" , "d" )
    BSF info: Drop work table at line: 0 column: columnNo
    +     at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:485)+
    +     at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:711)+
    +     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:461)+
    +     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)+
    +     at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)+
    +     at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)+
    +     at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)+
    +     at java.lang.Thread.run(Thread.java:662)+
    Caused by: org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: ``out.print("drop table ") ; out.print(snpRef.getObjectName("L", "%COL_PRF0Smallda . . . '' : Attempt to resolve method: getobjectname() on undefined variable or class name: snpref : at Line: 4 : in file: inline evaluation of: ``out.print("drop table ") ; out.print(snpRef.getObjectName("L", "%COL_PRF0Smallda . . . '' : snpref .getobjectname ( "l" , "smalldatetimetable" , "testing" , "" , "d" )
    BSF info: Drop work table at line: 0 column: columnNo
    +     at bsh.util.BeanShellBSFEngine.eval(Unknown Source)+
    +     at bsh.util.BeanShellBSFEngine.exec(Unknown Source)+
    +     at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:471)+
    +     ... 11 more+
    Text: drop table <?=snpRef.getObjectName("L", "%COL_PRF0SmalldatetimeTable", "W") ?>
    +/*<?=snpref.getobjectname("l", "smalldatetimetable", "testing", "", "d")?> as smalldatetimetable*/.+
    +     at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:738)+
    +     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:461)+
    +     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)+
    +     at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)+
    +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)+
    +     at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)+
    +     at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)+
    +     at java.lang.Thread.run(Thread.java:662)+
    Thanks!
    Matt
    Edited by: 979675 on Jan 9, 2013 1:04 AM

    Okay here is the solution.
    I tried 100s of ways but it didnt work. So the alternative is create one more step in your KM with jython technology. Below code will print it in lowercase.
    sTestString= '<%=sTestString%>'
    raise (sTestString.lower())
    Note: Click on ignore error. So that the flow will move on.
    Bhabani

  • Bug? Picture Ring proprty String and Values" returns error 1054 in LV 8.5

    Should that propert exist for a Picture Ring?
    Ben
    Message Edited by Ben on 09-01-2008 07:47 AM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Solved!
    Go to Solution.
    Attachments:
    Error_1054.PNG ‏27 KB

    The fact that the error is gone when you don't connect the indicator is good. Even better it is super.
    It means the compiler removes that specific node from the execution stack if it isn't needed.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • Error message 11556 wehn trying to create a ring tone

    Can anyone help me to sort this problem out? I am new to this and cannot create a ring tone from a song that i have purchased. I am logged in to the i tunes store, but i get an error message that says that i can't connect. Several others seem to have posted similar problems but i wondered how i can solve the message and create a ringtone.

    Hi
    I have the exact same problem but have since found in the Itunes help section that you can only create ringtones with songs that have a bell next to them. None of my music has a bell next to it so have been onto Itunes store to seek out a song that has and cant find any.
    Help option states to see tunes with a bell, click view, options then tick the ring tones option. This works with songs you have already downloaded but it reckons it works too for Itunes store but it doesnt.
    Anyone know how you find out from Itunes store which songs can be created into ringtones?
    Thanks

  • IPhone Ring Tones Error message 11556

    Hi
    Please can you tell me why when I try to create a ringtone from my iTunes purchases I get the error message 11556?
    How do I create Ring Tones, in fact are we able to buy them in the UK yet or not?
    Thanks for your help...

    This is exactly why I refuse to buy an apple TV box - Honestly, I love apple stuff, and understand that its not Apples fault that Movies aren't available to rent outside the US yet, but they really shouldn't offer a product thats not ready to market yet outside the US because one of its major features is crippled. Or at least offer a discount.
    Sure, there's other cool things you can use the box for, but exactly why should should we pay the same as the US (well, actually a lot more), when a lot of the cost of the product goes to paying for the R&D and back end maintenance of features we don't get? To be honest, I think its a cheek that its even for sale in the UK at all at the moment.
    The iPhone is a bit less of an issue here because ringtones are not such a major feature we're missing out on, but its the same principle at the end of the day, there should be some sort of compensation for every missing feature due to international rights issues - Otherwise we're effectively subbing US customers.

  • Where is the error code ring constant in LV8 ???

    Hi
    the question seems rather stupid to me but I can't find the error code ring constant any more in LV8.
    Where does it hide?
    Gruß,
    Sören

    You can copy it from some VI made in previous version of LV. It works fine.
    jochynator
    LV 8.0.1, WinXP Pro
    Attachments:
    error_ring_example.vi ‏11 KB

  • Error while sending ring tones over bluetooth

    When trying to send my ring tones over bluetooth I get the error 'Unable to send protected objects'. How can I send these objects to another phone ?
    Thanks in advance.
    Regards,
    Meghana

    You can't.
    They're copyright-protected and DRM built into the phone prevents you from doing anything that will allow their duplication.
    Message Edited by grschinon on 06-May-2008 09:03 AM
    Was this post helpful? If so, please click on the white "Kudos!" star below. Thank you!

  • Why does this ring operation occasionally give an error?

    I am using LabWindows/CVI, and I created a low-level ring acquisition. It works normally at first, but if I stop it and start a few times (does not always happen on the first stop / start cycle), then I get the error:
    NON-FATAL RUN-TIME ERROR: "Dalsa.c", line 2716, col 13, thread id 0x000012A4: Function imgSessionCopyBuffer: (return value == -1074397014 [0xbff600aa]).
    The requested buffer has been overwritten and is no longer available. It occurs on the second line of the following code:
    (2715) imgGetAttribute(Sid, IMG_ATTR_LAST_VALID_BUFFER, &currentRingBufNum);
    (2716) imgSessionCopyBuffer(Sid, currentRingBufNum, (uInt8*)pixel_address, FALSE);
    I stop my acquisition by :
    imgSessionAbort(Sid, &ringBufNum);
    Then I unlock my ring buffer, dispose each element, and finally dispose of the buffer list. The next acquisition starts by creating a buffer list, creating and allocating each element, locking the buffer list, and configuring the session to use that buffer list. I am NOT closing the session or the interface, I only do that upon quitting my program. Why do I get this error??
    Buffer creation code:
    //Create a buffer list
    imgCreateBufList(NUMRINGBUFFERS, &Bid);
    //Find out how big the buffers should be in memory
    imgGetAttribute(Sid, IMG_ATTR_BYTESPERPIXEL, &bytesPerPixel);
    bufSize = AcqWinWidth * AcqWinHeight * bytesPerPixel;
    //Create the ring buffer
    for (i = 0; i < NUMRINGBUFFERS; i++)
    //Create individual buffer elements
    imgCreateBuffer(Sid, IMG_HOST_FRAME, bufSize, &ringBuffer[i]);
    //Now tell the buffer list where these buffers are by populating them into the Buffer List Bid
    imgSetBufferElement(Bid, i, IMG_BUFF_ADDRESS, (uInt32)ringBuffer[i]);
    imgSetBufferElement(Bid, i, IMG_BUFF_SIZE, bufSize);
    //If we are still filling the buffer, this configures the current buffer on the list to move to the next buffer
    //If we are configuring the last buffer in the list, this buffer will now loop to the first element when it is filled
    bufCmd = (i == (NUMRINGBUFFERS - 1)) ? IMG_CMD_LOOP : IMG_CMD_NEXT;
    imgSetBufferElement(Bid, i, IMG_BUFF_COMMAND, bufCmd);
    //Locks the buffers in the buffer list
    imgMemLock(Bid);
    //Configure the session to be a ring acquisition using our buffer list
    imgSessionConfigure(Sid, Bid);
    Buffer disposal code:
    //Unlock the ring buffer memory
    if (Bid) imgMemUnlock(Bid);
    //Free the ring buffer memory
    for (i = 0; i < NUMRINGBUFFERS; i++)
    if (ringBuffer[i] != NULL)
    imgDisposeBuffer(ringBuffer[i]);
    ringBuffer[i] = NULL;
    //Free the buffer list
    if (Bid) imgDisposeBufList(Bid, FALSE);
    Bid = 0;

    I have made some progress on narrowing the error down, but it still remains a large problem. Error trapping allows me to avoid the necessity of rebooting the system. However, I must still close and re-open my LabWindows application in order to successfully acquire from a ring.
    I have narrowed the problem down to the buffer index provided by "imgSessionStatus" : on the acquisition that throws an error, it returns "-1" as the current buffer index. Why is this??
    I have modified my program so that I close both the session and the interface when I hit "Stop", and yet I'm still receiving this problem when I attempt to restart the ring acquisition after stopping.  I have also started using "imgStopAcquisition" instead of "imgSessionAbort".  What could I not be properly resetting after I free, dispose and close the buffers, buffer list, session and interface?  Obviously the resource is being properly freed upon application closure, so I must be missing something ...

Maybe you are looking for