Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by sam

  1. 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..
  2. 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
  3. 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
  4. 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
  5. For individual characteristic such as color you are better off with what you have. But if you want to have a global setting for all plots such as point size, Show/hide, etc. you can hide the legend and create your own control. You can programmatically iterate thru all your plots and change each plots feature based on your own UI control.
  6. 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 👍
  7. 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
  8. @Gribo, The diagram you sent and diagram of the cable have the information to cross link and find the pins. 🙂
  9. @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.
  10. 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: 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-? 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 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.
  11. 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.
  12. 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.vi
  13. sam

    LabVIEW Feud

    Done. Some of them questions were not an instant/off the cuff answers.
  14. I've been surprised today with one of the LabVIEW's most useful functions (imo) which I use all the time. After so many years and only now seeing this behavior/feature. I thought I share it 🙂 I've always used an empty array of N-Dim for my desired type input. only to accidently find out today that I can also use a scalar for the type. ha!
  15. Indeed you've been a key resource for most of the functionality that I hold in high regards within LabVIEW. I wish you all the best in your new role.
  16. Not knowing if using combo box is good or not, maybe you want to try it this way:
  17. 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 .
  18. 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
  19. 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.
  20. 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. 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. 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. 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. No debug or live-tools for interacting with a Slave. 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.
  21. 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. Simple subVIs with more connector pane wired. Dynamically called subVIs Classes/Objects more complex diagram functions. Loops,events,Qs,.Net Assemblies, etc. Much more complex projects. example 5k-10k subVI. Projects with Realtime components. also bug fix: at 12:57. the numeric values show "1,1" instead of "1".
  22. I found gitExtensions to be very good too. http://gitextensions.github.io/. If you coming from HG, this maybe a good choice to try.
  23. sam


    Yes, I was very committed to HP48, wrote many programs and games back in the day, which can still be found. I still use it daily, but as emulator on my Android. here is how: green shift -> units (#6) hit next couple times to get to Angles menu (top row of buttons) choose your deg Angle enter number hit degree menu at top you can hit enter to make a duplicate to convert a unit to another purple shift -> desired unit. this takes the top stack and converts (replaces the stack) hence I like to make duplicate.
  24. I Tried looking at your code but there are some missing functions that I can not run it. Mainly You have used LabVIEW add-on toolkit that everyone may not be using.: somewhere you have used Mathscripts: Looking at the scripts : can you use PureG or even "Formula Node". There are some links to office toolkit. Lastly, have you looked at Python, and more importantly LabPython? what is it that MView offers over-beyond LabPython? I ask because I'm interested..
  • Create New...

Important Information

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