编程模型编辑
使用模型
添加块
公共方法用于添加块。 add_阻止
engee.add_block(lib_block_path, tgt_block_path)
-
从
lib_block_path在tgt_block_path. -
lib_block_path-模型或库中块的完整路径。 方式lib_block_path您可以通过双击工作区的可用区域并键入所需块的名称来查看它。:
-
tgt_block_path-系统的路径和预期名称。 如果未指定名称,则会自动设置该名称。 -
如果现有模型块的路径与库中的块的路径匹配,因为模型及其系统的名称与库部分的名称匹配,则会选择模型中的块。
-
如果在
tgt_block_path最后一个包含未来块的名称,它试图在此名称下添加一个块。 -
如果
tgt_path如果它不包含未来块的名称,则根据模式形成名称<block_type>-<索引>例如罪-1,其中索引是添加后给定类型的块的数量,Sin是块的block_type。 -
在添加块端口时向子系统添加额外的端口,例如,
在港.
| 添加的块不会立即显示。 要显示块,您需要重新打开模型(保存后),在模型之间切换或重新加载页面。 |
例子_
engee.add_block("/Basic/Math Operations/Add", "newmodel_1/")
engee.add_block("/Basic/Math Operations/Complex to Real-Imag", "newmodel_1/Test_name") # добавит блок из библиотеки в систему и присвоит ему имя Test_name
错误
-
如果名称被占用,则以错误结束。
IncorrectBlockNameException. -
如果库块的路径不正确,则失败。
InvalidBlockPathException异常. -
如果添加块的系统不存在或已关闭,则会失败。
SystemIsNotExistException.
删除块
使用公共方法 delete_阻止
engee.delete_block(block_path)
-
删除指定路径上的块。
-
block_path-按类型划分的模型中块的绝对路径"newmodel_1/正弦波",在哪里新模型_1-模型的名称,以及正弦波;正弦波-块的名称。 -
它还会删除与该块关联的所有行和端口。
复制块
使用公共方法 复制阻止:
engee.copy_block(src_block_path::String, tgt_block_path::String)
-
src_block_path::字符串-系统中块的完整路径。 -
tgt_block_path::字符串-系统的路径和预期名称。 格式:路径/到/系统/newblockname(如果未指定名称,则会自动设置)。
例子::
# Добавляет блок с именем Add-3 из модели newmodel_1 в модель newmodel_2
engee.copy_block("newmodel_1/Add-3", "newmodel_2/")
# Добавляет блок с именем Custom Block Name из модели newmodel_1 в модель newmodel_2 под именем Test_name
engee.copy_block("newmodel_1/Custom Block Name", "newmodel_2/Test_name")
错误
-
IncorrectBlockNameException-姓名不正确 的新块。 -
InvalidBlockPathException异常-正在复制的块不存在于指定的路径上。 -
SystemIsNotExistException-添加块的系统不存在。
添加/删除信号
# добавляет линии между портами
engee.add_line(src_port, dst_port) = engee.add_line(engee.gcs(), src_port_path, dst_port_path)
engee.add_line(system::String|System, src_port :: String, dst_port :: String)
# удаляет линии между портами
engee.delete_line(src_port, dst_port) = delete_line(gcs(), src_port, dst_port)
engee.delete_line(system, src_port :: String, dst_port :: String)
-
添加/删除端口之间的线路
src_port_path和dst_port_path,在哪里src_port-到街区出口端口的完整路径,tgt_port-到块的输入端口的完整路径。 -
如果路径指向子系统的块端口,则通过相应的端口连接/断开子系统本身。
-
在所有其他情况下,相应端口的块必须位于同一系统上。
-
端口名称是其序列号。
错误
-
SourceEdgeIsNotOutputPort-如果端口上 路径src_port_path不是out端口 -
N.目标,目标-如果路径上的端口是tgt_port_path,则它不是输入端口。 -
目标;目标-如果TGT端口已经连接。 -
NotAcausalPort-对于非定向连接,如果其中一个端口具有非非因果类型。 -
N.线形,线形-如果端口类型或线路方向不正确。
写/读块和信号参数
使用公共方法 set_param!和 get_param
engee.set_param!(blockPath, paramName => paramValue)
engee.get_param(blockPath, paramName)
engee.get_param(blockPath)
engee.set_param!(blockPath, blockParams)
-
同样地
get_param和set_param!为模型参数。
您不仅可以获取模型的参数,还可以获取特定块的参数,还可以使用变量结构更改它们(让我们称之为 [医][医]),例如:
# Получаем текущие параметры Sine Wave
sine_params = engee.get_param("newmodel_1/Sine Wave")
# Создаем копию всех параметров и изменяем только один
modified_params = copy(sine_params)
modified_params["Amplitude"] = "2.5" # изменяем только амплитуду
# Применяем все параметры (остальные остаются как были)
engee.set_param!("newmodel_1/Sine Wave", pairs(modified_params)...)
该示例显示了如何仅更改块的一个参数(幅度),同时保持所有其他参数不变。 当您需要逐点修改块设置而不冒重置其他参数的风险时,请使用此方法。
|
所有可用的块参数都可以通过用鼠标选择并运行命令来获得
|
| 本文介绍了Engee中可用的所有公共软件管理方法 计划管理的公共方法. |
例子:
engee.add_block("/Basic/Sources/Sine Wave", "model_name/Sine Wave-x") #вставляет блок Sine Wave из библиотеки Basic/Sources и присваивает ему имя Sine Wave-x
engee.add_block("/Basic/Sinks/Terminator", "model_name/") #вставляет блок Terminator из библиотеки Basic/Receivers и присваивает имя автоматически (например Terminator-1, если блок с именем Terminator уже существует)
engee.delete_block("newmodel_1/Terminator") #удаляет блок и все связанные с блоком линии и порты
engee.add_line("Sine Wave/1", "Terminator/1") #устанавливает сигнал между выходным портом №1 у блока Sin Wave и входным портом №1 блока Terminator
恩吉。delete_line("Sine Wave/1","Terminator/1")#删除Sin Wave块1号输出端口和Terminator块1号输入端口之间的信号
恩吉。get_param("newmodel_1")#获取仿真参数
恩吉。set_param!("newmodel_1","StopTime"=>15,"FixedStep"=>0.05)#更改模拟结束时间和固定步长