Adams Advanced Package > Adams Mechatronics > Components in Adams Mechatronics

Components in Adams Mechatronics

In this section, Adams Mechatronics components which all are of UDE (User Defined Element) type are explained in detail. A UDE is actually just a collection of standard elements in Adams. The UDE is treated as a single element in the interface instead of just every standard element for itself.
There are two types of UDE components in Adams Mechatronics; control signal UDE object which is the base for all signal components, and control system UDE object which is used by control system. So these two types of UDEs cover all five components available in Adams Mechatronics.
1. Transducer signals
2. Actuator signals
3. Control System Input
4. Control System Output
5. Control System
Please note that control system inputs/outputs are automatically created when you create a control system object. This means that there is no dialog box available to create a control system input/output object; however, they can be modified by using Modify Control Signal Input/Output dialog box. The control system input/output objects are entirely managed internally by Adams Mechatronics and only serve as a convenient and efficient way to transfer information from/to transducer signals and actuator signals.

Control Signal

UDE definition

.AMECH.udes.ac_control_signal

UDE description:

The control signal UDE is used to create control signal objects. The central object in this UDE is the signal variable. Transducer signal, Actuator signal, control system input and control system output are all based on this UDE

UDE Specification

Parameters:

 
Parameter
Type
Function
signal_type
string value
Type of Control signal. There are four different types of signals:
Transducer_signal
Actuator_signal
Control_system_input
Control_system_output
function
string value
Variable function. The User can provide an expression in two cases:
Transducer_signal
Control_system_output (if control system type is set to function)
For all other signal types the expressions are set automatically in the control system connect procedure.
function_type
integer value
1. = function expression
2. = user parameters for a VARSUB
template_function
string_value
Storing the Adams Car template function expressions. Used when the control system type is set to ‘function’.
user_parameters
string value
Expression containing user parameters for a VARSUB call
routine
string value
The routine in the VARSUB
disturbance
string value
The options are:
none
add
multiply
disturbance_type
string value
The disturbance type. There are four types:
user_function
file_ascii
file_rpc
file_dac
disturbance_function
string value
Additional disturbance of the signal. This could a time function or just a single constant.
disturbance_function_unit
string value
The unit of the disturbance function.
disturbance_file
string value
Additional disturbance signal from a file (ascii, rpc, dac).
disturbance_channel
string value
Channel in disturbance file
disturbance_channel_unit
string value
The unit of the disturbance file channel. Valid for rpc and dac disturbance files.
disturbance_time_unit
string value
The time unit of the disturbance file channel. Valid for rpc and dac disturbance files.
disturbance_scale_factor
real value
Disturbance scale factor. Valid for file input disturbances.
disturbance_active_flag
integer value
Disturbance active flag. Dependent on the disturbance variable. If the disturbance is set to “none” the value is 0. If not “none”, the value is set to 1.
scale_factor
real value
Scale factor to the complete function.
request_active_flag
string value
Can contain following activity options:
"active:model_and_signal_units"
"active:model_units"
"active:signal_units"
"not_active"
"active:model_units" means that the request which is expressed in model_units is active.
measure_active_flag
string value
See comment for request_active_flag. The same options are available for measures as well.
unit_type
string value
Unit type of the signal. For instance "rotational_velocity".
unit_string
string value
Unit of the signal. For instance "deg/s"
unit_conversion_factor1
real value
Unit conversion factor from control signal unit to model units.
unit_conversion_factor2
real value
Unit conversion factor from disturbance unit to model units.
unit_conversion_factor3
real value
Degrees to radians. (used when angle is a part of the unit type)
time_unit_conversion_factor
real value
From disturbance time unit to model units. Valid for disturbance files.
control_system
object value
The related control system. Valid for control system inputs and control system outputs.
signal_index
integer value
Index of specific input / output for the control system. Valid for control system inputs and control system outputs
connector_name
string value
Connected control signal name. Valid for the control signal of types actuator signal and control system input.
connector_major_role
string value
Major role of the connected control signal. For instance "ESP_system". Only valid for template based products like Adams Car.
connector_minor_role
string value
Minor role of the connected control signal. For instance "front". Only valid for template based products like Adams Car.
connector_side
string value
Either left, right or single.
connector_signal
object value
The connecting signal variable. (solver variable)
connector_signal_solver_id
integer value
The Adams id of the connector object.
property_file
string value
A Dummy variable. Needed for the read property file ude method functionality.
asymmetric
integer value
Since connector information data can be asymmetric, the control signal is always set to asymmetric. In the subsystem file there are always separate blocks for left and right side of a control signals.
symmetric_dbox_data
string value
"Yes" or "No". Even though the control signal is asymmetric, the user can specify if the data which appear in the create/modify dialog box should be the same for left and right side. Disturbance, scale factors, units etc.
signal_connection_flag
integer value
Indicates if the control signal has been connected on not. Valid for control system input and actuator signal.
active_flag
string value
The are a total of four possible values of the parameter:
"always"
Valid for transducer signals and actuator signals. Active even if not connected (the signal is set to zero)
"only if connected"
Valid for transducer signal and actuator signal. The Control signal gets deactivated if not connected.
"only if referred to"
Valid only for actuator signal. If no elements are dependent on the actuator_signal the signal gets deactivated.
"dependent_on_control_system"
The only "option" for control system input and control system output. Is not valid for other type of control signals.
active_objects
object value
Object that will be activated if the signal gets connected. (They are deactivated if the signal does not find any connection.)
inactive_objects
object value
Object that will be deactivated if the signal gets connected. (They are activated if the signal does not find any connection.)
dependent_object
object value
Useful when replacing to an UDE entity that should use Adams Mechatronics functionality. The "Amech" UDE entity will look for an actuator and find the only actuator which has set the specific UDE as a dependent object.
delay_type
string value
Can be “none”, “function”, “disturbance” or “disturbed_function”
delay_active_flag
integer value
Help variable, 0 if Delay is set to “none” otherwise 1
delay_time_type
string value
“run_time_expression” or “template_expression”
delay_time_function
string value
Either a constant value or a function expression
delay_time_template_function
string value
Valid only for Adams Car. It is possible to set a model dependent delay time in template model. The user can choose to use the template expression or override it in the standard interface mode.
delay_time_unit
string value
Time unit the delay_time_function is expressed in.
delay_time_template_unit
string value
The time unit the delay_time_template_function is expressed in.
delay_time_unit_conversion_factor
real value
Conversion factor from delay time unit to modeling time unit.
delay_function_init_history_flag
integer value
If set to 1, the init history value is used
delay_function_init_history
real value
Initial history value of the delay function

Input Parameters:

 
Input Parameter
Type
Function

Objects:

 
Object
Type
Function
signal_variable
state variable
Holding the resulting output signal value from the control signal.
function_variable
state variable
Holds expression that measure a state of the mechanical/control system. Works as an “input” to the control signal.
disturbance_variable
state variable
Disturbance signal variable
template_function_variable
state variable
Contains the functions which are defined in the template builder.
delay_time_variable
state variable
Depends on delay_time_function
delay_time_template_variable
state variable
Depends on delay_time_template_function
delay_function_variable
state variable
Solver variable containing the solver expression that should be delayed.
request_model_units
request
Signal request in model units.
For details refer to disturbance and delay section
request_signal_units
request
Signal request in signal units.
For details refer to disturbance and delay section
signal_model_units
measure
Signal measure in model units
disturbance_model_units
measure
Disturbance measure in model units
undisturbed_model_units
measure
Undisturbed signal in model units
signal_signal_units
measure
Signal measure in signal units
disturbance_signal_units
measure
Disturbance measure in signal units
undisturbed_signal_units
measure
Undisturbed signal in signal units
spline
spline
Disturbance signal data values
Create Macro: (call: amech template_builder instance ac_control_signal create). This macro is executed when an instance of the definition ac_control_signal is created.
Modify Macro: (call: amech template_builder instance ac_control_signal modify). This macro is executed when an instance of the definition ac_control_signal is modified.
Destroy Macro: (call: amech template_builder instance ac_control_signal destroy). This macro deletes all the entities which have been created for the instance exclusively.

Request definition:

 
Disturbance/Delay settings
Component
Component name
No disturbance, no delay
f2
signal
No disturbance, delay_type is set to “function”,
f2
signal
f4
function
Disturbance, no delay
f2
signal
f3
disturbance
f4
undisturbed signal
f7
function
Disturbance, delay_type is set to “function”
f2
signal
f3
disturbance
f4
undisturbed signal
f6
delayed_function
f7
function
Disturbance, delay_type is set to “disturbance”
f2
signal
f3
delayed disturbance
f4
disturbance
f6
undisturbed signal
f7
function
Disturbance, delay_type is set to “disturbed_function”
f2
signal
f3
disturbed function
f4
disturbance
f6
undisturbed signal
f7
function

Measure definition:

 
Function_name
Function
signal
complete_function

Subsystem parameters in Adams Car:

 
signal_type
symmetric_dbox_data
unit_type
unit_string
scale_factor
delay_type
delay_time_type
delay_time_function
delay_time_unit
delay_function_init_history_flag
delay_function_init_history
disturbance
disturbance_type
disturbance_function
disturbance_function_unit
disturbance_file
disturbance_channel
disturbance_channel_unit
disturbance_time_unit
request_active_flag
measure_active_flag
connector_name
connector_major_role
connector_minor_role
connector_side

Design parameters:

 
scale_factor
disturbance_scale_factor

Template Builder (Adams Car) - Standard Interface (Adams Car) - Adams View

.AMECH.dboxes.dbox_tem_con_sig
The dialog box has two modes - create or modify - that calls either the create or modify macro.
.AMECH.macros.mac_tem_con_sig_cre
Command: amech template_builder control_signal create
Creates left/right or single control_signal by calling the screate macro.
.AMECH.macros.mac_tem_con_sig_scr
Command: amech template_builder control_signal screate
Creates a single control_signal.
.AMECH.macros.mac_tem_con_sig_mod
Command: amech template_builder control_signal modify
Modifies left/right or single control_signal by calling the smodify macro.
.AMECH.macros.mac_tem_con_sig_smo
Command: amech template_builder control_signal smodify
Modifies a single control_signal.

Control System

UDE definition:

AMECH.udes.ac_control_system

UDE description:

The control_system UDE is used to create control system objects.

UDE Specification

Parameters:

 
Parameter
Type
Function
active_flag
integer value
1= active control system, 0 = inactive control system
active_objects
object value
Object variable holding objects that are activated if the control system is active and is of type Function. (Objects get deactivated if control system is not active or if the type is not function).
Valid for Function Control System
type
string value
Type of Control system. There are three different types of systems:
Function Expression
External System Library
Co-Simulation
input_num
integer value
Number of inputs
output_num
integer value
Number of outputs
input_signal_array
object value
Object array holding input control signal objects
output_signal_array
object value
Object array holding output control signal objects
x_num
integer value
number of continuous states of the GSE (ESL).
xd_num
integer value
number of discrete states of the GSE (ESL)
x_IC_values
real value
Initial conditions of the continuous states of the GSE (ESL)
xd_IC_values
real value
Initial conditions of the discrete states of the GSE (ESL)
parameter_num
integer value
Number of parameters that are passed to the GSE routines (ESL)
parameter_names
string value
Names of the parameters that are passed to the GSE routines (ESL)
parameter_values
real value
Values of parameters that are passed to the GSE routines (ESL)
library
string value
Name of the dynamic link library (ESL)
library property file
string value
Property file which refer to the dynamic link library file. Contains also input values for the library file such as parameter values and initial conditions.
routine_name
string value
Name of the routine used for ESL Control System (ESL)
routine_name_length
integer value
Length of the routine used for ESL Control System (ESL)
property_file
string value
Dummy variable that is needed to be able to update values via a read_property_file macro. This parameter is not a subsystem parameter.
static_hold
string value
Indicates that the continuous GSE states are not permitted to change during static and quasi-static simulations. (ESL)
cosim_control_package
string value
Select one of the following (Cosim):
EASY5
MATLAB
FMU v1.0
FMU v2.0
cosim_initial_static
string value
Select one of the following (Cosim):
Yes: Performs initial static analysis.
No: Does not perform initial static analysis.
fmu_tcp_ip
string value
Select one of the following (Cosim):
on: Enables TCP/IP communication
off: Enables PIPE based communication
FMI_parent
string value
Select one of the following (Cosim)
SIMulation Workbench (real-time FMI parent from Concurrent REAL-TIME)
SCALEXIO (real-time FMI parent from dSPACE)
None (any generic FMI parent)
fmu_realtime
string value
Select one of the following (Cosim):
on: Enables DIRECT mode communication
off: Enables PIPE based communication
This option would be evaluated only when "fmu_tcp_ip" is set to "off". By default, "fmu_tcp_ip" takes precedence. This option should be set to "on" only if the parent in the co-simulation is not Adams.
fmu_output_rate
integer value
Specifies the multiple of the communication interval at which the Adams child should write the results to the file. Default value is 1, that is, to write the outputs at every communication interval.
fmu_include_mnf
string value
Specifies whether the mnf files should be included in the FMU or not. This helps in saving space. If the mnf files are required by the solver, then this should be set to yes. Otherwise simulation could fail.
sensor_active_flag
integer value
Sets to 1 if sensor object is active (dependent on external system library file)
esl_errtol_scale_factor
real value
Used to specify the error tolerance scale in case individual error tolerances are specified
hp_group
object value
Hard point/Point parameter group. Only applicable when the control system is being exported as an FMU.
pv_group
object value
Parameter variables/Design variables parameter group. Only applicable when the control system is being exported as an FMU.
gp_group
object value
General Parts/Parts parameter group. Used when mass properties of parts are to be exported. Only applicable when the control system is being exported as an FMU.
pf_group
object value
Property files parameter group. Only applicable in ACar models (not AView) when the control system is being exported as an FMU.
ude_group
object value
UDE parameter group. Used when design/instance design variables of UDEs are to be exported. Only applicable in ACar models (not AView) when the control system is being exported as an FMU.

Input Parameters:

 
Input Parameter
Type
Function

Objects:

 
Object
Type
Function
GSE
gse
General State Equation.
PLANT_INPUT
plant input
Plant input used for Co-simulation and setup of ESL dynamic library file.
PLANT_OUTPUT
plant output
Plant output used for Co-simulation and setup of ESL dynamic library file.
X_ARRAY
array
ARRAY that is used to define the continuous states for the GSE
XD_ARRAY
array
ARRAY that is used to define the discrete states for the GSE
X_IC_ARRAY
array
ARRAY that specifies the initial conditions for the continuous states in the GSE.
XD_IC_ARRAY
array
ARRAY that specifies the initial conditions for the discrete states in the GSE.
Y_ARRAY
array
ARRAY that holds output values of a GSE.
U_ARRAY
array
ARRAY that is used to define the input variables for the GSE
PARAMETER_ARRAY
array
ARRAY that holds parameter values that are passed to GSE routine calls.
ROUTINE_STRING
Adams string
STRING that hold the name of the routine that are passed to the GSE routine(s).
SENSOR
sensor
Sensor object. The sensor is active if control system type is set to ‘ESL’ and the library file requires one.
Create Macro: (call: amech template_builder instance ac_control_system create)
This macro is executed when an instance of the definition ac_control_system is created.
Modify Macro: (call: amech template_builder instance ac_control_system modify)
This macro is executed when an instance of the definition ac_control_system is modified.
Destroy Macro: (call: amech template_builder instance ac_control_system destroy)
This macro deletes all the entities which have been created for the instance exclusively.

Request definition:

No requests in the UDE definition

Subsystem parameters:

 
type
library_property_file
static_hold
cosim_control_package
cosim_initial_static
fmu_tcp_ip
FMI_parent
active_flag
fmu_realtime
fmu_output_rate
fmu_include_mnf

Template Builder (Adams Car) - Standard Interface (Adams Car) - Adams View

.AMECH.dboxes.dbox_tem_con_sys
The dialog box has two modes - create or modify - that calls either the create or modify macro.
.AMECH.macros.mac_tem_con_sys_cre
Command: amech template_builder control_system create
Creates left/right or single control_system by calling the screate macro.
.AMECH.macros.mac_tem_con_sys_scr1
Command: amech template_builder control_system screate1
Creates a single control_system (1).
.AMECH.macros.mac_tem_con_sys_scr2
Command: amech template_builder control_system screate2
Creates a single control_system (2).
.AMECH.macros.mac_tem_con_sys_mod
Command: amech template_builder control_system modify
Modifies left/right or single control_system by calling the smodify macro.
.AMECH.macros.mac_tem_con_sys_smo1
Command: amech template_builder control_system smodify1
Modifies a single control_system (1).
.AMECH.macros.mac_tem_con_sys_smo2
Command: amech template_builder control_system smodify2
Modifies a single control_system (2).