Inicialização de uma FMU Dymola na Simulink

Eu encontrei um problema ao tentar simular um modelo usando um arquivo fmu no Simulink:

Estou usando a caixa de ferramentas Modelon FMI para uma interface Dymola / Simulink para importar um arquivo fmu do tipo Model-Exchange (versão 1.0) para o modelo Simulink. Eu tenho um m-arquivo Matlab que programaticamente simula o modelo sequencialmente, salvando os estados internos finais do modelo para inicialização na próxima simulação. A primeira iteração da simulação é executada sem erros, mas na segunda iteração, o Matlab retorna os seguintes erros na chamada para a simulação:

module = partial_run_sim2 / BasicModels.System_model_final_Sim, nível de log = ERRO: [] [Status da FMU: Erro] fmiInitialize: dsblock_ failed, QiErr = 1
module = partial_run_sim2 / BasicModels.System_model_final_Sim, log level = ERRO: [] [FMU status: Error] Possíveis erros (não exaustivos): 1. O arquivo de licença não foi encontrado. Use a variável de ambiente "DYMOLA_RUNTIME_LICENSE" para especificar seu arquivo de licença do Dymola. 2. O modelo faz referência a dados externos que não estão presentes na máquina de destino, pelo menos não no mesmo local. Erro relatado pela função S 'sfun_fmu_me_1_0' em 'partial_run_sim2 / BasicModels.System_model_final_Sim': fmiInitialize retornou com um erro em initialize_fmu_model_first_time. Veja a Janela de Comando para mais informações impressas pelo modelo da FMU.

Eu sei que minhas licenças para Dymola e a caixa de ferramentas FMI estão atualizadas.

A chamada de simulação no arquivo m é:

simOut_itr = sim(model, model_cs); 

Onde “modelo” é o arquivo de modelo Simulink .slx e “model_cs” é uma variável de Configuração de Configuração Simulink. Eu configurei a Configuração de forma que o modelo carregue os estados iniciais da área de trabalho e salvei os estados finais das iterações anteriores para essa variável da área de trabalho. Essa ação também ocorre na primeira iteração, embora os estados iniciais sejam os mesmos que os estados iniciais padrão no arquivo fmu. Eu suspeito que a primeira iteração é executada sem problema porque a inicialização é igual ao valor padrão, mas a iteração subseqüente tem um valor de inicialização diferente, o que não concorda com o bloco fmu.

Estou ciente da capacidade de simular o arquivo fmu no Matlab usando as funções fmi, mas esses métodos não permitem tanta transparência nos estados do sistema, o que dificulta a simulação seqüencial. Estou aberto a quaisquer métodos que permitam esse tipo de simulação, no entanto.

Quaisquer sugestões em relação à inicialização dos estados do sistema em arquivos fmu no Matlab / Simulink são muito apreciadas. Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion