Jump to content

Bjarne Joergensen

Members
  • Posts

    130
  • Joined

  • Last visited

Posts posted by Bjarne Joergensen

  1. Hi I got a problem with my mouser curser. It does not change style when hovering over objects.
    It is always an arrow. If I open the Tool box window, I can see it's changing to another tool when hovering, but the curser don't.
    439337422_Pointingaticon.PNG.5ea37057d23fa4d07d42b450ebc1abef.PNG

    483993143_Pointingatterminal.png.e91dd8e23f14fb6bb6b30459a7d6661e.png

     

    It's only observed at one PC.
    I have tried to repair LabVIEW.
    Using LV2019
    Windows 10
    I control the PC via TeamViewer (but I also have a similar PC controlled via TeamViewer that don't have this problem).

    /Bjarne

  2. Hi
     

    Sorry the late response.
    I have been spoken to a NI engineer and it looks like combability problem with the MXI card. It's not supporting Win10.
    I have ordered new MXI card and I'll went back when I get the new card and I know it has solved the problem. Hopefully ultimo November.

     

    Regards Bjarne

  3. Hi

    Some of our oscilloscope measurement hold 50000 samples. I don't want to fill up our DB with so many records so I was looking for an algorithm for reducing the amount of point and still have a reasonable presentation of the graph in the DB.

    I was told about the Ramer-Douglas-Peucker algorithm. Does anyone know about a LabVIEW implementation of this algorithm?
    Or is there another good solution to the task?

    Thanks in advance.

     

    Regards Bjarne

  4. NI-5124 PXI oscilloscope failing.

     

    1.       It’s placed in a system that has run for 20 years on Windows XP and Labview 8.2.1

    2.       PXI rack 1045

    3.       Mxi: PXI-MXI-4 (PCI-8336 and PXI-8336)

    4.       Now the PC is upgraded to a new one with Windows 10 and LV15.

    5.       After new PC the system started, I can see all cards in PXI rack in MAX

    6.       I can communicate with all card but not NI5124 Scope.

    7.       When I try to launch Testpanels for Ni5124 I got the following error: Image "Briton_0.png"

    Briton_0.png

    8.       I can launch Testpanels when I point at NI4070 DMM in MAX.
    I can then open a new fan and choose Oscilloscope

    Briton_1.png


     

    9.       When pressing Run/Stop I got this error:
    Briton_2.png

    10.   NI MAX pictures:

    Briton_3.png

     

    MAX can´t recognize the type of the PXI bridge, but it is a PXI-MXI-4 (PCI-8336 and PXI-8336)


    Briton_4.pngBriton_5.png

     

    11.   Error code -1074108967 occurred at an unidentified location
     

    12.   I have looked for solution at NI for error -50550 and found this:
     

    Solution

    These error codes indicate fairly general problems that can be caused by either hardware or software. You can resolve these errors through one of the troubleshooting steps below:

    1. Reset the device in Measurement & Automation Explorer, then try the self-calibrate again.
    2. Reboot the PC or PXI controller.
    3. Try a different PCI or PXI slot.
    4. If you are using a remote controller (i.e PCIe-8361) make sure the MXI card has the DIP Switch in the correct position, either ON if you are using BIOS Compatibility Mode or OFF if you are not.

    I have tried 1, 2 and 3 => did not help.
    About 1 Reset and Self-test is success but Self- Calibrate is just running for ever.
    @4 If this was not setup correctly, I assume the PC would not be able to see the PXI rack and modules in it.

     

    I have tried to delete all LabVIEW and device driver SW on the PC and then installed it again.
    I still got the same error!

     

    What could be my next step?
     

    Thanks in advance

     

    /Bjarne

    PS: I also posted the question in NI-forum, but none has responded yet and then I think the hard core fellows at LAVAG could help me ;)

    https://forums.ni.com/t5/LabVIEW/PXI-NI-5124-error-code-50550/m-p/4180536#M1208650

     

  5. Sorry for late reaction.
     

    I manage to get i to work by using "Microsoft TreeView Control 5.0 (SP2)" instead of "Microsoft TreeView Control 6.0 (SP6)" and

    "Microsoft Windows Common Controls 5.0 (SP2) Version 1.3"

    It works on my PC, but when I export the VI to another PC it's seems it fall back to "Microsoft TreeView Control 6.0 (SP6)":(

     

  6. Hi
     

    I got an old LabVIEW 8.2 VI that use ITreeView under Windows XP. It works fine.
    Now I have upgraded to LV15 and Windows 8.1 and I got an error "Library not registered in mxLT Open Tree Control.vi"

    I would like register the library, but where do I find it? I have search the WEB but didn't find anything i could use(or understand;))
    Edit: I found this "mscomctl.ocx" under SysVow64. 
    I have registered it, but LabVIEW still say it's not registered! Has it something to do with LV15 =32bit and "msconctl.ocx" is in 64bit system folder?

    Here is the BD of "mxLT Open Tree Control.vi":

    image.png.38c81aaa5e06cc914fc1103181b94d5c.png

     

    Hope someone can give me a clue:)

     

    Thanks in advance

     

    /Bjarne

     

  7. Hi

     

    I have done that and can't find any CRC calculator that give the same result :throwpc:

     

    I got these data:

    0x00, 0x01, 0x02, 0x80, 0xe2, 0x45, 0x00, 0x00, 0x00, 0x00, 0x07, 0xdf, 0x33, 0x00, 0x00, 0x00, 0x0f, 0xeb, 0x02, 0x80, 0xe2, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

     

    and expect this CRC16: 0xcd58

     

    regards Bjarne

  8. Hi 

     

    I have this code in C(and I don't understand it :angry: )

    Is there someone that can help me translate it to labview?

     

    Thanks in advance.

    Bjarne

     

      typedef uint16_t (*bit_order_16)(uint16_t);

      typedef uint8_t (*bit_order_8)(uint8_t);

     

      uint16_t straight_16(uint16_t value)

      {

        return value;

      }

     

      uint16_t reverse_16(uint16_t value)

      {

        uint16_t reversed = 0;

        for (int i = 0; i < 16; ++i)

        {

          reversed <<= 1;

          reversed |= value & 0x1;

          value >>= 1;

        }

        return reversed;

      }

     

      uint8_t straight_8(uint8_t value)

      {

        return value;

      }

     

      uint8_t reverse_8(uint8_t value)

      {

        uint8_t reversed = 0;

        for (int i = 0; i < 8; ++i)

        {

          reversed <<= 1;

          reversed |= value & 0x1;

          value >>= 1;

        }

        return reversed;

      }

     

      uint16_t crc16(uint8_t const *message, int nBytes,

        bit_order_8 data_order, bit_order_16 remainder_order,

        uint16_t remainder, uint16_t polynomial)

      {

        for (int byte = 0; byte < nBytes; ++byte)

        {

          remainder ^= (data_order(message[byte]) << 8);

          for (uint8_t bit = 8; bit > 0; --bit)

          {

            if (remainder & 0x8000)

            {

              remainder = (remainder << 1) ^ polynomial;

            }

            else

            {

              remainder = (remainder << 1);

            }

          }

        }

        return remainder_order(remainder);

      }

     

     

      uint16_t crc16ss(uint8_t const *message, int nBytes, uint16_t initial, uint16_t poly)

      {

        return crc16(message, nBytes, straight_8, straight_16, initial, poly);

      }

     

      uint16_t crc16rr(uint8_t const *message, int nBytes, uint16_t initial, uint16_t poly)

      {

        return crc16(message, nBytes, reverse_8, reverse_16, initial, poly);

      }

     

      uint16_t crc16rs(uint8_t const *message, int nBytes, uint16_t initial, uint16_t poly)

      {

        return crc16(message, nBytes, reverse_8, straight_16, initial, poly);

      }

     

  9. Yeah that's a little extra work, but more or less what I was suggesting.  If you have a VIT, and open a new reference to it, it will make a new instance that is in memory.  So you don't need to mess with copying files or generating new file names.  Just make a VIT (rename a .VI to .VIT) then pass that path to the Open VI Reference, and with the options left at 0 it should open a new reference.  If you wanted the reference to the VIT file, and not a new instance you'd use 0x02 as the option on the open.

     

    Made the VIT and it works :worshippy:  :beer_mug:  :thumbup1:  :cool:

     

    Thanks

    Bjarne

  10. Wholly crap cakes.  Why not LabVIEW 3?  If this is a legacy program I understand.  Otherwise the time taken to implement this in 8.2 would be better spent upgrading.  Seriously in 2011 there was the addition of static VI references, and Start Asynchronous calls, along with the two reentrant options, which I'm not sure when the shared option was introduced.  Oh and in newer versions LabVIEW's for loop has parallelism built in, but I'm not sure that would fit this design.

     

    That being said this type of thing has been done in 8.2 (and older).  Back then it was common to make a VI template (.VIT) then open new references to it, set control values, and invoke run using VI server.  There was added work to ensure that the VI was added to the built EXE, and that the path could be found, or at least the VI name but it could work.  As much as I hate using VITs (because they have been deprecated more or less today) I think they would work well for you.

     

    Thanks hooovahh

     

    I'v done it with Labview Server this way :shifty:

    post-7489-0-39583100-1428583195_thumb.pn

     

    I have to dive in the static VI references and Start Asynchronous calls because I also use LV2013 :)

     

    /Bjarne

     

    PS: How does a "wholly crap cake" look like :rolleyes:

  11. Hi

     

    I have a challenge on a test system.
    I have a PCB where there is an IC to be uploaded with the code.
    It takes ~5 min. per. PCB.
    To follow takt time it must be possible to program up to 5 at a time.
    It should be done in the way that the operator can start a PCB independent of the other PCBs are startet!
     
    Programming is startet and monitored as follows.
    1. The operator sets an SD card in the PCB and press start.
    2. The test opens a serial port to the board and turn on the power to the board
    3. PCB runs the programming process itself and sends information via the serial port.
    4. The test system monitors data from the PCB and act in relation to output.
    5. When the test monitor that programming is complete, it switch off the power and serial port.
     
    I have made some handling of startup etc. but are unsure of how parallelism must be inplemented.
    I have thought that it must be with VI server so I start a VI for each UUT running process in the background, but is there also a possibility with LVOOP?
     
    By the way. it has to be programmed in LV8.2.1 :oops:
     
    Thanks in advance
     
    Bjarne

    post-7489-0-02451900-1428571367_thumb.pn

    post-7489-0-49854400-1428571363_thumb.pn

×
×
  • Create New...

Important Information

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