通过使用Simulink®Requirements™API管理链接的自定义属性金宝app
本示例展示了如何使用Simulink®Requirements™AP金宝appI为链接集创建和管理自定义属性,并为链接设置自定义属性值。
建立链路集
加载crs_req
需求文件,它描述了巡航控制系统。找到命名的链接集crs_req
然后赋值给一个变量。
slreq.load (“crs_req”);Ls = slreq.find(“类型”,“LinkSet”,“名字”,“crs_req”)
ls =带属性的LinkSet:描述:" Filename: '/tmp/Bdoc21b_1757077_62046/tped78bc45/slrequirements-ex23809012/crs_req. ls =带属性的LinkSet:slmx' Artifact: '/tmp/Bdoc21b_1757077_62046/tped78bc45/slrequirements-ex23809012/crs_req。slreqx'域:'linktype_rmi_slreq'修订:8脏:0 CustomAttributeNames:{'目标速度变化'}
删除自定义属性
链接集中有一个现有的自定义属性目标速度变化
.删除自定义属性,并通过检查链接集的现有自定义属性名称来确认结果。
deleteAttribute (ls,“目标速度变化”,“力”,真正的);ls。CustomAttributeNames
Ans = 0x0空单元格数组
为每种类型添加一个自定义属性
向链接集中添加每种类型的自定义属性。创建一个编辑
带有描述的自定义属性。
addAttribute (ls,“MyEditAttribute”,“编辑”,“描述”, (你可以输入文本...'自定义属性值。'])
创建一个复选框
类型属性,并设置其DefaultValue
财产真正的
.
addAttribute (ls,“MyCheckboxAttribute”,“复选框”,“DefaultValue”,真正的)
创建一个组合框
自定义属性。因为第一个选项肯定是设置
,添加选项“设置”
,“一个”
,“B”
,“C”
.
addAttribute (ls,“MyComboboxAttribute”,组合框的,“列表”, {“设置”,“一个”,“B”,“C”})
创建一个DateTime
自定义属性。
addAttribute (ls,“MyDateTimeAttribute”,“DateTime”)
检查链接集的自定义属性。获取关于MyComboboxAttribute
属性中添加的选项组合框
属性。
ls。CustomAttributeNames
ans =1 x4单元格列1到3 {'MyCheckboxAttr…'} {MyComboboxAttr……'} {MyDateTimeAttr……'}列4 {'MyEditAttribute'}
atrb = inspectAttribute(ls,“MyComboboxAttribute”)
atrb =带字段的结构:名称:MyComboboxAttribute类型:组合框描述:" list: {'Unset' 'A' 'B' 'C'}
为链路设置自定义属性值
在链接集中找到一个链接,并为您创建的所有四个自定义属性设置自定义属性值。
Lk = find(ls,“席德”3);setAttribute(路,“MyEditAttribute”,“edit属性的值。”);setAttribute(路,“MyCheckboxAttribute”、假);setAttribute(路,“MyComboboxAttribute”,“B”);
集MyDateTimeAttribute
以确保在其他地区的系统上以正确的格式设置日期和时间。看到语言环境获取更多信息。
localDateTimeStr = datestr(datetime(“自2018年7月15 - 11:00:00,“场所”,“en_US”),“本地”);setAttribute(路,“MyDateTimeAttribute”, localDateTimeStr);
查看属性值。
getAttribute(路,“MyEditAttribute”)
ans = '编辑属性的值。'
getAttribute(路,“MyCheckboxAttribute”)
ans =逻辑0
getAttribute(路,“MyComboboxAttribute”)
ans = 'B'
getAttribute(路,“MyDateTimeAttribute”)
ans =datetime自2018年7月15 - 11:00:00
编辑自定义属性
为链接集定义自定义属性后,可以对自定义属性进行有限的更改。
添加描述MyCheckboxAttribute
而且MyComboboxAttribute
,然后将选项列表更改为MyComboboxAttribute
.的默认值,因此无法更新复选框
属性时,只能更新描述MyCheckboxAttribute
.查看更改。
updateAttribute (ls,“MyCheckboxAttribute”,“描述”, (“复选框值可以是”...“真或假。”]);updateAttribute (ls,“MyComboboxAttribute”,“描述”, (从...“列表”。),“列表”, {“设置”,' 1 ',' 2 ',“3”});atrb2 = inspectAttribute(ls,“MyCheckboxAttribute”)
atrb2 =带字段的结构:name: 'MyCheckboxAttribute'类型:复选框描述:'复选框值可以为true或false。默认值:1
atrb3 = inspectAttribute(ls,“MyComboboxAttribute”)
atrb3 =带字段的结构:name: 'MyComboboxAttribute'类型:'组合框描述:'从列表中选择一个选项。' list: {'Unset' '1' '2' '3'}
查找与自定义属性值匹配的链接
搜索链接集中的所有链接“MyEditAttribute”
设置为“edit属性的值。”
Lk2 = find(ls,“MyEditAttribute”,“edit属性的值。”)
lk2 =与属性的链接:类型:“派生”描述:“#8:设置开关检测”关键字:{}原理:“CreatedOn: 20-May-2017 13:14:40 CreatedBy: 'itoy' modifieddon: 01-Sep-2021 14:08:12 ModifiedBy: 'batserve'修订:5 SID: 3注释:[0x0 struct]
搜索链接集中的所有链接MyCheckboxAttribute
设置为真正的
.
lkArray = find(ls,“MyCheckboxAttribute”,真正的)
lkArray =1×11对象1x11带有属性的链接数组:类型描述关键字原理CreatedOn CreatedBy modifieddon ModifiedBy Revision SID Comments
搜索链接集中的所有链接MyComboboxAttribute
设置为“设置”
.
lkArray2 = find(ls,“MyComboboxAttribute”,“设置”)
lkArray2 =1×12对象1x12带有属性的链接数组:类型描述关键字原理CreatedOn CreatedBy modifieddon ModifiedBy Revision SID Comments
删除自定义属性
你可以使用deleteAttribute
删除属性。但是,由于本例中创建的自定义属性被分配给链接,因此必须设置力
来真正的
删除属性。删除MyEditAttribute
并确认更改。
deleteAttribute (ls,“MyEditAttribute”,“力”,真正的);ls。CustomAttributeNames
ans =1 x3单元格{“MyCheckboxAttri…'} {MyComboboxAttri……'}{“MyDateTimeAttri…”}
添加一个新的自定义属性,但不要为链接设置任何自定义属性值。
addAttribute (ls,“NewEditAttribute”,“编辑”);ls。CustomAttributeNames
ans =1 x4单元格列1到3 {'MyCheckboxAttr…'} {MyComboboxAttr……'} {MyDateTimeAttr……'}列4 {'NewEditAttribute'}
因为NewEditAttribute
没有被任何链接使用,你可以删除它吗deleteAttribute
通过设置力
来假
.确认更改。
deleteAttribute (ls,“NewEditAttribute”,“力”、假);ls。CustomAttributeNames
ans =1 x3单元格{“MyCheckboxAttri…'} {MyComboboxAttri……'}{“MyDateTimeAttri…”}
清理
清除开放的需求集和链接集,在不保存更改的情况下关闭开放的模型。
slreq.clear;bdclose所有;
另请参阅
slreq。LinkSet
|addAttribute
|updateAttribute
|inspectAttribute
|deleteAttribute
|getAttribute
|setAttribute