8 Star 28 Fork 2

Junruoyu-Zheng / Ligral

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
main.lig 3.08 KB
Copy Edit Web IDE Raw Blame History
Junruoyu-Zheng authored 2021-01-05 15:04 . mod: update year to 2021
# Copyright (C) 2019-2021 Junruoyu Zheng. Home page: https://junruoyu-zheng.gitee.io/ligral
# Distributed under MIT license.
# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
# 这个例子构建了一个简单的弹簧阻尼质量块系统。
# 这个系统的框图如所示:
# ┌───────┐
# ┌───►│ Scope │
# │ └───────┘
# ┌───────────────────┐ │ ┌───────────────┐
# ┌───┐ │ x├─┴───►│x │
# │ F ├───►│F MassSpringDamper │ │ Phase Diagram │
# └───┘ │ v├─────►│y │
# └───────────────────┘ └───────────────┘
# 其中,`MassSpringDamper` 是一个自定义模块,其内部逻辑为:
# ┌───┐ ╭───╮
# ┌───────┤ d │◄──────────────┬────────────────►│ v │
# │ └───┘ │ ╰───╯
# ╭───╮ + ▼- ┌─────┐ ┌─────┐v │ ┌─────┐x ╭───╮
# │ F ├───►(x)───►│ 1/m ├─────►│ 1/s ├──┴─►│ 1/s ├──┬────►│ x │
# ╰───╯ ▲- └─────┘ └─────┘ └─────┘ │ ╰───╯
# │ ┌───┐ │
# └───────┤ k │◄──────────────────────────┘
# └───┘
# 模块类名:MassSpringDamper
# 参数:
# m: 质量
# k: 刚度
# d: 阻尼
# v0:初始速度
# x0:初始位置
# 输入:
# F: 外部作用力
# 输出:
# v:速度
# x:位置
route MassSpringDamper(m, k, d, x0, v0; F; x, v)
F-k*x-d*v -> Gain{value:1/m} -> Integrator{initial:v0} -> v;
v -> Integrator{initial:x0} -> x;
end
# 定义一个 Step 信号
# 参数:
# start:起始时间
# level:信号值
# 信号图像:
# ▲
# 5├ ┏━━━━━━━━━━━━
# │ ┃
# ──┶━━━━━┹──────────────────►
# 0 3
Step[F]{start:3, level:5};
# 实例化一个 MassSpringDamper 对象
MassSpringDamper[sys]{m:0.1, k:10, d:0.3, x0:1, v0: 0};
# 连接模块
F -> sys;
sys:x[position] -> Scope;
(sys:x, sys:v[velocity]) -> PhaseDiagram;
# 设置定步长仿真配置参数
conf step_size = 0.001;
conf stop_time = 10;
# 设置输出文件夹
conf output_folder = 'out';
# 启用内部绘图模块
conf inner_plotter.enable = true;

Comment ( 0 )

Sign in for post a comment

C#
1
https://gitee.com/junruoyu-zheng/ligral.git
git@gitee.com:junruoyu-zheng/ligral.git
junruoyu-zheng
ligral
Ligral
dev

Search