自定义组件
编写 Simscape™ 文件以表示自定义组件
使用 Simscape 语言,您可以将自定义组件定义为文本文件,并辅以参数化、物理连接和底层方程。本页中包含的主题提供有关声明组件参数、变量和连接的详细信息。有关定义自定义组件的其他方面,请参阅方程、离散事件图和模式图和复合组件。
要开始编写自定义组件,请参阅Creating Custom Components,其中概述了常规工作流。本页底部“参考应用程序组件”下列出的主题提供了完整的组件示例,并详细解释了每个示例中使用的方法。
语言语法
annotations | Control appearance of Simscape block based on the component |
branches | Establish relationship between component Through variables and nodes |
component | Component model keywords |
inputs | Define component inputs, that is, Physical Signal input ports of block |
nodes | Define component nodes, that is, conserving ports of block |
outputs | Define component outputs, that is, Physical Signal output ports of block |
parameters | Declare domain or component parameters |
variables | Declare domain or component variables |
主题
基本方法
- Creating Custom Components
Component types, file structure, high-level workflow. - Attribute Lists
Model attributes and member attributes used in Simscape language.
声明和分支
- Declaring Domains and Components
Declaration section of domain and component files: purpose, definitions, rules, member summaries. - Declare a Spring Component
The following diagram shows a network representation of a mass-spring-damper system, consisting of four components (mass, spring, damper, and reference) in a mechanical rotational domain. - Declare Component Parameters
Component parameters let you specify adjustable parameters for the Simscape block generated from the component file. - Declare Component Nodes
Component nodes define the conserving ports of a Simscape block generated from the component file. - Declare Component Inputs and Outputs
In addition to conserving ports, Simscape blocks can contain Physical Signal input and output ports, directional ports that carry signals with associated units. - Declare Component Variables
When you declare Through and Across variables in a component, you are essentially creating instances of domain Through and Across variables. - Define Relationship Between Component Variables and Nodes
How to connect Through and Across variables declared in a component file to the domain Through and Across variables. - Declaration Functions
Use MATLAB® functions to compute derived parameter values or initialize variables.
组件变体
- Defining Component Variants
Use conditional sections to define variants within component file. - Defining Conditional Visibility of Component Members
Use annotation section to define conditional visibility of ports and parameters for component variants.
高级方法
- Enumerations
Specify a discrete set of acceptable values for parameters and event variables. - Subclassing and Inheritance
Subclassing allows you to build component models based on other component models by extension.
参考应用程序组件
- Model Linear Resistor in Simscape Language
Overview of how modeling in Simscape language works, using a linear resistor as an example. - Mechanical Component — Spring
The following file,spring.ssc
, implements a component calledspring
. - Electrical Component — Ideal Capacitor
The following file,ideal_capacitor.ssc
, implements a component calledideal_capacitor
. - No-Flow Component — Voltage Sensor
The following file,voltage_sensor.ssc
, implements a component calledvoltage_sensor
. - Grounding Component — Electrical Reference
The easiest way to implement a grounding component is to use a connection to an implicit reference node. - Composite Component — DC Motor
This example shows how to implement a DC motor model by means of a composite component. - Composite Component with Equations — RMS Voltage Sensor
TheVoltageSensorRMS
component implements a voltage sensor that measures the root mean square (RMS) value of AC voltage between two electrical nodes. - Triggered Delay Component
This example shows how to implement a triggered delay component. - Enabled Component
This example shows how to implement a component similar to a Simulink® enabled subsystem. - Switch with Hysteresis
This example shows how to model a component by using mode charts and enumerations. - Component Variants — Series RLC Branch
This example shows how to implement variants within a component file by using conditional sections. - Component Variants — Thermal Resistor
This example shows how to implement conditional visibility of component ports, parameters, variables, and a conditional custom block icon.