-
Posts
4,840 -
Joined
-
Days Won
290
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by ShaunR
-
-
16 hours ago, Jim Kring said:
Here's a new take
Here's slightly different take on that idea
>> LabVIEW Idea: Enumerated Variant <<It works with, but is not limited to, classes. It's inspired by languages like Rust (enums) and Zig (tagged unions)
If you put a Call By Reference Node in the case you've reinvented Dynamic Dispatch with extra steps.
-
1 hour ago, Rolf Kalbermatter said:
With a little extra effort in the Base Class implementation for a proper factory pattern implementation,
Booh with bells on. Hello 7 hr build time.
-
41 minutes ago, Rolf Kalbermatter said:
I may revisit my earlier attempts of writing a fully LabVIEW OOP based solution for this
Booooh!
-
1 hour ago, Rolf Kalbermatter said:
You really may be stressing LabVIEW's window management capabilities beyond reasonable borders with so many subpanels present at the same time
Agreed. Even just 100 and UI updates become a bit flakey.
-
8 hours ago, fabric said:
I've enjoyed this hack for many years, but noticed it is not working in LV2023Q1.
See here for problem description: https://forums.ni.com/t5/LabVIEW/Darren-s-Weekly-Nugget-05-10-2010/m-p/4360614/highlight/true#M1280554
They have fixed a bug, is my guess. Concatenating by using null char is a huge security smell.
Multiple file types are [supposed to be] defined by using the semicolon separator. Does "*csv;*txt" not work?
-
10 hours ago, JKSH said:
What communication protocol(s) does your digital X-ray plate use to receive commands and transmit images?
It's probably DICOM which is partially supported in the Biomedical Toolkit.
-
On 3/9/2024 at 10:36 PM, Mahbod Morshedi said:
I was just wondering about the "array with tag" or "Var attribute" since there is not much information about the latter. I am unsure if the data is more susceptible to corruption, gets lost, or if there are other complications I do not know about.
The variant attribute cannot have duplicates. If you set it, it overwrites the previous values. With the "array with tag" you can have duplicates.
- 1
-
Try
print(json.dumps(convert['test'], ensure_ascii=False))
-
1 hour ago, David Boyd said:
I hope you corrected the reentrancy settings for the two malleables in the library when you backsaved to 2021.
Nope. I just provided the back-save of your submission.
-
- 1
-
7 hours ago, David Boyd said:
are you thinking that "shared" (vs. "preallocated")
Yes. that's exactly what I am thinking (but poorly communicated). This is a common known gotcha for VI's with shift register memories (not the first call primitive per say).
It will probably only bite you when you have multiple instances and where it's being used with different CRC types with different integer lengths.
Here's an example:
sub VI set to Preallocated (what we expect-11 more than the intialise value)
sub VI set to Shared:
If you run continuously, you will see other values as different threads become available at different times.
-
Nice.
This is probably one of the only times (1 in 1,000,000) I would suggest an xnode may be preferable-and specifically for the lookup tables which should always be more performant.
With an xnode, one can pre-calculate the tables at design time based on the type and save the cost of generating the table at first run run. This will also mean that the calculation will be constant time whether first called or later. xnodes are tricky and complicated beasts so I could understand not wanting to go down this hairy rabbit hole littered with rusty nails.
Speaking of the table generation; I noticed you have the VI set to reentrant clones. I think this will be a problem when you run multiple instances as the shift registers may not contain the values you expect per instance.
-
19 hours ago, hooovahh said:
Oh but I did look up the 2023 roadmap, and unicode support was changed to "Future Development".
My takeaway from the roadmap is that they are concentrating on interoperability and relegating products to backend services. This was the direction NI were taking before Emerson but expect it's taken on a new impetus since the takeover. I expect the awful gRPC to be leading the charge so they can plug the NI products to their products. Unicode support isn't a consideration for that since the UI will be elsewhere.
-
The ini (or config file as NI calls them) are only written when the reference is closed.
You could put the flush in there but I don't think that's your problem.
I have seen this before and it is usually on a failing hard drive or one that is about to fail. NTFS has a sort of self healing which is insidious for small files (less than the cluster size) and this is the usual result of it "healing". Larger corruptions are more detectable with chkdsk.
QuoteNTFS continuously monitors and corrects transient corruption issues in the background without taking the volume offline. This feature is known as self-healing NTFS, which was introduced in Windows Server 2008.
(source)
I would take a look at the S.M.A.R.T (Self-Monitoring, Analysis, and Reporting Technology) information of your disk and pay particular attention to the write failures/errors.
-
17 hours ago, dcoons said:
also a coworker pointed out those scroll bars are likely in the same boat 😭😭
..and splitters.
It's these sorts of issues that are the reason some of us abandoned the LabVIEW UI altogether.
-
There is an "Element" property for arrays. You can get that then cast it to the element type. Then your other methods should work (recursion).
-
6 hours ago, JKSH said:
(Not to downplay the importance of standardization, but rather highlighting that it's hard. And as @VDB said the old ones will hang around for a lifetime)To be fair. Those that VDB suggested aren't really protocols, they are middleware. One is based on OPC, the other is a translation service into an API. SILA is interesting in that it's basically what CoAPs does so I think your cartoon would definitely apply there
Personally. I think they should just make all devices SCPI compliant and be done with it
-
- Popular Post
- Popular Post
On 12/9/2023 at 10:21 PM, Jack Parmer said:In particular, we're looking for feedback on how this early version of Flojoy compares to LabVIEW and TestStand
Test Stand is a test sequencer so what you have now isn't even in the same paradigm.
In terms of LabVIEW, you have some limited block functionality that could be compared to Express VI's (which we don't use). From what I can tell, It seems to be the Python version of Node Red (Javascript). It has a place but people are very quickly going to be dropped into text coding for anything more than hobbyist applications. Many people on this forum (not me) are also adept Python Developers already and I expect they will weigh in sooner or later.
If you are going to target the LabVIEW community, I would suggest you work on your videos. From what I can tell, they are pretty much:
- Plug in some wires
- Magic happens
- Trust me bro, the pretty pictures are because of the magic".
- 4
-
14 hours ago, X___ said:
but the bottom line is that NI Emulsion is apparently willing to waste the time of their tech support employees to access software installer that they were entitled to according to the initial term of their license. Until they won't?
- 2
-
13 hours ago, Rolf Kalbermatter said:
On Linux systems the ELF loader tries to search all the already loaded modules (including the process executable) for public functions in its export tables and only if that does not work will it search for the shared library image with the name defined in the linker hints and then try to link to that.
And that's another big reason why ECL won't be available in Linux. It was ok when it used the NI binaries but the switch to standard OpenSSL binaries means that the CLFN usually loads system wide binaries (even if you define a path) and there is no way for LabVIEW to use "RTLD_DEEPBIND".
-
On 11/17/2023 at 2:25 PM, codcoder said:
Both your links were good. I've found the second one, but the first was new to me. But you are right to assume that I'm looking for something less abstract. At least, that is what I want to create here—a cooking recipe of sorts.
The problem with test stand is it tries to be all things to all people. IMO, simplifying is best. I haven't used TS for quite a while but when I did, I offloaded all tests to LabVIEW and just used it basically as a script. I had a VI with command/response capabilities (via TCPIP) which meant that TS sequences were a list of operations and just sent strings to execute tests and take measurements. One nice side-effect of the TCPIP meant that you could also execute tests remotely so an operator didn't even have to be sitting next to the machine the tests were running on (quality engineers loved that they could run tests and calibrate from their desks instead of going out to the machine).
- 1
-
17 hours ago, hooovahh said:
I knew of the malaphor only because my wife does it all the time, but then insists her phrase is the way people always say it.
I had a girlfriend like that. It turned out that her father used mix metaphors for comic effect but she didn't realise and thought it was the correct metaphor. When she said "everyone says it like that" what she meant was "my family says it like that"
- 2
-
32 minutes ago, Neil Pate said:
I am pretty sure Rolf knows it is not any kind of criticism.
Not that so much but he might be right and I've been using an eggcorn for my entire life.
- 1
-
14 minutes ago, Bryan said:
I'm just now hearing of the word 'eggcorn' as well. The definition sounds like something that I have often done intentionally while talking with friends for comedic effect.
A malapropism is similar but more common for comedy because it doesn't need to make sense in context (so it's easier and funnier).
[LVTN] UI Tools
in End User Support
Posted
It's the example from MDI Toolkit for LabVIEW