常用命令
1、仿真命令:
sim —仿真运行一个simulink模块
sldebug —调试一个simulink模块
simset —设置仿真参数
simget —获取仿真参数
线性化和整理命令:
linmod —从连续时间系统中获取线性模型
linmod2 —也是获取线性模型,采用高级方法
dinmod —从离散时间系统中获取线性模型
trim —为一个仿真系统寻找稳定的状态参数
2、构建模型命令:
open_system --打开已有的模型
例如:open_system(‘sldemo_clutch’)
close_system --关闭打开的模型或模块
new_system --创建一个新的空模型窗口
load_system --加载已有的模型并使模型不可见
例如:load_system(‘sldemo_clutch’)
save_system --保存一个打开的模型
add_block --添加一个新的模块
add_line --添加一条线(两个模块之间的连线)
delete_block --删除一个模块
delete_line --删除一根线
find_system --查找一个模块
例如:find_system(bdroot,‘SearchDepth’,1,‘BlockType’,‘Inport’); %获取顶层Inport模块路径
hilite_system --使一个模块醒目显示
replace_block --用一个新模块代替已有的模块
set_param --为模型或模块设置参数
例如:set_param(‘demo/Gain’,‘OutDataTypeStr’,‘single’) %设置demo/Gain模块的输出数据类型为single
get_param --获取模块或模型的参数
例如:OutDataTypeStr = get_param(‘demo/Gain’,‘OutDataTypeStr’) %获取demo/Gain模块的输出数据类型
OutDataTypeStr =
'Inherit: Inherit via internal rule'
add_param --为一个模型添加用户自定义的字符串参数
delete_param --从一个模型中删除一个用户自定义的参数
bdclose --关闭一个simulink窗口
bdroot --根层次下的模块名字
gcb --获取当前模块的名字
gcbh --获取当前模块的句柄
gcs --获取当前系统的名字
getfullname --获取一个模块的完全路径名
slupdate --将1.x的模块升级为3.x的模块
addterms --为未连接的端口添加terminators模块
boolean --将数值数组转化为布尔值
slhelp --simulink的用户向导或者模块帮助
3、封装命令:
hasmask --检查已有模块是否封装
hasmaskdlg --检查已有模块是否有封装的对话框
hasmaskicon --检查已有模块是否有封装的图标
iconedit --使用ginput函数来设计模块图标
maskpopups --返回并改变封装模块的弹出菜单项
movemask --重建内置封装模块为封装的子模块
4、诊断命令:
sllastdiagnostic --上一次诊断信息
sllasterror --上一次错误信息
sllastwarning --上一次警告信息
sldiagnostics --为一个模型获取模块的数目和编译状态
5、硬拷贝和打印命令:
frameedit --编辑打印画面
print --将simulink系统打印成图片,或将图片保存为m文件
printopt --打印机默认设置
orient --设置纸张的方向
6、参数名称在脚本中对应的字符串是什么
https://blog.csdn.net/u013288925/article/details/104065140
Gain模块的输出数据类型是’OutDataTypeStr’,这个字符串是从哪里知道的呢?有以下两种途径获得。
1)右键模块Gain——Properties——Block Annotation,可以在左边的列表框中看到该模块的所有属性,找到相应的即可。
图1
2)双击模块——找到填写相应参数的地方——右键What’s This?——弹出的帮助窗口拉到最下面——Block Parameter右边写的就是了
图2
7、查看模块的属性:选中模块(constant);在命令行输入inspect(gcbh)。结果如图
8、应用例子:自动添加模型中选中线的名称并关联数据字典
```bash
```c
function AddSignalResolve
%% 自动添加模型中选中线的名称并关联数据字典
SelectedLines = find_system(gcs,'FindAll','on','type','line','selected','on');
if isempty(SelectedLines)
return;
end
for i = 1:length(SelectedLines)
srcBlock = get(SelectedLines(i),'srcBlockHandle');
DstBlock = get(SelectedLines(i),'DstBlockHandle');
srcBlockType = get_param(srcBlock,'BlockType');
DstBlockType = get_param(DstBlock,'BlockType');
if strcmp(srcBlockType,'Inport')
SignalName = get_param(srcBlock,'Name');
set(SelectedLines(i),'Name',SignalName);
set(SelectedLines(i),'MustResolveToSignalObject',1);
continue;
end
if strcmp(DstBlockType,'Outport')
SignalName = get_param(DstBlock,'Name');
set(SelectedLines(i),'Name',SignalName);
set(SelectedLines(i),'MustResolveToSignalObject',1);
continue;
end
SignalName = get(SelectedLines(i),'Name');
if ~isempty(SignalName)
set(SelectedLines(i),'MustResolveToSignalObject',1);
end
end
end