FMU块调用序列
在包含FMU块的仿真模型,仿真软件万博1manbetx®通过不同的仿真软件引擎阶段,FMU块调用FMU联合万博1manbetx仿真和模型交换方法FMI版本1.0和2.0 (fmi
*和fmi2
*方法)。这个话题了FMI标准在这些阶段调用序列。
这个主题的用途:
fmiSetXXX
(FMI版本1.0)fmi2SetXXX
(FMI版本2.0)代表的方法:fmiSetReal
/fmi2SetReal
,fmiSetInteger
/fmi2SetInteger
,fmiSetBoolean
/fmi2SetBoolean
,或fmiSetString
/fmi2SetString
。fmiGetXXX
(FMI版本1.0)fmi2GetXXX
(FMI版本2.0)代表的方法:fmiGetReal
/fmi2GetReal
,fmiGetInteger
/fmi2GetInteger
,fmiGetBoolean
/fmi2GetBoolean
,或fmiGetString
/fmi2GetString
。
联合仿真FMI版本1.0的调用序列
这些调用订单FMI s函数回调方法调用的方法。
设置阶段
编译,年底FMU块执行设置活动通过调用这些FMI方法:
fmiGetTypesPlatform
fmiGetVersion
fmiInstantiateModel
fmiSetTime
变量的值开始,
fmiSetXXX
初始化阶段
的模拟,FMU块设置内部状态和执行其他通过调用初始化活动fmiSetXXX
可调参数的方法。
输出阶段
在这个阶段,FMU块计算输出在当前时间步通过调用这些FMI方法:
如果调用是第一步:
fmiSetXXX
fmiInitialize
如果一个事件发生时,
fmiEventUpdate
如果调用没有第一步:
fmiSetTime
fmiSetXXX
(输入)fmiSetContinuousStates
fmiCompletedIntegratorStep
如果一个事件发生时,
fmiEventUpdate
为输出,
fmiGetXXX
更新阶段
FMU块计算在当前时间步和执行其他主要通过调用时间步的活动fmiSetXXX
输入的方法。
衍生品相
FMU连续状态的FMU块计算衍生品通过调用这些FMI方法:
fmiSetTime
fmiSetContinuousStates
fmiGetDerivatives
讨论二阶导数过零信号相位
FMU块计算的零交点向量FMU事件通过调用这些FMI功能指标:
fmiSetTime
fmiSetContinuousStates
fmiGetEventIndicators
终止阶段
在仿真结束时,FMU块执行活动之前终止仿真通过调用这些FMI方法:
fmiTerminate
fmiFreeModelInstance
模型交换调用序列FMI 1.0版
这些调用订单FMI s函数回调方法调用的方法。
设置阶段
编译,年底FMU块执行设置活动通过调用这些FMI功能:
fmiGetTypesPlatform
fmiGetVersion
fmiInstantiateModel
fmiSetTime
变量的值开始,
fmiSetXXX
初始化阶段
的模拟,FMU块设置内部状态和执行其他初始化活动通过调用这些fmiSetXXX
可调参数的方法。
输出阶段
FMU块计算输出在当前时间步通过调用这些FMI功能:
如果调用是第一步:
fmiSetXXX
fmiInitialize
如果一个事件发生时,
fmiEventUpdate
如果调用没有第一步,
fmiDoStep
,为输出,
fmiGetXXX
更新阶段
FMU块计算在当前时间步和执行其他主要通过调用时间步的活动fmiSetXXX
输入的方法。
终止阶段
在仿真结束时,FMU块之前终止仿真执行活动。这个方法调用这些方法:
fmiTerminate
fmiFreeModelInstance
联合仿真FMI版本2.0的调用序列
这些调用订单FMI s函数回调方法调用的方法。
设置阶段
编译,年底FMU块执行设置活动通过调用这些FMI方法:
fmi2GetTypesPlatform
fmi2GetVersion
fmi2Instantiate
变量的值开始,
fmi2SetXXX
初始化阶段
的模拟,FMU块设置内部状态和执行其他初始化活动通过调用这些FMI方法:
变量的值开始,
fmi2SetXXX
fmi2SetupExperiment
输出阶段
在这个阶段,FMU块计算输出在当前时间步通过调用这些FMI方法:
如果调用是第一步:
fmi2EnterInitializationMode
为输入,
fmi2SetXXX
fmi2InitializationMode
如果调用没有第一步,
fmi2DoStep
为输出,
fmi2GetXXX
更新阶段
在此阶段,FMU块计算状态在当前时间步和执行其他主要时间步的活动。这个方法调用fmi2SetXXX
为输入。
终止阶段
在仿真结束时,FMU块执行活动之前终止仿真通过调用这些方法:
fmi2Terminate
fmi2FreeModelInstance
模型交换调用序列FMI 2.0版
这些调用订单FMI s函数回调方法调用的方法。
设置阶段
编译,年底FMU块执行设置活动通过调用这些FMI方法:
fmi2GetTypesPlatform
fmi2GetVersion
fmi2Instantiate
变量的值开始,
fmi2SetXXX
初始化阶段
的模拟,FMU块设置内部状态和执行其他初始化活动通过调用这些FMI方法。
可调参数,
fmi2SetXXX
fmi2SetupExperiment
输出阶段
FMU块计算输出在当前时间步通过调用这些FMI方法:
如果调用是第一步:
fmi2EnterIntializationMode
为输入,
fmi2SetXXX
fmi2ExitIntializationMode
如果调用没有第一步:
fmi1SetTime
连续输入,
fmi2SetXXX
fmi2SetContinuousStates
fmi2SetContinuousStates
fmi2CompletedIntegratorStep
如果一个事件发生时:
fmi2EnterEventMode
为输入,
fmi2SetXXX
fmi2NewDiscreteStates
fmi2EnterContinuousTimeMode
如果一个事件发生时:
fmi2EnterEventMode
为输入,
fmi2SetXXX
fmi2NewDiscreteStates
fmi2EnterContinuousTimeMode
为输出,
fmi2GetXXX
更新阶段
FMU块计算在当前时间步和执行其他主要通过调用时间步的活动fmi2SetXXX
输入的方法。
衍生品相
FMU连续状态的FMU块计算衍生品通过调用这些FMI方法:
fmi2SetTime
fmi2SetContinuousStates
fmi2GetEventIndicators
讨论二阶导数过零信号相位
FMU块计算的零交点向量FMU事件指标通过调用这些FMI方法:
fmi2SetTime
fmi2SetContinuousStates
fmi2GetEventIndicators
终止阶段
在仿真结束时,FMU块执行活动之前终止仿真通过调用这些方法:
fmi2Terminate
fmi2FreeInstance