主要内容

动态使用变更子系统引用组件InitFcn

类动态更改子系统引用组件初始化函数InitFcn用于更改模型的实现,而不必更改内容。这个例子模型模拟了一辆汽车的前后雨刷。前面的雨刮器是基于传感器的,它可以感知雨和雾。后雨刮器由驾驶员控制。

探索模式

输入:雨刮器在下雨或有雾时打开。双击打开雾感测器打开雨水传感器组件在模型的左上角选择输入类型。根据选取,传感器输入变量SensorInput在模型工作区中创建。

雨刷速度控制器:模拟过程中InitFcn,并调用switchSensor函数。这个函数读取变量SensorInput并将子系统更改为slexRainSensorslexFogSensor根据您的输入选择。子系统参考组件(雨或雾)将输入电压转换为低、中、高速度级别。雨刮器速度控制器将前后雨刮器速度水平转换为适当的速度,以每秒周期为单位。

中使用此代码InitFcn回电话

函数wiperController (bd,选项)开关选项情况下“PostLoad”createWiperConstants (bd);情况下“Init”switchSensor (bd);否则结束结束
函数switchSensor(bd) mws = get_param(broot,“modelworkspace”);si = mws.getVariable(“SensorInput”);Blockpath = [bd .' / SensorBasedSpeedController '];如果比较字符串(如果“雾”) set_param (blockpath“ReferencedSubsystem”“slexFogSensor”);elseif比较字符串(如果“雨”) set_param (blockpath“ReferencedSubsystem”“slexRainSensor”);结束结束

另请参阅

初始化函数