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

1 Ansicht (letzte 30 Tage)
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()?

Akzeptierte Antwort

Sandip Kumar
Sandip Kumar am 8 Okt. 2014
In order to specify the DataTypes, try using ''double'' instead of 'double'.
Thanks, Sandip, MathWorks
  2 Kommentare
Sandip Kumar
Sandip Kumar am 8 Okt. 2014
That is a double-single quotes (instead of single quote) , in case it is not clear.
Markus Nordstrand
Markus Nordstrand am 9 Okt. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu General Applications finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by