主要内容

本页采用了机器翻译。点击此处可查看英文原文。

getsignal

从实时应用程序中读取信号值

自 R2021a 起

说明

value = getsignal(target_object, blockPath, portIndex) 返回由 Speedgoat® 目标计算机上加载的实时应用程序中,block_path 模块通过 portIndex 选定的信号值。该功能还支持多实例引用模型。

示例

示例

全部折叠

此示例基于模型 slrt_ex_osc 构建实时应用程序,将应用程序加载到目标计算机上,并从模块 'Signal Generator' 的端口 1 获取信号值。

tg = slrealtime;
mdlSTF = getSTFName(tg);
mdlName = 'slrt_ex_osc';
openExample(mdlName);
set_param(mdlName,"SystemTargetFile",mdlSTF);
slbuild(mdlName);
load(tg,mdlName);
getsignal(tg,'slrt_ex_osc/Signal Generator',1)
ans =

     0

此示例基于模型 slrt_ex_mds_and_tasks 构建实时应用程序,将该应用程序加载到目标计算机上,并从引用模型 slrt_ex_mds_subsystem1 中模块 'unity math' 的端口 1 获取信号值。

tg = slrealtime;
mdlSTF = getSTFName(tg);
mdlName = 'slrt_ex_mds_and_tasks';
mdlName1 = 'slrt_ex_mds_subsystem1';
mdlName2 = 'slrt_ex_mds_subsystem2';
openExample(mdlName);
open_system(mdlName);
open_system(mdlName1);
open_system(mdlName2);
set_param(mdlName,"SystemTargetFile",mdlSTF);
set_param(mdlName1,"SystemTargetFile",mdlSTF);
set_param(mdlName2,"SystemTargetFile",mdlSTF);
slbuild(mdlName);
load(tg,mdlName);
getsignal(tg, {'slrt_ex_mds_and_tasks/Model1', 'slrt_ex_mds_subsystem1/unity math'} ,1)
ans =

  Columns 1 through 24

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

  . . . Columns 25 through 576 omitted . . .

  Columns 577 through 600

     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

输入参数

全部折叠

提供访问方法以操作目标计算机属性。

示例: tg

block_path 的值可以是字符向量或字符串。

示例: 'slrt_ex_osc/Signal Generator'

对于所选信号,其输出端口索引可在 Simulink Real-Time 探索器或模型数据编辑器中查看的信号层次结构中显示。

示例: 1

输出参量

全部折叠

该值是实时应用程序中信号的值。如果信号是总线,则返回结构体。返回正确的数据类型、复杂度和维度。

版本历史记录

在 R2021a 中推出