Professional Documents
Culture Documents
ElektronikDIAgnoseBASissytem EDIABAS
allows centralized management of the entire control
communication on the Diagnosebus about the EDIC.
Application Programming Interface API
is the standardized interface of EDIABAS
Electronic diagnosis ELDI
is a diagnostic system for the automotive industry
ELDI / 3 is a program system for the diagnosis of
electronic control units in vehicles. Compared to its
predecessor ELDI / RO demonstrate two main
new characteristics: it is widely configurable and runs
as a multitasking application under MS Windows.
The configurability is on the spot by the system
administrator, without re-compile the system or left to
them. It is enough, the corresponding
Configuration files with a default editor to edit, eg
SETUP file or Jobauswahltabelle (s) to the input handler,
and Zeilenend
Output Handler Jobs, and the sequence of normal Prfjobs
to new circumstances.
GesamtJobTabelle GJT
sets out the conduct of examinations in ELDI-system
FehlerAusBlendManager FAB
allows for the targeted suppression of errors when
Configuration
Configuration (path: \ INPA \ cfgdat)
The configuration files have the format of Windows INI
files. They contain several sections, whose names are
enclosed in square brackets (example: [FAB]), in which
different items are included. These have the following
meanings:
Section [FAB]:
Here the path to the Fehlerausblenddateien be given. This
path is also to be effective, the INPA INPALOAD or as a
job under WINELDI runs.
(The names of Fehlerausblenddateien arise from the
current SG name and the suffix '. Fab'):
FABDATEIEN = \ INPA \ FAB
Section [ENVIRON]:
Printer settings for screen prints:
PRINTER = WIN - screen prints are made on the Windows
Print Manager on the configured Windows default printer.
NOTE: The Print Manager must be started!
PRINTER = PEM - screen prints will be on the affiliated
WinEldi-printer
PRINTER = YES - screen prints will be on the affiliated
WinEldi-printer
PRINTER = NO - screen prints are included in the file. \
TRACE \ p.trc issued and can be made with a DOS-View
program to appear
Cessation of multilingualism:
GERMAN LANGUAGE = - program texts and messages in German
LANGUAGE = ENGLISH - program texts and messages in
English
Default setting of the type used in the editor:
File Structure
File structure of a script interpreter for INPA
File Structure
About initialization "inpainit ()", the applicationspecific test called the descriptions of the screen, menu
controls and custom functions may exist.
The use of screen displays and menu control for a test is
optional, ie it can also test without ads on the screen
to be defined.
End principle
End principle of INPA
INPA supports three modes:
Script selection by the user:
INPA is no indication of command line parameters. This is
the startup script is loaded to the user an interactive
script allows selection. After calling the exit ()
function in the processing of the script selected by the
user, the startup script reloaded.
Script by selecting the script itself:
Starting with version 4.4.0 is in the function INPA
change script to change a script from another out
available.
Direct script execution
The name of the script file to interpret the will of INPA
call on the command line. This script is loaded and
processed immediately. After calling the exit () function
will exit the interpreter.
Sample
Beispiel: Statemachines, Timer, Funktionen, Titel setzen
//
// I N C L U D E S
//
#include "inpa.h"
//**********************************
// E X T E R N A L S
//**********************************
//**********************************
// D A T A
//**********************************
// Allg. Variablen
bool var_digital_1;
// Timerwerte
int tn_screen_demo = 0;
int tv_screen_demo_digital = 10000;
int tn_delay = 1;
int tv_delay = 1000;
///////////////////////////////////////////////
////// FUNCTIONS
///////////////////////////////////////////////
check_sm_return( in: int timer_num)
{
bool return_flag;
testtimer( timer_num, return_flag);
if( return_flag == TRUE) {
returnstatemachine();
}
}
toggle_boolvar( inout: bool b)
{
if( b == TRUE)
b = FALSE;
else
b = TRUE;
}
///////////////////////////////////////////////
////// STATEMACHINES
///////////////////////////////////////////////
STATEMACHINE sm_delay()
{
bool expired_flag;
INIT {
settimer( tn_delay, tv_delay);
setstate( Z_WAIT_TIMER);
}
Z_WAIT_TIMER {
testtimer( tn_delay, expired_flag);
if( expired_flag == TRUE)
returnstatemachine();
}
Z_END {
}
}
SCREEN s_screen_demo_digital()
{
LINE( "Digitalausgabe", "") {
ftextout( "Digitalausgabe:", 1, 5, 0, 1);
digitalout( var_digital_1, 2, 30, "EIN ", "AUS ");
textout( "", 3, 1);
}
}
STATEMACHINE sm_screen_demo_digital()
{
INIT {
setscreen( s_screen_demo_digital, TRUE);
settimer( tn_screen_demo, tv_screen_demo_digital);
var_digital_1 = FALSE;
setstate( Z_1);
}
Z_1 {
toggle_boolvar(var_digital_1);
callstatemachine( sm_delay);
check_sm_return( tn_screen_demo);
}
}
///////////////////////////////////////////////
////// M A I N
///////////////////////////////////////////////
STATEMACHINE sm_main()
{
INIT {
setstate( Z_SCREEN_DEMO);
}
Z_SCREEN_DEMO {
callstatemachine( sm_screen_demo_digital);
setscreen( s_main, TRUE);
setstate( Z_END);
}
Z_END {
messagebox( "Meldung", "Ende der Demo");
exit();
}
}
MENU m_main()
{
INIT {
setmenutitle( "Hauptmen");
}
ITEM( 10, "Ende") {
exit();
}
}
SCREEN s_main()
{
}
///////////////////////////////////////////////
////// INIT/EXIT
///////////////////////////////////////////////
inpainit()
{
settitle( " Demoscript");
setmenu( m_main);
setscreen( s_main, TRUE);
setstatemachine( sm_main);
}
inpaexit()
{
}
Imported functions
Imported functions
Starting with version 4.4.0 INPA can also use functions
from other libraries for execution within a script using.
As `functions from external libraries' functions are
called outside INPAs have been implemented. INPA
currently INPA Views from a script into a Windows dynamic
library (DLL).
INPA functions can be imported `import'-known
instructions in the script can be made:
Syntax:
import [<CallConv>] lib "libname [:: LibFnc]"
<functionname> ([<declaration_list>]);
Description:
Any declaration of imported functions necessarily begins
with the keyword `import '.
Alternatively, between the keyword `import 'and` lib' is
used to specify calling convention:
CallConv:
pascal (default value) uses the INPA `Pascal" calling
convention
"C" INPA use the `C 'calling convention
After the keyword `lib ', the name of the library can be
specified. Here are the following information available:
"Libname":
"C: \ TMP \ myLib.dll" indication of a library with an
absolute or relative path
"myLib.dll" library without specifying the path (the
library must be either already in the memory of Windows
to be loaded, or is located in one of the DOS environment
variable PATH or set paths in the `BIN' directory of the
INPA-Systems
"mylib" Referenced in an already underlying memory of the
computer library (eg "User.exe" kernel for a library or
= 16;
// Flags fr MyMessageBox
= "MyHello";
= "Hello World from outside INPA";
= 0;
// unsauber: Fensterhandle des Desktop:-)
// reaktion des Users ( Rckgabewert )
// *****************************************************
// *** Menu
// *****************************************************
MENU m_main()
{
INIT {
}
ITEM ( 10, "Zurck")
{
scriptchange("..\cfgdat\startger");
}
ITEM (1, "MyHello1")
{
MyHello();
}
ITEM (2, "MyMessage")
{
MyMessageBox ( handle, Mytext, title, flags, returnp );
}
}
// *****************************************************
// *** Screen ( leer )
// *****************************************************
SCREEN s_main()
{
}
// *****************************************************
// *** Start-/Ende Funktionen
// *****************************************************
inpainit()
{
setmenu(m_main);
setscreen(s_main, TRUE);
}
inpaexit()
{
}
Screen (SCREEN)