# 示例


# 框图建模

机械臂控制仿真
机械臂是一种基于机电一体化技术的自动化设备,通过多关节结构和智能控制系统模拟人类手臂的运动功能,广泛应用于工业中的生产环节、物流运输服务及特种作业等领域。
打开示例
Buck 电路控制仿真
Buck 电路是一种常见的直流降压型开关电源,其基本功能是将较高的直流电压高效转换为较低的直流电压,广泛应用于手机充电器、电池管理系统、电机驱动器等场景中。其核心由功率开关管、电感、电容及续流二极管构成,通过高频率地控制开关元件的导通与关断,实现能量在电感与电容之间的传递和稳定输出。
打开示例
Sysblock 基础(1):对系统算法进行建模
本文以质点 - 弹簧 - 阻尼机械系统为例,详细介绍如何使用 Sysblock 进行系统建模和仿真。通过本教程,读者可以了解 Sysblock 的基本操作流程,掌握系统建模的方法,以及学习使用不同类型的输入输出模块进行仿真分析。
打开示例
Sysblock 基础(2):创建模型组件
本文以 Sysblock 基础(1):对系统算法进行建模为基础,详细介绍如何使用 Sysblock 进行系统建模和仿真。通过本教程,读者可以了解 Sysblock 的基本操作流程,掌握状态机建模与子系统的创建。
打开示例
Sysblock 基础(3):记录仿真信号
本文以 Sysblock 基础(2):创建模型组件为基础,详细介绍如何使用 Sysblock 进行系统建模和仿真。通过本教程,读者可以了解 Sysblock 的基本操作流程,并学会如何记录仿真信号。
打开示例
Sysblock 基础(4):管理模型数据
本文以 Sysblock 基础(3):记录仿真信号为基础,详细介绍如何使用 Sysblock 进行系统建模和仿真。通过本教程,读者将掌握 Sysblock 的基本操作流程,学会使用模型数据管理器来设置参数的值、数据类型和其他特性。
打开示例
Sysblock 基础(5):总线管理
本文以 Sysblock 基础(4):管理模型数据为基础,详细介绍如何使用 Sysblock 进行系统建模和仿真。通过本教程,读者可以了解 Sysblock 的基本操作流程,学会如何减少信号线的数量来简化模型。
打开示例
使用 PID Controller 模块进行抗饱和控制
此示例展示在执行器发生饱和时,如何通过抗饱和策略避免 PID 控制器出现积分饱和。Sysblock 中的 PID Controller 模块内置 “ 反算 ” 抗饱和方法,并提供 “ 跟踪模式 ” 以应对更复杂的工业场景。
打开示例
虚拟子系统和非虚拟子系统概述
此示例展示基于 Sysblock 如何创建虚拟子系统和非虚拟子系统,并介绍它们的区别,进行相关仿真。
打开示例
基于 If 模块与动作子系统的条件控制示例
此示例展示了如何用状态机产生控制信号,并通过 If 模块选择性地激活不同的动作子系统:当 u1 为非零时开启电压并计数,否则关闭电压并计数。通过 merge 模块将分支输出统一到硬件端口,实现清晰高效的决策执行,同时便于统计各分支的运行次数。
打开示例
带触发的使能子系统
此示例展示了 Sysblock 中带触发的使能子系统的完整搭建过程,通过配置不同的使能状态(reset 和 held)和触发类型(rising),展示了子系统在事件驱动控制下的执行行为,并进行相关仿真。
打开示例
触发子系统
此示例展示了 Sysblock 中触发子系统的完整搭建过程,通过配置不同的触发类型(rising、falling、either),展示了子系统在事件驱动控制下的执行行为,并进行相关仿真。
打开示例
使能子系统
此示例展示了 Sysblock 中使能子系统的完整搭建过程,通过配置不同的使能状态(reset 和 held),展示了子系统在条件驱动控制下的执行行为,并进行相关仿真。
打开示例
连续与离散使能子系统
此示例展示了 Sysblock 中离散控制信号和连续控制信号的处理流程,以及复位状态和保持状态两种管理机制的不同输出行为,展示了子系统在条件驱动控制下的执行行为,并进行相关仿真。
打开示例
While 循环子系统
此示例展示了 Sysblock 中 While 子系统的迭代执行机制,以及 Whilelterator 模块的条件控制与最大迭代次数设置,展示了子系统在条件驱动下的重复执行行为,并演示了逐次累加直至满足阈值的处理流程,进行相关仿真。
打开示例
Do_While 循环子系统
此示例展示了 Sysblock 中 Do-While 子系统的先执行后判断迭代机制,以及 Whilelterator 模块的条件控制与最大迭代次数设置,展示了子系统在条件驱动下的重复执行行为,并演示了逐次累加直至满足给定上限 N 的处理流程,进行 1 到 N 求和的仿真。
打开示例
使用状态保持的 If 模块示例
此示例展示了 Sysblock 中 If-Action 子系统在“状态保持”管理机制下的条件选择与执行流程,以及基于 if(u1>0) 的分支控制;展示了子系统在禁用阶段保持内部状态与可选保持输出的行为,并演示分支重新使能后从历史状态继续计算的现象。示例采用 Abs 与 Saturation 分支、merge 合并与偏置求和的结构,在 scope 中观察连续输出。
打开示例
使用 JuliaFunction 模块在 Sysblock 中实现 Julia 函数
此示例从零开始搭建一个包含 JuliaFunction 模块的模型,详细介绍了如何自定义该模块来计算值矩阵的均值和标准差。
打开示例
使用系统对象创建移动平均滤波器模块
此示例从零开始搭建一个包含 JuliaFunction 模块的模型,详细介绍了如何封装该模块来实现动态窗口大小的移动平均滤波算法。
打开示例
合并信号示例
此示例搭建了一个包含条件执行子系统和Merge模块的模型,详细介绍了如何通过Merge模块将两个不同时间更新的输入信号合并为单一输出,并确保任何时刻的输出值等于其驱动端最近一次计算的输出。
打开示例
Sysblock 中的数据类型
此示例展示了如何在 Sysblock 中使用数据类型。本例中使用的模型将幅度为 150 的双精度正弦波转换为各种数据类型,并在两个示波器上显示转换后的信号。
打开示例
使用 FromFile 模块加载数据
此示例搭建了一个包含 FromFile 模块和多种数据加载方式的模型,详细介绍了如何通过 FromFile 模块从 CSV 文件加载不同格式的仿真输入数据,并确保数据能够正确导入到仿真系统中进行后续处理。
打开示例
基于 If 模块与动作子系统的错误示例
此示例搭建了一个包含 If 模块与动作子系统 IfBody 的模型,详细说明在模块 B 驱动 IfBody 的前提下,执行顺序设置不当为何会导致非法执行与代数环错误,并给出通过插入 unitDelay 模块打破代数环的处理思路。
打开示例
基于 switch-case 模块和动作子系统的错误示例
此示例搭建了一个包含 SwitchCase 模块与动作子系统 CaseBody 的模型,详细说明了执行顺序设置不当时为何会导致非法执行与代数环错误,并给出通过插入 unitDelay 模块打破代数环的处理思路。
打开示例
仿真具有可变传输延迟现象的系统
此示例用 VariableTransportDelay 模块演示随时间变化的输运延迟建模,包含基于车速的车轮位移和基于流速的管道温度案例,并说明延迟计算、最大延迟/初始输出/缓冲区设置及在 Scope 中比较验证的方法。
打开示例
使用 FromWorkspace 模块加载数据
此示例使用 FromWorkspace 模块演示如何从工作区加载多种格式的输入数据(数组、总线、总线数组),并说明数据组织、维度设置及在 Scope 查看结果的方法。
打开示例
在 XY 图上可视化仿真数据
此示例演示如何在结果查看器中的 XY 图上可视化仿真数据,并使用回放控件分析绘制的信号之间的关系。
打开示例
房屋的热模型
此示例说明如何使用 Sysblock 来创建房屋的热模型。此系统对室外环境、房屋的热特性和房屋供暖系统进行建模。
打开示例
Sysblock 总线功能
此示例展示了如何在 Sysblock 中如何使用总线功能。
打开示例
Sysblock 和 Sysplorer 中的双质量 - 弹簧 - 阻尼器系统
此示例展示了如何在 Sysblock 中的框图建模和物理建模中双质量 - 弹簧 - 阻尼器系统仿真结果对比。
打开示例
使用 JuliaFunction 模块的雷达跟踪
此示例展示了如何在 Sysblock 中如何使用 JuliaFunction 模块创建一个卡尔曼滤波器来估计飞机的位置
打开示例
ForEach 子系统向量化并行处理
此示例展示了如何在 Sysblock 使用 ForEach 子系统的向量化并行处理来实现在同一个仿真步长内,批量处理输入信号或封装参数数组的所有元素
打开示例
ForEach 子系统分块并行处理
此示例展示了如何在 Sysblock 使用 ForEach 子系统进行分块并行处理
打开示例
基于组件的建模与模型引用
此示例展示了如何在 Sysblock 中对一个多次引用其他模型的模型进行仿真,并对比在不同采样时间下的仿真结果
打开示例
飞机纵向飞行控制
此示例展示了 Sysblock 中飞机的纵向运动控制算法模型
打开示例
创建父状态与子状态
此示例展示了如何在 Sysblock 中使用父/子状态构建一个可充电电池的控制逻辑。
打开示例
卫星的 Yoyo 控制
此示例展示了如何在 Sysblock 中使用状态机对卫星进行悠悠球控制。
打开示例