Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


sam last won the day on January 23

sam had the most liked content!

Profile Information

  • Gender
    Not Telling

LabVIEW Information

  • Version
    LabVIEW 2019
  • Since

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

sam's Achievements


Rookie (2/14)

  • Conversation Starter Rare
  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done

Recent Badges



  1. 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.
  2. 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
  3. sam

    LabVIEW Feud

    Done. Some of them questions were not an instant/off the cuff answers.
  4. 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!
  5. 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.
  6. Not knowing if using combo box is good or not, maybe you want to try it this way:
  7. 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 .
  8. 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
  9. 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.
  10. 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.
  11. 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".
  12. I found gitExtensions to be very good too. http://gitextensions.github.io/. If you coming from HG, this maybe a good choice to try.
  13. 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.
  14. 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.