主要内容

跟踪Stateflow元素生成的代码

Stateflow验证生成的代码®元素,您可以在您的模型跟踪Stateflow元素生成的代码通过使用这些类型的导航:

  • 生成的代码Code-to-model:追溯到模型通过点击超链接在评论或超链接行号,这突显出相应的模型元素在模型编辑器中。金宝app

  • 模型到代码:跟踪的模型元素在模型编辑器中右键单击模型元素对应的行生成的代码并导航到生成的代码。金宝app这可追溯性不支持一些Stateflow元素在代码视金宝app图。

这些例子说明如何跟踪不同Stateflow元素。

内联的可追溯性Stateflow元素

内联可追溯性指的是代码可追溯性生成的代码。您可以单击链接行号跟踪单个或多个Stateflow元素在同一时间。

  1. 打开模型。

    openExample (“old_sf_car”)
  2. 配置模型作为目标。

  3. 代码生成>报告窗格中,选择这些模型配置参数:

  4. 选择代码生成>评论>Stateflow对象的评论配置参数。该参数使Stateflow元素的可追溯性的评论。

  5. 代码生成>接口窗格。在软件环境部分中,选择连续时间。点击应用。在生成代码之前,您必须执行这一步骤,因为这模型包含一块连续采样时间。

  6. C代码选项卡上,单击构建

    代码生成过程完成后,代码生成的报告出现。

  7. 在报告中,在左侧导航窗格中,单击old_sf_car.c超链接。

  8. 查看内联跟踪超链接,滚动代码。这些行号不同的数字出现在你的代码生成报告。

    生成函数Stateflow图与shift_logic超链接图表在评论。一些行号和超链接下划线。

  9. 单击行号上的超链接190年。突出显示对应的元素。

    stateflow图与第一齿轮shift_logic元素突出显示。

双向可追溯性状态和转换

  1. 打开模型。

    openExample (“old_sf_car”)
  2. 完成步骤2到5内联Stateflow元素的可追溯性

  3. 新闻Ctrl + B生成头文件的源代码old_sf_car模型包含shift_logic图表。代码生成过程完成后,代码生成的报告出现。

  4. 在报告中,单击old_sf_car.c超链接。

查看结果

  1. 可追溯性的评论,滚动代码。这些行号不同的数字出现在你的代码生成报告。

    生成函数Stateflow图与超链接在评论中齿轮状态。

  2. 单击< S5 >: 2在这个可追溯性评论链接:

    / *在“gear_state”:“< S5 >: 2‘* /

    相应的状态在图表中高亮显示。

  3. 单击< S5 >: 12在这个可追溯性评论链接:

    / *过渡:“< S5 >: 12‘* /

    相应的转换在图表中高亮显示。从图表中的一个元素删除高亮显示,按下Esc关键。

  4. 你也可以在模型中微量元素生成的代码。在图表中,右键单击元素gear_state并选择C / c++代码>导航到C / c++代码

    该状态的代码高亮显示old_sf_car.c

    生成函数shift_logic图的评论强调齿轮状态。

  5. 在图表中,右键单击的过渡状态(速度> up_th)并选择C / c++代码>导航到C / c++代码

    转变的代码高亮显示old_sf_car.c

    生成的代码与四行状态转换了。

    请注意

    Stateflow的列表元素的可追踪的模型中,单击可跟踪性报告超链接的代码生成报告。

状态转换表的双向可追溯性

这个例子展示了如何导航中元素之间的一个状态转换表和生成的C / c++和HDL代码的可追溯性。

  1. 打开模型。这个模型已经配置为可追溯性。

    openExample (“sf_cdplayer_STT”)
  2. 新闻Ctrl + B生成头文件的源代码sf_cdplayer_STT模型。代码生成过程完成后,代码生成的报告出现。

  3. 单击sf_cdplayer_STT.c超链接的报告。

  4. 可追溯性的评论,滚动代码。可以不同于数字显示的行号,出现在你的代码生成报告。

    生成函数为一个状态转换表与超链接的评论和一些结构。

  5. 单击< S2 >: 58岁在这个可追溯性评论链接:

    / *输入内部的“:”< S2 >: 58岁‘* /

    相应的状态“上”在状态转换表中高亮显示。

    用国家强调状态转换表。

  6. 你可以跟踪状态或过渡的状态转换表来生成的代码。右键单击状态备用并选择C / c++代码>导航到C / c++代码

    输入代码的状态备用在生成的代码中突出显示。

    生成的代码与六行突出显示待机状态。

为真值表块双向可追溯性

  1. 打开模型。

    openExample (“sf_climate_control”)
  2. 完成步骤2到5内联Stateflow元素的可追溯性

  3. 构建模型,出版社Ctrl + B

  4. 在代码生成报告,单击sf_climate_control.c超链接。

  5. 可追溯性的评论,滚动代码。这些行号可以不同于代码中出现的数字。

    在评论中生成的代码与超链接。

  6. 单击< S1 >: 47在这个可追溯性评论链接:

    / *行动“3”:“< S1 >: 47‘* /

    在真值表编辑器中,第三行高亮显示的行动表。

    动作表第三行高亮显示。

  7. 你也可以跟踪一个条件、决定或行动表中的一行生成的代码。例如,右键单击一个单元格的列D2并选择C / c++代码>导航到C / c++代码

    这一决定在高亮显示的代码sf_climate_control.c

    生成的代码高亮显示为两行决定。

    提示

    选择C / c++代码>导航到C / c++代码条件,决定,或动作,右键单击一个单元格的行或列对应于真值表元素。

双向可追溯性的图形功能

  1. 打开模型。

    openExample (“stateflow / ClutchWithEnabledSubsystemsExample”)
  2. 完成步骤2到5内联Stateflow元素的可追溯性

  3. 在配置参数对话框中,去解算器窗格。在解算器的选择部分中,选择固定步类型字段。点击应用。在生成代码之前,您必须执行这一步骤,因为模型不使用变步解决者。

  4. 构建模型,出版社Ctrl + B

  5. 在代码生成报告,单击sf_clutch_enabled_subsystems.c超链接。

  6. 可追溯性的评论,滚动代码。这些行号不同的数字出现在你的代码生成报告。

    生成的代码注释描述模型中的元素。

  7. 单击< S1 >: 3在这个可追溯性评论链接:

    / *图形函数“getSlipTorque”:“< S1 >: 3‘* /

    图表,图形的功能getSlipTorque高亮显示。

  8. 你可以跟踪一个图形函数表的一行生成的代码。例如,右键单击图形功能detectSlip并选择C / c++代码>导航到C / c++代码

    图形函数的代码高亮显示sf_clutch_enabled_subsystems.c

    图形函数生成的代码与五行高亮显示。

Code-to-Model可追溯性的事件

  1. 打开模型。

    openExample (“sf_security”)
  2. 完成步骤2到5内联Stateflow元素的可追溯性

  3. 构建模型,出版社Ctrl + B

  4. 在代码生成报告,单击sf_security.c超链接。

  5. 看到这可追溯性评论,滚动代码。这些数字可以不同的数字,出现在你的代码生成报告。

    生成的代码和可追溯性的评论识别模型中的一个入口和一个事件。

  6. 单击< S3 >: 56在这个可追溯性评论链接:

    / *事件:“< S3 >: 56‘* /

    内容Model Explorer窗格,事件声音高亮显示。

    模型浏览器安全系统图在左窗格中选择和声音事件中心窗格中突出显示。

为连接模型到代码的可追溯性

  1. 打开模型。

    openExample (“ex_if_else_SF”)
  2. 完成步骤2到5内联Stateflow元素的可追溯性

  3. 构建模型,出版社Ctrl + B

  4. 在代码生成报告,打开Stateflow图表命名图表

  5. 右键单击左上的结和选择C / c++代码>导航到C / c++代码

    结的第一传出转换代码高亮显示ex_if_else_SF.c

    生成的代码过渡的两行高亮显示。

格式的可追溯性的评论Stateflow元素

可追溯性评论的格式取决于Stateflow元素类型。

状态

语法

/ * < ActionType > < StateName >》:“< elementHyperlink >‘* /

例子

/ *在“gear_state”:“< S5 >: 2‘* /

这指的是发表评论动作的状态gear_state超链接< S5 >: 2

过渡

语法

/ *过渡:“< elementHyperlink >‘* /

例子

/ *过渡:“< S5 >: 12‘* /

这句话指的是一个过渡,超链接< S5 >: 12

MATLAB函数

语法

/ * MATLAB函数“<名称>”:“< elementHyperlink >‘* /

MATLAB在内联代码®功能,评论链接到个人行函数的语法:

/ *”< elementHyperlink >‘* /

例子

/ * MATLAB函数“test_function”:“< S50 >: 99‘* /
/ *”< S50 >: 99:20‘* /

第一个评论指的MATLAB函数命名test_function超链接< S50 >: 99

第二个评论是指线20的MATLAB函数图。

真值表块

语法

/ *真值表函数“<名称>”:“< elementHyperlink >‘* /

真值表的内联代码块中,注释条件下,决定,和操作这种语法:

/ *条件“# < Num >”:“< elementHyperlink >* / / *决定' D < Num >‘:’< elementHyperlink >* / / *行动的< Num >‘:’< elementHyperlink >‘* /

< Num >出现的行或列数的真值表编辑器。

例子

/ *真值表函数“truth_table_default”:“< S10 >: 100‘* /
/ *条件“# 1”:“< S10 >: 100:8* / / *决定“D1”:“< S10 >: 100:16* / / *行动' 1 ':'< S10 >: 100:31‘* /

第一个评论指的是一个真值表块命名truth_table_default超链接< S10 >: 100

其他三个评论指,真值表的元素。每个条件、决定和行动的真值表块有一个独特的超链接。

真值表函数

语法和示例,请参阅真值表块

图形函数

语法

/ *图形函数“<名称>”:“< elementHyperlink >‘* /

例子

/ *图形函数“你好”:“< S1 >: 123‘* /

这个评论是指图形函数命名你好超链接< S1 >: 123

金宝app函数

语法

/ *金宝app仿真软件功能“<名称>”:“< elementHyperlink >‘* /

例子

/ *金宝app仿真软件功能“simfcn”:“< S4 >: 10‘* /

这个评论是指仿真软件金宝app®函数命名simfcn超链接< S4 >: 10

事件

语法

/ *事件:“< elementHyperlink >‘* /

例子

/ *事件:“< S3 >: 33‘* /

这是指一个事件发表评论,超链接< S3 >: 33

相关的话题