当启用编辑时间检查,Stateflow®编辑器检测到潜在的错误和警告当你工作在你的图表。通过解决这些问题在设计过程的早期,你可以避免编译时和运行时警告和错误。
Stateflow编辑强调对象违反编辑时间检查在红色(错误)或橙色(警告)。当你指向一个对象,并单击突出显示错误或警告徽章,工具提示显示的细节和可能的修复。
默认情况下,启用编辑时间检查和语法错误突出显示。禁用编辑时间检查,调试选项卡上,清晰的诊断>编辑时间错误和警告复选框。编辑时间检查也可以禁用使用edittime.setDisplayIssues
(金宝app模型)。
这个表列表编辑时间检查相关的诊断上的配置参数诊断>Stateflow面板的配置参数对话框。
编辑时间检查问题 | 诊断配置参数 |
---|---|
晃来晃去的过渡 | 遥不可及的执行路径(金宝app模型) |
缺省转换路径不终止状态 | 没有无条件的默认转换(金宝app模型) |
沿着这条路过渡动作先于条件动作 | 过渡动作之前指定条件动作(金宝app模型) |
过渡自然父母外循环 | 过渡自然外父(金宝app模型) |
转换跟踪 | 遥不可及的执行路径(金宝app模型) |
无条件的路径状态在行动或孩子状态 | 过渡自然外父(金宝app模型) |
意想不到的回溯 | 意想不到的回溯(金宝app模型) |
遥不可及的结 | 遥不可及的执行路径(金宝app模型) |
你可以控制这些编辑时间检查的诊断水平行动通过设置它们的配置参数的值错误
,警告
,或没有一个
。当你改变设置配置参数,相应的编辑时间检查的诊断水平也发生了改变。例如,如果您设置了遥不可及的执行路径配置参数没有一个
Stateflow编辑器,然后不突出悬空过渡,过渡阴影,或遥不可及的状态。
原子子图表包含状态的行为
问题:国家行动不支持原子子图表。金宝app
诊断水平:错误。
解决方案:删除动作或状态移动到亚态的原子子图表。
默认的过渡是缺失的
问题:图或状态与独家(或)分解和至少两个亚态或连接,需要缺省转换指示执行开始的地方。
诊断水平:错误。
解决方案:指定一个初始状态通过添加一个默认的过渡。有关更多信息,请参见默认的转换。
图形函数包含一个状态
问题:因为图形函数执行完全在一个时间步,他们必须不包含任何状态。
诊断水平:错误。
解决方案:用连接取代美国。有关更多信息,请参见重用逻辑模式通过定义图形功能。
无效的十字路口
问题:州和连接不能重叠在Stateflow编辑器。
诊断水平:错误。
解决方案:避免路口通过分离状态和连接。
监控叶或儿童心理状态活动并行的状态
问题:图表和州并行(和)分解不支持监测叶或儿童心理状态活动因为平行亚态同时是活跃的。金宝app
诊断水平:警告。
解决方案:打开属性检查器或Model Explorer。清除创建输出监控复选框或选择自我的活动
从下拉列表中。有关更多信息,请参见通过积极的状态数据监控状态的活动。
国家包含一个语法错误
问题:一个国家行动并不遵循Stateflow语法规则。Stateflow编辑器突显出语法错误用红色,波浪线。另请参阅过渡包含一个语法错误
。
诊断水平:错误。
解决方案:纠正语法错误在行动。有关更多信息,请参见状态标签。
请注意
在父图,子图表和语法错误用红色突出显示一个错误标志表明语法问题。在子图表编辑器中,语法错误用红色下划线,但没有徽章显示问题。
遥不可及的状态
问题:一个国家是遥不可及的当没有有效的执行路径导致它。
诊断水平:取决于配置参数遥不可及的执行路径(金宝app模型)。
解决方案:连接的状态从一个可到达的状态转换或结。
晃来晃去的过渡
缺省转换路径不终止状态
问题:在图或州独家(或)分解和至少一个亚态:
每条路径的缺省转换必须导致亚态。
必须有一个缺省转换路径没有守卫的条件或触发一个事件。
诊断水平:取决于配置参数没有无条件的默认转换(金宝app模型)。
解决方案:终止每条路径沿着亚态缺省转换。确保一个缺省转换路径不是守卫的条件或触发一个事件。
无效的缺省转换路径
问题:一个默认的转换路径不能退出父状态。
诊断水平:错误。
解决方案:修改默认的转换路径所以呆在父母的状态。
过渡包含一个语法错误
问题:在一个过渡,一个条件或行动不遵循Stateflow语法规则。Stateflow编辑器突显出语法错误用红色,波浪线。另请参阅国家包含一个语法错误
。
诊断水平:错误。
解决方案:正确的语法错误或动作过渡条件。有关更多信息,请参见过渡的标签。
沿着这条路过渡动作先于条件动作
问题:当过渡与转换行动是紧随其后的是一个过渡条件行动,行动不是在转换的顺序执行。Stateflow图表评估行为相关联的条件时执行条件是真实的。相反,图表执行转换操作仅当过渡路径是完全执行。因此,图表转换路径,条件的行为发生在过渡之前行动。
诊断水平:取决于配置参数过渡动作之前指定条件动作(金宝app模型)。
解决方案:把过渡行动最后一个条件后行动的道路。
转换开始或结束在一个平行的状态
问题:在图表和州与并行(和)分解,所有兄弟姐妹亚态的或不活动在同一时间。
诊断水平:警告。
解决方案:删除或改变母公司的分解状态转换到独家(或)。
过渡连接到一个盒子里
问题:状态只能连接到的转换和连接。
诊断水平:错误。
解决方案:移动或删除的转换盒。
转型跨越平行状态
问题:在MATLAB独立图表®不支持交叉并行金宝app的边界状态的转换。
诊断水平:错误。
解决方案:删除过渡进入或平行的状态。
过渡进入或退出图形功能
问题:转换不能进入或离开一个图形的功能。流程图在图形函数必须完全包含在这个函数。
诊断水平:错误。
解决方案:删除过渡进入或退出图形功能。
转型不是连接到入口/出口港口
问题:过渡并不是连接到入口或出口港口附近它的源或目标。
诊断水平:警告。
解决方案:过渡连接到端口或移动源或目标过渡到一个不同的位置。
过渡自然父母外循环
问题:如果一个过渡父源和目的地之间的状态外,图表执行退出
和条目
行动之前的父状态目的地国家变得活跃。
诊断水平:取决于配置参数过渡自然外父(金宝app模型)。
解决方案:移动的过渡,是包含在父状态。
转换跟踪
无条件的路径状态在行动或孩子状态
问题:无条件转移出抑制的执行状态在
行动在国家和默认状态儿童的转换。
诊断水平:取决于配置参数过渡自然外父(金宝app模型)。
解决方案:添加一个条件或删除操作期间和孩子的过渡状态的状态。
周期包含转换过渡动作
问题:周期不应包含与过渡转换操作。
诊断水平:错误。
解决方案:除去过渡行动或删除删除一个过渡的周期。
无效的历史结
问题:一个历史结无效的当:
中包含的历史结图表层次。
中包含的历史结与平行(和)分解状态。
历史上结是包含在一个图形函数。
中包含有多个历史连接相同的状态。
历史上结的来源是一个过渡。
诊断水平:错误。
解决方案:从图中删除历史结层次,与平行(和)分解状态,或者一个图形的功能。删除所有但一个历史结的状态。移动转换源连接结或状态。有关更多信息,请参见通过使用连接历史记录状态的活动。
结没有无条件的逃离周期
问题:结必须无条件逃生路径从一个周期状态或终止连接。
诊断水平:错误。
解决方案:从连接创建一个无条件的路径或终止连接。
意想不到的回溯
遥不可及的结
问题:一个结遥不可及的当没有有效的执行路径导致它。
诊断水平:取决于配置参数遥不可及的执行路径(金宝app模型)。
解决方案:连接无法连接从一个可到达的状态转换或结。
函数是未使用的
问题:一个函数未使用的当一个图表没有语句调用的函数。
诊断水平:警告。
解决方案:调用该函数从一个状态过渡行动或从另一个函数。
无效的使用关键字作为函数参数
问题:函数定义使用保留字作为参数。
诊断水平:错误。
解决方案:重命名函数的参数。保留关键字的列表,请参阅命名指南Stateflow对象。
入口或出口连接图的顶层
问题:入口和出口连接只在独家支持(或)状态和原子子图表。金宝app
诊断水平:错误。
解决方案:将连接到独家(或)状态或原子子图表或删除连接。
进入连接状态必须有一个无条件的路径
问题:结一个条目必须有一个过渡路径没有守卫的条件或触发一个事件。
诊断水平:错误。
解决方案:添加一个无条件的路径从入口连接状态。
入口连接必须外向的转变
问题:结一个条目不连接到一个外向过渡的道路。
诊断水平:错误。
解决方案:附加转换条目结或删除连接。
出口港口必须无条件路径状态
问题:退出港口必须有一个过渡路径没有守卫的条件或触发一个事件。
诊断水平:错误。
解决方案:添加一个无条件的路径从一个国家的出口。
出口港口必须外向的转变
问题:退出港口没有连接到一个外向过渡的道路。
诊断水平:错误。
解决方案:附加过渡到出口港港口或删除。
无效的入口或出口结
问题:入口和出口连接只在独家支持(或)状态和原子子图表。金宝app
诊断水平:错误。
解决方案:将连接到独家(或)状态或原子子图表或删除连接。
失踪的入口或出口结
问题:入境、出境港口必须有一个匹配的入口或出口结。
诊断水平:错误。
解决方案:删除端口或创建一个具有相同标签的匹配连接。
多个入口或出口连接相同的标签
问题:入口和出口连接在同一个父母必须有独特的标签。
诊断水平:错误。
解决方案:删除一个结点或改变的一个标签。
结包含一个终端连接路径条目
问题:每条路径从一个条目结必须导致状态。
诊断水平:错误。
解决方案:更换终端连接状态。
从出口包含一个终端连接
问题:每条路径从一个出口必须导致状态。
诊断水平:错误。
解决方案:更换终端连接状态。
过渡路径从一个条目结结历史
问题:从入口连接过渡路径不能连接到连接历史。
诊断水平:错误。
解决方案:删除的路径入口结结历史。
过渡路径从一个内部的过渡到一个出口结
问题:内心的转变路径不能连接到一个出口结。
诊断水平:错误。
解决方案:删除从内在的路径转换到退出结。
过渡路径条目结或退出结必须包含在父
问题:过渡路径,从入口连接或结束在出口连接必须包含在父状态。
诊断水平:错误。
解决方案:修改转换路径需要包含在父状态。
不可到达的港口或结
问题:一个端口或结遥不可及的当没有有效的执行路径导致它。
诊断水平:取决于配置参数遥不可及的执行路径(金宝app模型)。
解决方案:连接的入口端口或出口连接从一个可到达的状态转换或结。