08-26-2025 02:56 PM
As the title says, LabVIEW keeps saying that the element I am attempting to create a channel writer for is an array, even when it isn't. This happens regardless of what kind of writer I choose and which element I am trying to connect to.
I have attached a basic VI in which I cannot create any form of channel writer.
I am currently using LabVIEW 2018 (required by work), I am assuming there is something going on with my install but I have no idea where to look.
08-26-2025 04:25 PM
08-26-2025 08:48 PM - edited 08-26-2025 09:04 PM
LabVIEW didn't say the element was an Array -- you said it! Write Multiple and Read Multiple require Array inputs/outputs.
Although I've been using Channel Wires since LabVIEW 2015 (when they were a "Hidden Feature"), I don't think I've ever used Read Multiple or Write Multiple. These require Arrays as the basic data type to send or receive -- if you want to pass elements, use Write or Read. For example, I've passed Arrays with Stream Channels (for example, the output of a DAQmx buffer of 1000 samples at 1 kHz, i.e. a second of data), but they got passed with "Write" (and the entire array was sent as a single "element").
Can you explain your "use case" for Read/Write Multiple?
Bob Schor
08-27-2025 07:12 AM
I apologize if I wasn't clear. This is regardless of what kind of channel writer I choose.
Single write stream and all other channel writer options behave the exact same way and show the same message. This is regardless of which one I choose or which element I am trying to write from. Believe me, I tried every single kind of writer to find an exception, there are no differences at all.
08-27-2025 02:45 PM
Please attach some LabVIEW code (that's a file that has the extension .vi, and which will show the version of LabVIEW that created it). Somewhere I have code that uses Channel Wires (mostly Messenger and Stream) saved in LabVIEW 2017, 2019 and 2021. I'm travelling tomorrow, but if you post today, I should be able to say something.
But first, tell us a little bit about your LabVIEW environment.
Note that the last Bullet Point, if answered "Yes", will require some effort to repair. I've done it twice ...
Bob Schor
08-27-2025 07:44 PM
OK, I wrote a demo VI in LabVIEW 2018 and saved it for 2018 (so if you have a working value of LabVIEW 2018, this should run). I'm posting a LabVIEW Snippet of the 2019 code, and (since its a simple VI) have attached the 2018 version that was "Saved for Previous Version".
Write if something isn't clear.
Bob Schor
P.S. -- I expect the attached VI should work on a properly-installed LabVIEW 2018 system. If it fails, answer the questions I posed in my previous response, and if there is Very Bad News, I'll let you know.
08-28-2025 07:56 AM
Additional helpful information: 5 different computers on our team are all lacking the ability to create channel wires, and I have double checked that this was not somehow done intentionally; the lead developer is not aware of anything that has been disabled in LabVIEW on our computers (or if it's even possible).
I attempted to load the VI you provided, here is the result. It does load and work properly in LabVIEW 2025 on the same computer. During loading, it asked for a slew of library files that do not exist in the Data folder for LabVIEW 2018. They are present in the 2025 Data folder; it seems like LabVIEW 2018 is not generating the library files.
Every missing SubVI gives a message similar to the following when using context help.
08-29-2025 09:24 PM
I can think of a number of possibilities that might (?!?) cause your problem. You mention that the computer you tested my code on has (both) LabVIEW 2018 and LabVIEW 2025 installed. I suspect that is the direct cause of your problems.
In 2017 (I think), NI introduced the NI Package Manager as the "installer" for LabVIEW. Prior to that release,
LabVIEW was issued (and installed) from "oldest to youngest", i.e. you installed LabVIEW 2015 in August of 2015, then you installed LabVIEW 2016 in August of 2016, etc. In my case, I was working with colleagues who had installations from 2013 to 2016. If you wanted to construct a "multi-version" installation of LabVIEW, you installed the oldest version first, then newer versions.
In 2018, I tried multiple times to create what I called a "Quadruple LabVIEW Installation" -- LabVIEW 15, 16, 17, and 18. I started with a PC that had no LabVIEW installation. If necessary, I "prepared" it by going to Control Panel, Programs and Features, and uninstalling "National Instruments Software", a process that could take some time, and usually had to be repeated more than once "to get it all". [When NIPM was the installer, the first pass removed everything except NIPM, the second pass removed NIPM, then a third pass removed miscellaneous bits and pieces]. I didn't touch the Registry.
I then started installing one version at a time as though it was a "standard (old) LabVIEW installation", complete with toolkits and drivers I wanted, oldest first. I forget where it bombed out, but it was an obscure error message in 2017 or 2018. Long exchanges (with copious documentation) with Marina, my Tech Support buddy, who took my woes to the developers and came back with a radical suggestion: Install 2018 first, then 2017, then 2016, then 2015. I didn't believe her, tried it my way, it failed again, uninstalled, then tried it her way, and it worked!
This was my rude introduction to the new "version compatibility rules" for LabVIEW. LabVIEW versions were to be "compatible" for the most recent installed version and backward compatible for 5 years (so if you install 2025, it will be compatible with 2024, 2023, 2022, and 2021). Now that the "awkward" period of pre-NIPM and post-NIPM installers has passed, NIPM can install newer versions "on top of" older versions without breaking them, as long as you don't violate the 5-year compatibility. [That doesn't mean that LabVIEW 2020 wouldn't work, but it might not!]
So my current "guess" to your woes is having LabVIEW 2025 installed. Try installing only LabVIEW 2018 on a computer and see if my code runs. [Note -- I don't have 2018 installed on my PC, but I do have 2019, which is what I used to develop the demo, saw that it worked, then "Save for Previous" to 2018]. I suspect that the slew of special Library Files that you encountered (they drove me crazy, as well) are there, in part, to implement the new "compatibility" rules.
Bob Schor
Bob Schor