Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Mellroth

  1. Thanks for the reply, the thing for us is that the customer needs ZMQ (ZMTP) on a Pharlap-based cRIO (no inter-process stuff). We are essentially evaluating our options; either implement in pure G, or recompile for Pharlap and change the wrapper VIs to handle this. Any chance you could share the G code? /J
  2. I know this is a really old thread, but I just saw Darins post about implementing ZMTP in LabVIEW. Was this a native LabVIEW implementation or did you use a wrapper around the ZMQ windows DLL? /J
  3. I might misunderstand what you are trying to do, but do you really need the GUID conversion? Once you get to the BuildSpecs and its OwnedItems you can query each OwnedItem for the TypeString. This typestring is different depending on if you have a build script that is EXE, Source Distribution, Zip etc., but you can cast any of them to BuildSpecification. /J
  4. First of all, thank you for posting this I've used this in a couple of internal projects, and doing so I've seen and fixed a few issues. The changes are: * Fixed Dispose Notification Icon.vi so that it correctly removes the tray icon even if error * Updated Set Tray Icon (string).vi so that you can have any image type stored as string on your block diagram * Updated Set Tray Icon (string).vi VI description to reflect this change * Added basic error handling to the example (dialog and clear) The changes were made in a later LabVIEW version and backsaved to 8.6. /Jonas NotifyI
  5. I think it is the Linux based cRIOs that come without FTP enabled.
  6. I use TortoiseSVN exactly like this, I only want to point out that the main reason I press cancel and then save again is that this prevents me from saving over another file by accident. You set this up in the TortoiseSVN client configuration file. 1. Enable auto props (uncomment ###enable-auto-props = yes) 2. add a line at the end of the [auto-props] section that reads *.* = svn:needs-lock=True You can also have a pre-commit hook set on the server to detect if any commited file lacks the needs-lock property. /J
  7. Just a bit of warning regarding the built-in json methods. If you flatten a cluster containing a string with \00 characters in it, it all converts nicely to json, but the built in functions fails to convert the strings back to the original value. The reason is probably that the json parser stops decoding the UTF8 encoded string at \00 (IMHO this is clearly a bug since strings are not NULL terminated in LabVIEW). /J
  8. I think I would argue that the LabVIEW RMS calculation is more correct; if you want to get the same reading as the DMM, you would have to estimate your data to be a clean sine-wave (or calculate the RMS over more periods). /J
  9. Maybe I'm stating the obvious, but if you develop on LabVIEW for Mac, you use the command-key + the short cut, but when you switch to the virtual machine you will have to use the ctrl+shortcut instead. In the link Hooovahh gave you (https://lavag.org/to...ing-in-labview/) you can find a solution for ctrl-key shortcuts not working in the Virtual machine. /J
  10. On my MacBook Pro, I use a number of Virtal Machines running with VirtualBox regardless if I boot MacOSX or Windows. The only issue so far has been that one USB device driver failed to load in the Virtual machine. /J
  11. I do all my development on a MacBook Pro in Bootcamp and VirtualBox, and I have yet to find something that doesn't work in LabVIEW for Windows. The only thing I've found that doesn't work all the time, is that USB access in virtual machines can be a bit shaky. But, this seems to be more related to VirtualBox than the MacBook. /J
  12. Thanks for the comments Yair, sorry for the delay in response. The WireQueue service is mostly intended for Live data monitoring, and the data posted online is defined by the user of the LabVIEW API. Videos and more information are in the works. Since it is an open beta we expect the phone interface to change a lot while we get comments from users, but the Andoid app is available on AndroidMarket, and the iPhone app should be available within 24h. We have discussed to open up a public test account sometime after NIWeek, but have not decided on which parts we can make public (read a
  13. WireFlow enters the world of IoT! Today we are proud to announce an open beta of WireQueue; our cloud based service that allows customers to build secure IoT solutions for data logging, monitoring and control of LabVIEW/LabVIEW RT targets. The WireQueue system consists of: a LabVIEW driver that makes it easy to exchange messages with other clients, monitoring apps for mobile devices and a cloud based server. WireQueue uses open standardized protocols and all communication is secured with SSL/TLS. Sensitive commands can be further protected with hardware authentication using WireFlow dong
  14. At the moment I don't think you can. It is my understanding that EtherCAT requires the Slave ethernet interface to be more advanced, because it is the slaves that manages the us synchronization between nodes etc. So in order to get a PXI chassis to be an EtherCAT slave a special network card would have to be used. I think there was a third party library posted on NI.com that allowed you to interface the beckhoff modules, but I don't remember if it was also possible to use for this scenario. /J
  15. I'll try to dig up my old code that does just this. Finding all Copyright notices on the FP of all OpenG VIs was quick, the problem was how to present this to the end user. If each VI has a © notice, does that mean we have to list the copyright for each VI, or just to find all contributors in the code and acknowledge them? Regardless I think it is in the interest of OpenG to define how to acknowledge the contributors, and thus add a VI that returns this information. And, I very much prefer to have a tool that scans the hierarchy for © text than manually have to remember to scan the VIPM
  16. The copyright notice (and licensing) on the package itself might be different from some of the VIs in the package, and If I use a single VI, I still have to check all subVIs to comply with the BSD license. I have also thought of writing up a simple little VI that scans the hierarchy and produces a OpenG license file, this VI could then be called as a Pre-build step to add the correct attribution to the built application. Actually, I think OpenG should have this VI at the very top of its hierarchy, and the let it return the licensing info as it should be. /J
  17. One of the reasons we don't use OpenG in production code is that we find it hard to get all license information required by the BSD license, since different VIs and groups have different authors and thus requires different attribution. Each time a new OpenG VI is added we basically have to check its FP to find the author and add a separate CopyRight message if that author is not already attributed. /J
  18. I know this was an issue with LabVIEW 2010, but got the impression that it was fixed in later versions?
  19. What if you use "Get VI Dependencies", with commented diagram disabled, on all VIs. Put each dependency in a variant lookup, and then you should be able to return all callers for a specific VI from the Variant lookup. /J
  20. The documentation is only bad if you don't go to the original source... Right clicking to toggle Conditional Symbols would be very nice indeed, but I think one problem would be that the valid range is not specified anywhere. The conditional disable symbols only define strings and it is up to the code to handle the correct case etc. But I guess it would be quite easy to make a project provider that defines valid ranges that could be selected using right-click /J
  21. When we talked about it I had multiple LabVIEW versions installed on my dev machine, but since then I've moved on to use separate VM's for the different LabVIEW versions. I do still have one laptop with multiple LabVIEW versions, used occasionally for building old SW packages, and this tool is very handy to have. /J
  22. I'm not sure it applies to your problem, but using a Strictly typed Static VI reference as an input the the Open VI reference has been a big problem for me leaving all kind of processes running in the background. The workaround has been to replace the Strict VI reference with a strict-constant, and use a non-strict reference to get the VI name/path. This workaround also applies to Actor Framework since I believe it uses the same design as the OP. /J
  23. I've used the timed loop many times but never really paid any attention to this (and never had the need to either). /J
  24. I've never seen the Actual Start return other than a local timer value. It should start at 0 (or the offset you specified in the loop setup), then increment with the specified loop delta using the current timing source as timing unit. How do you do the conversion to an absolute timestamp? Adding timer value to a loop start timestamp? /J
  • Create New...

Important Information

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