Jump to content

ASalcedo

Members
  • Posts

    60
  • Joined

  • Last visited

Posts posted by ASalcedo

  1. Hello to all.

    I have an image and a ROI.

    I would like to get the minimun distance between the first edge and the last edge in horizontal position.

    See image attached. If every edges found are in color yellow I would like to get the distance between edges in red (minimun distance from last edge to last edge in horizontal direction.

    I have tried to use "IMAQ Clamp Horizontal Min VI" but this VI does't the option "from first to last edge" and the only way to get what I want is to play with contrast but it is not work for some of my images.

    So is there any way to get what I want?

    Here is the image.

    Selección_055.png

    From fist edge to last edge I mean from left to righ, the first edge found and last edge found.

    Thanks a lot.

     

  2. 20 minutes ago, drjdpowell said:

    There’s a middle ground between those two extremes, where one operates on arrays of control references.   You either create the array of references explicitly (lot less work that coding it), or you get it programmatically from either the pane reference or tab-control tab references.  You can even do things like use prefixes in the control’s name to exclude some controls.

    Thanks a lot for replying.

    How can I create the array of references? An array of every controls and indicators that I can save/load? I think that a lot of work.

    Could you send me a very little example of how I can exclude some controls?

    Thanks again.

  3. 20 hours ago, drjdpowell said:

    looks like they don’t have the feature you want.   Re your original problem, I wonder if the issue is some very large data that you may be saving in the config file.  How large are they?

    Config file is 2.7MB. So I think it is very large. The image that it saves are about 3000 symbols...

    Read my last post to @smithd because maybe you can help me as well.

    Thanks again.

  4. 3 hours ago, smithd said:

    I'm guessing its the image refnums, because you can't really include them in a general purpose library. If I remember correctly, the imaq refnum is itself licensed, so if you don't have image acq sw installed and activated the library won't work. I've seen this issue with quick drop shortcuts and image refnums as well. It probably just needs a special case, but then you lose the image if thats something you care about.

    Hello. Thanks for answering.

    I have acq sw installed and activated. I don't care to loose the image but I need to keep the ROI position of the image.

    However how can I write and read the whole VI except the image? is there a shorcut way? Because it will be really tedious to put every indicator and controls except the image in the block diagram to reaad/write...

    Thanks

  5. On 31/1/2017 at 7:07 PM, Porter said:

    Please post your code, or send it to me via PM and I can take a look.

    #1, it would be very useful to know what error is reported when the read fails.

    #2, see attached. 0x8 is the low byte, 0x9 is the high-byte, the output is a single precision floating point number (32-bit)

    #3, it is very important to run "Close Session.vi" before exiting the program. This releases the lock on the serial port.

    Join registers to float.vi

    Thanks for replying.

    1 - I've fixed the problem. Just I create a while to read every critic input each 10ms.

    2 - Thanks a lot. It works.

    3 - I am trying to fix this.

    Thanks again.

  6. 15 hours ago, drjdpowell said:

    You might see if the MGI Library has similar functionality.

    Thanks for replying.

    I have taken a look at MGI Library.

    I can't understand well the "Read everything.vi".

    I would like to read from ini to Server VI reference "this VI" like I show in the first post. But.. there is no Server VI reference "this VI" as indicator to connect it.

    Any ideas to read from ini to the whole panel with MGI library?

    Thanks!

  7. Hello to all.

    I have an application wich use; imaqdx (displays...), sliders, many controls and many indicators, and everything in a tab control of 3 pages and 2 subVI.

    I am trying to use "write and read panel to/from ini . vi".

    The first thing that my program does is to read panel from ini.

    Here there is the first problem because it gives the next error: "Error 91 "The data type of the variant is not compatible with the data type wired to the type input. Set control value"

    Here is my piece of code in image attached (boolean input in open.vi is True).

    I notticed that it gives me an error if the .ini file does not exist (but it should work even .ini file does not exist).

    Well, my next step was to create a .ini file before to use "read panel from INI.vi".

    So I use "write panel from INI.vi" and it works fine. It does not give me any error. and the ini file is the next:

    [medir.vi]
    Boca = "0,000000"
    Camara 1 Configuracion = "\00\00\00\1Dremote image 0000000013F9C704\00\00\00\0Anivissvc.*\00\00\00\13LV_ImageDTClassInfo\00\00\00\01\00\13)É\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\00¬\00\00\00\00\00\00\00\1D)\13\00\00\00\00\00\00\00\00\00<\04\00\00\00\00\00\00<\04\00\00\00\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00€\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00DÊù\13\00\00\00\00LÌj\0F<\1E\00\00ø\08\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\1D\00\00\00\00)\13\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00remote image 0000000013F9C704\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúïêôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿËž“Š„€z€}{zzwx|{wwxswyvttquvrtqpprqsrpvppsquqqusputquxusswwssttvwtwt}yqvuxuzvvuwtwvvtvrwrqpupgc\\XYZX\\XW[[UVVWUXTRTRURUQQSPNQNNOKKLKLJLJFEDEEBBC?B??=:>@CDHGHHIJGJEGDFEHJGFDBADDCCEDBCFILS^ao€–³Òñÿÿÿÿÿÿÿÿÿÿÿÿ\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00ÿÿÿÿÿÿÿÿÿÿÿÿÿÿìÛËÚ̾¶³³³¼³Àìÿãϸ¬ª£¤œ‘‘‹Ž‰Œ‡…€†~z~}x{||}z~xx}}v{syx{vwwwzyywxxxxwwuruwzyvwszvzt{z{yv{wy|{vyw{zzwy~y}xzz}y{|€†€‚€€‚ƒƒ†}‡ƒ…‡‡†‹ŠŒŒŽ‹‹•š’–”›žœ›  ¡¢©©©±²µ¶º½ËÒåÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýëä÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Ž‹…†|ƒ}~xv~z{zu{wvvvuutvssqssusotqrwruxtrpqrrotusrvuwywrsuusyxvywxtvsvwuuwvwywquvvuvswtvqpplge^\\VYWYXWYXSWVUZUVQSUTSRTTUNONMKMMKKMJLLLJGEDC@CA?@@@??=CBDGGJLJIJGGIGHEFGFHHCBCBADCAADDIOWZiq„œ·Ôïÿÿÿÿÿÿÿÿÿÿÿÿ\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00ÿÿÿÿÿÿÿÿÿÿÿÿÿÿåÙ×âɺµ®¶¶³·ÍýÿßDz¨¤¢¥š–“‰ˆ‰…‚‚‚~~z}x}}~xxxwyy}xwzwzvywuvxyuxtvyxvvwtyqvpzv|zvzzy{xzzzxx{yxyzyzxw}{y~{}|~€{{|‚‚„ƒ‚…‡€{‚‚„‚‡Š‰‡‰Š‹ŠŒ‰ŒŽ‘Ž’••’“š™žš™›Ÿ¡§ž£ªª®²´»½ÂÉÚïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøàéÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿô»žŒˆƒ€~}~}||w{yzxuwwuxvrtvtvtrqpuotqppttvtxsstqqtrtpswtwwvsusuvwxxxxvxuxxvvtx{ux{uuvttxtsssspoja\\Z\\YYZXWYWSSWXWWUSRPTUQSRNQPQNOLNLLKJJIHFFHECA?A?><@?=?ADHFELIHHJIIGEHFGJJDEFBCBECEACDGJPX_fs‡¢»Úóÿÿÿÿÿÿÿÿÿÿÿÿ\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00ÿÿÿÿÿÿÿÿÿÿÿÿÿÿé×Ýã¾·®´´Âº»Ò
    Camara 2 = "0,000000"
    led_boca = "FALSE"
    Buena_boca = "0,000000"
    mala_boca = "0,000000"
    Espiga = "0,000000"
    led_espiga = "FALSE"
    buena_espiga = "0,000000"
    Bulbo = "0,000000"
    led_bulbo = "FALSE"
    buena_bulbo = "0,000000"
    Cuello = "0,000000"
    led_cuello = "FALSE"
    buena_cuello = "0,000000"
    mala_cuello = "0,000000"
    Cuerpo = "0,000000"
    led_cuerpo = "FALSE"
    buena_cuerpo = "0,000000"
    mala_cuerpo = "0,000000"
    Excentricidad = "0,000000"
    Buenas = "0,000000"
    Malas = "0,000000"
    led_excen = "FALSE"
    EXCENT = "0,000000"
    Camara 2 Configuracion = "\00\00\00\15Threshold Destination\00\00\00\0Anivissvc.*\00\00\00\13LV_ImageDTClassInfo\00\00\00\01\00\00\00Á\00\00\10\0000\00\00\03\00\00\00\00\00\00\00\\00\00\00\00\00\00\00Threshold Destination"
    Excentricidad.<size(s)> = "6"
    Excentricidad 0. = "<size(s)=0> "
    Excentricidad 1. = "<size(s)=0> "
    Excentricidad 2. = "<size(s)=30> 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000"
    Excentricidad 3. = "<size(s)=30> 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000"
    Excentricidad 4. = "<size(s)=30> 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000"
    Excentricidad 5. = "<size(s)=30> 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000"
    Nivel de luminosidad = "157,666672"
    led_luminosidad = "TRUE"
    Distancia promedio = "46,131313"
    Bordes encontrados = "33"
    Camara2_grafica = "0,000000"
    Dist_Cuerpo_Cnfig = "0,000000"
    Dist_Boca_Cnfig = "0,000000"
    Dist_Espiga_Cnfig = "0,000000"
    Dist_Bulbo_Cnfig = "0,000000"
    Largo total = "0,000000"
    led_largoTotal = "FALSE"
    cuello_config_cluster.Left = "0"
    cuello_config_cluster.Top = "0"
    cuello_config_cluster.Right = "0"
    cuello_config_cluster.Bottom = "0"
    cuello_config_cluster.Rotation = "0,000000"
    top_cuello_prod = "0"
    botton_cuello_prod = "0"
    PLC_Valor_Cuello = "0"
    ampolla_ok_prod = "FALSE"
    num_disparo_cam1 = "0,000000"
    PLC_Valor_Espiga = "0"
    PLC_Valor_Cam2 = "0"
    lim_min_ambar_boca = "0,000000"
    lim_max_ambar_boca = "0,000000"
    Largo Total.<size(s)> = "1"
    Largo Total 0. = "<size(s)=0> "
    Tab Control = "Camara 2"
    Cluster.Numeric = "0,000000"
    Cluster.Numeric 2 = "0,000000"
    Cluster.Numeric 3 = "0,000000"
    Cluster.Numeric 4 = "0,000000"
    Cluster.Numeric 5 = "0,000000"

    I resume "camara 1 configuration" because the rare symbols are about x10 more.

    Well, next step is to read this .ini file and now it does not give me any error but it stacks in "read panel from ini.vi" (maybe it takes about minutes for reading .ini).

    How can I do to write and read panel to/from ini well?

    It is very important for my application. Maybe there is another library that I can use?

    Thanks a lot!

    Selección_052.png

  8. 16 hours ago, Porter said:

    I haven't run into this error yet with this Library. It seems to be generated when VISA can not access the serial port.

    http://digital.ni.com/public.nsf/allkb/6807113B057FDE4C86256B41008212ED

    Sounds like the first thing to try is close LabVIEW and reboot the computer.

    Hello. Thanks for replying. I fixed that error. It seems that another program was using the COM.

    Now I have 3 questions more and any help will be apprecciate it!:

    1 - Before using this modbus Library I was using ni OPC Server and program run fine. Now I have an issue update rate with this library. I have a while and inside I have an event structure. In timeout event structure I read a holding register each 10ms (timeout=10ms). In some iterations for any reason Labview or modbus can not read the holding register (maybe once per 8 iterations). So Is there any way to solve this? Any update rate? or change time of timeout?

    2 - With ni OPC server was easy to read a Real data type (unsigned 32 bits). Now I would like to read DDT8 (double word 32 bits) so I can not read just holding register addres 0x8 because it has just 16bits and I need 32bits. So I need to read 0x8 and 0x9 to form 32 bits. But how can I join those registers? and then How can I pass them to real? Because for exame if number real data type is 1,00 then holding registers are: 0x8=0, 0x9=16256 . So... how can I pass those registers to real data type?

    3 - When I run my application the first time It opens modbus session well. Then when I abort the applicacion and restar aggain it says me that "modbus session is invalid". I think that the problem is that my program does not close fine the session. So is there any way to close every sessions before open one? So the first thing that the program does will be to close every session modbus.

    Config of my modbus session: baud rate=115200, stop bit = 1, parity = odd, timeout = 1000, retries = 1.

    Thanks a lot.

  9. Hello.

    I am trying to use this API. My first attempt in my personal computer was succes (serial RTU with PLC Panasonic) with MB_Master Comm Tester.vi example.

    Now I am triying to do the same in a laptop (same windows 10, same PLC, same wire, same Modbus configuration, same everything...) but it gives me an error when I click on "open device" and it says me that he could not open the device...

    The error is -1073807246

    Any ideas to solve it?

    Thanks a lot

  10. Hello to all.

    I have developed an application and it runs fine in my laptop (intel i5)

    Now I would like to deploy an executable in a industrial PC.

    How can I choose the specifications? I have tried with atom dual core and it works bad and slow.

    One more thing, what windows is it better to run labview applications? Windows 7 professional or Windows 10?

    Thanks.

  11. 18 hours ago, hooovahh said:

    Need to see the code, but I suspect a few local variables, or some communication scheme between loops would work.  Have you looked into Channel Wires?  This could also be used to facilitate communication between loops.

    That is new in Labview 2016 right? I am gonna have a look.

    Thanks!

  12. Hello to all.

    I would like to know how I can close my program ordely.

    I mean... I have 4 whiles in my program so when user clicks a "stop" botton close ordely: while 1 and when it is finished then close while 2 then close while 3....

    How can I do that just with a stop botton?

    Thanks a lot.

  13. Hello to all.

    I think this is an interesting topic and it isn't easy to find out on the internet.

    I would like to know (more or less) what is the price that a company pay to another for an applications developed in labview.

    I am new in that and I have to develop a product and I don't know which price I should ask for.

    Apart of hours worked, gas etc etc I would like to know the market price more or less of these applications.

    My application I have to develop is an artificial vision application which will use "Vision Adquisition Software" and "Module Vision Toolkit".

    I am asking for (more or lees) about the market price of the software (not the hardware).

    Thanks a lot.

  14. 19 hours ago, Jordan Kuehn said:

    I'd suggest that it is fairly likely that you have at least one of your while loops completely consuming one of your quad cores on the original machine, and your dual core atom processor doesn't have a free core to devote.  Look through your different loops and see if one is missing some timing, (e.g. a polling loop that is polling as fast as possible) and add a wait timer to slow it down even just a little.

    How can I see if a while is missing timing?.

    It is true that if I add some delays the program improves but not at all.

    15 hours ago, hooovahh said:

    That's the minimum to install the IDE, it isn't the minimum for any application you can write.  I can clearly write an application which requires more processing power than that.

     

    In this case MAX isn't doing anything else.  I'd say evaluate your code, find slow parts, and inefficiencies.  An atom just might be under powered for what you want.  Oh and your low power PC might not have a GPU that the vision toolkit or OS might be using for rendering.

    How can I find slow parts?

    Thanks!

  15. 8 hours ago, JKSH said:

    Run your application on PC 2 and PC 3. Launch Resource Monitor.

    Are you hitting the limit of any resource(s)?

    Hello.

    In PC3: CPU ussage is about 45-50%. LAN 1 and 2 is about 90%. Memory ussage is about 40%.

    Maybe the atom is under power for I want to do...

    That is true that if I put some delay in whiles the program improve but not what I want..

    How can I do pooling? or How can I know which whiles are consuming a lot?

     

    Thanks.

  16. 50 minutes ago, ShaunR said:

    Well. The Celeron is probably a quad core and the Atom you describe is a dual core but you might also look at the Ethernet port since most budget boards use 10/100 rather than Gb ethernet.

    He again.

    The specification of Atomo is the next: http://ark.intel.com/products/58916/Intel-Atom-Processor-N2600-1M-Cache-1_6-GHz

    So it has 2 cores. Celeron has 4 cores.

    As weel I check the requirements for Labview application here: http://www.ni.com/labview/requirements/esa/

    It says that the minimun requirement is pentiun 3 for Real Time Engine. So maybe the problem is the specification of Atom PC?

    My software has 6 'whiles' so it is using multithreading I guess.

    Thanks.

  17. 25 minutes ago, ShaunR said:

    Well. The Celeron is probably a quad core and the Atom you describe is a dual core but you might also look at the Ethernet port since most budget boards use 10/100 rather than Gb ethernet.

    Hello. Thanks for repalying.

    I thought that but for example if I open NI Max the images are captured well with no problem in refresh. So I do not know what happens with executable.

  18. Hello to all.

    First I explain my environment and then I will ask the question.

    PC 1 (development PC): intel i5, windows10 64bits, 8GB Ram, Labview 2015 SP1 (32 bits), Vision Adquisition Software 2015, Module Vision 2015, DSC 2015, ni OPC Server.

    PC 2 (deployment PC) : intel celeron 1.99 GHz, windows 7 64bits 8GB Ram, Labview 2015 SP1 (32 bits), VIsion Adquisition Software 2015, Module Vision 2015, DSC 2015, ni OPC Server, Run Time Engine 2015, VIsion Run Time 2015.

    PC 3 (deployment PC) intel Atom CPU N2600 1.40GHz, windows 7 64bits, 4GB Ram, Labview 2015 SP1 (32 bits), VIsion Adquisition Software 2015, Module VIsion 2015, DSC 2015, ni OPC Server, Run Time Engine 2015, VIsion Run Time 2015.

    I use the next in my aplication:

    2 cameras GigE Lan connected to PC. A PLC connected RS232 through ni OPC server and about 15 shared variables.

    In development environment my application works well. In PC 2 a executable of my application works well.

    But the problem is that the same executable works bad in PC 3. Front Panel is slow and displays of image cameras don't refresh the image well. So all my application is slow in PC 3.

    What can it be? I don't think that it could be the specification of PC 3 but I don't know... Does anyone fix something similar?

    Any help will be appreciate it.

    Thanks a lot.

  19. 16 hours ago, ned said:

    No. If you do not check "Enable Debugging" in the build specification, and do not explicitly uncheck the "Remove Block Diagram" option for a VI within the build specification, then the block diagram is removed during the build process and cannot be recovered from the executable. Setting the INI file option might allow the user to connect with the debugger, but they will not actually be able to debug anything because the block diagrams aren't there.

    Thanks a lot! I tried yesterday and you are right :) !

  20. Hi to all.

    I would like to create an application where usar can train an OCR programmatically.

    So do the same that vission assistant when user trains OCR but in an application.

    So, take picture from a camera (I have already done this) then click button, select area to train and put the train (for example type "9" if the image is a number 9). And save it. And if for any reason PC is shutting down, application can remember the train.

     

    That is possible?'

     

    Thanks a lot!

  21. Hello to all.

    I am deploying an executable (not installer) in a target PC with the same programs (labview and toolkits) installed than the development machine.

    When I create executable I uncheck the option "enable debugging" (see image below):

    Application%20Builder.PNGApplication%20Builder.PNG

    ** In the image "enable debugging" is checked but I uncheck in my application.

    Then I am trying to debug in run time and of course I can not.

    I do this to make me sure that the user can not get my block diagram.

    But now I realized that in .ini file that Labview creates with executable there are these options:

    DebugServerEnabled=False
    DebugServerWaitOnLaunch=False

     

    So if user writes "true" in these options, can they debug in real time and because of that get my block diagram?

     

    Thanks a lot!

     

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.