ASAM XIL Integration

This section describes the Typhoon HIL implementation of the ASAM XIL standard.

ASAM XIL in the Typhoon HIL toolchain

ASAM XIL consists of standardized API functions defined by the Association for Standardization of Automation and Measuring systems. More information about the standard can be found at: https://www.asam.net.

The Typhoon HIL implementation of ASAM XIL can be used through scripts or by any third party tools which supports this standard and provides an opportunity to use Typhoon HIL real time devices. The Typhoon HIL API is automatically available with installation of Typhoon HIL Control Center (THCC) and doesn’t require any additional setup.

Supported ASAM Standard

ASAM XIL-MA or MAPort (Model Access Port) is implemented. This port specifies the necessary functions required for accessing and controlling the HIL model. Read/write functionalities, simulation control functions, and capturing functionalities are implemented. The current implementation of the ASAM XIL standard within the Typhoon HIL toolchain uses the C# programming language. At the moment, ASAM XIL 2.1.0 version is supported.

Using ASAM XIL in Typhoon HIL Control Center

In order to execute tests, Typhoon HIL Control Center (THCC) needs to be installed. Once a test is executed, THCC is automatically started in headless mode. During test execution it is possible to open all tools (e.g. Schematic Editor) except HIL SCADA.

Model File

The model file is used to specify the path to the schematic (.tse) and configuration (.runx) files. This is an XML file with paths specified through tags: schematic_path and model_settings.

Example:

<?xml version='1.0'?>
<root>
 <schematic_path>schematic_absolutepath\file_name.tse</schematic_path>
 <model_settings>model_settings_absolutepath\file_name.runx</model_settings>
 <vhil_device>false</vhil_device>
</root>

The schematic_path always needs to be defined. The model_settings path can be omitted if the .runx file is not used.

To perform Virtual HIL simulations, set the vhil_device tag to true. If this tag is omitted, then a HIL device will be required for simulation.

Signal Generator

  • A signal generator is used to reproduce the signal sequences through a SCADA Inputs. To use this feature, Dynamic Model Stimulation must first be enabled in Model Settings. You can find more information about Dynamic Model Stimulation on this page: Dynamic Model Stimulation.

  • Currently the eLINEAR interpolation method is supported. Selecting any other method will be interpreted as a linear interpolation.

  • The signals for reproduction can be defined by using API calls or through an STI file. Supported signal segments are listed in the Supported Functions section.
  • An example of how to define a signal by using an STI file with a SignalValue segment is shown below:
    <SignalDescriptionFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sti="http://www.asam.net/XIL/Signal/2.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.asam.net/XIL/Signal/2.1">
        <SignalDescriptionSet name="SignalDescriptions">
            <Comment>This SignalDescriptionSet contains signals with SignalValueSegments</Comment>
            <SignalDescription name="SampleSignal" id="ID_SIGNAL_1">
                <SegmentSignalDescription loopCount="1">
                    <SignalValueSegment>
                        <SignalValues fileName="data.mat">
                            <TimeVectorName>time</TimeVectorName>
                            <DataVectorName>dataVector</DataVectorName>
                        </SignalValues>
                        <Interpolation value="eLinear"/>
                    </SignalValueSegment>
                </SegmentSignalDescription>
            </SignalDescription>
        </SignalDescriptionSet>
    </SignalDescriptionFile>
  • The TimeVectorName tag points to the name of the time vector, while the DataVectorName tag points to the signal values inside the MAT file. Typhoon HIL's ASAM XIL implementation ASAM XIL implementation supports Matlab 5 MAT file format.

Features and Limitations

  • Read/write access to the model variables is available through the dynamic part of the model. This means that model variables cannot be read or changed in the schematic part of the model.
  • Simulation control. Start and stop functionalities are implemented. Simulation pause is not available.
  • Capturing is available through streaming signals. MDF4 and CSV file formats are supported. Triggering options are not supported.
  • Watchers are not supported.
  • HIL and VHIL are supported.

Supported Functions

List of currently supported functions:

  • IMAPort.Configure
  • IMAPort.CreateCapture
  • IMAPort.Disconnect
  • IMAPort.GetDataType
  • IMAPort.GetVariableInfo
  • IMAPort.IsReadable
  • IMAPort.IsWritable
  • IMAPort.LoadConfiguration
  • IMAPort.Read
  • IMAPort.StartSimulation
  • IMAPort.StopSimulation
  • IMAPort.TaskNames
  • IMAPort.VariableNames
  • IMAPort.Write
  • IMAPortFactory.CreateMAPort
  • ICapture.Start
  • ICapture.Stop
  • ICapture.getState
  • ICapture.getVariables
  • ICapture.setVariables
  • ICapturingFactory.CreateCaptureResultMDFWriterByFileName
  • IMAPort.CreateSignalGenerator
  • ISignalGenerator.Load
  • ISignalGenerator.LoadToTarget
  • ISignalGenerator.DestroyOnTarget
  • ISignalGenerator.Assignments
  • ISignalGenerator.Start
  • ISignalGenerator.Stop
  • ISignalGenerator.Pause
  • ISignalGeneratorFactory.CreateSignalGeneratorSTIReaderByFileName
  • ISignal.ConstSegment
  • ISignal.ExpSegment
  • ISignal.RampSegment
  • ISignal.RampSlopeSegment
  • ISignal.SineSegment
  • ISignal.SignalValueSegment
  • ISignal.NoiseSegment
  • ISignal.SawSegment
  • ISignal.PulseSegment
  • ISignal.OperationSegment

ASAM XIL Integration Example

An example of ASAM XIL integration with TraceTronic ECU-Test software is shown in the Tutorial video below.