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

조회 수: 1 (최근 30일)
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()?

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 General Applications에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by