同步状态的广播事件

定向活动广播
你可以直接将事件从一个状态广播到另一个状态,以同步同一图表中的并行(AND)状态。以下规则适用:
在事件广播期间,接收状态必须处于活动状态。
一个图表中的操作无法将事件广播到另一个图表的状态。
与无定向广播相比,使用定向本地事件广播有以下好处:
防止模拟过程中出现不必要的递归。
提高生成代码的效率。

使用send定向本地事件广播

带send的定向本地事件广播的格式为:
send(event_name,state_name)

其中event_name被广播到state_name和层次结构中该状态的任何子代。发送的事件必须对发送状态和接收状态都可见(state_name)。
state_name参数可以包含状态的完整层次结构路径。例如,如果状态A包含状态A1,则通过以下广播向状态A1发送事件e:
send(e, A.A1)

以下定向本地事件广播的示例使用send(event_name,state_name)语法。
在这里插入图片描述

在这个例子中,事件E_one属于chart,对A和B都可见。
这时候把E_one放在整个chart下面。
在这里插入图片描述

使用限定事件名称定向本地事件广播

使用合格事件名称的定向本地事件广播的格式为:
send(state_name.event_name)

其中event_name被广播到state_name和层次结构中该状态的任何子代。您发送的事件必须对发送状态和接收状态都可见(state_name)。
state_name参数还可以包含接收状态的完整层次结构路径。不要在state的完整路径名中使用图表名称。
以下示例显示了在定向本地事件广播中使用限定事件名称。

在这里插入图片描述
在这个例子中,事件E_one属于状态B,并且仅对该状态可见。记住用这种方式的时候E_one必须放在状态B下面,而不是chart下面。
在这里插入图片描述生成代码如下

void demo_1_step(void)
{/* Chart: '<Root>/Chart' incorporates:*  Inport: '<Root>/In2'*//* Gateway: Chart *//* During: Chart */if (demo_1_DW.is_active_c3_demo_1 == 0U) {/* Entry: Chart */demo_1_DW.is_active_c3_demo_1 = 1U;/* Entry Internal: Chart */demo_1_DW.is_active_A = 1U;/* Entry Internal 'A': '<S1>:16' *//* Transition: '<S1>:2' */demo_1_DW.is_A = demo_1_IN_a1;/* Outport: '<Root>/Out1' incorporates:*  Inport: '<Root>/In1'*//* Entry 'a1': '<S1>:1' */demo_1_Y.Out1 = demo_1_U.In1 + 100.0;demo_1_DW.is_active_B = 1U;/* Entry Internal 'B': '<S1>:13' *//* Transition: '<S1>:17' */demo_1_DW.is_B = demo_1_IN_b1;} else {if (demo_1_DW.is_active_A != 0U) {/* During 'A': '<S1>:16' */switch (demo_1_DW.is_A) {case demo_1_IN_a1:/* During 'a1': '<S1>:1' */if (demo_1_U.In2 == 1.0) {/* Transition: '<S1>:20' */if (demo_1_DW.is_active_B != 0U) {/* During 'B': '<S1>:13' */switch (demo_1_DW.is_B) {case demo_1_IN_b1:/* During 'b1': '<S1>:9' *//* Transition: '<S1>:18' */demo_1_DW.is_B = demo_1_IN_b2;/* Outport: '<Root>/Out1' *//* Entry 'b2': '<S1>:12' */demo_1_Y.Out1 = 456.0;break;case demo_1_IN_b2:/* During 'b2': '<S1>:12' */break;default:/* Unreachable state, for coverage only */demo_1_DW.is_B = demo_1_IN_NO_ACTIVE_CHILD;break;}}demo_1_DW.is_A = demo_1_IN_a2;/* Outport: '<Root>/Out1' *//* Entry 'a2': '<S1>:11' */demo_1_Y.Out1 = 123.0;}break;case demo_1_IN_a2:/* During 'a2': '<S1>:11' */break;default:/* Unreachable state, for coverage only */demo_1_DW.is_A = demo_1_IN_NO_ACTIVE_CHILD;break;}}if (demo_1_DW.is_active_B != 0U) {/* During 'B': '<S1>:13' */switch (demo_1_DW.is_B) {case demo_1_IN_b1:/* During 'b1': '<S1>:9' */break;case demo_1_IN_b2:/* During 'b2': '<S1>:12' */break;default:/* Unreachable state, for coverage only */demo_1_DW.is_B = demo_1_IN_NO_ACTIVE_CHILD;break;}}}/* End of Chart: '<Root>/Chart' */
}

检测无定向本地事件广播的诊断

如果在图表中的状态操作或条件操作中有无向的本地事件广播,则在模拟过程中默认会出现警告。无定向本地事件广播的state actions示例包括:
entry:send(E1),其中E1是图表中的本地事件
exit:E2,其中E2是图表中的本地事件
您可以在Model Configuration Parameters对话框的Diagnostics > Stateflow窗格中控制无向本地事件广播的诊断操作级别。将无方向事件广播诊断设置为无、警告或错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/49622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大坝安全监测设备有哪些主要功能?

推荐型号&#xff1a;TH-WY1】大坝安全监测设备的主要功能包括以下几个方面&#xff1a; 1. **实时监测大坝的各项物理参数**&#xff1a;包括应变、位移、水位、流量等<sup>1</sup><sup>2</sup>。 2. **数据处理和分析**&#xff1a;对监测数据进行处…

[Javascript】前端面试基础3【每日学习并更新10】

Web开发中会话跟踪的方法有那些 cookiesessionurl重写隐藏inputip地址 JS基本数据类型 String&#xff1a;用于表示文本数据。Number&#xff1a;用于表示数值&#xff0c;包括整数和浮点数。BigInt&#xff1a;用于表示任意精度的整数。Boolean&#xff1a;用于表示逻辑值…

【React1】React概述、基本使用、脚手架、JSX、组件

文章目录 1. React基础1.1 React 概述1.1.1 什么是React1.1.2 React 的特点声明式基于组件学习一次,随处使用1.2 React 的基本使用1.2.1 React的安装1.2.2 React的使用1.2.3 React常用方法说明React.createElement()ReactDOM.render()1.3 React 脚手架的使用1.3.1 React 脚手架…

c生万物系列(封装)

为了对c语言进行封装&#xff0c;笔者参考了lw_oopc等开源库&#xff0c;决定使用宏对结构体进行封装。 先说一下大致思想&#xff1a;通过宏&#xff0c;结构体和文件来实现封装。 大概步骤&#xff1a;抽象出类-> 使用lw_oopc库进行封装->定义接口封装底层实现 ->…

【常见开源库的二次开发】基于openssl的加密与解密——SHA算法源码解析(六)

目录 一、SHA-1算法分析&#xff1a; 1.1 Merkle Tree可信树 1.2 源码实现&#xff1a; 1.3 哈希计算功能 1.4 两种算法的区别&#xff1a; 1.4.1 目的 1.4.2 实现机制 1.4.3 输出 1.4.4 应用场景&#xff1a; 1.4 运行演示&#xff1a; 二、SHA-2算法分析&#xff1a; 2.1哈…

责任链模式的应用与解析

目录 责任链模式责任链模式结构责任链模式适用场景责任链模式优缺点练手题目题目描述输入描述输出描述题解 责任链模式 责任链模式&#xff0c;亦称职责链模式、命令链&#xff0c;是一种行为设计模式&#xff0c;允许你将请求沿着处理者链进行发送。收到请求后&#xff0c;每…

26.8 Django多表操作

1. 表关系 表关系在数据库中指的是表与表之间的连接和依赖关系. 这种关系定义了数据如何在不同的表之间进行交互和关联, 是实现数据一致性和完整性的重要手段.1.1 关系分类 多表关系在数据库中通常分为以下几种类型: * 1. 一对一(One-to-One)关系: 在数据库中, 这种关系通常通…

模拟建造游戏:城市:天际线2(都市天际线2)中文免安装,解压即撸

《城市&#xff1a;天际线2》&#xff08;Cities: Skylines II&#xff09;是一款模拟经营游戏&#xff0c;由Colossal Order开发&#xff0c;Paradox Interactive发行。 下载地址&#xff1a;https://pan.quark.cn/s/84e69332ec3e 更多游戏&#xff1a;https://kdocs.cn/l/cuH…

spring 中的属性解析器 PropertyResolver

我们知道&#xff0c;在 spring 中可以使用占位符&#xff0c;格式如 "${}"&#xff0c;大括号中间放置待替换的占位符&#xff0c;待使用值时根据配置的属性解析器进行解析。但具体是如何操作的&#xff0c;且看本文来进行分析。 PropertyResolver 这是一个针对任…

基于Neo4j将知识图谱用于检索增强生成:Knowledge Graphs for RAG

Knowledge Graphs for RAG 本文是学习https://www.deeplearning.ai/short-courses/knowledge-graphs-rag/这门课的学习笔记。 What you’ll learn in this course Knowledge graphs are used in development to structure complex data relationships, drive intelligent sea…

GDAL访问HDFS集群中的数据

1.集群搭建 参考文章&#xff1a;hadoop2.10.0完全分布式集群搭建 HA(QJM)高可用集群搭建_hadoop 2.10 ha-CSDN博客 创建文件夹 hdfs dfs -mkdir -p hdfs://192.168.80.132:9000/test 开放权限 hdfs dfs -chmod -R 777 /test 上传文件 hadoop fs -put /home/wh/data/res…

卡夫卡(Kafka)框架详解:从背景到应用实践

卡夫卡&#xff08;Kafka&#xff09;框架详解&#xff1a;从背景到应用实践 引言 在大数据和分布式系统日益普及的今天&#xff0c;数据处理和消息传递成为了支撑复杂业务系统的关键基础设施。Apache Kafka&#xff0c;作为一个高性能的分布式消息队列系统&#xff0c;因其高…

CSS技巧专栏:一日一例 11 -纯CSS实现多彩渐变按钮系列特效

CSS技巧专栏&#xff1a;一日一例 11 -纯CSS实现多彩渐变按钮系列特效 本篇&#xff0c;推荐给你几个按钮&#xff0c;先看一下图片 本例图片 案例分析 这是一个系列的按钮&#xff0c;它们具有共同的特点&#xff1a; 底层按钮层&#xff0c;具有一个彩色的渐变边框&#…

第十四章 数据库

第十四章 数据库 14.1 引言 数据存储在传统上是使用单独的没有关联的文件&#xff0c;称为平面文件 14.1.1 定义 定义&#xff1a;数据库是一个组织内被应用程序使用的逻辑相一致的相关数据的集合 14.1.2 数据库的优点 数据库的优点&#xff1a; 冗余少避免数据的不一致…

docker产生日志过大优化

1、Docker容器启动后日志存放位置 #cat /var/lib/docker/containers/容器ID/容器ID-json.log #echo >/var/lib/docker/containers/容器ID/容器ID-json.log临时清除日志 注&#xff1a;echo一个空进去&#xff0c;不需要重启容器&#xff0c;但如果你直接删除这个日志&…

【JavaEE】Bean的作用域和生命周期

一.Bean的作用域. 1.1 Bean的相关概念. 通过Spring IoC和DI的学习(不清楚的可以看的前面写过的总结,可以快速入门, http://t.csdnimg.cn/K8Xr0),我们知道了Spring是如何帮助我们管理对象的 通过 Controller , Service , Repository , Component , Configuration , Bean 来声明…

无人机之航拍高级操作与技巧

一、直线飞行与矩形飞行练习&#xff1a;通过直线和矩形路径的练习&#xff0c;提升飞行路径控制能力。 二、航点命令和事件编程&#xff1a;学习如何设置航点命令和事件&#xff0c;使无人机能够自动执行复杂任务。 三、故障诊断与处理&#xff1a;掌握基本的故障诊断方法和…

如何使用 API list 极狐GitLab 群组中的镜像仓库?

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署…

深入指南:VitePress 如何自定义样式

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

PHP安全编程宝典:30000字精细解析

文章目录 基础语法单双引号的区别前后端分离数据类型PHP常量函数var_dump函数count函数print_r函数**readfile&#xff08;&#xff09;函数****file_get_contents()函数****file_put_contents()函数**header函数fopen函数fread 函数rename函数copy&#xff08;&#xff09;函数…