Jump to content

sam

Members
  • Posts

    143
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by sam

  1. I had issues with 2023Q3 64/32 build , that would just crash when a build started.   

    Turns out when deleting a file the project still had the file list (missing item)  probably project file wasn't saved after removing the file , ...  

    Once I removed the missing item from the project , in this case the missing was in the main tree not the dependency or in memory section.

    Anyway, maybe this would help, took me a minute to find it because in my case mass compilation also crashed LabVIEW.

    • Like 1
  2. you can use the following

    1: Flatten to string will give you a binary representation.  Much more smaller, faster, dare I say accurate where numbers are conserned.   But not human readable, you may have to convert it to base64 if you're doing url encoding etc.

    2: flatten to xml.   slower, larger, human readable.  take care that numbers with decimal places

    3: Flatten to json.  similar to xml, lesser is size, easier to read for some people

    4: do your own, but I'd not recommend it..   

     

  3. 5 hours ago, dipanwita said:

    yes, I have installed LABVIEW 2017 before NI-CAN 17.0. I run quite a few times the CAN file to check if everything fine or not. but I do not find CAN palette or even examples under Find examples. Another point is there is no lib file present in NI-CAN installer.  What should I do now? What would be a solution.

    Other's have repeatedly answered your question that you need to look into ni-xnet.

    So let me ask you another way,  what is your CAN hardware?  Is it from NI or another part?   Please list their model and identification so we can make sure you're using the right drivers

  4. 1 hour ago, Neil Pate said:

    So according to the link it seems it does work as long as you have 2021 installed, right?

    Not in my case,. I installed LabVIEW 2021 64bit (maybe 32bit?  I honestly forgot and don't have access to double check) .   Didn't try the 2021 32bit or visa versa

    I just used the new 2021 and then moved the new created VIs to my project in 2023

  5. You can create a copy of your LabVIEW.exe in same folder and with each instance of exe all loaded libraries and classes will be excluded.  I sometimes do this to quickly check a code project and I don't want to affect my already opened code and don't /can't close my work.

    Eg.  LabVIEW.exe, LabVIEW_2.exe, LabVIEW_3.exe.    note duplicate the ini files with same name pattern.   (I don't know if this is known trick or not).   I don't know how it affects license etc ... 

    This is a similar exclusions as loading multiple projects on same exe but take it to process exclusion.

    To be honest I don't know if this will help your use case or not, maybe ....  Try it and let us know 👍

  6. This last month, I installed LabVIEW 2023Q1 64bit and here are my experiences so far.  My experiences has been the same on my laptop and on a PXI system so I'm confident to a degree it's not a hardware problem.

    1: When creating an Override VI, the new VI has the default Untitled 1 icon.  The icon from the VI of parent class is not transferred.  I've reported this as bug to NI and they confirmed it, except that they are not committing to any hot fix yet.   I've not tested the 2023Q1 32bit.

     

    2:. Class Corruption.   On average,  I've encountered daily a failed to load class because the class definition is corrupted.  I use git so reverting the .class file is an easy fix.  Any new class properties or changes is obviously lost.

    3: Insane VI objects, are encountered and easily recreated.  Perhaps this happens to me easily mainly due to my habits of programming.   I tend to drag and drop controls and indicators , or code between VIs.  I've noticed that sometimes after I finish the drop the object is not shown on block diagram.  This "not dropped object" will cause the entire VI to be flagged as Insane Block diagram.    Problem is that I've not noticed the problem and thought maybe the drag & drop event was my fault by me letting the mouse early.  Obviously all work on the VI is lost.

    4: LabVIEW sudden crash.  Self explanatory.  LabVIEW just disappear and is offloaded.  Sometimes a new LabVIEW instance will not relaunch if I open it by double clicking on last project.

    I'm going to switch to LabVIEW 2022Q3  or 2023Q1 32bit for now.  I'd be very interested to know if anyone else has had this experience or not.  

    Edit:
    Adding new items:

    5:  Express VI code generation doesn't work.   I use Daq Assistance normally to start up a new task and generate some initial code.   NI seems to know the issue, but for 2022 Q3

    https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q0000019gTMCAY&l=en-CA

     

     

     

  7. @GriboThanks for responding, I've seen this diagram , it's the relay naming and connection of pxie2525 which doesn't relate on how it's broken out to 1:4 cable going to four terminal boxes.   

    The task of ohming out the connection is impossible task. I've even tried to programmatically find the pins which I've been successful on few but not all.

    Im hoping someone else has already seen or worked on this and can help out.   The setup is rare but not too rare as it's a classic switch dmm combination.

    Thanks though.

  8. I've been trying to figure out connection details of my NI switch hardware and the connections terminal.  Unfortunately I have not been able to find the answer by going thru all the provided documentations , google , and forums.    The most significant information is missing from all documentation, I'm hoping someone can help me out.  I've tried to ohm out man possible combinations.  

    • Questions:
      1. Question:  Based on the hardware listed below,   on the Terminal TBX50 (Card splits to 4 terminal blocks), which terminal pin is com0+, com0-,  com8+,com8-?
      2. Question:  In the Topology below, on Terminal TBX50  which pins correspond to  ch0..ch31  and ch32..ch63

     

    • I have PXIe-2525 NI Switch, plus a cable that goes from the card to 4x 50-pin terminal boards (NI-TBX50).
    • The Switch is configured as a 2-Wire Dual 32×1 Multiplexer Topology

     

    image.png.b5d260a94d81a8d06724c14f17492fef.png

    Making a Connection

    When using the NI 2525 as a 2-wire dual 32×1 multiplexer, the positive leads of the first bank (ch0+ through ch31+) route to com0+, and the negative leads of the first bank (ch0– through ch31–) route to com0–. The pair com0+ and com0– is addressed collectively as com0 in software. The second bank follows a similar routing scheme.

    image.png.ee2b1687737dea5e70b6104daf02e07e.png

  9. Since you're communicating with already existing devices, your work is much easier.  Any CAN capable device can communicate via CANOpen.  There's no magic there so to speak, CANOpen is a comm layer on top of good old CAN. 

    anything you are okay and have on have will be fine.  

    • Thanks 1
  10. Quote

    Does a Property Node, with multiple Properties set, execute as a single action, without a parallel Property Node executing in the middle?   If so, then resetting the Active Plot in the second Property Node in the bottom loop would prevent any race condition.

    if you encapsulate the actions in a single subVI (non reentrant) then you can avoid any race condition.   The answer to above question is a property nodes that are stacked each run in series .  There's no difference besides Block-diagram horizontal saving  from when you individually place them.  You can even right-click and choose ignore errors inside Node, which I would not recommend.

    Plot.Property change.viimage.png.c23045f2998b315ae4486ec370f747bb.png

  11. Hi Mahbod,

    Why do you even want to use LabVIEW?  What I'm getting it is we need to know your requirement and train of thought better to help in "detail".  Here are some ideas to get you started.
     

    • Use C as dll and have LabVIEW as overall programming language
    • Use Python as script and have LabVIEW as overall programming language
    • Use LabVIEW as script and use Automation ActiveX from other languages to call LabVIEW.  many examples if you google it
    • use Dot NET, C# .  coming back to my first question.  DAQ or any HW access is not going to be an issue. so ...

    you see so many different ways are present but details matter .

  12. Couple of years ago I was working with SREC files, but I only needed to import them.  Initially I used LabVIEW but switch to C# as it was more suited.  This is only the import part, maybe it can get you started (reverse the process?, idk).  

    as Rolf said, my concern was only import and my project requirement and then switched to C# anyways, the only thing I tested was making sure both my LabVIEW and C# were doing the import the same way. 

    Parse SREC File.vi

     

    • Thanks 1
  13. Maybe this will help.  there's a .net class you can easily call from LabVIEW.  There's no need for polling either.  You will get an event then your callback VI can handle the event

    FileSystemWatcher Class (System.IO) | Microsoft Docs

    COPYING AND MOVING FOLDERS
    Event Handler        Events Handled                           Performs
    OnChanged            Changed,                                     Created, Deleted    Report changes in file attributes, created files, and deleted files.
    OnRenamed           Renamed                                      List the old and new paths of renamed files and folders, expanding recursively if needed.

     

  14. Hi Zofia,

    In short NI's implementation of EtherCAT functionality is not on par with other NI tools as I've experienced.    I'll try to explain on this as best I can.  

     

    1. NI only Supports CoE, CANOpen over EtherCAT.  This is just fine as I (perhaps most devs ) has CAN/CANOpen experience.    This is not an issue as I stated but I thought to add just so we know that we are talking only about CoE in following points below.
    2. NI's Server implementation is not ready for Non-NI hardware.  It seems the server was solely designed with other NI-Slaves in mind.  
      • Connection to Slave devices either succeed or fails.   The ones that fail show no indication the reason for failure.    A connection to an inverter took me three weeks because of this lack of feed back information.  Contacting NI support was not so helpful as it seems NI AE are not very familiar with EtherCAT.    I asked the AE if they can some how get access to lower layers to know why we could not connect.    If there's a failure connecting to slave devices we need to know the reason.  Obviously there is a series of checks and balances that return a false.  what exactly caused this check to be false.
        • First reason we found out from AE was that the ESI (XML slave information) was a multi-level document, and NI only support a certain type.  Why could we not get that information when importing the XML?
        • Second reason was in process of changing the XML slave information to a format that NI prefers, we did not update the version.    Again we failed to connect but didn't know why.  The failed connection is exactly the same as these two problems.  
    3. The CoE is partially implemented.  There is programmatic SDO read (via invoke node).  Bur there's no PDO.    Only way to get PDO to work is editing the XML file.  Why?   I guess this is related to scan engine, but if there's anything  I'd like is have PDO read/write functionality same as SDO.
    4. No debug or live-tools for interacting with a Slave.
    5. No Windows version.  I know that we need RT OS for EtherCAT but for development we could/should be able to use our dev PC/laptop.   This is possible, and I can refer you to free software like EC Engineer can run on Windows (without RT clock ) and Open Source projects can do Windows SOEM

     

    I hope this helps, as I'm just going of my memory.  I'd be happy to discuss this further as CoE is an important communication bus for now and future.

     

     

     

    • Like 1
  15. nice demo.  Well done.

    I appreciate the works and your passion for your work.  I know you are showing this as proof of concept and it is great work and progress so far.   It maybe helpful to think of these points below while you are doing your LabVIEW RE.   

    1. Simple subVIs with more connector pane wired. 
    2. Dynamically called subVIs
    3. Classes/Objects
    4. more complex diagram functions. 
      1. Loops,events,Qs,.Net Assemblies,  etc.
    5.  Much more complex projects.  example 5k-10k subVI.
      1. Projects with Realtime components. 

    also bug fix:  at 12:57. the numeric values show "1,1" instead of "1".

×
×
  • Create New...

Important Information

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