From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Veristand 2015 - Model interface toolkit - Matlab Bus array error

Hello all, I'm using Veristand 2015 Model interface toolkit in Matlab/Simulink (r2013a) to generate DLLs for PXI.

My model uses bus arrays as input/output (i.e. an array made up of buses).

 

I'm getting the following error

 

Error: File: C:\VeriStand\2015\ModelInterface\tmw\codegen\NiCodeGenBusLib.tlc Line: 101 Column: 17
The left-hand side of a . operator must be a valid scope identifier

 

if and only if an input/output port is defined as a bus array. This error disappear once I use simple (scalar) buses confirming that is to use a bus array to cause the problem.

I attach a sample model, with and without the error.

I've already tried code generation toward other targets (ert.tlc, or even mex target) and I get no problems.

 

Thanks in advance to anybody who has an idea on what is causing this problem and how can be solved.

BR

Message 1 of 9
(6,189 Views)

Can you please post a screenshot of the model for those that does not have Simulink?

Thanks

0 Kudos
Message 2 of 9
(6,164 Views)

Please find attached the pictureof an equivalent model that is giving the same error.

Notice that I installed a previous version of Veristand/MIT (2013 SP1) and I get the same error as with version 2015.

Thanks, BR

0 Kudos
Message 3 of 9
(6,146 Views)

Thank you for reporting this. I filed CAR 549737 to R&D for further investigation. Currently I don't know of a workaround that will allow you to use bus arrays.

Jarrod S.
National Instruments
0 Kudos
Message 4 of 9
(6,133 Views)

Thanks Jarrod for having opened the ticket.

 

Just wanted to give a brief background to this problem/use case: I'm dealing with a number of devices with several sensors onboard each.

Every device is represented in the communication bus by a structure with those structure having fields corresponding to sensors' readings.

The structures are multiplexed into a structure array.

Is therefore mandatory for this implementation to use Simulink Bus array (i.e. array of structures).

Thanks again,

BR

0 Kudos
Message 5 of 9
(6,112 Views)

This is good information. Thank you. I would encourage you to contact support regarding this issue to help you track progress on it from our side.

Jarrod S.
National Instruments
0 Kudos
Message 6 of 9
(6,109 Views)

Any updates to this?  Getting bit by what appears to be lack of support for arrays of bus objects as well.

 

Thanks,

Paul

0 Kudos
Message 7 of 9
(4,265 Views)

I'm also having this problem and am dead in the water. Is there a solution to this? Does anyone know of a TLC hack that a user can manually add to the target TLC to get around this?

 

This is an urgent and major problem for me. Any help/guidance would be appreciated!

0 Kudos
Message 8 of 9
(3,986 Views)

Hi Southern_Cross,

 

I took a look at the CAR and this was fixed in the 2015 SP1 release.  There's a good chance that we modified the TLC file, but I'm not sure what those modifications were.  Upgrading to SP1 should get you up and running using bus arrays in your models and since it's a minor release you won't have to recompile any custom devices/add-ons you might be using.  

Matt | NI Systems Engineering
0 Kudos
Message 9 of 9
(3,974 Views)