-
Posts
908 -
Joined
-
Last visited
-
Days Won
53
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Phillip Brooks
-
Returning Python exceptions to LabVIEW
Phillip Brooks replied to Phillip Brooks's topic in Calling External Code
The creator of the class had provided an example code module that included functions with a return value tuple of (bool, str) representing function call success and optional string. I was conflating this return value in the example with an error. We modified the wrapper code module functions to raise an exception. I learned that the LabVIEW Python Node 'error out' connector handles a Python raise exception by returning an error with a code of 1671 and source string that contains the exception message ( is this documented somewhere? ) This is very nice! Now if we call a function where the Python object is in the wrong state, we get a LabVIEW error 1671 and the class exception string within the error out source (.e.g. "Failure to add measurement; test_run_state = [IDLE]"). -
I am writing a wrapper to a Python class. The class has several states and will raise an exception when a method is called that is incompatible with the current state. Are there any best practices for passing exceptions back to LabVIEW? I was thinking of using the LabVIEW error cluster as a return type.
-
-
Has anyone ever had to receive calibration / parametric data from a vendor using EDI? I personally will get the data from our internal systems but it seems that no one I've spoken to inside my company has ever had to receive serial number specific calibration data before. Right now, we get PDFs with data that we have to transcribe manually into our tests. I want to point the business / IT folks to some sort of specification but have no experience with EDI. Some spelunking returned "EDI Specification 863" which might be right by the description...
-
I'm offended! I am also ashamed... 😬
-
-
If NI starts talking about NFTs, web3 or cryptocurrency we are all finished...
-
NI is in Texas, and nothing makes sense in Texas - https://www.texasmonthly.com/news-politics/texas-abortion-law-explained/ "SB 8 allows any private citizen in Texas, or elsewhere, to sue anyone who performs an abortion in the state after an embryo’s cardiac activity can be detected. It also allows any private citizen to sue anyone (in Texas or elsewhere) who “aids or abets” anyone in getting an abortion in Texas after that period or anyone who intends to aid or abet that process."
-
Run-time translations.... anyone want this?
Phillip Brooks replied to Neil Pate's topic in Code In-Development
Pood Thai dai mai ? -
See my signature
-
NI abandons future LabVIEW NXG development
Phillip Brooks replied to Michael Aivaliotis's topic in Announcements
It seems to me that the biggest adoption stoppers I saw re: NXG were the availability of NI Toolkits that hadn't been ported. If the timescale to complete those big toolkit conversions was also going to impede expansion as a large system-solution provider, management may have asked, "If we already have the software and hardware in place today to do that, what does NXG offer long term?" -
I completely understand and agree, it just seems a bit ironic that we can't trust certificate authorities; that is there reason for existing? My company has a zero touch provisioning solution for deploying our hardware on public networks. I load our top level cert during test and then I'm done. This is done on a wired private LAN using SCP. Throw in telephony requirements like Lawful Interception and it is amazing that these devices work at all...
-
Thanks all, I've loaded and started playing with Synkron; not enough experience with it yet to decide if I will stay with it. Acronis is probably the best bet, but this is my work laptop and I don't want to spend my own money to have the same security I've had in the past. I had my laptop stolen about three years ago while travelling. When we initially added Carbonite to all systems, they told us it was full disk backups. The IT dept told me after the loss that they had purposely changed Carbonite to back up only the user folders to reduce the storage costs. My user.lib and instr.lib were lost and I had to dig up some very old manual copies and rework them all. I was able to modify the Carbonite settings on my replacement laptop and occasionally check that I still have a full backup available. So far so good, at least until we discontinue Carbonite for the M$ solution. Everyone is pushing cloud-based services backups with subscriptions, but I did find after digging around on the Acronis site that they still sell a perpetual one-time license as well.
-
My company has decided to save money and switch from full Carbonite backups of our systems to some sort of M$ Office Cloud feature that only backs up our documents under our users. Apparently there is no option to support anything outside of the /Users folders I've decided to connect a USB-C 3.2 drive to my Dell dock and use that as a local backup device. Windows backup sucks. Anyone have a good suggestion for a reliable incremental backup utility?
-
12 years experience required for something that has existed for 6. https://twitter.com/bobtoovey/status/1283393442471653376?s=20
-
Something to consider... If the Tripp Lite software Power Alert software is installed on the same host, it may be preventing VISA from reading and writing. If you're trying to monitor the state of your UPS from your application, you could try this https://forums.ni.com/t5/Example-Code/NET-PowerModeChanged-Notifier-Monitor-your-UPS-or-Laptop-Power/ta-p/3493249?profile.language=en
-
LabVIEW NXG Feature Parity to LabVIEW "Classic"
Phillip Brooks replied to lvb's topic in LabVIEW General
-
I had a case years ago where I needed to create a solution that would receive three UDP streams over three distinct Ethernet wires on a single LabVIEW station at 100Hz. I used queues to receive the data and used VI server to start three processing loops that read from each queue. It worked fine. The second requirement was to optionally receive a single stream at 1200 Hz. There was no hardware at the time to send the data to my application. I struggled for a while, and finally used a NI-6509 DIO board in a second computer that was connected to a function generator. I used a timed loop that was triggered by an input to the 6509. I interpolated a 16 hour 100 Hz log to create a 1200 Hz data set. I used the function generator with a square wave to trigger a timed loop that sent the UDP data. My application logged the high-speed data with no data drops; the only thing I needed to do was increase the UDP receive buffer size on the application side. You can definitely get there, but will need some timed hardware resources.
-
The native LabVIEW Unflatten From JSON Function might be of use. I used a Salesforce REST API that returned JSON. There were numerous string and numeric fields that returned as NULL. If you use the native LV function and change 'default null elements?(F)' to true and set 'enable LabVIEW extensions? (T)' to false, you can get the default values assigned in your input type & defaults cluster. https://zone.ni.com/reference/en-XX/help/371361R-01/glang/unflatten_from_json/
-
We should be getting TLS support based on this: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/SSL-TLS-Support/idi-p/3314187 Maybe 2020 is the year!
-
How many tons of coax, cat5 or fiber have YOU buried inside a test fixture / station?
- 1 reply
-
- 1
-
I contributed a GZIP compress/decompress function on the NI forums many years ago. That function used a MemoryStream instead of a file. I added the .NET reflection functionality from above to the original decompress VI based on a MemoryStream. https://forums.ni.com/t5/Example-Programs/GZIP-compress-uncompress-of-string-using-NET/ta-p/3507908
-
Speed up loopback adapter
Phillip Brooks replied to Cat's topic in Remote Control, Monitoring and the Internet
Many higher-end NICs offer a fetaure called a TCP Offload Engine. These NICs perform much of the processing that takes place on the CPU. That may be the difference here. https://en.wikipedia.org/wiki/TCP_offload_engine