LabVIEW Array Of Strings

9 posts / 0 new
Last post
Offline
Joined: 11/26/2017
Posts: 2
LabVIEW Array Of Strings

I'm very new to DDS for LabVIEW (and in general). Am I right in saying that LabVIEW string arrays are not supported? Seems if I try to use one, all the Vi's that are generated are generated in an unexecutable state

Keywords:
sara's picture
Offline
Joined: 01/16/2013
Posts: 98

Hi Liam,

As you can see in the Getting Started Guide of the LabVIEW toolkit[1]. There are some limitations in the types supported by the toolkit. Some of them, like the array of strings, are due to limitations in the API to access LabVIEW data from functions in C/C++. 
As of today, you would need to workaround the usage of array of strings, but we are working with NI to fix that limitation. A possible option would be to create a cluster that contains multiple strings. Or to use arrays of octets. I know it is not ideal.

Let us know if you have additional requests.
All the best,

Sara

[1] In LabVIEW, click Help --> RTI DDS Toolkit --> Open Getting Started Guide... (pdf) . You can also found it online: https://community.rti.com/static/documentation/connext-dds/5.3.0/doc/manuals/labview/RTI_DDS_Toolkit_GettingStarted.pdf

Offline
Joined: 08/24/2018
Posts: 1

Are arrays of strings still a problem currently?

Ismael Mendez's picture
Offline
Joined: 07/03/2017
Posts: 14

Hi Josh,

Arrays of strings aren't supported yet. As my colleague Sara said, we have some limitations in the types supported due to the API limitations. We are working on it. As an alternative, you can use an array of octets instead. 

Regards

Ismael

Offline
Joined: 09/06/2018
Posts: 3

Arrays of clusters are not listed as supported, either.  Is this also something that is being worked on?  Do you have any suggested workarounds for these more complex array types?

Offline
Joined: 09/06/2018
Posts: 3

Additionally, is there any limitation with the Toolkit specific to usage of optional members within IDL?  I didn't see anything mentioned in the Getting Started Guide, but just want to make sure.

Ismael Mendez's picture
Offline
Joined: 07/03/2017
Posts: 14

Hi Ray

We're currently considering arrays of clusters support for the next release of the Toolkit but we can't commit any release timeline yet. If you are interested to discuss this topic further. We'll be happy to arrange a meeting with you.

In the meantime, as a workaround, you can use separated arrays instead of an array of clusters. For example. If your cluster has three numerical members, you can have three different arrays of numbers.

Regarding IDL file generation and optional members. They are not supported. We are aware of this limitations and studying possibles approaches.

Regards

Ismael

Ismael Mendez's picture
Offline
Joined: 07/03/2017
Posts: 14

Hi Ray

Another workaround, in case you are communicating with an external application not written in LabVIEW. Is to use a Routing Service Adapter that acts as an intermediary and maps arrays of cluster coming from your external application into separated arrays and vice versa. This also works for optional data. Optional data can be mapped into non-optional (and filled with some default value) by the Routing Service adapter, so it can match with the LabVIEW DataReader/DataWriters.

Regards

Ismael

Offline
Joined: 09/06/2018
Posts: 3

Alright, thanks for the clarification Ismael!