Using set_param to change parameter DataTypes in Packet Input block does not work.

4 visualizaciones (últimos 30 días)
I am using the block Packet Input to receive CAN messages.
I have several of these blocks and I can change the parameter Sampletime by using this command:
set_param('.../.../Packet Input','SampleTime', '0.01')
However, when I want to change the parameter DataTypes it does not work:
set_param('.../.../Packet Input','DataTypes', 'double')
I get this error:
"Non-string expression where a string was expected."
Even though both parameters have the same properties:
>> ans.SampleTime
ans =
Type: 'string'
Enum: {}
Attributes: {'read-write' 'read-only-if-compiled' 'link-instance'}
>> ans.DataTypes
ans =
Type: 'string'
Enum: {}
Attributes: {'read-write' 'read-only-if-compiled' 'link-instance'}
How do I set the DataTypes parameter in the Packet Input block via set_param()?

Respuesta aceptada

Sandip Kumar
Sandip Kumar el 8 de Oct. de 2014
In order to specify the DataTypes, try using ''double'' instead of 'double'.
Thanks, Sandip, MathWorks
  2 comentarios
Sandip Kumar
Sandip Kumar el 8 de Oct. de 2014
That is a double-single quotes (instead of single quote) , in case it is not clear.
Markus Nordstrand
Markus Nordstrand el 9 de Oct. de 2014
Aha I see now. It was almost right, in order for Matlab to interpret a single quote as a sign I have to write '' according to this, which means that if I want to send the string 'double' to the packet input parameter setting, I have to use '''double''', aka tripple single quotes.
This works! Thank you very much for the input!
/Markus

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by