FMI Library: part of JModelica.org
fmi1_import_capi.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2012 Modelon AB
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the BSD style license.
6 
7  This program is distributed in the hope that it will be useful,
8  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  FMILIB_License.txt file for more details.
11 
12  You should have received a copy of the FMILIB_License.txt file
13  along with this program. If not, contact Modelon AB <http://www.modelon.com>.
14 */
15 
16 #ifndef FMI1_IMPORT_CAPI_H_
17 #define FMI1_IMPORT_CAPI_H_
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include <JM/jm_callbacks.h>
24 #include <FMI/fmi_import_util.h>
25 #include <FMI/fmi_import_context.h>
26 /* #include <FMI1/fmi1_xml_model_description.h>*/
27 
28 #include <FMI1/fmi1_types.h>
29 #include <FMI1/fmi1_functions.h>
30 #include <FMI1/fmi1_enums.h>
31 /* #include <FMI1/fmi1_capi.h> */
32 
75 
81 
90 
105 
114 
124 FMILIB_EXPORT fmi1_status_t fmi1_import_set_real(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_real_t value[]);
125 
135 FMILIB_EXPORT fmi1_status_t fmi1_import_set_integer(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t value[]);
136 
146 FMILIB_EXPORT fmi1_status_t fmi1_import_set_boolean(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_boolean_t value[]);
147 
157 FMILIB_EXPORT fmi1_status_t fmi1_import_set_string(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_string_t value[]);
158 
159 
169 FMILIB_EXPORT fmi1_status_t fmi1_import_get_real(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_real_t value[]);
170 
180 FMILIB_EXPORT fmi1_status_t fmi1_import_get_integer(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_integer_t value[]);
181 
191 FMILIB_EXPORT fmi1_status_t fmi1_import_get_boolean(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_boolean_t value[]);
192 
202 FMILIB_EXPORT fmi1_status_t fmi1_import_get_string(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_string_t value[]);
203 
218 
227 
234 
243 
253 
262 
272 FMILIB_EXPORT fmi1_status_t fmi1_import_initialize(fmi1_import_t* fmu, fmi1_boolean_t toleranceControlled, fmi1_real_t relativeTolerance, fmi1_event_info_t* eventInfo);
273 
282 FMILIB_EXPORT fmi1_status_t fmi1_import_get_derivatives(fmi1_import_t* fmu, fmi1_real_t derivatives[], size_t nx);
283 
292 FMILIB_EXPORT fmi1_status_t fmi1_import_get_event_indicators(fmi1_import_t* fmu, fmi1_real_t eventIndicators[], size_t ni);
293 
302 FMILIB_EXPORT fmi1_status_t fmi1_import_eventUpdate(fmi1_import_t* fmu, fmi1_boolean_t intermediateResults, fmi1_event_info_t* eventInfo);
303 
313 
323 
332 FMILIB_EXPORT fmi1_status_t fmi1_import_get_state_value_references(fmi1_import_t* fmu, fmi1_value_reference_t vrx[], size_t nx);
333 
341 
356 
369 FMILIB_EXPORT jm_status_enu_t fmi1_import_instantiate_slave(fmi1_import_t* fmu, fmi1_string_t instanceName, fmi1_string_t fmuLocation, fmi1_string_t mimeType,
370  fmi1_real_t timeout, fmi1_boolean_t visible, fmi1_boolean_t interactive);
371 
381 FMILIB_EXPORT fmi1_status_t fmi1_import_initialize_slave(fmi1_import_t* fmu, fmi1_real_t tStart, fmi1_boolean_t StopTimeDefined, fmi1_real_t tStop);
382 
390 
398 
405 
416 FMILIB_EXPORT fmi1_status_t fmi1_import_set_real_input_derivatives(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t order[], const fmi1_real_t value[]);
417 
428 FMILIB_EXPORT fmi1_status_t fmi1_import_get_real_output_derivatives(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t order[], fmi1_real_t value[]);
429 
437 
447 FMILIB_EXPORT fmi1_status_t fmi1_import_do_step(fmi1_import_t* fmu, fmi1_real_t currentCommunicationPoint, fmi1_real_t communicationStepSize, fmi1_boolean_t newStep);
448 
458 
468 
478 
488 
498 
504 #ifdef __cplusplus
505 }
506 #endif
507 #endif /* End of header FMI1_IMPORT_CAPI_H_ */
FMILIB_EXPORT jm_status_enu_t fmi1_import_instantiate_model(fmi1_import_t *fmu, fmi1_string_t instanceName)
Wrapper for the FMI function fmiInstantiateModel(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_terminate(fmi1_import_t *fmu)
Wrapper for the FMI function fmiTerminate(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_real_input_derivatives(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t order[], const fmi1_real_t value[])
Wrapper for the FMI function fmiSetRealInputDerivatives(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_completed_integrator_step(fmi1_import_t *fmu, fmi1_boolean_t *callEventUpdate)
Wrapper for the FMI function fmiCompletedIntegratorStep(...)
FMILIB_EXPORT void fmi1_import_set_debug_mode(fmi1_import_t *fmu, int mode)
Set CAPI debug mode flag. Setting to non-zero prevents DLL unloading in fmi1_import_destroy_dllfmu wh...
FMILIB_EXPORT fmi1_status_t fmi1_import_reset_slave(fmi1_import_t *fmu)
Wrapper for the FMI function fmiResetSlave(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_integer_status(fmi1_import_t *fmu, const fmi1_status_kind_t s, fmi1_integer_t *value)
Wrapper for the FMI function fmiGetIntegerStatus(...)
Import context is the entry point to the library. It is used to initialize, unzip, get FMI version and start parsing.
FMILIB_EXPORT fmi1_status_t fmi1_import_get_string(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_string_t value[])
Wrapper for the FMI function fmiGetString(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_initialize(fmi1_import_t *fmu, fmi1_boolean_t toleranceControlled, fmi1_real_t relativeTolerance, fmi1_event_info_t *eventInfo)
Wrapper for the FMI function fmiInitialize(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_boolean(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_boolean_t value[])
Wrapper for the FMI function fmiSetBoolean(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_real_output_derivatives(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t order[], fmi1_real_t value[])
Wrapper for the FMI function fmiGetOutputDerivatives(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_event_indicators(fmi1_import_t *fmu, fmi1_real_t eventIndicators[], size_t ni)
Wrapper for the FMI function fmiGetEventIndicators(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_eventUpdate(fmi1_import_t *fmu, fmi1_boolean_t intermediateResults, fmi1_event_info_t *eventInfo)
Wrapper for the FMI function fmiEventUpdate(...)
fmi1_status_kind_t
FMILIB_EXPORT fmi1_status_t fmi1_import_get_boolean(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_boolean_t value[])
Wrapper for the FMI function fmiGetBoolean(...)
FMILIB_EXPORT jm_status_enu_t fmi1_import_instantiate_slave(fmi1_import_t *fmu, fmi1_string_t instanceName, fmi1_string_t fmuLocation, fmi1_string_t mimeType, fmi1_real_t timeout, fmi1_boolean_t visible, fmi1_boolean_t interactive)
Wrapper for the FMI function fmiInstantiateSlave(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_state_value_references(fmi1_import_t *fmu, fmi1_value_reference_t vrx[], size_t nx)
Wrapper for the FMI function fmiGetStateValueReferences(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_time(fmi1_import_t *fmu, fmi1_real_t time)
Wrapper for the FMI function fmiSetTime(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_continuous_states(fmi1_import_t *fmu, fmi1_real_t states[], size_t nx)
Wrapper for the FMI function fmiGetContinuousStates(...)
FMILIB_EXPORT void fmi1_import_destroy_dllfmu(fmi1_import_t *fmu)
Free a C-API struct. All memory allocated since the struct was created is freed.
#define FMILIB_EXPORT
Used to declare the public API of the library needed for dynamic linking.
fmi1_capi_t * fmu
fmi1_status_t
FMILIB_EXPORT fmi1_status_t fmi1_import_cancel_step(fmi1_import_t *fmu)
Wrapper for the FMI function fmiCancelStep(...)
FMILIB_EXPORT jm_status_enu_t fmi1_import_create_dllfmu(fmi1_import_t *fmu, fmi1_callback_functions_t callBackFunctions, int registerGlobally)
Create a C-API struct. The C-API struct is a placeholder for the FMI DLL functions.
FMILIB_EXPORT fmi1_status_t fmi1_import_get_real_status(fmi1_import_t *fmu, const fmi1_status_kind_t s, fmi1_real_t *value)
Wrapper for the FMI function fmiGetRealStatus(...)
FMILIB_EXPORT void fmi1_import_free_slave_instance(fmi1_import_t *fmu)
Wrapper for the FMI function fmiFreeSlaveInstance(...)
Definions the enum types used with FMI 1.0 libs.
FMILIB_EXPORT fmi1_status_t fmi1_import_get_derivatives(fmi1_import_t *fmu, fmi1_real_t derivatives[], size_t nx)
Wrapper for the FMI function fmiGetDerivatives(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_string(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_string_t value[])
Wrapper for the FMI function fmiSetString(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_initialize_slave(fmi1_import_t *fmu, fmi1_real_t tStart, fmi1_boolean_t StopTimeDefined, fmi1_real_t tStop)
Wrapper for the FMI function fmiInitializeSlave(...)
FMILIB_EXPORT const char * fmi1_import_get_version(fmi1_import_t *fmu)
Wrapper for the FMI function fmiGetVersion()
FMILIB_EXPORT fmi1_status_t fmi1_import_get_real(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_real_t value[])
Wrapper for the FMI function fmiGetReal(...)
struct fmi1_import_t fmi1_import_t
FMU version 1.0 object.
FMILIB_EXPORT const char * fmi1_import_get_types_platform(fmi1_import_t *fmu)
Wrapper for the FMI function fmiGetTypesPlatform(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_boolean_status(fmi1_import_t *fmu, const fmi1_status_kind_t s, fmi1_boolean_t *value)
Wrapper for the FMI function fmiGetBooleanStatus(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_integer(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t value[])
Wrapper for the FMI function fmiSetInteger(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_continuous_states(fmi1_import_t *fmu, const fmi1_real_t x[], size_t nx)
Wrapper for the FMI function fmiSetContinuousStates(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_nominal_continuous_states(fmi1_import_t *fmu, fmi1_real_t x_nominal[], size_t nx)
Wrapper for the FMI function fmiGetNominalContinuousStates(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_string_status(fmi1_import_t *fmu, const fmi1_status_kind_t s, fmi1_string_t *value)
Wrapper for the FMI function fmiGetStringStatus(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_debug_logging(fmi1_import_t *fmu, fmi1_boolean_t loggingOn)
Wrapper for the FMI function fmiSetDebugLogging(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_terminate_slave(fmi1_import_t *fmu)
Wrapper for the FMI function fmiTerminateSlave(...)
jm_status_enu_t
Return status codes.
Definition: jm_types.h:44
FMILIB_EXPORT void fmi1_import_free_model_instance(fmi1_import_t *fmu)
Wrapper for the FMI function fmiFreeModelInstance(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_set_real(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_real_t value[])
Wrapper for the FMI function fmiSetReal(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_status(fmi1_import_t *fmu, const fmi1_status_kind_t s, fmi1_status_t *value)
Wrapper for the FMI function fmiGetStatus(...)
FMILIB_EXPORT const char * fmi1_import_get_model_types_platform(fmi1_import_t *fmu)
Wrapper for the FMI function fmiGetModelTypesPlatform(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_do_step(fmi1_import_t *fmu, fmi1_real_t currentCommunicationPoint, fmi1_real_t communicationStepSize, fmi1_boolean_t newStep)
Wrapper for the FMI function fmiDoStep(...)
FMILIB_EXPORT fmi1_status_t fmi1_import_get_integer(fmi1_import_t *fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_integer_t value[])
Wrapper for the FMI function fmiGetInteger(...)