bmw-advanced-tools/app/EC-APPS/INPA/SGDAT/msd85l6.ips
2021-09-18 17:45:57 +02:00

15398 lines
595 KiB
Plaintext
Executable File

//**********************************************************************
//* Nacharbeitssource fuer INPA MSD85 L6.IPS 8-Zyl.
//**********************************************************************
//* History
//* 21.02.2007 v0.001 ml Inpa zu SGBDen MSD87_R0, MSD87_L0 aus INPA-Skript MSD87 V0.201 ml.
//* 18.06.2007 v0.010 ml Ident-screen und Dateiausgabe um Softwareinformation erweitert.
//* 17.08.2007 v0.011 ml Ersetzen der Softwareinformation-Routine in Ident um einfache Textinfofeld-Ausgabe.
//* 20.08.2007 v0.012 ml Modifikation des EWS4-Abgleichs nach Input v. U.Schlachetzki. Jetzt auch lauffaehig fuer 6.zyl-Motoren.
//* 10.09.2007 v0.013 ml Entfernen des alten EWS3-Abgleichs.
//* 25.07.2007 v0.014 ml Anpassung von s_ident und OutputIDENT2File.
//* 08.10.2007 v0.015 ml Umstellung von s_ident auf verbesserte Infofeld-Ausgabe
//* 10.10.2007 v0.100 ml Ersetzen der alten STATUS-Jobs mit den entsprechenden MESSWERTBLOCK_LESEN-Jobaufrufen unter m_iostatus.
//* 16.10.2007 v0.101 ml Ersetzen des STOP_SYSTEMCHECK_EVAUSBL mit START_SYSTEMCHECK_EVAUSBL und Parameter "0".
//* 29.10.2007 v0.110 ml Ersetzen der alten GLF-Steuerung mit neuem Systemcheck und Steuern-Dialog.
//* Hinzufuegen des Windkanalmode ueber eine Repeaterstatemachine (universell fuer pollende Aufgaben nutzbar).
//* 05.11.2007 v0.120 ml Ersetzen der Status-Jobs mit MESSWERTBLOCK_LESEN unter m_status.
//* 14.11.2007 v0.200 ml Tausch der Bearbeitungsreihenfolge beim EWS4-Abgleich von Master-Slave zu Slave-Master.
//* Modifikation des EWS-Abgleichs fuer Motoren mit nur einem SG.
//* 27.11.2007 v0.300 ml Anpassen auf MSD85L6.
//* 15.01.2008 v1.000 ml Freigabeversion MSD85L6
//* 17.01.2008 v1.001 jm Angepasst an Standardinclude
#pragma winedit
#include "inpa.h" // frueher: #include " ...\sgdat\inpa.h"
#include "bmw_std.h" // frueher: #include " ...\sgdat\bmw_std.h"
string package="3.01";
// Version, Verantwortung, Steuergerät
string titel = ""; // Titel Nacharbeitsprogramm
string version = "1.001"; // Version Nacharbeitsprogramm
string origin = "EA-41"; // Verantwortung Nacharbeitsprogramm
string gruppe = "G_MOTOR"; // Gruppendatei
bool EAversion = FALSE ; // Abfrage EA-Version TRUE / FALSE fuer Ausblendung nicht-EA-Funktionalitaet.
//******************************************************************************
// Variablen fuer s_ident- und OutputIdent-Ausgabe.
string info_feld_1 = "" ;
string info_feld_2 = "" ;
string info_feld_3 = "" ;
// SGBD-Variablen, unterstuetzen Umschaltung Bank rechts/links
// DME-Bezeichnervariablen
string sgbd = "" ; // Steuergerät
string currentSGBD = ""; // Im Auswahlmenu ausgewaehlte SGBD.
string dme_text_r = ""; // Steuergerätname fuer lesbare Ausgabe
string dme_text_l = ""; // Steuergerätname fuer lesbare Ausgabe
string dme_text = ""; // aktuell benutzter Steuergerätname
string SG_Verbund_text = "" ; // Gesamtname der SG-Konfiguration
int zylinderZahl = 8; // Anzahl der Zylinder pro Bank. Wichtig für ev_ausbl.
// Entsprechende Steuergeräteadressen
int sg_adr_r = 0x12;
int sg_adr_l = 0x13;
// Flag für die Koordination der beiden DMEen (Fehlerspeicher lesen...)
int zurAnderenDmeUmgeschaltet = 0 ;
// Dateispeicherpfad, wird bei inpaInit belegt.
string txtPfad = "" ;
string txtPfad_l = "" ;
string txtPfad_r = "" ;
// Variablen, in welchen die jew. SGBD-Namen gespeichert werden.
string dme_r = "" ;
string dme_l = "" ;
//******************************************************************************
//*** Repeater-Variablen
int startzeitGlobal = 0;
int laufzeitGlobal = 0;
int chosenRepeater = 0;
bool repeaterSwitch = FALSE;
string flicker = "x";
//***
int sg_adr = 0x12; // gefundene SG-Adressen
string datei = ""; // Filename zum Abspeichern der Daten
string datei_ident = ""; // Filename zum Abspeichern der IDENT-Daten
string datei_fs = ""; // Filename zum Abspeichern des FehlerSpeichers
string datei_ddli = ""; // Filename zum Abspeichern der DDLI-Liste
string datei_nn = ""; // Filename zum Abspeichern der Adaptionswerte aus neuronalen Netzen
string datei_rbm = ""; // Filename zum Abspeichern der RBM-Werte
string datei_sp = ""; // Filename zum Abspeichern der Speicherzellen-Werte
string datei_uds = ""; // Filename zum Abspeichern der Auftrags- und Antworttelegramme aus UDS-Test
int f_anzahl; // Bildschirm loeschen, wenn Anzahl Fehler sich aendert
int i_zeilen; // Drucken in File, Kurz - Detail - Freeze Frame
string s_menue = ""; // Drucken in File, Kurz - Detail - Freeze Frame
string zeile_hex; // Drucken in File, _TEL_ANTWORT
string FehlerOrtNr; // BildschirmAufbau und Drucken in File Kurz
string FehlerOrtText; // BildschirmAufbau und Drucken in File Kurz
string zeile0; // BildschirmAufbau und Drucken in File Kurz
string zeile1; // BildschirmAufbau und Drucken in File
string zeile2; // BildschirmAufbau und Drucken in File
string zeile3; // BildschirmAufbau und Drucken in File
string zeile4; // BildschirmAufbau und Drucken in File
string zeile5; // BildschirmAufbau und Drucken in File
string zeile6; // BildschirmAufbau und Drucken in File Detail
string zeile7; // BildschirmAufbau und Drucken in File
string zeile8; // BildschirmAufbau und Drucken in File
string zeile9; // BildschirmAufbau und Drucken in File
string zeile10; // BildschirmAufbau und Drucken in File
string zeile11; // BildschirmAufbau und Drucken in File
string zeile12; // BildschirmAufbau und Drucken in File Freeze Frame
string zeile13; // BildschirmAufbau und Drucken in File
string zeile14; // BildschirmAufbau und Drucken in File
string zeile15; // BildschirmAufbau und Drucken in File
string zeile16; // BildschirmAufbau und Drucken in File
string zeile17; // BildschirmAufbau und Drucken in File
string zeile18; // BildschirmAufbau und Drucken in File
string zeile19; // BildschirmAufbau und Drucken in File
string zeile20; // BildschirmAufbau und Drucken in File
string zeile21; // BildschirmAufbau und Drucken in File
string zeile22; // BildschirmAufbau und Drucken in File
string zeile23; // BildschirmAufbau und Drucken in File
string zeile24; // BildschirmAufbau und Drucken in File
string zeile25; // BildschirmAufbau und Drucken in File
string zeile26; // BildschirmAufbau und Drucken in File
string zeile27; // BildschirmAufbau und Drucken in File
string zeile28; // BildschirmAufbau und Drucken in File
string zeile29; // BildschirmAufbau und Drucken in File
string zeilezusatz0; // BildschirmAufbau und Drucken im File für Reset-Fehler
string zeilezusatz1; // BildschirmAufbau und Drucken im File
string zeilezusatz2; // BildschirmAufbau und Drucken im File
string zeilezusatz3; // BildschirmAufbau und Drucken im File
string zeilezusatz4; // BildschirmAufbau und Drucken im File
string zeilezusatz5; // BildschirmAufbau und Drucken im File
string zeilezusatz6; // BildschirmAufbau und Drucken im File
string zeilezusatz7; // BildschirmAufbau und Drucken im File
string zeilezusatz8; // BildschirmAufbau und Drucken im File
string zeilezusatz9; // BildschirmAufbau und Drucken im File
string zeilezusatz10; // BildschirmAufbau und Drucken im File
string zeilezusatz11; // BildschirmAufbau und Drucken im File
string zeilezusatz12; // BildschirmAufbau und Drucken im File
string zeilezusatz13; // BildschirmAufbau und Drucken im File
string zeilezusatz14; // BildschirmAufbau und Drucken im File
string zeilezusatz15; // BildschirmAufbau und Drucken im File
string zeilezusatz16; // BildschirmAufbau und Drucken im File
string zeilezusatz17; // BildschirmAufbau und Drucken im File
string zeilezusatz18; // BildschirmAufbau und Drucken im File
string zeilezusatz19; // BildschirmAufbau und Drucken im File
string zeilezusatz20; // BildschirmAufbau und Drucken im File
int ProgStand = 0;
int inputstate = 0; // Variable fuer Abbruchbedingung bei Dialogbox
int llco_wert;
int ventil;
int ll_wert;
int ll_acc_dri; // Variable fuer LL-Abgleich
int ll_dri;
int ll_ofs;
int ll_acc;
int ll_vb;
int taste;
string vartext; // allgemeine Variable
string vartext1; // allg Textvariable
string vartext2; // allg Textvariable
string uds_service; // Variable für UDS-Service
string ergebnis;
real r_temp;
bool F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20;
string blank=" ";
string stati;
string fehlercode;
string direction;
bool Semaphor;
int val1; // Variable 1
int val2; // Variable 2
int i_temp; // Variable 3
string high_low_anz; // Speicher lesen
string adresse="0000"; // Speicher lesen
int anzahl=254; // Speicher lesen
int seg; // Speicher lesen
int high; // Speicher lesen
int mid; // Speicher lesen
int low; // Speicher lesen
int varInteger; // Hilfsvariable
real varReal; // allgemeine Variable
bool varBool; // allgemeine Variable
string varJobState; // JOB_STATUS Variable
int durchlauf; // Systemdiagnose
int durchlauf_ibs; // Systemdiagnose-IBS
int ews_para; // EWS ABgleich
int f_reset;
int speicherart;
int la; //
long l_temp;
// ************************************************************************************
// *** Tabelle für Aktivierungsbedingungen der UDS-Services 30_XX_07 ***
// ************************************************************************************
string ev; // Einspritzventil
string elue; // Elektrolüfter
string sls; // Sekundär Luftsystem
string vanos; // VANOS
string tev; // Tankentlüftungsventil
string kfk; // Kennfeldkühlung
string ekp; // Elektrische Kraftstoffpumpe
string lsh; // Lambdasondenheizung
string glf; // Gesteuerte Luftführung
string ewapu; // Elektrische Wasserpumpe
string korel; // Klima Kompressorrelais
string eboxlue; // E-Box-Lüfter
string agk; // Abgasklappe
string dmtl; // Diagnosemodul Tanklekage
string disa; // Variable Sauganlage
string vvt; // Valvetronic
string vvtr; // Valvetronic-Relais
string mil_eml; // Malfunction Indication Lamp, Engine Malfunction Lamp
string fgr; // Fahrgeschwindigkeitsregelung
string kl87; // Klemme 87-Hauptrelais
string sr; // Startrelais
string kgeh; // Kurbelgehäuseentlüftungsheizung
string sok; // Soundklappe
string dk; // Drosselklappe
string gen; // Generatorspannung
string odr; // Öldruckreglung
string odv; // Öldruckventil
string lds; // Ladedrucksteller
string mls; // Motorlager
string msv; // Mengensteuerventil
string agr; // Abgasrückführungsventil
string dkh; // Drosselklappenheizung
string ab_0000 = "Drehzahl < 3000 1/min"; // Aktivierungsbedingung 01
string ab_0001 = "Klemme 15 = Ein"; // Aktivierungsbedingung 02
string ab_0002 = "Drehzahl = 0 1/min"; // Aktivierungsbedingung 03
string ab_0004 = "Leerlauf"; // Aktivierungsbedingung 04
string ab_0008 = "Drehzahl > 1000 1/min"; // Aktivierungsbedingung 05
string ab_0010 = "Geschwindigkeit < 5 km/h"; // Aktivierungsbedingung 06
string ab_0020 = "Motortemperatur > 27 °C"; // Aktivierungsbedingung 07
string ab_0040 = "Motortemperatur < 95 °C"; // Aktivierungsbedingung 08
string ab_0080 = "Batteriespannung > 10 V"; // Aktivierungsbedingung 09
string ab_0200 = "Drehzahl = 0 1/min UND EKP = Aus"; // Aktivierungsbedingung 10
string ab_0400 = "Öldruck > 2000 hPa UND Drehzahl > 500 1/min"; // Aktivierungsbedingung 11
string ab_0800 = "Öldruck < 9000 hPa UND Drehzahl < 2000 1/min"; // Aktivierungsbedingung 12
string ab_1000 = "Raildruck > 50000 hPa"; // Aktivierungsbedingung 13
string ab_2000 = "Raildruck < 220000 hPa"; // Aktivierungsbedingung 14
aktivierungsbedingung(in: string ab_0000,in: string ab_0001,in: string ab_0002,
in: string ab_0004,in: string ab_0008,in: string ab_0010,
in: string ab_0020,in: string ab_0040,in: string ab_0080,
in: string ab_0200,in: string ab_0400,in: string ab_0800,
in: string ab_1000,in: string ab_2000)
{
ev = ab_0200 + " UND " + ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Einspritzventil
elue = ab_0080 + " UND " + ab_0040 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Elektrolüfter
sls = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Sekundär Luftsystem
vanos = ab_0008 + ";"; // Aktivierungsbedingung VANOS
tev = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Tankentlüftungsventil
kfk = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Kennfeldkühlung
ekp = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Elektrische Kraftstoffpumpe
lsh = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Lambdasondenheizung
glf = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Gesteuerte Luftführung
ewapu = ab_0080 + " UND " + ab_0040 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Elektrische Wasserpumpe
korel = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Klima Kompressorrelais
eboxlue = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung E-Box-Lüfter
agk = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Abgasklappe
dmtl = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Diagnosemodul Tanklekage
disa = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Variable Sauganlage
vvt = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Valvetronic
vvtr = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Valvetronic-Relais
mil_eml = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Malfunction Indication Lamp
fgr = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Fahrgeschwindigkeitsregelung
kl87 = ab_0010 + " UND " + ab_0002 + ";"; // Aktivierungsbedingung Klemme 87-Hauptrelais
sr = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Startrelais
kgeh = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Kurbelgehäuseentlüftungsheizung
sok = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Soundklappe
dk = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Drosselklappe
gen = ab_0004 + ";"; // Aktivierungsbedingung Generatorspannung
odr = ab_0400 + " UND " + ab_0800 + ";"; // Aktivierungsbedingung Öldruckregelung
odv = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Öldruckventil
lds = ab_0004 + ";"; // Aktivierungsbedingung Ladedrucksteller
mls = ab_0004 + ";"; // Aktivierungsbedingung Motorlager
msv = ab_1000 + " UND " + ab_2000 + " UND " + ab_0004 + " UND Betriebsart = Homogen;"; // Aktivierungsbedingung Mengensteuerventil
agr = ab_0080 + " UND " + ab_0002 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Abgasrückführungsventil
dkh = ab_0080 + " UND " + ab_0001 + ";"; // Aktivierungsbedingung Drosselklappenheizung
}
// *************************************************************************************
// *** Tabelle für Definition Parameter Kühlsystementlüftung ***
// *** Änderung der eingestellten Werte nur in Rücksprache mit Ulrich Hess EA-34 ***
// *************************************************************************************
real tv = 1; // Wartezeit in s notwendig für Erhöhung Drehzahl EWAP von 0% auf 98%
string zyklus01;
string zyklus02;
string zyklus03;
string zyklus04;
string zyklus05;
string zyklus06="Zyklus 6: Förderleistung von 0% für 44 s ";
string zyklus07="Zyklus 7: Erhöhung auf 21% in 28 s ";
string zyklus08="Zyklus 8: Erhöhung auf 42% in 28 s ";
string zyklus09="Zyklus 9: Förderleistung von 42% für 104 s ";
string zyklus10="Zyklus 10: Absenkung auf 0% in 28 s ";
string zyklus11="Zyklus 11: Erhöhung auf 98% in 74 s ";
string zyklus12="Zyklus 12: Absenkung auf 0% in 19 s ";
string zyklus13="Zyklus 13: Erhöhung auf 98% in 21 s ";
string zyklus14="Zyklus 14: Absenkung auf 0% in 25 s ";
string zyklus15="Zyklus 15: Förderleistung von 0% für 37 s ";
string zyklus16="Zyklus 16: Erhöhung auf 42% in 8 s ";
string zyklus17="Zyklus 17: Förderleistung von 42% für 47 s ";
string zyklus18="Zyklus 18: Absenkung auf 0% in 4 s ";
real x001=0; real x101=28; real y001=250; real y101=0; real t01; string st01;
real x002=29; real x102=57; real y002=250; real y102=0; real t02; string st02;
real x003=58; real x103=86; real y003=250; real y103=0; real t03; string st03;
real x004=87; real x104=115; real y004=250; real y104=0; real t04; string st04;
real x005=116; real x105=144; real y005=250; real y105=0; real t05; string st05;
real x006=145; real x106=189; real y006=0; real y106=0; real t06; string st06;
real x007=190; real x107=218; real y007=0; real y107=53; real t07; string st07;
real x008=219; real x108=247; real y008=54; real y108=107; real t08; string st08;
real x009=248; real x109=352; real y009=107; real y109=107; real t09; string st09;
real x010=353; real x110=381; real y010=107; real y110=0; real t10; string st10;
real x011=382; real x111=456; real y011=3; real y111=250; real t11; string st11;
real x012=457; real x112=476; real y012=238; real y112=0; real t12; string st12;
real x013=477; real x113=498; real y013=11; real y113=250; real t13; string st13;
real x014=499; real x114=524; real y014=240; real y114=0; real t14; string st14;
real x015=525; real x115=562; real y015=0; real y115=0; real t15; string st15;
real x016=563; real x116=571; real y016=12; real y116=107; real t16; string st16;
real x017=572; real x117=619; real y017=107; real y117=107; real t17; string st17;
real x018=620; real x118=624; real y018=86; real y118=0; real t18; string st18;
int iz = 18; int j = 0;
zyklusbeschreibung(in: string st01,in: string st02,in: string st03,in: string st04,in: string st05,
in: real x001,in: real x002,in: real x003,in: real x004,in: real x005,
in: real x101,in: real x102,in: real x103,in: real x104,in: real x105,
in: real t01,in: real t02,in: real t03,in: real t04,in: real t05,in: real tv)
{
t01 = x101 - x001 + tv+ 1; realtostring(t01,"3.0",st01);
t02 = x102 - x002 + tv+ 1; realtostring(t01,"3.0",st02);
t03 = x103 - x003 + tv+ 1; realtostring(t01,"3.0",st03);
t04 = x104 - x004 + tv+ 1; realtostring(t01,"3.0",st04);
t05 = x105 - x005 + tv+ 1; realtostring(t01,"3.0",st05);
zyklus01="Zyklus 1: Absenkung von 98% auf 0% in" + st01 + " s ";
zyklus02="Zyklus 2: Absenkung von 98% auf 0% in" + st02 + " s ";
zyklus03="Zyklus 3: Absenkung von 98% auf 0% in" + st03 + " s ";
zyklus04="Zyklus 4: Absenkung von 98% auf 0% in" + st04 + " s ";
zyklus05="Zyklus 5: Absenkung von 98% auf 0% in" + st05 + " s ";
}
// ****************************************************************************
// *** U S E R - Funktionen ***
// ****************************************************************************
//******************STOPPUHRVERBUND AUS STARTZEIT(..) UND LAUFZEIT(..,..)*****************************
startzeit(out: int startzeit) {
//Aktuelle Zeit in Sekunden ausgeben (max.: 59min*60+59sek=3599sek)
int startzeit_, minuten;//in Sekunden
string zahl_text, text_var;
gettime(text_var);
zahl_text="";
midstr(zahl_text,text_var,3,2);
stringtoint(zahl_text,minuten);
minuten = minuten*60;
midstr(zahl_text,text_var,6,2);
stringtoint(zahl_text,startzeit_);
startzeit = minuten+startzeit_;
}
laufzeit(in: int startzeit, out: int laufzeit) {
//Abgelaufene Zeit seit startzeit in sek
int stopzeit, minuten;//in Sekunden
string zahl_text, text_var ;
gettime(text_var);
zahl_text="";
midstr(zahl_text,text_var,3,2); //Minuten auslesen
stringtoint(zahl_text,minuten);
minuten = minuten*60;
midstr(zahl_text,text_var,6,2); //Sekunden auslesen
stringtoint(zahl_text,stopzeit);
stopzeit = minuten + stopzeit; //Zeit in Sek.
if (startzeit <= stopzeit) laufzeit = stopzeit - startzeit;
else laufzeit = stopzeit+3599 - startzeit; //Stundensprung: 59min*60sec+59sec=3599
}
//****************************************************************************************************
// Modulo-Berechnung fuer Integerwerte.
modInt (in:int argument, in:int divisor, out:int n, out:int rest) {
real quotient, argumentReal, divisorReal ;
int nn ;
inttoreal(argument, argumentReal);
inttoreal(divisor, divisorReal);
quotient = argumentReal / divisorReal ;
realtoint(quotient, nn) ;
rest = argument - (nn * divisor) ;
n = nn;
}
//** Ausgabe eines Ergebnisses als Analogwert des 1. Satzes mit Job-Status-Ueberpruefung
ergebnisAnalogAusgabe(in: string ergebnis,in: int y,in: int x,
in: real min,in: real max,in: real minGueltig,in: real maxGueltig,in: string format)
{
real r_temp;
INPAapiResultAnalog(r_temp,ergebnis,1);
analogout(r_temp,y,x,min,max,minGueltig,maxGueltig,format);
}
// Ausgabe eines Ergebnisses als Digitalwert des 1. Satzes mit Job-Status-Ueberpruefung
ergebnisDigitalAusgabe(in: string ergebnis,in: int y,in: int x,
in: string trueText,in: string falseText)
{
bool tmpBool;
INPAapiResultDigital(tmpBool,ergebnis,1);
digitalout(tmpBool,y,x,trueText,falseText);
}
// Ausgabe eines MESSWERTBLOCK_LESEN-Ergebnisses ueber Resultstring-Uebergabe.
MWBLErgebnisDigitalAusgabe(in: string ergebnisID,in: int y,in: int x,in: string trueText,in: string falseText) {
bool tmpBool;
int i1;
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", ergebnisID, "" ) ;
INPAapiResultInt(i1,"STAT_MESSWERT0_WERT",1);
if (i1 == 1) tmpBool = TRUE;
else tmpBool = FALSE;
digitalout(tmpBool,y,x,trueText,falseText);
}
//** Ausgabe eines umzurechnenden Ergebnisses als Analogwert des 1. Satzes mit
//** Job-Status-Ueberpruefung (Grenzen werden ebenfalls umgerechnet=
ergebnisUmrechnungAnalogAusgabe(in: string ergebnis,in: real faktor,in: real summe,
in: int y,in: int x,
in: real min,in: real max,in: real minGueltig,in: real maxGueltig)
{
real r_temp;
INPAapiResultAnalog(r_temp,ergebnis,1);
analogout(r_temp*faktor+summe,y,x,
min*faktor+summe,max*faktor+summe,
minGueltig*faktor+summe,maxGueltig*faktor+summe,
"4.2");
}
//** Neuen Sollwert berechnen
//** Job-Status-Ueberpruefung, Grenzen werden ebenfalls abgefangen
llerh(in: int wohin)
{
int i_help;
int temp_ll;
string s1;
real r_help;
real r1;
i_help = ll_wert + wohin;
if (i_help >= 2000) i_help = 2000;
if (i_help <= 0) i_help = 0;
inttostring(i_help,s1);
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_LLERH","","");
INPAapiJob(sgbd,"START_SYSTEMCHECK_LLERH",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("START_SYSTEMCHECK_LLERH",s1); stop(); }
ll_wert = i_help;
}
// *** String "s_in" auf gewuenschte Laenge "soll" aufblaehen mit String "append"
stringappend(inout: string s_in, in: int soll, in: string append)
{
int ist;
while( ist < soll )
{
s_in = s_in + append;
strlen( ist, s_in ); // Laenge des uebergebenen Strings ermitteln
}
}
// ** Data ID Auslesen (Datensatz)
data_id_lesen(out: string s_out)
{
string s, s_temp;
INPAapiJob( sgbd, "DATEN_REFERENZ_LESEN","","");
INPAapiResultText( s, "JOB_STATUS", 1,"");
if( s == "OKAY")
{
INPAapiResultText( s_temp, "DATEN_REF_SG_KENNUNG" ,1,"");
s = s_temp + " ";
INPAapiResultText( s_temp, "DATEN_REF_PROJEKT" ,1,"");
s = s + s_temp + " ";
INPAapiResultText( s_temp, "DATEN_REF_PROGRAMM_STAND",1,"");
s = s + s_temp + " ";
INPAapiResultText( s_temp, "DATEN_REF_DATENSATZ" ,1,"");
s_out = s + s_temp;
}
else s_out = "keine Daten-ID";
}
// ** Programm ID Auslesen (Progstand)
zif_lesen(out: string s_out)
{
string s, s_temp;
INPAapiJob( sgbd, "ZIF_LESEN","","");
INPAapiResultText( s, "JOB_STATUS", 1,"");
if( s == "OKAY")
{
INPAapiResultText(s_temp,"ZIF_SG_KENNUNG",1,"");
s = s_temp + " ";
INPAapiResultText(s_temp,"ZIF_PROJEKT",1,"");
s = s + s_temp + " ";
INPAapiResultText(s_temp,"ZIF_PROGRAMM_STAND",1,"");
s_out = s + s_temp;
}
else s_out = "keine Programm-ID";
}
// ****************************************************************************
// *** Fehlerbehandlung ***
// *** 10 07 01 mw Texte geaendert Funktion ok ***
// ****************************************************************************
fehlerbehandlung(in:string s_status, in: string s_code)
{
userboxclose(0);
userboxsetcolor(0,4,14);
userboxopen(0,15,10,11,80,"Fehlerüberwachung","");
userboxftextout(0,"Das Steuergerät hat den Status: "+s_status,2,5,0,1);
userboxftextout(0,"Rückgabecode : "+s_code,4,8,0,1);
userboxftextout(0,"Der Auftrag wird abgebrochen!!!",6,5,0,1);
userboxftextout(0,"Quittieren Sie diese Meldung bitte mit <F1>",7,5,0,1);
}
// *******************************************************************************************
// *** Kommentarfeld als header fuer FS_DETAIL ***
// *** Dateiname holen, pruefen, speichern in globale Variable datei_fs ***
// *** oeffnen, 1. mal Ueberschrift SGBD-Name und SW Stand ***
// *** Datei bleibt geoeffnet !fileclose *** ***
// *** 19 07 01 mw ***
// *** 26 11 02 mw SGBD Version hinzu ***
// *** 19 04 04 ew DME Losnummer auskommentiert, da von Siemens nicht mehr unterstützt ***
// *******************************************************************************************
commentlines(in:int speicherart)
{
string s1, s2, s3 = "", s4 = "", s5, s6, km_stand_string;
int i_temp;
real km_stand_real;
i_temp = 2; // keine Eingabe
if(speicherart == 0)
{
if (datei_ident == "")
{
while( i_temp == 2 )
{
strcat(s1, txtPfad , "ident.txt");
inputtext( s1 , "Speichern in eine neue Datei oder Anhängen an bestehende","Dateiname und Pfad (Pfad muss bereits existieren! 8.3 Konvention ) z.B. ");
getinputstate( i_temp ); // 0 = OK 1 = Abbruch
inputstate = i_temp; // Abbruch merken
if ( i_temp == 0 )
{
fileopen ( s1, "a" ); // kein Abbruch
fileexist( s1, i_temp); // laesst sich Datei oeffnen?
if( i_temp != 0 ) i_temp = 2; // nein, neuer Anlauf
if( i_temp == 0 )
{
datei_ident = s1; // Datei angelegt, Namen merken
filewrite( " ");
filewrite( " ");
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
filewrite( "$SGBD: " + sgbd + " Version: " + s2); // 1. mal
filewrite( "$INPA: " + titel + " Version: " + version); // 1. mal
}
}
}
}
else
{
fileopen(datei_ident,"a"); // wenn Name bekannt, anhaengen
inputstate = 0; // gueltiger Filename existiert
}
}
if(speicherart == 1 || speicherart == 2 || speicherart == 3)
{
if ( datei_fs == "" )
{
while( i_temp == 2 )
{
if (speicherart == 1) {s1 = txtPfad + "fsdatei.txt";}
if (speicherart == 2) {s1 = txtPfad + "isdatei.txt";}
inputtext( s1, "Speichern in eine neue Datei oder Anhängen an bestehende","Dateiname und Pfad (Pfad muss bereits existieren! 8.3 Konvention ) z.B. ");
getinputstate( i_temp ); // 0 = OK 1 = Abbruch
inputstate = i_temp; // Abbruch merken
if ( i_temp == 0 )
{
fileopen ( s1, "a" ); // kein Abbruch
fileexist( s1, i_temp); // laesst sich Datei oeffnen?
if( i_temp != 0 ) i_temp = 2; // nein, neuer Anlauf
if( i_temp == 0 )
{
datei_fs = s1; // Datei angelegt, Namen merken
filewrite( " ");
filewrite( " ");
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
filewrite( "$SGBD: " + sgbd + " Version: " + s2); // 1. mal
filewrite( "$INPA: " + titel + " Version: " + version); // 1. mal
}
}
}
}
else
{
fileopen(datei_fs,"a"); // wenn Name bekannt, anhaengen
inputstate = 0; // gueltiger Filename existiert
}
}
if(speicherart == 4 || speicherart == 5 || speicherart == 6)
{
if ( datei_rbm == "" )
{
while( i_temp == 2 )
{
if (speicherart == 4) {s1 = txtPfad + "rbmmode9.txt";}
if (speicherart == 5) {s1 = txtPfad + "rbmms1.txt";}
if (speicherart == 6) {s1 = txtPfad + "rbmms2.txt";}
inputtext( s1, "Speichern in eine neue Datei oder Anhängen an bestehende","Dateiname und Pfad (Pfad muss bereits existieren! 8.3 Konvention ) z.B. ");
getinputstate( i_temp ); // 0 = OK 1 = Abbruch
inputstate = i_temp; // Abbruch merken
if ( i_temp == 0 )
{
fileopen ( s1, "a" ); // kein Abbruch
fileexist( s1, i_temp); // laesst sich Datei oeffnen?
if( i_temp != 0 ) i_temp = 2; // nein, neuer Anlauf
if( i_temp == 0 )
{
datei_rbm = s1; // Datei angelegt, Namen merken
filewrite( " ");
filewrite( " ");
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
filewrite( "$SGBD: " + sgbd + " Version: " + s2); // 1. mal
filewrite( "$INPA: " + titel + " Version: " + version); // 1. mal
}
}
}
}
else
{
fileopen(datei_rbm,"a"); // wenn Name bekannt, anhaengen
inputstate = 0; // gueltiger Filename existiert
}
}
if (speicherart == 7 || speicherart == 8 || speicherart == 9 || speicherart == 10 || speicherart == 11)
{
if ( datei_nn == "" )
{
while( i_temp == 2 )
{
if (speicherart == 7) {s1 = txtPfad + "eisygd.txt";}
if (speicherart == 8) {s1 = txtPfad + "eisydr.txt";}
if (speicherart == 9) {s1 = txtPfad + "krann.txt";}
if (speicherart == 10) {s1 = txtPfad + "klann.txt";}
if (speicherart == 11) {s1 = txtPfad + "eisyagr.txt";}
inputtext( s1, "Speichern in eine neue Datei oder Anhängen an bestehende","Dateiname und Pfad (Pfad muss bereits existieren! 8.3 Konvention ) z.B. ");
getinputstate( i_temp ); // 0 = OK 1 = Abbruch
inputstate = i_temp; // Abbruch merken
if ( i_temp == 0 )
{
fileopen ( s1, "a" ); // kein Abbruch
fileexist( s1, i_temp); // laesst sich Datei oeffnen?
if( i_temp != 0 ) i_temp = 2; // nein, neuer Anlauf
if( i_temp == 0 )
{
datei_nn = s1; // Datei angelegt, Namen merken
filewrite( " ");
filewrite( " ");
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
filewrite( "$SGBD: " + sgbd + " Version: " + s2); // 1. mal
filewrite( "$INPA: " + titel + " Version: " + version); // 1. mal
}
}
}
}
else
{
fileopen(datei_nn,"a"); // wenn Name bekannt, anhaengen
inputstate = 0; // gueltiger Filename existiert
}
}
if(speicherart == 12)
{
if ( datei_sp == "" )
{
while( i_temp == 2 )
{
if (speicherart == 12) {s1 = txtPfad + "speicher.txt";}
inputtext( s1, "Speichern in eine neue Datei oder Anhängen an bestehende","Dateiname und Pfad (Pfad muss bereits existieren! 8.3 Konvention ) z.B. ");
getinputstate( i_temp ); // 0 = OK 1 = Abbruch
inputstate = i_temp; // Abbruch merken
if ( i_temp == 0 )
{
fileopen ( s1, "a" ); // kein Abbruch
fileexist( s1, i_temp); // laesst sich Datei oeffnen?
if( i_temp != 0 ) i_temp = 2; // nein, neuer Anlauf
if( i_temp == 0 )
{
datei_sp = s1; // Datei angelegt, Namen merken
filewrite( " ");
filewrite( " ");
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
filewrite( "$SGBD: " + sgbd + " Version: " + s2); // 1. mal
filewrite( "$INPA: " + titel + " Version: " + version); // 1. mal
}
}
}
}
else
{
fileopen(datei_sp,"a"); // wenn Name bekannt, anhaengen
inputstate = 0; // gueltiger Filename existiert
}
}
if(speicherart == 13)
{
if ( datei_uds == "" )
{
while( i_temp == 2 )
{
if (speicherart == 13) {s1 = txtPfad + "uds-test.txt";}
inputtext( s1, "Speichern in eine neue Datei oder Anhängen an bestehende","Dateiname und Pfad (Pfad muss bereits existieren! 8.3 Konvention ) z.B. ");
getinputstate( i_temp ); // 0 = OK 1 = Abbruch
inputstate = i_temp; // Abbruch merken
if ( i_temp == 0 )
{
fileopen ( s1, "a" ); // kein Abbruch
fileexist( s1, i_temp); // laesst sich Datei oeffnen?
if( i_temp != 0 ) i_temp = 2; // nein, neuer Anlauf
if( i_temp == 0 )
{
datei_uds = s1; // Datei angelegt, Namen merken
filewrite( " ");
filewrite( " ");
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
filewrite( "$SGBD: " + sgbd + " Version: " + s2); // 1. mal
filewrite( "$INPA: " + titel + " Version: " + version); // 1. mal
}
}
}
}
else
{
fileopen(datei_uds,"a"); // wenn Name bekannt, anhaengen
inputstate = 0; // gueltiger Filename existiert
}
}
if ( inputstate != 1 )
{
input2text( s3, s4, "Kommentarfelder für Datenfile","Ihre Anmerkungen bitte! Bis zu 100 Zeichen pro Zeile","Zeile 1","Zeile 2");
getinputstate( inputstate ); // 0 = OK 1 = Abbruch
}
if ( inputstate != 1 )
{
getdate(s1);
gettime(s2);
// INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x58F1",""); // Losnummer
// INPAapiResultText(s5, "STAT_MESSWERT0_STRING",1,"");
// INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x480A","");
// INPAapiResultAnalog(km_stand_real,"STAT_MESSWERT0_WERT",1);
// realtostring(km_stand_real,"6.0",km_stand_string);
// data_id_lesen( s6 );
if(speicherart == 0) {fileopen(datei_ident,"a");}
if(speicherart == 1 || speicherart == 2 || speicherart == 3) {fileopen( datei_fs,"a");}
if(speicherart == 4 || speicherart == 5 || speicherart == 6) {fileopen( datei_rbm,"a");}
if(speicherart == 7 || speicherart == 8 || speicherart == 9 || speicherart == 10 || speicherart == 11) {fileopen(datei_nn,"a");}
filewrite("___________________________________________________________" );
// filewrite( "$DATAID: " + s6 );
filewrite(" ");
filewrite("Datum : " + s1);
filewrite("Uhrzeit: " + s2);
// textout( "=== " + s1 + " === " + s2 + " === DatenReferenz : " + s6,21,5);
// filewrite("DME Losnummer: " + s5 );
// filewrite( " ");
// filewrite("Aktueller Kilometerstand: " + km_stand_string + " km");
filewrite("___________________________________________________________" );
filewrite(" ");
filewrite("Kommentarzeile 1: " + s3 );
filewrite("Kommentarzeile 2: " + s4 );
filewrite("___________________________________________________________" );
}
else messagebox( "Status der Speicherung" , " Speichern abgebrochen!! " );
blankscreen();
}
//*************************************
//*** Adaptionen löschen *****
//*************************************
adaption_loesch(in:int was)
{
string s1;
string ausgabetext;
if (was == 0) //alle Adaptionswerte loeschen ausser die für die Batterie
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0xFF;0xEF;0xFF","");
// INPAapiJob(sgbd,"RESET_CRU_OFF","","");
ausgabetext = "Alle Adaptionswerte";
}
//Byte 1
if (was == 1)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","1;0;0","");
ausgabetext = "Adaption Leerlaufabgleich";
}
if (was == 2)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","2;0;0","");
ausgabetext = "Adaption Klopfen";
}
if (was == 3)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","4;0;0","");
ausgabetext = "Adaption Lambdasonden";
}
if (was == 4)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","8;0;0","");
ausgabetext = "Adaption Tankentlüftung";
}
if (was == 5)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","16;0;0","");
ausgabetext = "Adaption Saugrohrmodell";
}
if (was == 6)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","32;0;0","");
ausgabetext = "Adaption Drosselklappe";
}
if (was == 7)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","64;0;0","");
ausgabetext = "Adaption Lambdaregelung";
}
if (was == 8)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","128;0;0","");
ausgabetext = "Adaption Abgasrückführungsventil";
}
if (was == 9) //Byte 2
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;1;0","");
ausgabetext = "Adaption Laststeuerung";
}
if (was == 10)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;2;0","");
ausgabetext = "Adaption NOx-Sensor";
}
if (was == 11)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;4;0","");
ausgabetext = "Adaption Sekundärluft";
}
if (was == 12)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;8;0","");
ausgabetext = "Adaption Mengensteuerventil";
}
if (was == 13)
{
INPAapiJob(sgbd,"STEUERN_BATTERIETAUSCH_REGISTRIEREN","","");
ausgabetext = "Adaption Batteriewechsel";
}
if (was == 14)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;32;0","");
ausgabetext = "Adaption Oktanzahl";
}
if (was == 15)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;64;0","");
ausgabetext = "Adaption gelernte Varianten";
}
if (was == 16)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;128;0","");
ausgabetext = "unbenutzt in " + dme_text;
}
if (was == 17) //Byte 3
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;1","");
ausgabetext = "Adaption Vanos";
}
if (was == 18)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;2","");
ausgabetext = "Adaptionen Segmentzeit";
}
if (was == 19)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;4","");
ausgabetext = "Adaption Verbrennungsregelung";
}
if (was == 20)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;8","");
ausgabetext = "Zylindergleichstellung für EOL-Test und Fahrzyklus";
}
if (was == 21)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;16","");
ausgabetext = "Adaption Laufunruhe aus Zylindergleichstellung (Faktor und Offset)";
}
if (was == 22)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;32","");
ausgabetext = "Adaption Phaseshift Bank 1";
}
if (was == 23)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;64","");
ausgabetext = "Adaption Phaseshift Bank 2";
}
if (was == 24)
{
INPAapiJob(sgbd,"ADAP_SELEKTIV_LOESCHEN","0;0;128","");
ausgabetext = "Adaption Energieabgleich";
}
INPAapiResultText( s1, "JOB_STATUS", 1, "" );
if ( s1 != "OKAY" ) { messagebox( "ADAPTON_SELEKTIV_LOESCHEN", s1 ); stop(); }
else {
s1 = ausgabetext+" erfolgreich gelöscht!";
textout( s1, 23, 5 );
delay(2500);
textout( blank, 23, 0 );
}
// stop();
}
//****************************
//*** Ansteuerung E-Lüfter ***
//****************************
elue_ansteuer(in: int Tastung)
{
string s1;
string help;
int i_temp;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_E_LUEFTER","","");
textout(blank,15,0);
textout("E-Lüfteransteuerung beendet!",15,5);
delay(1000);
}
if( Tastung == 0xFE ) {
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4A79,0x4300,0x4301","");
INPAapiCheckJobStatus("OKAY");
textout(blank, 19,0);
textout("Ansteuerung E-Lüfter", 19,5);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",20,5,0,100,0,100,"2.0");
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1, 20,35);
s1= "Kühlwassertemperatur";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT1_EINH",1,"");
analogout(r_temp,24,5,-50,150,-30,120,"4.1");
textout(s1, 24,35);
s1= "Kühlerauslasstemperatur";
textout(s1, 23,45);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT2_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT2_EINH",1,"");
analogout(r_temp,24,45,-50,150,-30,120,"4.1");
textout(s1, 24,75);
}
if( Tastung < 100 ) {
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_E_LUEFTER",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if ( s1 != "OKAY" ) { messagebox( "STEUERN_E_LUEFTER", s1 ); stop(); }
}
}
//****************************
//*** Ansteuerung VANOS IN ***
//****************************
vanos_in_ansteuer(in: int Tastung)
{
string s1;
string help;
real r1,r_temp;
if( Tastung == 0x1FF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_ENWS","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_ENDE_ENWS",s1); stop(); }
textout("VANOS Einlass: Ansteuerung beendet!",20,5);
delay(1000);
textout(blank,20,0);
}
if ( Tastung == 0x1FE ) {
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4A7A","");
INPAapiCheckJobStatus("OKAY");
// textout(blank, 20,0); // bringt die Zeile nebenan in vanos_ex_ansteuer zum blinken, daher "//".
textout("Status Vanoseinlassventil", 20,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,21,5,0,100,0,100,"2.0");
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1,21,35);
}
if( Tastung < 0x1FE )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_ENWS",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_ENWS",s1); stop(); }
}
}
//****************************
//*** Ansteuerung VANOS EX ***
//****************************
vanos_ex_ansteuer(in: int Tastung)
{
string s1;
string help;
real r1,r_temp;
if( Tastung == 0x1FF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_ANWS","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_ENDE_ANWS",s1); stop(); }
textout("VANOS Auslass: Ansteuerung beendet!",20,45);
delay(1000);
textout(blank,20,40);
}
if( Tastung == 0x1FE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A7B", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,21,45,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
text(20,45,vartext2);
text(21,75,vartext1);
}
if( Tastung < 0x1FE )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_ANWS",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_ANWS",s1); stop(); }
}
}
//***********************
//*** Ansteuerung TEV ***
//***********************
tev_ansteuer(in : int Tastung)
{
string s1;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_TEV","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if ( s1 != "OKAY" ) { messagebox( "STEUERN_ENDE_TEV", s1 ); stop(); }
textout(blank,25,0);
textout("TEV: Ansteuerung beendet!",25,5);
delay(1000);
}
if( Tastung == 0xFE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A77", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,27,5,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
text(25,5,vartext2);
text(27,35,vartext1);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_TEV",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if ( s1 != "OKAY" ) { messagebox( "STEUERN_TEV", s1 ); stop(); }
}
}
//***********************
//*** Ansteuerung KFK ***
//***********************
kfk_ansteuer(in : int Tastung)
{
string s1;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_KFT","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if ( s1 != "OKAY" ) { messagebox( "STEUERN_KFT_ENDE", s1 ); stop(); }
textout(blank,27,0);
textout("KFK: Ansteuerung beendet!",27,5);
delay(1000);
}
if( Tastung == 0xFE ) {
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A74,0x4300,0x4301", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,20,5,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
text( 20,35,vartext1);
text( 19,5,vartext2);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,24,5,-50,150,-30,120,"4.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
text(24,35,vartext1);
text(23,5,vartext2);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,24,45,-50,150,-30,120,"4.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
text( 24,75,vartext1);
text( 23,45,vartext2);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_KFT",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if ( s1 != "OKAY" ) { messagebox( "STEUERN_KFT", s1 ); stop(); }
textout(blank,27,0);
}
}
//***********************
//*** Ansteuerung EKP ***
//***********************
ekp_ansteuer(in : int Tastung)
{
string s1, s2;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_EKP","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_EKP","99.609375","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4ABA", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_EKP","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox( "STEUERN_EKP", s1); stop(); }
if (Tastung <= 1)
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4ABA", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,21,5,0,100,0,100,"5.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(blank, 20, 5);
textout(vartext1, 21, 35);
textout(vartext2, 20, 5);
}
if (Tastung == 0xFE)
{
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,21,5,0,100,0,100,"5.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(blank, 20, 5);
textout(vartext1,21,35);
textout(vartext2,20,5);
}
if (Tastung == 0xFF)
{
textout("EKP: Ansteuerung beendet",25,5);
delay(1000);
textout(blank, 25,0);
}
}
//************************
//*** Ansteuerung HLS1 ***
//************************
hls1_ansteuer(in : int Tastung)
{
string s1;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_LSH1","","");
textout(blank,26,0);
textout("Sondenheizung VK1: Ansteuerung beendet!",26,5);
delay(1000);
textout(blank,26,0);
}
if( Tastung == 0xFE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A58", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,21,3,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(vartext1, 21,32);
textout(vartext2, 20,3);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_LSH1",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LSH1",s1); stop(); }
}
}
//***************************
//*** Ansteuerung HLS HK1 ***
//***************************
hls2_ansteuer(in : int Tastung)
{
string s1;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_LSH2","","");
textout("Sondenheizung HK1: Ansteuerung beendet!",26,5);
delay(1000);
textout(blank,26,0);
}
if( Tastung == 0xFE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A59", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,24,3,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(vartext1, 24,32);
textout(vartext2, 23,3);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_LSH2",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LSH2",s1); stop(); }
}
}
//***************************
//*** Ansteuerung HLS VK2 ***
//***************************
hls3_ansteuer(in : int Tastung)
{
string s1;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_LSH3","","");
textout("Sondenheizung VK2: Ansteuerung beendet!",26,5);
delay(1000);
textout(blank,26,0);
}
if( Tastung == 0xFE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A5A", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,21,45,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(vartext1, 21,75);
textout(vartext2, 20,45);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_LSH3",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LSH3",s1); stop(); }
}
}
//***************************
//*** Ansteuerung HLS HK2 ***
//***************************
hls4_ansteuer(in : int Tastung)
{
string s1;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_LSH4","","");
textout("Sondenheizung HK2: Ansteuerung beendet!",26,5);
delay(1000);
textout(blank,26,0);
}
if( Tastung == 0xFE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A5B", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,24,45,0,100,0,100,"2.0");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
textout(vartext1, 24,75);
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(vartext2, 23,45);
/* INPAapiJob(sgbd,"STATUS_LSH4","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_LSH4",s1); stop(); }
else
{
s1 = "Heizung Lambdasonde HK 2";
textout(s1, 23,45);
INPAapiResultAnalog(r_temp,"STAT_STAT_LSH4_WERT",1);
INPAapiResultText(s1,"STAT_STAT_LSH4_EINH",1,"");
analogout(r_temp,24,45,0,100,0,100,"2.0");
textout(s1, 24,75);
} */
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_LSH4",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LSH4",s1); stop(); }
}
}
//*************************
//*** Ansteuerung GLF-1 ***
//*************************
glf1_ansteuer(in : int Tastung)
{
string s1, s2;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_GLF","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_GLF","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_GLF","","");
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_GLF","","");
INPAapiCheckJobStatus("OKAY");
// INPAapiResultText(s1,"JOB_STATUS",1,"");
// if (s1 != "OKAY") { messagebox("STEUERN_GLF",s1); stop(); }
if (Tastung == 0xFE) {
ftextout("--------------------------------------------------Obere Luftklappe AKKS-LIN-----------------------------------------------------------", 13, 1, 0, 1);
// Sollposition in Grad
INPAapiResultAnalog(r_temp,"STAT_ANG_ECRAS_UP_SP_WERT",1);
analogout(r_temp,16, 1, 0, 120, 0, 120,"5.1");
text(15, 1, "Soll-Position in Grad");
// Istposition in Grad
INPAapiResultAnalog(r_temp,"STAT_ANG_ECRAS_UP_WERT",1);
analogout(r_temp,19, 1, 0, 120, 0, 120,"5.1");
text(18, 1, "Ist-Position in Grad");
textout(blank,16, 40);
textout(blank,19, 40);
ergebnisDigitalAusgabe("STAT_ECRAS_UP2" ,16, 40,"Geöffnet"," Nicht offen ");
ergebnisDigitalAusgabe("STAT_ECRAS_UP1" ,19, 40,"Geschlossen"," Nicht geschlossen ");
}
if (Tastung == 0xFF)
{
textout(blank, 26,0);
textout("Ansteuerung Kühlerjalousie oben beendet",26,25);
delay(1000);
textout(blank, 26,0);
}
}
//*************************
//*** Ansteuerung GLF-2 ***
//*************************
glf2_ansteuer(in : int Tastung)
{
string s1, s2;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_GLF2","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_GLF2","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_GLF","","");
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_GLF2","","");
INPAapiCheckJobStatus("OKAY");
//INPAapiResultText(s1,"JOB_STATUS",1,"");
//if (s1 != "OKAY") { messagebox("STEUERN_GLF2",s1); stop(); }
if (Tastung == 0xFE) {
ftextout("--------------------------------------------------Untere Luftklappe PKKS---------------------------------------------------------------", 22, 1, 0, 1);
textout(blank,24, 0);
textout(blank,27, 0);
ergebnisDigitalAusgabe("STAT_ECRAS_DOWN6" ,24, 1,"Externe Ansteuerung PKKS aktiv"," Externe Ansteuerung PKKS inaktiv ");
ergebnisDigitalAusgabe("STAT_ECRAS_DOWN7" ,27, 1,"PKKS angesteuert (geschlossen)"," PKKS nicht angesteuert (offen) ");
}
if (Tastung == 0xFF)
{
textout(blank, 26,0);
textout("Ansteuerung Kühlerjalousie oben beendet",26,25);
delay(1000);
textout(blank, 26,0);
}
}
//*******************************
//*** Ansteuerung Wasserpumpe ***
//*******************************
ewap_ansteuer(in : int Tastung)
{
string s1, s2;
string help;
real r_temp;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd,"STEUERN_ENDE_EWAP","","");
textout("Wasserpumpe: Ansteuerung beendet!",26,5);
delay(1000);
textout(blank,26,0);
}
if( Tastung == 0xFE )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4305", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
r_temp = r_temp / 255 * 100;
analogout(r_temp,20,5,0,100,0,100,"4.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
textout(vartext1, 20,37);
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(blank, 19,5);
textout(vartext2, 19,5);
/* s1= "Status Wasserpumpe";
textout(s1, 19,5);
INPAapiResultAnalog(r_temp,"STAT_STAT_EWAP",1);
analogout(r_temp,20,5,0,100,0,100,"4.1");
s1 = "%";
textout(s1, 20,37); */
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4300", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,24,5,-50,150,-30,120,"4.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
textout(vartext1, 24,37);
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
// textout(blank, 23,5); // bringt analogoutput zum blinken.
textout(vartext2, 23,5);
/* s1= "Kühlwassertemperatur";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_PHY_TCO_WERT",1);
INPAapiResultText(s1,"STAT_PHY_TCO_EINH",1,"");
analogout(r_temp,24,5,-50,150,-30,120,"4.1");
textout(s1, 24,37); */
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4301", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,24,45,-50,150,-30,120,"4.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
textout(vartext1, 24,77);
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(blank, 23,45);
textout(vartext2, 23,45);
/* s1= "Kühlerauslasstemperatur";
textout(s1, 23,45);
INPAapiResultAnalog(r_temp,"STAT_PHY_TCO_2_WERT",1);
INPAapiResultText(s1,"STAT_PHY_TCO_2_EINH",1,"");
analogout(r_temp,24,45,-50,150,-30,120,"4.1");
textout(s1, 24,77); */
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_EWAP",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_EWAP",s1); stop(); }
}
}
//*********************************************
//*** Ansteuerung EWAP Kühlsystementlüftung ***
//*********************************************
ewap_ansteuer_kse(in: int Tastung, inout: int j)
{
string s, s1, s2, sz, sg;
string help;
real r_temp_soll, r_temp_ist;
real t,t0,x,x0,x1,y,y0,y1;
int i,k,l,m,n,o,z1;
i = 1;
t = 0;
x = 0; x0 = 0; x1 = 0;
y = 0; y0 = 0; y1 = 0;
if( Tastung == 0xFF )
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4305", "" ) ;
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {
messagebox("MESSWERTBLOCK_LESEN 0x4305",s1);
stop();
}
else {
s1= "Status:";
ftextout(s1,10,5,0,1);
if (j == 0) {s1= "Kühlsystementlüftung noch nicht gestartet!";}
else {s1= "Kühlsystementlüftung beendet! ";}
textout(s1, 11,5);
s1= "Istwert Wasserpumpe";
textout(s1, 26,5);
INPAapiResultAnalog(r_temp_ist,"STAT_MESSWERT0_WERT",1);
// Ueberpruefen ob notw.
r_temp_ist = r_temp_ist / 255 * 100;
analogout(r_temp_ist,27,5,0,100,0,100,"4.1");
s1 = "%";
textout(s1,27,37);
s1= "Sollwert Wasserpumpe";
textout(s1,22,5);
s1 = "%";
analogout(r_temp_soll,23,5,0,100,0,100,"4.1");
textout(s1,23,37);
// Ausgabe der einzelnen Schritte der Kühlsystementlüftung
ftextout("Programm Kühlsystementlüftung",10,45,0,1);
textout(zyklus01,11,45);
textout(zyklus02,12,45);
textout(zyklus03,13,45);
textout(zyklus04,14,45);
textout(zyklus05,15,45);
textout(zyklus06,16,45);
textout(zyklus07,17,45);
textout(zyklus08,18,45);
textout(zyklus09,19,45);
textout(zyklus10,20,45);
textout(zyklus11,21,45);
textout(zyklus12,22,45);
textout(zyklus13,23,45);
textout(zyklus14,24,45);
textout(zyklus15,25,45);
textout(zyklus16,26,45);
textout(zyklus17,27,45);
textout(zyklus18,28,45);
}
}
if( Tastung == 1 )
{
messagebox("Kühlsystementlüftung " + dme_text,"Nach dem Start muss das gesammte Programm für die Kühlsystementlüftung abgearbeitet werden. Ein vorzeitiger Abbruch ist nicht möglich!");
inputtext(help,"Kühlsystementlüftung " + dme_text,"Soll die Kühlsystementlüftung gestartet werden?");
getinputstate(n);
if (n != 0) {stop(); userboxclose(8);}
else {
ftextout(dme_text + " Kühlsystementlüftung",0,10,1,1);
z1=2;
textout("Ansteuerbedingung: ",z1,5);z1=z1+1;
textout(ewapu,z1,5);z1=z1+2;
ftextout("Kühlsystementlüftung nur mit angeschlossenem Ladegerät durchführen!",z1,5,0,1);z1=z1+2;
textout("< F1 > Start Kühlsystementlüftung",z1,5);z1=z1+1;
textout("< F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
userboxopen(8,18,25,5,35,"Einstellungen Heizung IHX"," ");
userboxftextout(8,"1) Temperaturwahl maximal",1,1,0,0);
userboxftextout(8,"2) AUTO-Taste betätigen",2,1,0,0);
userboxftextout(8,"3) Gebläseleistung auf minimal zurücknehmen",3,1,0,0);
inputtext(help,"Einstellung Heizung IHX","Sind die Einstellungen durchgeführt?");
getinputstate(n);
if (n != 0) {stop(); userboxclose(8);}
else
{
userboxclose(8);
j = 1;
while(i <= iz)
{
if (i == 1) {x0 = x001; x1 = x101; y0 = y001; y1 = y101;}
if (i == 2) {x0 = x002; x1 = x102; y0 = y002; y1 = y102;}
if (i == 3) {x0 = x003; x1 = x103; y0 = y003; y1 = y103;}
if (i == 4) {x0 = x004; x1 = x104; y0 = y004; y1 = y104;}
if (i == 5) {x0 = x005; x1 = x105; y0 = y005; y1 = y105;}
if (i == 6) {x0 = x006; x1 = x106; y0 = y006; y1 = y106;}
if (i == 7) {x0 = x007; x1 = x107; y0 = y007; y1 = y107;}
if (i == 8) {x0 = x008; x1 = x108; y0 = y008; y1 = y108;}
if (i == 9) {x0 = x009; x1 = x109; y0 = y009; y1 = y109;}
if (i == 10) {x0 = x010; x1 = x110; y0 = y010; y1 = y110;}
if (i == 11) {x0 = x011; x1 = x111; y0 = y011; y1 = y111;}
if (i == 12) {x0 = x012; x1 = x112; y0 = y012; y1 = y112;}
if (i == 13) {x0 = x013; x1 = x113; y0 = y013; y1 = y113;}
if (i == 14) {x0 = x014; x1 = x114; y0 = y014; y1 = y114;}
if (i == 15) {x0 = x015; x1 = x115; y0 = y015; y1 = y115;}
if (i == 16) {x0 = x016; x1 = x116; y0 = y016; y1 = y116;}
if (i == 17) {x0 = x017; x1 = x117; y0 = y017; y1 = y117;}
if (i == 18) {x0 = x018; x1 = x118; y0 = y018; y1 = y118;}
t0 = x1 - x0;
if (i <= 5) {t0 = t0 + tv;}
while(t <= t0)
{
ftextout( dme_text + " Kühlsystementlüftung",0,5,1,1);
z1=2;
textout("Ansteuerbedingung: ",z1,5);z1=z1+1;
textout(ewapu,z1,5);z1=z1+2;
ftextout("Kühlsystementlüftung nur mit angeschlossenem Ladegerät durchführen!",z1,5,0,1);z1=z1+2;
textout("< F1 > Start Kühlsystementlüftung",z1,5);z1=z1+1;
textout("< F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
textout("Zyklus",15,5);
inttostring(i,s1);
textout(s1,16,5);
textout("Zykluszeit",15,15);
realtoint(t,k);
inttostring(k,sz);
sz = sz + " s ";
textout(sz,16,15);
if (i <= 5)
{
if (t >= tv)
{
y = ((y1 - y0) / (x1 - x0) * (x - x0) + y0) / 255 * 100;
textout("Gesamtzeit",15,30);
realtoint(x,k);
realtoint(tv,m);
k = k + i * m;
inttostring(k,sg);
sg = sg + " s ";
textout(sg,16,30);
x = x + 1;
}
else
{
y = ((y1 - y0) / (x1 - x0) * (x - x0) + y0) / 255 * 100;
textout("Gesamtzeit",15,30);
realtoint(x,k);
realtoint(t,l);
realtoint(tv,m);
k = k + l + (i -1 ) * m;
inttostring(k,sg);
sg = sg + " s ";
textout(sg,16,30);
delay(750);
}
}
else
{
y = ((y1 - y0) / (x1 - x0) * (x - x0) + y0) / 255 * 100;
textout("Gesamtzeit",15,30);
realtoint(x,k);
realtoint(tv,m);
k = k + 5 * m;
inttostring(k,sg);
sg = sg + " s ";
textout(sg,16,30);
x = x + 1;
}
s1= "Status:";
ftextout(s1,10,5,0,1);
s1= "Kühlsystementlüftung läuft! ";
textout(s1,11,5);
r_temp_soll = y;
realtostring(r_temp_soll,"4.1",help);
stringtoreal(help,r_temp_soll);
INPAapiJob(sgbd,"STEUERN_EWAP",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_EWAP",s1); t = t0 + 1; i = iz + 1;}
s1= "Istwert Wasserpumpe";
textout(s1,26,5);
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4305", "" ) ;
INPAapiResultAnalog(r_temp_ist,"STAT_MESSWERT0_WERT",1);
r_temp_ist = r_temp_ist / 255 * 100;
analogout(r_temp_ist,27,5,0,100,0,100,"4.1");
s1 = "%";
textout(s1,27,37);
delay(1000);
s1= "Sollwert Wasserpumpe";
textout(s1,22,5);
s1 = "%";
analogout(r_temp_soll,23,5,0,100,0,100,"4.1");
textout(s1,23,37);
// Ausgabe der einzelnen Schritte der Kühlsystementlüftung
ftextout("Programm Kühlsystementlüftung",10,45,0,1);
if (i == 1) {ftextout(zyklus01,11,45,0,1);} else {ftextout(zyklus01,11,45,0,0);}
if (i == 2) {ftextout(zyklus02,12,45,0,1);} else {ftextout(zyklus02,12,45,0,0);}
if (i == 3) {ftextout(zyklus03,13,45,0,1);} else {ftextout(zyklus03,13,45,0,0);}
if (i == 4) {ftextout(zyklus04,14,45,0,1);} else {ftextout(zyklus04,14,45,0,0);}
if (i == 5) {ftextout(zyklus05,15,45,0,1);} else {ftextout(zyklus05,15,45,0,0);}
if (i == 6) {ftextout(zyklus06,16,45,0,1);} else {ftextout(zyklus06,16,45,0,0);}
if (i == 7) {ftextout(zyklus07,17,45,0,1);} else {ftextout(zyklus07,17,45,0,0);}
if (i == 8) {ftextout(zyklus08,18,45,0,1);} else {ftextout(zyklus08,18,45,0,0);}
if (i == 9) {ftextout(zyklus09,19,45,0,1);} else {ftextout(zyklus09,19,45,0,0);}
if (i == 10) {ftextout(zyklus10,20,45,0,1);} else {ftextout(zyklus10,20,45,0,0);}
if (i == 11) {ftextout(zyklus11,21,45,0,1);} else {ftextout(zyklus11,21,45,0,0);}
if (i == 12) {ftextout(zyklus12,22,45,0,1);} else {ftextout(zyklus12,22,45,0,0);}
if (i == 13) {ftextout(zyklus13,23,45,0,1);} else {ftextout(zyklus13,23,45,0,0);}
if (i == 14) {ftextout(zyklus14,24,45,0,1);} else {ftextout(zyklus14,24,45,0,0);}
if (i == 15) {ftextout(zyklus15,25,45,0,1);} else {ftextout(zyklus15,25,45,0,0);}
if (i == 16) {ftextout(zyklus16,26,45,0,1);} else {ftextout(zyklus16,26,45,0,0);}
if (i == 17) {ftextout(zyklus17,27,45,0,1);} else {ftextout(zyklus17,27,45,0,0);}
if (i == 18) {ftextout(zyklus18,28,45,0,1);} else {ftextout(zyklus18,28,45,0,0);}
t = t + 1;
}
t = 0;
i = i +1;
}
}
}
}
}
//*************************
//*** Ansteuerung KOREL ***
//*************************
korel_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_KOREL","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_KOREL","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A4E", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_KOREL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_KOREL",s1); stop(); }
if (Tastung == 0xFE)
{
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
textout(blank, 25,0);
textout(vartext2, 25,5);
ergebnisDigitalAusgabe("STAT_MESSWERT0_WERT", 26, 5," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout(blank, 25,0);
textout("KlimaKOmpressorRELais: Ansteuerung beendet",25,5);
delay(1000);
textout(blank, 25,0);
}
}
//********************************
//*** Ansteuerung E-Box-Lüfter ***
//********************************
ebl_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_EBL","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_EBL","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A63,0x4A22", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_EBL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {
messagebox("STEUERN_EBL",s1);
stop();
}
if (Tastung == 0xFE)
{
INPAapiResultText(s1,"STAT_MESSWERT0_TEXT",1,"");
textout(blank, 24,0);
textout(s1, 24,5);
ergebnisDigitalAusgabe("STAT_MESSWERT0_WERT", 25, 5," EIN "," AUS ");
INPAapiResultText(s1,"STAT_MESSWERT1_TEXT",1,"");
textout(s1, 24,45);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT1_EINH",1,"");
analogout(r_temp,25,45,-50,150,-30,120,"4.1");
textout(s1, 25,75);
}
if (Tastung == 0xFF)
{
textout(blank, 27,0);
textout("E-Box-Lüfter: Ansteuerung beendet",27,5);
delay(1000);
textout(blank, 27,0);
}
}
//**************************
//*** Ansteuerung DISA-1 ***
//**************************
disa1_ansteuer(in : int Tastung)
{
string s1, km_stand_string;
int i_temp;
real km_stand_real;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_DISA","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_DISA","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A71", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_DISA","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_DISA",s1);stop(); }
if (Tastung == 5)
{
INPAapiJob(sgbd,"STEUERN_DISA","1","");
textout("8s Klappe auf", 15,5);
delay(8000);
INPAapiJob(sgbd,"STEUERN_DISA","0","");
textout(blank, 15,0);
textout("8s Klappe zu", 15,5);
delay(8000);
INPAapiJob(sgbd,"STEUERN_DISA","1","");
textout(blank, 15,0);
textout("8s Klappe auf", 15,5);
delay(8000);
INPAapiJob(sgbd,"STEUERN_DISA","0","");
textout(blank, 15,0);
textout("8s Klappe zu", 15,5);
delay(8000);
textout(blank, 15,0);
textout("Diagnose beendet", 15,5);
textout("Fehlerspeicher kontrollieren", 16,5);
delay(3000);
INPAapiJob(sgbd,"STEUERN_ENDE_DISA","","");
textout(blank, 15,0);
textout(blank, 16,0);
}
if (Tastung == 0xFE)
{
s1 = "DISA 1 (grosse Klappe) PWM-Wert";
textout(s1, 25,5);
s1 = "15% Bereitschaft 33% Zu 67% Auf";
textout(s1, 26,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,27,5,0,100,0,100,"2.0");
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1, 27,34);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x480A,0x5A5C,0x5A5D","");
INPAapiCheckJobStatus("OKAY");
s1 = "Aktueller Kilometerstand:";
textout(s1,13,20);
INPAapiResultAnalog(km_stand_real,"STAT_MESSWERT0_WERT",1);
realtostring(km_stand_real,"6.0",km_stand_string);
textout(km_stand_string,13,45);
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1,13,60);
s1 = "Fehlerrückmeldung DISA-Klappe 1";
textout(s1,16,5);
ergebnisDigitalAusgabe("STAT_MESSWERT1_WERT", 17, 5," aktiv vorhanden "," nicht vorhanden ");
s1 = "Schalthäufigkeitszähler DISA-Klappe 1";
textout(s1, 21,5);
INPAapiResultInt(i_temp,"STAT_MESSWERT2_WERT",1);
inttostring(i_temp,s1);
if(i_temp == 0) {s1 = "DISA-Klappe 1 nicht verbaut";}
else {inttostring(i_temp,s1);}
textout(s1, 22,5);
}
if (Tastung == 0xFF)
{
textout(blank, 25,0);
textout("DISA 1: Ansteuerung beendet",25,5);
textout("DISA 2 (kleine Klappe) PWM-Wert", 25,45);
delay(1000);
textout(blank, 25,0);
}
}
//**************************
//*** Ansteuerung DISA-2 ***
//**************************
disa2_ansteuer(in : int Tastung)
{
string s1, km_stand_string;
int i_temp;
real km_stand_real;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_DISA2","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_DISA2","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A72", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_DISA2","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_DISA2",s1);stop(); }
if (Tastung == 5)
{
INPAapiJob(sgbd,"STEUERN_DISA2","1","");
textout("8s Klappe auf", 15,40);
delay(8000);
INPAapiJob(sgbd,"STEUERN_DISA2","0","");
textout(blank, 15,0);
textout("8s Klappe zu", 15,40);
delay(8000);
INPAapiJob(sgbd,"STEUERN_DISA2","1","");
textout(blank, 15,0);
textout("8s Klappe auf", 15,40);
delay(8000);
INPAapiJob(sgbd,"STEUERN_DISA2","0","");
textout(blank, 15,0);
textout("8s Klappe zu", 15,40);
delay(8000);
textout(blank, 15,0);
textout("Diagnose beendet", 15,40);
textout("Fehlerspeicher kontrollieren", 16,40);
delay(3000);
INPAapiJob(sgbd,"STEUERN_ENDE_DISA2","","");
textout(blank, 15,0);
textout(blank, 16,0);
}
if (Tastung == 0xFE)
{
s1 = "DISA 2 (kleine Klappe) PWM-Wert";
textout(s1, 25,45);
s1 = "15% Bereitschaft 33% Zu 67% Auf";
textout(s1, 26,45);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,27,45,0,100,0,100,"2.0");
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1, 27,75);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x480A,0x5A5E,0x5A5F","");
INPAapiCheckJobStatus("OKAY");
s1 = "Aktueller Kilometerstand:";
textout(s1,13,20);
INPAapiResultAnalog(km_stand_real,"STAT_MESSWERT0_WERT",1);
realtostring(km_stand_real,"6.0",km_stand_string);
textout(km_stand_string,13,45);
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1,13,60);
s1 = "Fehlerrückmeldung DISA-Klappe 2";
textout(s1,16,45);
ergebnisDigitalAusgabe("STAT_MESSWERT1_WERT", 17, 45," aktiv vorhanden "," nicht vorhanden ");
s1 = "Schalthäufigkeitszähler DISA-Klappe 2";
textout(s1, 21,45);
INPAapiResultInt(i_temp,"STAT_MESSWERT2_WERT",1);
inttostring(i_temp,s1);
if(i_temp == 0) {s1 = "DISA-Klappe 2 nicht verbaut";}
else {inttostring(i_temp,s1);}
textout(s1, 22,45);
}
if (Tastung == 0xFF)
{
textout(blank, 25,45);
textout("DISA2: Ansteuerung beendet",25,45);
delay(1000);
textout(blank, 25,45);
}
}
//*******************************
//*** Ansteuerung Abgasklappe ***
//*******************************
agk_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_AGK","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_AGK","1","");
if (Tastung == 2) INPAapiJob(sgbd,"STEUERN_AGK","","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A78", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_AGK","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_AGK",s1);stop();}
if (Tastung == 0xFE)
{
s1 = "Status Abgasklappe";
textout(blank, 23,0);
textout(s1, 23,5);
MWBLErgebnisDigitalAusgabe("0x4A78", 25, 5," ZU "," AUF ");
}
if (Tastung == 0xFF)
{
textout(blank, 23,0);
textout("Abgasklappe: Ansteuerung beendet",23,5);
delay(1000);
}
}
//******************************
//*** Ansteuerung DMTL-Pumpe ***
//******************************
dmtl_p_ansteuer(in : int Tastung)
{
string s1;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_DMTL_P","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_DMTL_P","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A66", "" );
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_DMTL_P","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_DMTL_P",s1);stop();}
else
{
if (Tastung == 0xFE)
{
textout("DMTL-Pumpe", 27,0);
MWBLErgebnisDigitalAusgabe("0x4A66" , 28, 0," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout("DMTL-Pumpe: Ansteuerung beendet",25,0);
delay(1000);
textout(blank, 25,0);
}
}
}
//*******************************
//*** Ansteuerung DMTL-Ventil ***
//*******************************
dmtl_v_ansteuer(in : int Tastung)
{
string s1;
int i1;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_DMTL_V","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_DMTL_V","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A67", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_DMTL_V","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_DMTL_V",s1); stop();}
else
{
if (Tastung == 0xFE)
{
textout("DMTL-Ventil", 27,30);
// ergebnisDigitalAusgabe("STAT_MOTOR_AUS_WERT" , 28, 30," EIN "," AUS ");
MWBLErgebnisDigitalAusgabe("STAT_MESSWERT0_WERT", 28, 30," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout("DMTL-Ventil: Ansteuerung beendet",25,30);
delay(1000);
textout(blank, 25,0);
}
}
}
//********************************
//*** Ansteuerung DMTL-Heizung ***
//********************************
dmtl_h_ansteuer(in : int Tastung)
{
string s1;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_DMTL_HEIZUNG","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_DMTL_HEIZUNG","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A68", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_DMTL_HEIZUNG","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_DMTL_HEIZUNG",s1); stop();}
else
{
if (Tastung == 0xFE)
{
textout("DMTL-Heizung", 27,60);
MWBLErgebnisDigitalAusgabe("STAT_MESSWERT0_WERT" , 28,60," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout("DMTL-Heizung: Ansteuerung beendet",25,60);
delay(1000);
textout(blank, 25,0);
}
}
}
//***********************
//*** Ansteuerung MIL ***
//***********************
mil_ansteuer(in : int Tastung)
{
string s1;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_MIL","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_MIL","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A69", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_MIL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_MIL",s1); stop(); }
else
{
if (Tastung != 0xFF)
{
textout("MIL", 27,5);
MWBLErgebnisDigitalAusgabe("0x4A69" , 28, 5," EIN "," AUS ");
}
else
{
textout("MIL: Ansteuerung beendet",25,5);
delay(1000);
textout(blank, 25,0);
}
}
}
//***********************
//*** Ansteuerung EML ***
//***********************
eml_ansteuer(in : int Tastung)
{
string s1;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_EML","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_EML","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A6B", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_EML","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_EML",s1); stop(); }
else
{
if (Tastung != 0xFF) {
textout("EML", 27,45);
MWBLErgebnisDigitalAusgabe("0x4A6B" , 28, 45," EIN "," AUS ");
}
else
{
textout("EML: Ansteuerung beendet",25,45);
delay(1000);
textout(blank, 25,0);
}
}
}
//*********************************************
//*** Ansteuerung Klemme 87/Hauptrelais DME ***
//*********************************************
kl87_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_UVSG","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_UVSG","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x460C,0x4609", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_UVSG","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_UVSG",s1);stop();}
if (Tastung == 0xFE)
{
s1 = "Status Klemme 87";
textout(blank, 24,0);
textout(s1, 24,5);
ergebnisDigitalAusgabe("STAT_MESSWERT0_WERT", 25, 5," EIN "," AUS ");
s1 = "Klemme 87/Versorgung DME";
textout(s1, 24,45);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT1_EINH",1,"");
analogout(r_temp,25,45,0,16,9,16,"4.2");
textout(s1, 25,78);
}
if (Tastung == 0xFF)
{
textout(blank, 23,0);
textout("Klemme87: Ansteuerung beendet",23,5);
delay(1000);
textout(blank, 23,0);
}
}
//*******************************
//*** Ansteuerung Startrelais ***
//*******************************
sr_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_SR","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_SR","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4ABD", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_SR","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_KGEH",s1);stop();}
if (Tastung == 0xFE)
{
s1 = "Status Startrelais";
textout(blank, 23,0);
textout(s1, 23,5);
MWBLErgebnisDigitalAusgabe("0x4ABD", 25, 5," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout(blank, 23,0);
textout("Startrelais: Ansteuerung beendet",23,5);
delay(1000);
}
}
//**********************************************************
//*** Ansteuerung Relais Kurbelgehäuseentlüftungsheizung ***
//**********************************************************
r_kgeh_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_KGEH","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_KGEH","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4A73", "" ) ;
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_KGEH","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_KGEH",s1);stop();}
if (Tastung == 0xFE)
{
s1 = "Status Kurbelgehäuseentlüftungsheizung";
textout(blank, 23,0);
textout(s1, 23,5);
MWBLErgebnisDigitalAusgabe("0x4A73", 25, 5," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout(blank, 23,0);
textout("Kurbelgehäuseentlüftungsheizung: Ansteuerung beendet",23,5);
delay(1000);
}
}
//*********************************
//*** Ansteuerung Drosselklappe ***
//*********************************
dk_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x5858,0x4A06,0x4A07", "" ) ;
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_DKP_VOLT",s1); stop(); }
else
{
s1= "Status Drosselklappe";
textout(s1, 19,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
analogout(r_temp,20,5,0,100,0,100,"4.1");
textout(s1, 20,37);
s1= "ADC-Wert 1 Drosselklappe";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT1_EINH",1,"");
analogout(r_temp,24,5,0,5,0,5,"4.1");
textout(s1, 24,37);
s1= "ADC-Wert 2 Drosselklappe";
textout(s1, 23,45);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT2_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT2_EINH",1,"");
analogout(r_temp,24,45,0,5,0,5,"4.1");
textout(s1, 24,77);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_DK","","");
textout(blank, 19,0);
textout("Drosselklappe: Ansteuerung beendet",19,5);
delay(1000);
textout(blank, 19,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_DK",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_DK",s1); stop(); }
}
}
//*************************************
//*** Ansteuerung Generatorspannung ***
//*************************************
gen_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"STATUS_UGEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_UGEN",s1); stop(); }
else
{
s1= "Status Generatorspannung";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_PHY_UGEN_WERT",1);
INPAapiResultText(s1,"STAT_PHY_UGEN_EINH",1,"");
analogout(r_temp,24,5,9,16,9,16,"4.1");
textout(s1, 24,37);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_UGEN","","");
textout(blank, 23,0);
textout("Generatorspannung: Ansteuerung beendet",23,5);
delay(1000);
textout(blank, 23,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_UGEN",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_UGEN",s1); stop(); }
}
}
//***********************************
//*** Ansteuerung Öldruckregelung ***
//***********************************
odr_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4807","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("MESSWERTBLOCK_LESEN",s1); stop(); }
else
{
INPAapiResultText(s1,"STAT_MESSWERT0_TEXT",1,"");
textout(s1, 19,5);
ergebnisAnalogAusgabe("STAT_MOTORDREHZAHL_WERT", 20, 5, 0, 2500, 500, 2000,"5.1");
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
textout(s1, 20,37);
}
INPAapiJob(sgbd,"STATUS_ODR","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_ODR",s1); stop(); }
else
{
s1= "Sollwert Öldruckregelung";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_PHY_P_OEL_SOLL_WERT",1);
INPAapiResultText(s1,"STAT_PHY_P_OEL_SOLL_EINH",1,"");
analogout(r_temp,24,5,0,10000,2000,9000,"5.1");
textout(s1, 24,37);
s1= "Istwert Öldruckregelung";
textout(s1, 27,5);
INPAapiResultAnalog(r_temp,"STAT_PHY_P_OEL_IST_WERT",1);
INPAapiResultText(s1,"STAT_PHY_P_OEL_IST_EINH",1,"");
analogout(r_temp,28,5,0,10000,2000,9000,"5.1");
textout(s1, 28,37);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_ODR","","");
textout(blank, 19,0);
textout("Öldruckregelung Vertrimmung beendet",19,5);
delay(1000);
textout(blank, 19,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
strcat(help,help,"00");
INPAapiJob(sgbd,"STEUERN_ODR",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_ODR",s1); stop(); }
}
}
//*********************************
//*** Ansteuerung Öldruckventil ***
//*********************************
odv_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"STATUS_ODV","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_ODV",s1); stop(); }
else
{
s1= "Status Öldruckventil";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_STAT_ODV_WERT",1);
INPAapiResultText(s1,"STAT_STAT_ODV_EINH",1,"");
analogout(r_temp,24,5,0,100,0,100,"4.1");
textout(s1, 24,37);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_ODV","","");
textout(blank, 23,0);
textout("Öldruckventil: Ansteuerung beendet",23,5);
delay(1000);
textout(blank, 23,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_ODV",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_ODV",s1); stop(); }
}
}
//**************************************
//*** Ansteuerung Ladedrucksteller-1 ***
//**************************************
lds1_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4AAB","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_LDS1",s1); stop(); }
else
{
s1= "Status Ladedrucksteller 1";
textout(s1, 19,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
analogout(r_temp,20,5,0,100,0,100,"4.1");
textout(s1, 20,37);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_LDS1","","");
textout(blank, 19,0);
textout("Ladedrucksteller 1: Ansteuerung beendet",19,5);
delay(1000);
textout(blank, 19,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_LDS1",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LDS1",s1); stop(); }
}
}
//**************************************
//*** Ansteuerung Ladedrucksteller-2 ***
//**************************************
lds2_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4AAB","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("MESSWERTBLOCK_LESEN,0x4AAB",s1); stop(); }
else {
s1= "Status Ladedrucksteller 2";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
INPAapiResultText(s1,"STAT_MESSWERT0_EINH",1,"");
analogout(r_temp,24,5,0,100,0,100,"4.1");
textout(s1, 24,37);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_LDS2","","");
textout(blank, 23,0);
textout("Ladedrucksteller 2: Ansteuerung beendet",23,5);
delay(1000);
textout(blank, 23,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_LDS2",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LDS2",s1); stop(); }
}
}
//******************************
//*** Ansteuerung Motorlager ***
//******************************
mls_ansteuer(in : int Tastung)
{
string s1;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_MLS","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_MLS","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4A64","");
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_MLS","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("MESSWERTBLOCK_LESEN, 0x4A64",s1);stop();}
if (Tastung == 0xFE)
{
s1 = "Status Motorlager";
textout(blank, 23,0);
textout(s1, 23,5);
MWBLErgebnisDigitalAusgabe("0x4A64", 25, 5," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout(blank, 23,0);
textout("Motorlager: Ansteuerung beendet",23,5);
delay(1000);
}
}
//**************************************
//*** Ansteuerung Mengensteuerventil ***
//**************************************
msv_ansteuer(in : int Tastung)
{
string s1, help;
int i1;
real r_temp;
bool b_soll_hom, b_soll_hom_sch, b_soll_sch, b_soll_hom_lam_1;
bool b_ist_hom, b_ist_hom_sch, b_ist_sch, b_ist_hom_lam_1;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"STATUS_BETRIEBSART","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_BETRIEBSART",s1); stop(); }
else
{
INPAapiResultInt(i1,"STAT_STAT_BA_SOLL_WERT",1);
if (i1 == 1) {b_soll_hom = 0; b_soll_hom_sch = 0; b_soll_sch = 1; b_soll_hom_lam_1 = 0;}
if (i1 == 2) {b_soll_hom = 1; b_soll_hom_sch = 0; b_soll_sch = 0; b_soll_hom_lam_1 = 0;}
if (i1 == 3) {b_soll_hom = 0; b_soll_hom_sch = 1; b_soll_sch = 0; b_soll_hom_lam_1 = 0;}
ftextout("Soll-Betriebsart",17,35,0,1);
text(18, 5,"Homogen");
digitalout(b_soll_hom ,19, 5," EIN "," AUS ");
text(18,35,"Homogen-Schicht");
digitalout(b_soll_hom_sch ,19,35," EIN "," AUS ");
text(18,65,"Schicht");
digitalout(b_soll_sch ,19,65," EIN "," AUS ");
INPAapiResultInt(i1,"STAT_STAT_BA_IST_WERT",1);
if (i1 == 1) {b_ist_hom = 0; b_ist_hom_sch = 0; b_ist_sch = 1; b_ist_hom_lam_1 = 0;}
if (i1 == 2) {b_ist_hom = 1; b_ist_hom_sch = 0; b_ist_sch = 0; b_ist_hom_lam_1 = 0;}
if (i1 == 3) {b_ist_hom = 0; b_ist_hom_sch = 1; b_ist_sch = 0; b_ist_hom_lam_1 = 0;}
ftextout("Ist-Betriebsart",21,35,0,1);
text(22, 5,"Homogen");
digitalout(b_ist_hom ,23, 5," EIN "," AUS ");
text(22,35,"Homogen-Schicht");
digitalout(b_ist_hom_sch ,23,35," EIN "," AUS ");
text(22,65,"Schicht");
digitalout(b_ist_sch ,23,65," EIN "," AUS ");
}
INPAapiJob(sgbd,"STATUS_MSV","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_MSV",s1); stop(); }
else
{
s1= "Status Mengensteuerventil";
textout(s1, 26,5);
INPAapiResultAnalog(r_temp,"STAT_PHY_MSV_WERT",1);
INPAapiResultText(s1,"STAT_PHY_MSV_EINH",1,"");
analogout(r_temp,27,5,0,250000,50000,250000,"7.1");
textout(s1, 27,40);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_MSV","","");
textout(blank, 26,0);
textout("Mengensteuerventil: Ansteuerung beendet",26,5);
delay(1000);
textout(blank, 26,0);
}
if( Tastung < 200 )
{
inttostring(Tastung,help);
strcat(help,help,"000");
INPAapiJob(sgbd,"STEUERN_MSV",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_MSV",s1); stop(); }
}
}
//*******************************************
//*** Ansteuerung Abgasrückführungsventil ***
//*******************************************
agr_ansteuer(in : int Tastung)
{
string s1, help;
real r_temp;
if (Tastung == 0xFE)
{
INPAapiJob(sgbd,"STATUS_AGR","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_AGR",s1); stop(); }
else
{
s1= "Spannung Abgasrückführungsventil";
textout(s1, 19,5);
INPAapiResultAnalog(r_temp,"STAT_ADC_AGR_WERT",1);
INPAapiResultText(s1,"STAT_ADC_AGR_EINH",1,"");
analogout(r_temp,20,5,0,5,0,5,"4.1");
textout(s1, 20,37);
s1= "Hub Abgasrückführungsventil";
textout(s1, 23,5);
INPAapiResultAnalog(r_temp,"STAT_PHY_AGR_WERT",1);
INPAapiResultText(s1,"STAT_PHY_AGR_EINH",1,"");
analogout(r_temp,24,5,0,100,0,100,"4.1");
textout(s1, 24,37);
}
}
if (Tastung == 0xFF)
{
INPAapiJob(sgbd,"STEUERN_ENDE_AGR","","");
textout(blank, 19,0);
textout("Abgasrückrührungsventil: Ansteuerung beendet",19,5);
delay(1000);
textout(blank, 19,0);
}
if( Tastung < 100 )
{
inttostring(Tastung,help);
INPAapiJob(sgbd,"STEUERN_AGR",help,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STEUERN_AGR",s1); stop(); }
}
}
//*****************************************
//*** Ansteuerung Drosselklappenheizung ***
//*****************************************
dkh_ansteuer(in : int Tastung)
{
string s1, s2;
int i_temp;
if (Tastung == 0) INPAapiJob(sgbd,"STEUERN_DKH","0","");
if (Tastung == 1) INPAapiJob(sgbd,"STEUERN_DKH","1","");
if (Tastung == 0xFE) INPAapiJob(sgbd,"STATUS_DKH","","");
if (Tastung == 0xFF) INPAapiJob(sgbd,"STEUERN_ENDE_DKH","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STEUERN_DKH",s1);stop();}
if (Tastung == 0xFE)
{
s1 = "Status Drosselklappenheizung";
textout(blank, 21,0);
textout(s1, 21,5);
INPAapiResultInt(i_temp,"STAT_STAT_DKH_WERT",1);
inttostring(i_temp,s1);
INPAapiResultText(s2,"STAT_STAT_DKH_TEXT",1,"");
s1 = s1 + " " + s2;
textout(s1, 23,5);
ergebnisDigitalAusgabe("STAT_STAT_DKH_RLY", 25, 5," EIN "," AUS ");
}
if (Tastung == 0xFF)
{
textout(blank, 23,0);
textout("Drosselklappenheizung: Ansteuerung beendet",23,5);
delay(1000);
textout(blank, 23,0);
}
}
//**********************************
//*** Ausgabe von Ergebnissätzen ***
//**********************************
//**************************
//*** Ausgabe von Texten ***
//**************************
ergebnisAusgabeTxt(in:string text1, in:string ResultText, in:int Zeile, in:int Spalte,
in:int OffsetY1, in:int OffsetX1)
{
int ergSatz;
string s_temp="";
textout(text1,Zeile,Spalte);
ergSatz=1;
INPAapiResultText(s_temp,ResultText,ergSatz,"");
textout(s_temp,Zeile+OffsetY1,Spalte+OffsetX1);
}
//***************************************************************
//*** Ausgabe von Texten aus unterschiedlichen Ergebnissätzen ***
//***************************************************************
ergebnisAusgabeTxt2(in:string text1, in:string ResultText, in:int Zeile, in:int Spalte,
in:int OffsetY1, in:int OffsetX1, in: int ergSatz)
{
string s_temp="";
textout(text1,Zeile,Spalte);
INPAapiResultText(s_temp,ResultText,ergSatz,"");
textout(s_temp,Zeile+OffsetY1,Spalte+OffsetX1);
}
//*********************************************
//*** Ausgabe von Strings mit Zeilenumbruch ***
//*********************************************
stringChopper(in:string text1, in:string incomingString, in:int fragmentLaenge, in:int Zeile, in:int Spalte, in:int OffsetY1, in:int OffsetX1) {
string s1 = "" ;
string restString = "" ;
string stringFragment = "" ;
int laengeRestString = 0 ;
int laengeIncomingString = 0 ;
int i = 0 ;
bool stringChopperEnde = FALSE ;
bool stringZerteilt = FALSE ;
stringFragment = incomingString ;
restString = incomingString ;
textout(text1, Zeile, Spalte) ;
strlen (laengeIncomingString, incomingString) ;
strlen (laengeRestString, restString) ;
while (stringChopperEnde == FALSE) {
strlen (laengeRestString, restString) ;
if (laengeIncomingString <= fragmentLaenge) {
stringChopperEnde = TRUE ;
textout(restString,Zeile+OffsetY1,Spalte+OffsetX1);
}
if (laengeRestString <= fragmentLaenge) {
stringChopperEnde = TRUE ;
textout(restString,Zeile+OffsetY1+i,Spalte+OffsetX1);
}
else {
midstr (stringFragment, restString, 0, fragmentLaenge) ;
strlen (laengeRestString, restString) ;
midstr (restString, restString, fragmentLaenge, laengeRestString-fragmentLaenge) ;
textout (stringFragment, Zeile+OffsetY1 + i ,Spalte+OffsetX1) ;
i = i + 1;
}
}
}
//********************************
//*** Ausgabe von ASCII-Werten ***
//********************************
ergebnisAusgabeAscii(in:string text1, in:string ResultText, in:int Zeile, in:int Spalte,
in:int OffsetY1, in:int OffsetX1)
{
int ergSatz;
string s_temp="";
textout(text1,Zeile,Spalte);
ergSatz=1;
INPAapiResultText(s_temp,ResultText,ergSatz,"");
textout(s_temp,Zeile+OffsetY1,Spalte+OffsetX1);
}
//*************************
//*** Ausgabe Int-Werte ***
//*************************
ergebnisAusgabeInt(in:string text1, in:string ResultText, in:int Zeile, in:int Spalte,
in:int OffsetY1, in:int OffsetX1)
{
int ergSatz;
int i_temp;
string s_temp,s;
textout(text1,Zeile,Spalte);
ergSatz=1;
INPAapiResultInt(i_temp,ResultText,ergSatz);
inttostring(i_temp,s_temp);
textout(s_temp,Zeile+OffsetY1,Spalte+OffsetX1);
}
//*************************
//*** Ausgabe Hex-Werte ***
//*************************
ergebnisAusgabeHex(in:string text1, in:string ResultText, in: int laenge, in:int Zeile, in:int Spalte,
in:int OffsetY1, in:int OffsetX1)
{
int ergSatz;
int i_temp;
string s_temp,s;
textout(text1,Zeile,Spalte);
ergSatz=1;
INPAapiResultInt(i_temp,ResultText,ergSatz);
inttohexstring(i_temp,laenge,s_temp);
textout(s_temp,Zeile+OffsetY1,Spalte+OffsetX1);
}
//****************************
//*** Ausgabe Analog-Werte ***
//****************************
ergebnisAusgabeAnalog(in:string text1, in:string ResultText, in:string format, in:int Zeile, in:int Spalte,
in:int OffsetY1, in:int OffsetX1)
{
int ergSatz;
real r_temp;
string s_temp;
textout(text1,Zeile,Spalte);
ergSatz=1;
INPAapiResultAnalog(r_temp,ResultText,ergSatz);
realtostring(r_temp, format, s_temp);
textout(s_temp,Zeile+OffsetY1,Spalte+OffsetX1);
}
//***********************************************
//*** kurze Ausgabe der Fehler auf Bildschirm ***
//*** 12.07.01 mw Neu mit globalen Varialen ***
//***********************************************
AusgabeBildschirmKurz( in: int a_ergSatz )
{
string s, s2;
int i_temp;
long l_temp;
real r_temp;
if ((f_anzahl >= 1) && (a_ergSatz <= f_anzahl))
{
zeile0 = "Fehler: ";
inttostring(a_ergSatz,s);
inttostring(f_anzahl,s2);
zeile0 = zeile0 + s + "("+ s2 + ")";
INPAapiResultText(s2,"F_ORT_NR",a_ergSatz,"");
FehlerOrtNr = s2;
zeile0 = zeile0 + " Nr: " + s2;
ftextout(zeile0,0,0,0,1);
stringappend(zeile0,20," ");
INPAapiResultText(s2,"F_ORT_TEXT",a_ergSatz,"");
stringappend(s2,65," ");
ftextout(s2,0,20,0,1);
zeile0 = zeile0 + s2;
FehlerOrtText = s2;
INPAapiResultBinary( "F_HEX_CODE", a_ergSatz ); // Hex Antwort als data, letzte set
GetBinaryDataString( s2, i_temp); // umwandeln in hex Code, Laenge
midstr( s, s2, 5, 1); // Symptom Nr herausfischen
zeile1 = " Readines Flag:";
textout(zeile1,1,0);
stringappend(zeile1,20," ");
INPAapiResultInt(i_temp,"F_READY_NR" ,a_ergSatz);
inttostring(i_temp,s);
stringappend(s,2," ");
INPAapiResultText(s2,"F_READY_TEXT",a_ergSatz,"");
s2 = "(" + s + ") " + s2;
stringappend(s2,75," ");
textout(s2,1,20);
zeile1 = zeile1 + s2;
zeile2 = " Fehlerstatus:";
textout(zeile2,2,0);
stringappend(zeile2,20," ");
INPAapiResultInt(i_temp,"F_VORHANDEN_NR" ,a_ergSatz);
inttostring(i_temp,s);
stringappend(s,2," ");
INPAapiResultText(s2,"F_VORHANDEN_TEXT",a_ergSatz,"");
s2 = "(" + s + ") " + s2;
stringappend(s2,75," ");
textout(s2,2,20);
zeile2 = zeile2 + s2;
zeile3 = " MIL - Status:";
textout(zeile3,3,0);
stringappend(zeile3,20," ");
INPAapiResultInt(i_temp,"F_WARNUNG_NR" ,a_ergSatz);
inttostring(i_temp,s);
INPAapiResultText(s2,"F_WARNUNG_TEXT",a_ergSatz,"");
s2 = "(" + s + ") " + s2;
stringappend(s2,75," ");
textout(s2,3,20);
zeile3 = zeile3 + s2;
}
if (a_ergSatz == (f_anzahl + 1)) textout( "ListenEnde", 0, 21);
}
// ****************************************************
// *** Ausgabe der gesamten Fehler mit Umwelt ***
// *** BildschirmAufbau und Druckzeilen vorbereiten ***
// *** 12 07 01 mw Flimmern und Textreste beseitigt ***
// ****************************************************
ausgabeBildschirmDetail(in: int f_temp)
{
string s, s2, s_temp, s_temp_2;
real r, r_temp;
int hfk1, pos, zahl, i_temp, l_temp;
INPAapiResultInt(hfk1,"F_HFK" ,1);
inttostring(hfk1,s); // Aufbewahren fuer Umwelt Anzahl
ftextout("Häufigkeit:",0,70,0,1); textout(s,0,78);
s_temp_2 = zeile0;
zeile0 = zeile0 + "Häufigkeit: " + s;
INPAapiResultSets(i_temp); // variable Anzahl Umweltsaetze
INPAapiResultBinary("_RESPONSE_EXTENDED_DATA",i_temp); // Hex Antwort als data, letzte set
GetBinaryDataString(zeile_hex,i_temp); // umwandeln in hex Code, Laenge
zeile5 = " ";
// zeile5 = " SAE-Code: ";
textout(zeile5,5,0);
// INPAapiResultText(s,"F_PCODE_TEXT",1,"");
s = " ";
zeile5 = zeile5 + " " + s;
stringappend(zeile5,90," ");
stringappend(s,60," "); // Zeile auffuellen um alte Texte zu loeschen
textout(s,5,17);
INPAapiResultInt(i_temp,"F_HLZ" ,1);
inttostring(i_temp,s);
zeile5 = zeile5 + " F_HLZ: " + s;
ftextout("F_HLZ: ",5,70,0,1); textout(s,5,76);
//
// zeile6 = "Umwelttext";
// zeile6 = zeile6 + " / Eintrag bei";
// ftextout(zeile6,6,0,0,1);
// stringappend(zeile6,42," "); // UW texte sind 2 eingerueckt
//
// INPAapiResultText(s,"F_UW1_TEXT",1,"");
// ftextout(s,7,0,0,2);
// stringappend(s,40," ");
// zeile7 = " " + s;
//
// INPAapiResultText(s,"F_UW2_TEXT",1,"");
// ftextout(s,8,0,0,2);
// stringappend(s,40," ");
// zeile8 = " " + s;
//
// INPAapiResultText(s,"F_UW3_TEXT",1,"");
// ftextout(s,9,0,0,2);
// stringappend(s,40," ");
// zeile9 = " " + s;
//
// INPAapiResultText(s,"F_UW4_TEXT",1,"");
// ftextout(s,10,0,0,2);
// stringappend(s,40," ");
// zeile10 = " " + s;
//
//// Ausgabe der Fehlerspeicherzusatzinformationen nur für den Fehler 2D5F Reset (11615)
// if (f_temp == 11615)
// {
// zeilezusatz0 = "Fehlerspeicherzusatzinformation für ";
// zeilezusatz0 = zeilezusatz0 + s_temp_2;
// ftextout(zeilezusatz0,11,0,0,1);
// }
//
// if( hfk1 > 2 ) hfk1 = 3; // Begrenzen auf Bildschirmbreite
//
// if (hfk1 > 2)
// {
// pos = 40 + ( hfk1 - 3 ) * 14; // nach hinten durchschieben
// INPAapiResultText (s2, "F_UW1_EINH", 3,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp,"F_UW1_WERT", 3,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW1_WERT", 3); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
// ftextout(s,7,pos,0,2);
// stringappend(s,14," "); // und nun festen Abstand
// zeile7 = zeile7 + s;
// INPAapiResultText( s2, "F_UW2_EINH", 3,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW2_WERT",3,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW2_WERT", 3); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,8,pos,0,2);
// stringappend(s,14," ");
// zeile8 = zeile8 + s;
// INPAapiResultText( s2, "F_UW3_EINH", 3,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW3_WERT", 3,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW3_WERT", 3); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,9,pos,0,2);
// stringappend(s,14," ");
// zeile9 = zeile9 + s;
// INPAapiResultText( s2, "F_UW4_EINH", 3,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW4_WERT", 3,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW4_WERT", 3); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,10,pos,0,2);
// stringappend(s,14," ");
// zeile10 = zeile10 + s;
// INPAapiResultText( s_temp, "F_UW_KM", 3,"");
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " km(n.)";
// ftextout(s,6,pos,0,2);
// stringappend(s,14," ");
// zeile6 = zeile6 + s;
// }
//
// if (hfk1 > 1)
// {
// pos = 40 + ( hfk1 - 2 ) * 14; // nach hinten durchschieben
// INPAapiResultText(s2, "F_UW1_EINH",2,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW1_WERT", 2,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW1_WERT", 2); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
// ftextout(s,7,pos,0,2);
// stringappend(s,14," "); // und nun festen Abstand
// zeile7 = zeile7 + s;
// INPAapiResultText( s2, "F_UW2_EINH",2,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW2_WERT", 2,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW2_WERT", 2); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,8,pos,0,2);
// stringappend(s,14," ");
// zeile8 = zeile8 + s;
// INPAapiResultText( s2, "F_UW3_EINH", 2,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW3_WERT", 2,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW3_WERT", 2); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,9,pos,0,2);
// stringappend(s,14," ");
// zeile9 = zeile9 + s;
// INPAapiResultText( s2, "F_UW4_EINH", 2,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW4_WERT", 2,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW4_WERT", 2); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,10,pos,0,2);
// stringappend(s,14," ");
// zeile10 = zeile10 + s;
// INPAapiResultText( s_temp, "F_UW_KM", 2,"");
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " km(2.)";
// ftextout(s,6,pos,0,2);
// stringappend(s,14," ");
// zeile6 = zeile6 + s;
// }
//
//// Ist immer bei Fehlereintrag, aber wegen copy paste
// if (hfk1 > 0)
// {
// pos = 40 + ( hfk1 - 1 ) * 14; // nach hinten durchschieben
// INPAapiResultText( s2, "F_UW1_EINH", 1,"");
// if (s2 == "0-n") { INPAapiResultText(s_temp,"F_UW1_WERT",1,""); s2 = "";}
// else { INPAapiResultAnalog(r, "F_UW1_WERT", 1); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
// ftextout(s,7,pos,0,2);
// stringappend(s,14," "); // und nun festen Abstand
// zeile7 = zeile7 + s;
// INPAapiResultText( s2, "F_UW2_EINH", 1,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW2_WERT", 1,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW2_WERT", 1); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,8,pos,0,2);
// stringappend(s,14," ");
// zeile8 = zeile8 + s;
// INPAapiResultText( s2, "F_UW3_EINH", 1,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW3_WERT", 1,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW3_WERT", 1); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,9,pos,0,2);
// stringappend(s,14," ");
// zeile9 = zeile9 + s;
// INPAapiResultText( s2, "F_UW4_EINH", 1,"");
// if (s2 == "0-n") { INPAapiResultText( s_temp, "F_UW4_WERT", 1,""); s2 = "";}
// else { INPAapiResultAnalog( r, "F_UW4_WERT", 1); realtostring(r,"6.2",s_temp);}
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " " + s2;
// ftextout(s,10,pos,0,2);
// stringappend(s,14," ");
// zeile10 = zeile10 + s;
// INPAapiResultText( s_temp, "F_UW_KM", 1,"");
// strlen( i_temp, s_temp);
// i_temp = 6 - i_temp;
// s="";
// stringappend(s, i_temp," ");
// s = s + s_temp + " km(1.)";
// ftextout(s,6,pos,0,2);
// stringappend(s,14," ");
// zeile6 = zeile6 + s;
// }
}
//********************************************************************
//** Ausgabe der Fehlerzusatzinformationen für Reset-Fehler 2D5F ***
//** 2004 06 03 ew Erstellung ***
//********************************************************************
ausgabeFehlerZusatzInformation()
{
string s, s2, s_temp;
int i_temp, pos, pos_offset;
pos = 60;
pos_offset = 75;
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT0_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT0_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,12,0);
ftextout(s,12,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz1 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT1_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT1_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,13,0);
ftextout(s,13,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz2 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT2_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT2_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT2_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,14,0);
ftextout(s,14,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz3 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT3_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT3_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT3_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,15,0);
ftextout(s,15,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz4 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT4_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT4_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT4_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,16,0);
ftextout(s,16,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz5 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT5_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT5_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT5_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT5_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,17,0);
ftextout(s,17,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz6 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT6_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT6_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT6_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT6_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,18,0);
ftextout(s,18,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz7 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT7_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT7_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT7_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT7_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,19,0);
ftextout(s,19,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz8 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT8_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT8_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT8_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT8_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,20,0);
ftextout(s,20,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz9 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT9_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT9_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT9_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT9_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,21,0);
ftextout(s,21,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz10 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT10_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT10_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT10_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT10_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,22,0);
ftextout(s,22,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz11 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT11_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT11_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT11_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT11_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,23,0);
ftextout(s,23,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz12 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT12_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT12_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT12_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT12_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,24,0);
ftextout(s,24,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz13 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT13_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT13_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT13_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT13_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,25,0);
ftextout(s,25,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz14 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT14_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT14_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT14_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT14_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,26,0);
ftextout(s,26,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz15 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT15_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT15_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT15_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT15_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,27,0);
ftextout(s,27,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz16 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT16_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT16_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT16_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT16_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,28,0);
ftextout(s,28,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz17 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT17_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT17_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT17_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT17_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,29,0);
ftextout(s,29,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz18 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT18_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT18_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT18_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT18_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,30,0);
ftextout(s,30,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz19 = " " + vartext1 + s;
INPAapiResultText(vartext1,"STAT_MESSWERT19_TEXT",1,"");
INPAapiResultText(s2,"STAT_MESSWERT19_EINH", 1,"");
if (s2 == "0-n") {INPAapiResultText(s_temp,"STAT_MESSWERT19_STRING",1,""); s2 = "";}
else {if (s2 == "-") {s2 = "";} INPAapiResultAnalog(r_temp,"STAT_MESSWERT19_WERT",1); realtostring(r_temp,"6.2",s_temp);}
strlen(i_temp,s_temp);
i_temp = 6 - i_temp; // alles auf f6.2 rechtsbuendig
s="";
stringappend(s, i_temp," ");
s = s + s_temp + " " + s2; // Position der Einheit linksbuendig
textout(vartext1,31,0);
ftextout(s,31,pos,0,2);
stringappend(vartext1,pos_offset," ");
zeilezusatz20 = " " + vartext1 + s;
}
//*************************************************
//*** Ausgabe der History-Fehler auf Bildschirm ***
//*** 2001 07 06 mw angepasst an STD_HS_L ***
//*** 2003 02 06 mw Anzahl, Klasse ergaenzt ***
//*************************************************
ausgabeHistoryFehler( in: int set )
{
string s, s3, s2;
int hfk;
if ((f_anzahl >= 1) && (set <= f_anzahl))
{
AusgabeBildschirmKurz( set );
INPAapiResultText(s2,"F_CLA" ,set,"");
zeile5 = "Klasse : " + s2;
INPAapiResultInt(hfk,"F_HFK" ,set);
inttostring(hfk,s);
zeile5 = zeile5 + "; Häufigkeit: " + s + "; Eintrag bei km:";
textout(zeile5,5,0);
stringappend(zeile5,15," ");
INPAapiResultText(s2,"F_HSKM1",set,"");
INPAapiResultText(s ,"F_HSKM2",set,"");
INPAapiResultText(s3,"F_HSKM3",set,"");
s2 = "(1.): " + s2 + " (2.): " + s + " (n.): " + s3;
stringappend(s2,50," ");
textout(s2,5,35);
zeile5 = zeile5 + s2;
}
if (set == (f_anzahl + 1)) textout( "ListenEnde", 0, 21);
}
//******************************************************
//*** Ausgabe der Fehler auf Bildschirm als Hex-Dump ***
//******************************************************
ausgabeFehlerHex(in:int a_ergSatz, in:int speicherart)
{
string s,s2,s3;
int f_zahl;
int sets;
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");}
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");}
INPAapiResultSets(sets); //wieviel Fehler wurden abgespeichert
sets = sets -1;
if(sets == 0 )
{
blankscreen;
textout("Keine Fehlereinträge",10,20);
}
if ((sets > 0 ) && (a_ergSatz <= sets))
{
s2 = "Fehler "; //Zeile 0
inttostring(a_ergSatz,s);
inttostring(sets,s3); s2 = s2 + s + " (" + s3 + ")";
textout(s2,0,0);
INPAapiResultText(s,"F_ORT_NR",a_ergSatz,"");
INPAapiJob(sgbd,"FS_LESEN_HEX",s,"");
INPAapiResultText(s2,"F_ORT_TEXT",1,"");
ftextout(s2,0,17,0,1);
ftextout("Fehler_Daten:",1,0,0,1);
INPAapiResultText(s2,"FS_ZEILE1",1,""); //Zeile 1 (Daten 8Byte)
ftextout(s2,1,17,0,0);
INPAapiResultText(s2,"FS_ZEILE2",1,""); //Zeile 2 (Daten 8Byte)
ftextout(s2,2,17,0,0);
INPAapiResultText(s2,"FS_ZEILE3",1,""); //Zeile 3 (Daten 8 Byte)
ftextout(s2,3,17,0,0);
INPAapiResultText(s2,"FS_ZEILE4",1,"");
ftextout(s2,4,17,0,0);
}
if( a_ergSatz == ( sets + 1 ) ) { textout("ListenEnde ", 0, 21 );}
}
// ****************************************************
// *** Ausgabe der gesamten Fehler mit Umwelt ***
// *** BildschirmAufbau und Druckzeilen vorbereiten ***
// *** 12 07 01 mw Flimmern und Textreste beseitigt ***
// ****************************************************
ausgabeFehlerDetail( in:int ergSatz, in:int speicherart, out:int f_reset )
{
string s_temp;
int i_temp, f_temp;
long l_temp;
if ( ( f_anzahl >= 1 ) && ( ergSatz <= f_anzahl ) )
{
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");}
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");}
AusgabeBildschirmKurz( ergSatz ); // Statusbyte ist identisch mit Job 18h
INPAapiResultText(s_temp,"F_ORT_NR",ergSatz,""); // hole CDK-Nr von diesem Satz 10119
f_temp = i_temp;
f_reset = f_temp;
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN_DETAIL", s_temp, "");}
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN_DETAIL", s_temp, "");}
ausgabeBildschirmDetail(f_temp);
// Ausgabe der Fehlerspeicherzusatzinformationen nur für den Fehler 2D5F Reset (11615)
if (f_temp == 11615)
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x583C,0x583D,0x58A9,0x58AA,0x5AC2,0x58D9,0x58DA,0x58DB,0x58DC,0x5AE0,0x5AE1,0x5AE2,0x5AE3,0x5AE4,0x5AE5,0x5AE6,0x5AE7,0x5AE8,0x5AE9,0x5AEA","");
ausgabeFehlerZusatzInformation();
}
}
if(ergSatz == (f_anzahl + 1)) { textout("ListenEnde",0,21);}
}
//****************************************************************
//*** Ausgabe Freeze Frame auf Bildschirm ***
//*** 10 07 01 mw grafische und Textanpassungen mehrere Monate ***
//****************************************************************
AusgabeFehlerFreezeFrame(in:int ergSatz, in:int speicherart, in: int sets, out: int f_reset)
{
string s, s2, s3, s4, s_temp,s_temp_2;
real r, r_temp;
int hfk1, adr, f_nr, zahl, schalter, i_temp, f_temp;
int z1, f_zahl,i_help;
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");}
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");}
if ( ( sets >= 1 ) && ( ergSatz <= sets ) )
{
AusgabeBildschirmKurz( ergSatz );
// **** Daten holen ***********************************************************
INPAapiResultInt( i_temp, "F_ORT_NR", ergSatz ); // Fehlernummer holen 10119
f_temp = i_temp;
f_reset = f_temp;
inttostring( i_temp, s_temp ); // in hex umwandeln 0x2787
INPAapiJob( sgbd, "FS_LESEN_FREEZE_FRAME", s_temp, "" ); // Job aufrufen 21_0A_27_87
// **** Bildschirmausgabe *****************************************************
ausgabeBildschirmDetail(f_temp);
// **** Freeze Frame **********************************************************
// Ausgabe der Fehlerspeicherzusatzinformationen nur für den Fehler 2D5F Reset (11615)
if (f_temp == 11615)
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x583C,0x583D,0x58A9,0x58AA,0x5AC2,0x58D9,0x58DA,0x58DB,0x58DC,0x5AE0,0x5AE1,0x5AE2,0x5AE3,0x5AE4,0x5AE5,0x5AE6,0x5AE7,0x5AE8,0x5AE9,0x5AEA","");
ausgabeFehlerZusatzInformation();
INPAapiJob( sgbd, "FS_LESEN_FREEZE_FRAME", s_temp, "" );// Job aufrufen 21_0A_27_87
z1 = 33;
}
else
{
z1 = 11;
}
//Zeile 11 Status Bank1
zeile11 = "Freeze Fr.:";
stringappend( zeile11, 10," ");
INPAapiResultText(s,"F_FF0_TEXT",1,"");
stringappend( s, 35," ");
INPAapiResultText(s2,"F_FF0_WERT",1,"");
zeile11 = zeile11 + s + s2;
textout(s,z1,10); textout(s2,z1,45);
ftextout("Freeze Fr.: ",z1,0,0,3);
z1=z1+1;
//Zeile 12 Staus Bank2
zeile12 = "";
stringappend( zeile12, 10," ");
INPAapiResultText(s,"F_FF1_TEXT",1,"");
stringappend( s, 35," ");
INPAapiResultText(s2,"F_FF1_WERT",1,"");
zeile12 = zeile12 + s + s2;
textout(s,z1,10); textout(s2,z1,45);
z1=z1+1;
//Zeile 13 Lastfaktor
INPAapiResultText(s,"F_FF2_TEXT",1,"");
stringappend( s, 50," ");
zeile13 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF2_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF2_EINH",1,"");s=s+" "+s2;
zeile13 = zeile13 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 14 KuehlerTemp
INPAapiResultText(s,"F_FF3_TEXT",1,"");
stringappend( s, 50," ");
zeile14 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF3_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF3_EINH",1,"");s=s+" "+s2;
zeile14 = zeile14 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 15
INPAapiResultText(s,"F_FF4_TEXT",1,"");
stringappend( s, 50," ");
zeile15 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF4_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF4_EINH",1,"");s=s+" "+s2;
zeile15 = zeile15 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 16
INPAapiResultText(s,"F_FF5_TEXT",1,"");
stringappend( s, 50," ");
zeile16 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF5_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF5_EINH",1,"");s=s+" "+s2;
zeile16 = zeile16 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 17
INPAapiResultText(s,"F_FF6_TEXT",1,"");
stringappend( s, 50," ");
zeile17 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF6_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF6_EINH",1,"");s=s+" "+s2;
zeile17 = zeile17 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 18
INPAapiResultText(s,"F_FF7_TEXT",1,"");
stringappend( s, 50," ");
zeile18 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF7_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF7_EINH",1,"");s=s+" "+s2;
zeile18 = zeile18 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 19 Ansaugdruck
INPAapiResultText(s,"F_FF8_TEXT",1,"");
stringappend( s, 50," ");
zeile19 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF8_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF8_EINH",1,"");s=s+" "+s2;
zeile19 = zeile19 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 20 Drehzahl
INPAapiResultText(s,"F_FF9_TEXT",1,"");
stringappend( s, 50," ");
zeile20 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF9_WERT",1);
realtostring(r,"6.1",s);
INPAapiResultText(s2,"F_FF9_EINH",1,"");s=s+" "+s2;
zeile20 = zeile20 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 21 Geschwindigkeit
INPAapiResultText(s,"F_FF10_TEXT",1,"");
stringappend( s, 50," ");
zeile21 = " " + s;
ftextout(s,z1,10,0,2);
INPAapiResultAnalog(r,"F_FF10_WERT",1);
realtostring(r,"6.0",s);
INPAapiResultText(s2,"F_FF10_EINH",1,"");s=s+" "+s2;
zeile21 = zeile21 + s;
ftextout(s,z1,45,0,2);
z1=z1+1;
//Zeile 22 F_
INPAapiResultInt(adr,"F_FLC",1);
inttostring(adr,s2);
ftextout("F_FLC: ",z1,0,0,1); textout(s2,z1,8);
zeile22 = "F_FLC: " + s2 + " ";
INPAapiResultInt(adr,"F_HLC" ,1);
inttostring(adr,s);
ftextout("F_HLC: ",z1,15,0,1); textout(s,z1,23);
zeile22 = zeile22 + "F_HLC: " + s +" ";
INPAapiResultText(s,"F_CLA" ,1,"");
ftextout("F_CLA: ",z1,30,0,1); textout(s,z1,38);
zeile22 = zeile22 + "F_CLA: " + s +" ";
INPAapiResultInt(adr,"F_DLC" ,1);
inttostring(adr,s);
ftextout("F_DLC: ",z1,45,0,1); textout(s,z1,53);
zeile22 = zeile22 + "F_DLC: " + s;
z1=z1+1;
//Zeile 23 Diagnose
ftextout("Diagnose aktiv: ",z1,0,0,1);
INPAapiResultText(s2,"F_AKTIV_FLAG",1,""); textout(s2,z1,20);
zeile23 = "Diagnose aktiv: " + s2;
ftextout("Diagnose unterbrochen: ",z1,45,0,1);
INPAapiResultText(s2,"F_STOP_FLAG",1,""); textout(s2,z1,65);
zeile23 = zeile23 + " Diagnose unterbrochen: " + s2;
z1=z1+1;
// Zeile 24 MIL
ftextout("MIL Status: ",z1,0,0,1);
INPAapiResultText(s2,"F_MIL_FLAG",1,""); textout(s2,z1,20);
zeile24 = "MIL Status: " + s2;
ftextout("MIL entprellt: ",z1,45,0,1);
INPAapiResultText(s2,"F_ENTPRELL_FLAG",1,""); textout(s2,z1,65);
zeile24 = zeile24 + " MIL entprellt: " + s2;
z1=z1+1;
// Zeile 25 Zyklus
ftextout("Zyklus Ende: ",z1,0,0,1);
INPAapiResultText(s2,"F_ZYKLUS_FLAG",1,""); textout(s2,z1,20);
zeile25 = "Zyklus Ende: " + s2;
ftextout("Fehler durch Tester: ",z1,45,0,1);
INPAapiResultText(s2,"F_ERROR_FLAG",1,""); textout(s2,z1,65);
zeile25 = zeile25 + " Fehler durch Tester: " + s2;
z1=z1+1;
}
if( ergSatz == ( sets + 1 ) ) { textout("ListenEnde",0,21);}
}
//******************************
//*** Ausgabe von RBM-Größen ***
//******************************
Ausgabe_RBM(in: string variante, in: string job_name, in: string ratio_text_1, in: string result_numerator_1, in: string result_denominator_1, in: string ratio_text_2, in: string result_numerator_2, in: string result_denominator_2, in: int speicherflag)
{
int i1,z1;
real r,n,z;
string s_temp,s1;
INPAapiJob(sgbd,job_name,"",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox(job_name,vartext1);
stop();
}
r = 0; z = 0; n = 0;
vartext1 = ratio_text_1;
ftextout(vartext1,0,10,0,1);
s_temp = vartext1 + ";";
vartext1 = "Numerator:";
textout(vartext1,1,0);
INPAapiResultInt(i1,result_numerator_1,1);
inttostring(i1, s1);
inttoreal(i1,z);
textout(s1,1,35);
s_temp = s_temp + s1 + ";";
vartext1 = "Denominator:";
textout(vartext1,2,0);
INPAapiResultInt(i1,result_denominator_1,1);
inttostring(i1, s1);
inttoreal(i1,n);
textout(s1,2,35);
s_temp = s_temp + s1 + ";";
vartext1 = "Ratio:";
textout(vartext1,3,0);
if (n !=0) {
r = z / n * 100;
realtostring(r,"5.2",s1);
s1 = s1 + " %";}
else {
s1 = "-";}
textout(s1,3,35);
s_temp = s_temp + s1 + ";";
if (speicherflag == 1) filewrite(s_temp);
if (variante == "lang")
{
r = 0; z = 0; n = 0;
vartext1 = ratio_text_2;
ftextout(vartext1,0,55,0,1);
s_temp = vartext1 + ";";
vartext1 = "Numerator:";
textout(vartext1,1,45);
INPAapiResultInt(i1,result_numerator_2,1);
inttostring(i1, s1);
inttoreal(i1,z);
textout(s1,1,80);
s_temp = s_temp + s1 + ";";
vartext1 = "Denominator:";
textout(vartext1,2,45);
INPAapiResultInt(i1,result_denominator_2,1);
inttostring(i1, s1);
inttoreal(i1,n);
textout(s1,2,80);
s_temp = s_temp + s1 + ";";
vartext1 = "Ratio:";
textout(vartext1,3,0);
if (n !=0) {
r = z / n * 100;
realtostring(r,"5.2",s1);
s1 = s1 + " %";}
else {
s1 = "-";}
textout(s1,3,80);
s_temp = s_temp + s1 + ";";
if (speicherflag == 1) filewrite(s_temp);
}
}
//*********************************************************
//*** Ausgabe von Adaptionswerten aus neuronalen Netzen ***
//*********************************************************
Ausgabe_NN(in: string groessen, in: int blockzaehler, in: string job_name, in: string argument_1, in: string argument_2, in: string result_1, in: string result_2, in: int speicherflag)
{
int i, j, k, durchlaufzaehler;
string help, result, s_temp;
s_temp = groessen;
durchlaufzaehler = 0;
if (job_name == "_STATUS_KLANN")
{
if (job_name == "_STATUS_EISYAGR")
{
i = 0;
j = 9;
text(0,1,s_temp);
}
else
{
i = 0;
j = 11;
text(1,1,s_temp);
}
while (i <= j) {
inttostring(i + blockzaehler,help);
s_temp = "INPA;" + help;
k = 6 * (i + 2);
INPAapiJob(sgbd,job_name,s_temp,"");
INPAapiResultText(s_temp,"JOB_STATUS",1,"");
if (s_temp != "OKAY")
{
messagebox(job_name,s_temp);
stop();
}
if (durchlaufzaehler == 0)
{
if (job_name == "_STATUS_KLANN")
{
result = "STAT_TMOT_LOC_" + help + "_WERT";
INPAapiResultInt(i_temp,result,1);
inttostring(i_temp,s_temp);
s_temp = "Motortemperatur: " + s_temp + " ";
INPAapiResultText(result,"STAT_TMOT_LOC_EINH",1,"");
s_temp = s_temp + result;
text(0,32,s_temp);
result = argument_1 + help + "_WERT";
INPAapiResultInt(i_temp,result,1);
inttostring(i_temp,s_temp);
text(2,1,s_temp);
text(2,6,"B. 1");
text(3,6,"B. 2");
}
else
{
result = argument_1 + help + "_WERT";
INPAapiResultInt(i_temp,result,1);
inttostring(i_temp,s_temp);
text(1,1,s_temp);
}
durchlaufzaehler = 1;
}
if (argument_2 != "")
{
result = argument_2 + help + "_WERT";
INPAapiResultAnalog(r_temp,result,1);
realtostring(r_temp,"3.1",s_temp);
if (job_name == "_STATUS_KLANN")
{
text(1,k,s_temp);
}
else
{
text(0,k,s_temp);
}
}
if (result_1 != "")
{
result = result_1 + help + "_WERT";
INPAapiResultAnalog(r_temp,result,1);
realtostring(r_temp,"3.1",s_temp);
if (job_name == "_STATUS_KLANN")
{
text(2,k,s_temp);
}
else
{
text(1,k,s_temp);
}
}
if (result_2 != "")
{
result = result_2 + help + "_WERT";
INPAapiResultAnalog(r_temp,result,1);
realtostring(r_temp,"3.1",s_temp);
if (job_name == "_STATUS_KLANN")
{
text(3,k,s_temp);
}
else
{
text(2,k,s_temp);
}
}
i = i + 1;
}
}
else
{
i = 0;
j = 11;
text(0,1,s_temp);
while (i <= j) {
inttostring(i * 12 + blockzaehler,help);
s_temp = "INPA;" + help;
k = 6 * (i + 2);
INPAapiJob(sgbd,job_name,s_temp,"");
INPAapiResultText(s_temp,"JOB_STATUS",1,"");
if (s_temp != "OKAY")
{
messagebox(job_name,s_temp);
stop();
}
if (durchlaufzaehler == 0)
{
result = argument_1 + help + "_WERT";
INPAapiResultInt(i_temp,result,1);
inttostring(i_temp,s_temp);
text(1,1,s_temp);
durchlaufzaehler = 1;
}
if (argument_2 != "")
{
result = argument_2 + help + "_WERT";
INPAapiResultAnalog(r_temp,result,1);
realtostring(r_temp,"3.1",s_temp);
text(0,k,s_temp);
}
if (result_1 != "")
{
result = result_1 + help + "_WERT";
INPAapiResultAnalog(r_temp,result,1);
realtostring(r_temp,"3.1",s_temp);
text(1,k,s_temp);
}
if (result_2 != "")
{
result = result_2 + help + "_WERT";
INPAapiResultAnalog(r_temp,result,1);
realtostring(r_temp,"3.1",s_temp);
text(2,k,s_temp);
}
i = i + 1;
}
}
}
//*********************
//*** Dateiausgaben ***
//*********************
// ******************************************************************
// *** Ausgabe der Identifikationsdaten in eine Datei datei_ident ***
// *** Inhalt wird vorgegeben durch s_ident ***
// *** 17 03 06 ew neu erstellt ***
// ******************************************************************
OutputIDENT2File(in:int speicherart) {
// Variablen fuer PST/DST-Info
string sx = "" ;
int laengeInfoFeld = 0;
string trennzeichen = "#" ;
string singleChar = "" ;
int anzahlSets = 0 ; // Anzahl der Softwareeinheitenreferenzen im SG (BTL, PST, DST, Codierdaten, ...)
int durchlauf = 0 ;
int i_help, i1, i2;
string s_help, s1, s2, date, time;
if (speicherart == 0) {
INPAapiJob(sgbd,"IDENT","","");
}
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {
messagebox("IDENT",s1);
stop();
}
else {
userboxclose(0);
blankscreen();
textout( "Identifikationsdaten " + dme_text + " werden gespeichert", 20, 5);
getdate(s1);
gettime(s2);
textout( "========== " + s1 + " ========== " + s2 + " ==========",21,5);
if (speicherart == 0) {
commentlines(0);
}
if (inputstate==1) messagebox("Status Datei öffnen"," Kann Datei nicht öffnen ");
else {
if (inputstate != 1) {
filewrite(" ");
filewrite("Identifikationsdaten " + dme_text);
filewrite("-----------------------------------------------------------");
if (info_feld_1 == "") {
INPAapiJob(sgbd,"_SWE_LESEN","1","");
INPAapiResultText(info_feld_1,"INFO_FELD",1,"");
INPAapiJob(sgbd,"_SWE_LESEN","2","");
INPAapiResultText(info_feld_2,"INFO_FELD",1,"");
INPAapiJob(sgbd,"_SWE_LESEN","3","");
INPAapiResultText(info_feld_3,"INFO_FELD",1,"");
}
filewrite( "Software auf dem Steuergerät : ") ;
INPAapiJob(sgbd,"IDENT",s1,"");
INPAapiResultInt(i_help,"ID_SG_ADR",1);
i1 = i_help / 16;
i2 = i_help - 16 * i1;
inttostring(i1,s1);
inttostring(i2,s2);
s_help = "0x" + s1 + s2;
filewrite("Steuergeräteadresse : " + s_help);
INPAapiResultBinary("_REQUEST",1);
GetBinaryDataString(s1,i1);
INPAapiResultBinary("_RESPONSE",1);
GetBinaryDataString(s2,i2);
textout("SGBD-Index:",4,0);
i_help = i2 - i1;
midstr(s_help,s2,i1,i_help);
s_help = "0x" + s_help;
filewrite("SGBD-Index : " + s_help);
filewrite("");
INPAapiJob(sgbd,"SVK_LESEN","","");
if ( anzahlSets == 0) {
INPAapiResultSets(anzahlSets) ;
if (anzahlSets == 0) {
messagebox("JOB_STATUS", "Keine Ausgabe der SGBM-ID moeglich!" );
fileclose();
stop();
}
else {
if ( anzahlSets > 1) {
filewrite("Hardware Referenz");
INPAapiResultText(s1,"PROZESSKLASSE_WERT",1,""); filewrite("Prozessklasse (Wert) : " + s1);
INPAapiResultText(s1,"PROZESSKLASSE_TEXT",1,""); filewrite("Prozessklasse (Text) : " + s1);
INPAapiResultText(s1,"SGBM_IDENTIFIER",1,""); filewrite("SGBM-Identifier : " + s1);
INPAapiResultText(s1,"VERSION",1,""); filewrite("Version : " + s1);
}
if ( anzahlSets > 2) {
filewrite("");
filewrite("Bootloader Referenz");
INPAapiResultText(s1,"PROZESSKLASSE_WERT",2,""); filewrite("Prozessklasse (Wert) : " + s1);
INPAapiResultText(s1,"PROZESSKLASSE_TEXT",2,""); filewrite("Prozessklasse (Text) : " + s1);
INPAapiResultText(s1,"SGBM_IDENTIFIER",2,""); filewrite("SGBM-Identifier : " + s1);
INPAapiResultText(s1,"VERSION",2,""); filewrite("Version : " + s1);
filewrite("Stringformat : #Bordnetzteilnehmer#Musterstand#BTL##BTL-Entwicklerkommentar") ;
filewrite("Bootloader : " + info_feld_1);
}
if ( anzahlSets > 3) {
filewrite("");
filewrite("Programm Referenz");
INPAapiResultText(s1,"PROZESSKLASSE_WERT",3,""); filewrite("Prozessklasse (Wert) : " + s1);
INPAapiResultText(s1,"PROZESSKLASSE_TEXT",3,""); filewrite("Prozessklasse (Text) : " + s1);
INPAapiResultText(s1,"SGBM_IDENTIFIER",3,""); filewrite("SGBM-Identifier : " + s1);
INPAapiResultText(s1,"VERSION",3,""); filewrite("Version : " + s1);
filewrite("Stringformat : #Bordnetzteilnehmer#Musterstand#PST##PST-Entwicklerkommentar") ;
filewrite("Programmstand : " + info_feld_2) ;
}
if ( anzahlSets > 4) {
filewrite("");
filewrite("Daten Referenz");
INPAapiResultText(s1,"PROZESSKLASSE_WERT",4,""); filewrite("Prozessklasse (Wert) : " + s1);
INPAapiResultText(s1,"PROZESSKLASSE_TEXT",4,""); filewrite("Prozessklasse (Text) : " + s1);
INPAapiResultText(s1,"SGBM_IDENTIFIER",4,""); filewrite("SGBM-Identifier : " + s1);
INPAapiResultText(s1,"VERSION",4,""); filewrite("Version : " + s1);
filewrite("Stringformat : #Bordnetzteilnehmer#Musterstand#DST##DST-Entwicklerkommentar") ;
filewrite("Datenstand : " + info_feld_3) ;
}
if ( anzahlSets > 5) {
filewrite("");
filewrite("Codierdaten Referenz");
INPAapiResultText(s1, "PROZESSKLASSE_WERT", 5, ""); filewrite("Prozessklasse (Wert) : " + s1);
INPAapiResultText(s1, "PROZESSKLASSE_TEXT", 5, ""); filewrite("Prozessklasse (Text) : " + s1);
INPAapiResultText(s1, "SGBM_IDENTIFIER", 5, ""); filewrite("SGBM-Identifier : " + s1);
INPAapiResultText(s1, "VERSION", 5, ""); filewrite("Version : " + s1);
}
filewrite("");
filewrite("Zusammenfassung");
INPAapiJob(sgbd,"SVK_LESEN","","");
INPAapiResultText(s1,"ANZAHL_EINHEITEN",anzahlSets,""); filewrite("Anzahl Einheiten : " + s1);
INPAapiResultText(s1,"PROG_DATUM",anzahlSets,""); filewrite("Datum der Programmierung : " + s1);
INPAapiResultText(s1,"PROG_KM",anzahlSets,""); filewrite("Kilometerstand bei Programmierung : " + s1);
INPAapiResultText(s1,"JOB_STATUS",anzahlSets,""); filewrite("Status : " + s1);
filewrite(" ");
filewrite("===========================================================");
}
}
}
else if (inputstate==1) {
messagebox("Status Datei öffnen"," Kann Datei nicht öffnen ");
}
}
}
}
// ******************************************************************
// *** Ausgabe des FehlerSpeichers in eine Datei datei_fs ***
// *** Inhalt wird vorgegeben durch s_menue, das aufrufende Menue ***
// *** 16 07 01 mw neu erstellt ***
// ******************************************************************
OutputError2File(in:int speicherart)
{
int sets; // Anzahl der Fehlersets
int ergsatz; // Zaehler newSetOfResults FS_LESEN
string s1, s2, s3, s4; // Lokale Strings
int index; // Schleifenzaehler Zeilen
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");}
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");}
INPAapiResultSets(sets);
INPAapiResultText(s1, "JOB_STATUS",sets,"");
if ( s1 != "OKAY" )
{
if (speicherart == 1) messagebox( "FS_LESEN", s1 );
if (speicherart == 2) messagebox( "IS_LESEN", s1 );
stop();
}
else
{
INPAapiResultSets(sets); // wieviel Fehler wurden abgespeichert
sets = sets -1; // JOB_STATUS und _TEL_ANTWORT
if ( sets == 0 )
{
blankscreen();
textout("Es sind keine Fehler vorhanden!",20,5);
if (speicherart == 1) {commentlines(1);}
if (speicherart == 2) {commentlines(2);}
if ( datei_fs != "" ) filewrite("Es sind keine Fehler vorhanden!");
fileclose();
}
if ( sets != 0 )
{
userboxclose(0);
blankscreen();
inttostring( sets, s2 );
textout( "Es werden " + s2 + " Datensätze gespeichert", 20, 5);
ergsatz = 1;
// zif_lesen( s2 ); // SoftwareStand
// data_id_lesen(s3);
textout("SoftwareReferenz : " + s2 + " DatenReferenz : " + s3, 22, 5 );
getdate(s3);
gettime(s4);
textout( "========== " + s3 + " ========== " + s4 + " ==========",21,5);
if (speicherart == 1) {commentlines(1);}
if (speicherart == 2) {commentlines(2);}
if( inputstate != 1 )
{
filewrite(" ");
while ( ergsatz <= sets )
{
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");} // FS_DETAIL ZeilenAufbau und BildschirmAusgabe
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");} // FS_DETAIL ZeilenAufbau und BildschirmAusgabe
// if( s_menue == "kurz" ) ausgabeFehlerDetail( ergsatz, speicherart, f_reset );
if( s_menue == "detail" ) ausgabeFehlerDetail( ergsatz, speicherart, f_reset );
// if( s_menue == "freeze" ) AusgabeFehlerFreezeFrame( ergsatz, speicherart, sets, f_reset);
inttostring( ergsatz, s1);
textout("Schreiben von Fehler "+s1,24,5);
index = 0;
i_zeilen = 10; // default mit Umwelt
if( s_menue == "kurz" ) i_zeilen = 5; // zuweisen in m_fehlersp
if( s_menue == "detail" ) {if ( f_reset == 11615) {i_zeilen = 31;}
else {i_zeilen = 10;}}
if( s_menue == "freeze" ) {if ( f_reset == 11615) {i_zeilen = 46;}
else {i_zeilen = 25;}}
filewrite(" ");
filewrite( "$FehlerOrtNr: " + FehlerOrtNr );
filewrite( "$FehlerOrtText: " + FehlerOrtText );
if (speicherart == 1 || speicherart == 2) filewrite(zeile_hex);
if( index <= i_zeilen ) {filewrite(zeile0 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile1 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile2 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile3 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile4 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile5 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile6 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile7 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile8 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile9 ); index = index + 1;}
if( index <= i_zeilen ) {filewrite(zeile10); index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile11);}
else {filewrite (zeilezusatz0);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile12);}
else {filewrite (zeilezusatz1);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile13);}
else {filewrite (zeilezusatz2);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile14);}
else {filewrite (zeilezusatz3);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile15);}
else {filewrite (zeilezusatz4);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile16);}
else {filewrite (zeilezusatz5);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile17);}
else {filewrite (zeilezusatz6);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile18);}
else {filewrite (zeilezusatz7);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile19);}
else {filewrite (zeilezusatz8);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile20);}
else {filewrite (zeilezusatz9);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile21);}
else {filewrite (zeilezusatz10);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile22);}
else {filewrite (zeilezusatz11);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile23);}
else {filewrite (zeilezusatz12);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile24);}
else {filewrite (zeilezusatz13);} index = index + 1;}
if( index <= i_zeilen ) {if (f_reset != 11615) {filewrite (zeile25);}
else {filewrite (zeilezusatz14);} index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeilezusatz15); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeilezusatz16); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeilezusatz17); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeilezusatz18); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeilezusatz19); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeilezusatz20); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile11); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile12); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile13); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile14); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile15); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile16); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile17); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile18); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile19); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile20); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile21); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile22); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile23); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile24); index = index + 1;}
if( index <= i_zeilen ) {filewrite (zeile25); index = index + 1;}
filewrite( "___________________________________________________________" );
ergsatz = ergsatz+1;
}
fileclose();
messagebox("Ausgabe des Fehlerspeichers", "Ausgabe erfolgte in Datei: " + datei_fs);
}
}
}
}
// ***********************************************************
// *** Ausgabe des FehlerSpeichers in eine Datei ***
// *** Aufbereiten fuer Ausdruck auf Nadeldrucker Werk 1.1 ***
// *** 11 04 03 mw neu erstellt ***
// *** 15 05 03 mw neu Zeile hex, Drucken ohne Menu ***
// ***********************************************************
OutputError2Filetxt(in:int speicherart, in: string dateiname)
{
int sets; // Anzahl der Fehlersets
int ergsatz; // Zaehler newSetOfResults FS_LESEN
string s1, s2, s3, s4, km_stand_string; // Lokale Strings
int index; // Schleifenzaehler Zeilen
real km_stand_real;
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");}
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");}
INPAapiResultSets(sets);
INPAapiResultText(s1, "JOB_STATUS",sets,"");
if ( s1 != "OKAY" ) { messagebox( "FS_LESEN", s1 ); stop(); }
else
{
fileopen( dateiname, "w");
INPAapiResultSets(sets); // wieviel Fehler wurden abgespeichert
sets = sets -1; // JOB_STATUS und _TEL_ANTWORT nicht
if ( sets == 0 )
{
blankscreen();
textout("Es sind keine Fehler vorhanden!",20,5);
filewrite("Es sind keine Fehler vorhanden!");
}
if ( sets != 0 )
{
blankscreen();
ergsatz = 1;
// zif_lesen( s1 ); // SoftwareStand
// data_id_lesen(s2);
textout("SoftwareReferenz : " + s1 + " DatenReferenz : " + s2, 20, 5 );
filewrite("$DATAID: " + s2 );
getdate(s3);
gettime(s4);
INPAapiJob(sgbd,"INFO","","");
INPAapiResultText(s2,"REVISION",1,""); // SGBD Version Nr
textout("=== " + s3 + " === " + s4 + " === DME Los: " + s1,21,5);
getdate(s3);
gettime(s4);
textout("======= " + s3 + " ======= " + s4 + " =======" + s1,21,5);
// INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x480A","");
// INPAapiResultAnalog(km_stand_real,"STAT_MESSWERT0_WERT",1);
// realtostring(km_stand_real,"6.0",km_stand_string);
filewrite("$SGBD: " + sgbd + " Version: " + s2 );
filewrite(" === " + s3 + " === " + s4 );
// filewrite("Aktueller Kilometerstand: " + km_stand_string);
while ( ergsatz <= sets )
{
if (speicherart == 1) {INPAapiJob( sgbd, "FS_LESEN", "", "");} // FS_DETAIL ZeilenAufbau und BildschirmAusgabe
if (speicherart == 2) {INPAapiJob( sgbd, "IS_LESEN", "", "");} // FS_DETAIL ZeilenAufbau und BildschirmAusgabe
f_anzahl = sets; // sonst nur Leerzeilen
ausgabeFehlerDetail( ergsatz, speicherart, f_reset );
inttostring( ergsatz, s1);
textout("Schreiben von Fehler "+s1,24,5);
filewrite( "________________________________________________________________________" );
zeile_hex = "_TEL_ANTWORT: " + zeile_hex;
filewrite(zeile_hex);
filewrite(zeile0 );
filewrite(zeile1 );
filewrite(zeile2 );
filewrite(zeile3 );
filewrite(zeile4 );
filewrite(zeile5 );
filewrite(zeile6 );
filewrite(zeile7 );
filewrite(zeile8 );
filewrite(zeile9 );
filewrite(zeile10);
ergsatz = ergsatz+1;
}
}
}
fileclose();
}
// ****************************************************************************
// *** Ausgabe der Adaptionswerte aus neuronalen Netzen eine Datei datei_nn ***
// *** Inhalt wird vorgegeben durch s_eisy_xx, ... das aufrufende Menue ***
// *** 26 12 05 ew neu erstellt ***
// ****************************************************************************
OutputNN2File(in:int speicherart)
{
int sets; // Anzahl der Stützstellensätze
int datsatz; // aktueller Stützstellensatz
string s1, s2, s3, s4, s_temp; // Lokale Strings
real r_temp;
int i_temp; // Schleifenzaehler Zeilen
if (speicherart == 1) {INPAapiJob( sgbd, "_STATUS_EISYGD", "GROESSE", "");}
if (speicherart == 2) {INPAapiJob( sgbd, "_STATUS_EISYDR", "GROESSE", "");}
if (speicherart == 3) {INPAapiJob( sgbd, "_STATUS_KRANN", "GROESSE", "");}
if (speicherart == 4) {INPAapiJob( sgbd, "_STATUS_KLANN", "GROESSE", "");}
if (speicherart == 5) {INPAapiJob( sgbd, "_STATUS_EISYAGR", "GROESSE", "");}
INPAapiResultInt(sets,"STUETZSTELLE_ANZAHL",1);
INPAapiResultText(s1, "JOB_STATUS",1,"");
if ( s1 != "OKAY" )
{
if (speicherart == 1) messagebox( "_STATUS_EISYGD", s1 );
if (speicherart == 2) messagebox( "_STATUS_EISYDR", s1 );
if (speicherart == 3) messagebox( "_STATUS_KRANN", s1 );
if (speicherart == 4) messagebox( "_STATUS_KLANN", s1 );
if (speicherart == 5) messagebox( "_STATUS_EISYAGR", s1 );
stop();
}
else
{
if ( sets == 0 )
{
blankscreen();
textout("Es sind keine Stützstellen in neuronalen Netzen vorhanden!",20,5);
if (speicherart == 1) {commentlines( 7);}
if (speicherart == 2) {commentlines( 8);}
if (speicherart == 3) {commentlines( 9);}
if (speicherart == 4) {commentlines(10);}
if (speicherart == 5) {commentlines(11);}
if (datei_nn != "") filewrite("Es sind keine Stützstellen in neuronalen Netzen vorhanden!");
fileclose();
}
if ( sets != 0 )
{
userboxclose(0);
blankscreen();
inttostring( sets, s2 );
textout( "Es werden " + s2 + " Datensätze gespeichert", 20, 5);
datsatz = 0;
// zif_lesen(s2); // SoftwareStand
// data_id_lesen(s3);
textout("SoftwareReferenz : " + s2 + " DatenReferenz : " + s3, 22, 5 );
getdate(s3);
gettime(s4);
textout("========== " + s3 + " ========== " + s4 + " ==========",21,5);
if (speicherart == 1) {commentlines( 7);}
if (speicherart == 2) {commentlines( 8);}
if (speicherart == 3) {commentlines( 9);}
if (speicherart == 4) {commentlines(10);}
if (speicherart == 5) {commentlines(11);}
if( inputstate != 1 )
{
filewrite(" ");
if (speicherart == 1) {filewrite("NR;NKW_WERT;NKW_EINH;VSE_SPRI_WERT;VSE_SPRI_EINH;VSA_SPRI_WERT;VSA_SPRI_EINH;WDK_IST_WERT;WDK_IST_EINH;MRNN_TEST_DK_WERT;MRNN_TEST_DK_EINH");}
if (speicherart == 2) {filewrite("NR;NKW_WERT;NKW_EINH;VSE_SPRI_WERT;VSE_SPRI_EINH;VSA_SPRI_WERT;VSA_SPRI_EINH;WDK_IST_WERT;WDK_IST_EINH;MRNN_TEST_PR_WERT;MRNN_TEST_PR_EINH");}
if (speicherart == 3) {filewrite("NR;NKW_WERT;NKW_EINH;RF_WERT;RF_EINH;TANS_WERT;TANS_EINH;TMOT_WERT;TMOT_EINH;BA_IST_WERT;BA_IST_EINH;KRNN_TEST_WERT;KRNN_TEST_EINH");}
if (speicherart == 4) {filewrite("NR;NKW_LOC_WERT;NKW_LOC_EINH;RK_LOC_WERT;RK_LOC_EINH;TMOT_LOC_WERT;TMOT_LOC_EINH;KLANN_TEST1;KLANN_TEST1_EINH;KLANN_TEST2_WERT;KLANN_TEST2_EINH");}
if (speicherart == 5) {filewrite("NR;AGRPOS_WERT;AGRPOS_EINH");}
while ( datsatz <= sets - 1)
{
inttostring(datsatz,s1);
s1 = "INPA;" + s1;
inttostring(datsatz,s2);
// Job-Namen festlegen
if (speicherart == 1) {INPAapiJob(sgbd,"_STATUS_EISYGD",s1,"");}
if (speicherart == 2) {INPAapiJob(sgbd,"_STATUS_EISYDR",s1,"");}
if (speicherart == 3) {INPAapiJob(sgbd,"_STATUS_KRANN",s1,"");}
if (speicherart == 4) {INPAapiJob(sgbd,"_STATUS_KLANN",s1,"");}
if (speicherart == 5) {INPAapiJob(sgbd,"_STATUS_EISYAGR",s1,"");}
inttostring(datsatz + 1,s_temp);
s_temp = s_temp + ";";
// optionales Result auslesen
if (speicherart == 1) {s3 = "STAT_NKW_" + s2 + "_WERT";}
if (speicherart == 2) {s3 = "STAT_NKW_" + s2 + "_WERT";}
if (speicherart == 3) {s3 = "STAT_NKW_" + s2 + "_WERT";}
if (speicherart == 4) {s3 = "STAT_NKW_LOC_" + s2 + "_WERT";}
if (speicherart == 5) {s3 = "STAT_AGRPOS_" + s2 + "_WERT";}
INPAapiResultAnalog(r_temp,s3,1);
realtostring(r_temp,"4.0",s1);
s_temp = s_temp + s1 + ";";
// optionale Einheit auslesen und an String s_temp anhängen
if (speicherart == 1) {s3 = "STAT_NKW_EINH";}
if (speicherart == 2) {s3 = "STAT_NKW_EINH";}
if (speicherart == 3) {s3 = "STAT_NKW_EINH";}
if (speicherart == 4) {s3 = "STAT_NKW_LOC_EINH";}
if (speicherart == 5) {s3 = "STAT_AGRPOS_EINH";}
INPAapiResultText(s1,s3,1,"");
s_temp = s_temp + s1 + ";";
// optionales Result auslesen
if (speicherart == 1) {s3 = "STAT_VSE_SPRI_" + s2 + "_WERT";}
if (speicherart == 2) {s3 = "STAT_VSE_SPRI_" + s2 + "_WERT";}
if (speicherart == 3) {s3 = "STAT_RF_" + s2 + "_WERT";}
if (speicherart == 4) {s3 = "STAT_RK_LOC_" + s2 + "_WERT";}
if (speicherart == 5) {s3 = "STAT_PRNN_TEST_AGR_" + s2 + "_WERT";}
INPAapiResultAnalog(r_temp,s3,1);
realtostring(r_temp,"7.4",s1);
s_temp = s_temp + s1 + ";";
// optionale Einheit auslesen und an String s_temp anhängen
if (speicherart == 1) {s3 = "STAT_VSE_SPRI_EINH";}
if (speicherart == 2) {s3 = "STAT_VSE_SPRI_EINH";}
if (speicherart == 3) {s3 = "STAT_RF_EINH";}
if (speicherart == 4) {s3 = "STAT_RK_LOC_EINH";}
if (speicherart == 5) {s3 = "STAT_PRNN_TEST_AGR_EINH";}
INPAapiResultText(s1,s3,1,"");
s_temp = s_temp + s1 + ";";
// optionales Result auslesen
if (speicherart == 1) {s3 = "STAT_VSA_SPRI_" + s2 + "_WERT";}
if (speicherart == 2) {s3 = "STAT_VSA_SPRI_" + s2 + "_WERT";}
if (speicherart == 3) {s3 = "STAT_TANS_" + s2 + "_WERT";}
if (speicherart == 4) {s3 = "STAT_TMOT_LOC_" + s2 + "_WERT";}
INPAapiResultAnalog(r_temp,s3,1);
realtostring(r_temp,"7.4",s1);
s_temp = s_temp + s1 + ";";
// optionale Einheit auslesen und an String s_temp anhängen
if (speicherart == 1) {s3 = "STAT_VSA_SPRI_EINH";}
if (speicherart == 2) {s3 = "STAT_VSA_SPRI_EINH";}
if (speicherart == 3) {s3 = "STAT_TANS_EINH";}
if (speicherart == 4) {s3 = "STAT_TMOT_LOC_EINH";}
INPAapiResultText(s1,s3,1,"");
s_temp = s_temp + s1 + ";";
// optionales Result auslesen
if (speicherart == 1) {s3 = "STAT_WDK_IST_" + s2 + "_WERT";}
if (speicherart == 2) {s3 = "STAT_WDK_IST_" + s2 + "_WERT";}
if (speicherart == 3) {s3 = "STAT_TMOT_WERT";}
if (speicherart == 4) {s3 = "STAT_KLANN_TEST1_" + s2 + "_WERT";}
INPAapiResultAnalog(r_temp,s3,1);
realtostring(r_temp,"9.6",s1);
s_temp = s_temp + s1 + ";";
// optionale Einheit auslesen und an String s_temp anhängen
if (speicherart == 1) {s3 = "STAT_WDK_IST_EINH";}
if (speicherart == 2) {s3 = "STAT_WDK_IST_EINH";}
if (speicherart == 3) {s3 = "STAT_TMOT_EINH";}
if (speicherart == 4) {s3 = "STAT_KLANN_TEST1_EINH";}
INPAapiResultText(s1,s3,1,"");
s_temp = s_temp + s1 + ";";
// optionales Result auslesen
if (speicherart == 3)
{
INPAapiResultText(s1,"STAT_BA_IST_WERT",1,"");
s_temp = s_temp + s1 + ";";
INPAapiResultText(s1,"STAT_BA_IST_EINH",1,"");
s_temp = s_temp + s1 + ";";
}
// optionales Result auslesen
if (speicherart == 1) {s3 = "STAT_MRNN_TEST_DK_" + s2 + "_WERT";}
if (speicherart == 2) {s3 = "STAT_MRNN_TEST_PR_" + s2 + "_WERT";}
if (speicherart == 3) {s3 = "STAT_KRNN_TEST_" + s2 + "_WERT";}
if (speicherart == 4) {s3 = "STAT_KLANN_TEST2_" + s2 + "_WERT";}
if (speicherart <= 4)
{
INPAapiResultAnalog(r_temp,s3,1);
realtostring(r_temp,"7.4",s1);
s_temp = s_temp + s1 + ";";
}
// optionale Einheit auslesen und an String s_temp anhängen
if (speicherart == 1) {s3 = "STAT_MRNN_TEST_DK_EINH";}
if (speicherart == 2) {s3 = "STAT_MRNN_TEST_PR_EINH";}
if (speicherart == 3) {s3 = "STAT_KRNN_TEST_EINH";}
if (speicherart == 4) {s3 = "STAT_KLANN_TEST2_EINH";}
if (speicherart <= 4)
{
INPAapiResultText(s1,s3,1,"");
s_temp = s_temp + s1 + ";";
}
inttostring(datsatz,s1);
textout("Schreiben von Stützstellensatz " + s1 + " mit zugehörigem Adaptionswert!",2,5);
filewrite(s_temp);
datsatz = datsatz+1;
}
filewrite( "___________________________________________________________" );
fileclose();
messagebox( "Ausgabe der Adaptionswerte", "Ausgabe erfolgte in Datei: " + datei_nn);
}
}
}
}
// **********************************************************************
// *** Ausgabe der RBM-Werte zur Ratiobildung in eine Datei datei_rbm ***
// *** Inhalt wird vorgegeben durch s_mode_9, das aufrufende Menue ***
// *** 27 12 05 ew neu erstellt ***
// **********************************************************************
OutputRBM2File(in:int speicherart)
{
int i1;
string s1, s2, s3, s4, s_temp; // Lokale Strings
if (speicherart == 1)
{
INPAapiJob(sgbd,"_STATUS_OBD_MODE_09","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
INPAapiJob(sgbd,"_STATUS_RBMMODE9","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("_STATUS_OBD_MODE_09",vartext1);
stop();
}
}
}
if (speicherart == 2)
{
INPAapiJob(sgbd,"STATUS_RBMMS1","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("STATUS_RBMMS1",vartext1);
stop();
}
}
if (speicherart == 3)
{
INPAapiJob(sgbd,"STATUS_RBMMS2","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("STATUS_RBMMS2",vartext1);
stop();
}
}
userboxclose(0);
blankscreen();
// zif_lesen(s2); // SoftwareStand
// data_id_lesen(s3);
textout("SoftwareReferenz : " + s2 + " DatenReferenz : " + s3, 22, 5 );
getdate(s3);
gettime(s4);
textout("========== " + s3 + " ========== " + s4 + " ==========",21,5);
if (speicherart == 1) {commentlines( 4);}
if (speicherart == 2) {commentlines( 5);}
if (speicherart == 3) {commentlines( 6);}
if( inputstate != 1 )
{
filewrite(" ");
filewrite("Diagnose;Numerator;Denominator;Ratio;");
if (speicherart == 1)
{
INPAapiJob(sgbd,"_STATUS_OBD_MODE_09","",""); // Statusergebnisse ermitteln
s_temp = "OBD-Zyklen";
INPAapiResultInt(i1,"STAT_OBDCOND",1);
inttostring(i1, s1);
s_temp = s_temp + ";"+ s1 + ";-;-;";
filewrite(s_temp);
s_temp = "Anzahl Motorstarts";
INPAapiResultInt(i1,"STAT_IGNCNTR",1);
inttostring(i1, s1);
s_temp = s_temp + ";-;" + s1 + ";-;";
filewrite(s_temp);
Ausgabe_RBM("lang","_STATUS_OBD_MODE_09","Überwachung Katalysator Bank 1","STAT_CATCOMP1","STAT_CATCOND1","Überwachung Katalysator Bank 2","STAT_CATCOMP2","STAT_CATCOND2",1);
Ausgabe_RBM("lang","_STATUS_OBD_MODE_09","Überwachung Lambdasonden Bank 1","STAT_O2SCOMP1","STAT_O2SCOND1","Überwachung Lambdasonden Bank 2","STAT_O2SCOMP2","STAT_O2SCOND2",1);
Ausgabe_RBM("lang","_STATUS_OBD_MODE_09","Überwachung Abgasrückführung","STAT_EGRCOMP","STAT_EGRCOND","Überwachung Ansauganlage","STAT_AIRCOMP1","STAT_AIRCOND1",1);
Ausgabe_RBM("kurz","_STATUS_OBD_MODE_09","Überwachung Tankentlüftung","STAT_EVAPCOMP","STAT_EVAPCOND","","","",1);
}
if (speicherart == 2)
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Katalysator Sauerstoffspeicherfaehigkeit Bank 1","STAT_CTR_COMP_RBM_CAT_DIAG_1","STAT_CTR_CDN_RBM_CAT_DIAG_1","Überwachung Katalysator Sauerstoffspeicherfaehigkeit Bank 2","STAT_CTR_COMP_RBM_CAT_DIAG_2","STAT_CTR_CDN_RBM_CAT_DIAG_1",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Dynamikpruefung lineare Lamdasonden Bank 1","STAT_CTR_COMP_RBM_DYN_VLD_LS_UP_1","STAT_CTR_CDN_RBM_DYN_VLD_LS_UP_1","Überwachung Dynamikpruefung lineare Lamdasonden Bank 2","STAT_CTR_COMP_RBM_DYN_VLD_LS_UP_2","STAT_CTR_CDN_RBM_DYN_VLD_LS_UP_2",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Lamdasondensignalverschiebung mager Bank 1","STAT_CTR_COMP_RBM_SHIFT_AFL_LSL_UP_1","STAT_CTR_CDN_RBM_SHIFT_AFL_LSL_UP_1","Überwachung Lamdasondensignalverschiebung mager Bank 2","STAT_CTR_COMP_RBM_SHIFT_AFL_LSL_UP_2","STAT_CTR_CDN_RBM_SHIFT_AFL_LSL_UP_2",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Lamdasondensignalverschiebung fett Bank 1","STAT_CTR_COMP_RBM_SHIFT_AFR_LSL_UP_1","STAT_CTR_CDN_RBM_SHIFT_AFR_LSL_UP_1","Überwachung Lamdasondensignalverschiebung fett Bank 2","STAT_CTR_COMP_RBM_SHIFT_AFR_LSL_UP_2","STAT_CTR_CDN_RBM_SHIFT_AFR_LSL_UP_2",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung lineare Lamdasonde korrekt verbaut Bank 1","STAT_CTR_COMP_RBM_AIR_LSL_UP_1","STAT_CTR_CDN_RBM_AIR_LSL_UP_1","Überwachung lineare Lamdasonde korrekt verbaut Bank 2","STAT_CTR_COMP_RBM_AIR_LSL_UP_2","STAT_CTR_CDN_RBM_AIR_LSL_UP_2",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Tankfeinleckpruefung (DMTL)","STAT_CTR_COMP_RBM_SMALL_LEAK","STAT_CTR_CDN_RBM_SMALL_LEAK","Überwachung mechanische Schwergaengigkeit VANOS (Einlass)","STAT_CTR_COMP_RBM_MEC_IVVT_IN","STAT_CTR_CDN_RBM_MEC_IVVT_IN",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung mechanische Schwergaengigkeit VANOS (Auslass)","STAT_CTR_COMP_RBM_MEC_IVVT_EX","STAT_CTR_CDN_RBM_MEC_IVVT_EX","Überwachung sprunghafte Veraenderung der Steuerzeiten Nockenwelleneinlass","STAT_CTR_COMP_RBM_TOOTH_OFF_IN_1","STAT_CTR_CDN_RBM_TOOTH_OFF_IN_1",1);
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung sprunghafte Veraenderung der Steuerzeiten Nockenwellenauslass","STAT_CTR_COMP_RBM_TOOTH_OFF_EX_1","STAT_CTR_CDN_RBM_TOOTH_OFF_EX_1","Überwachung Sekundaerluftsystem","STAT_CTR_COMP_RBM_SA","STAT_CTR_CDN_RBM_SA",1);
}
if (speicherart == 3)
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Tankentlueftungssystem","STAT_CTR_COMP_RBM_DIAGCPS","STAT_CTR_CDN_RBM_DIAGCPS","Überwachung Tankgrobleckpruefung (DMTL)","STAT_CTR_COMP_RBM_ROUGH_LEAK","STAT_CTR_CDN_RBM_ROUGH_LEAK",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Diagnosemodul Tankleckage (DMTL)","STAT_CTR_COMP_RBM_DMTLM","STAT_CTR_CDN_RBM_DMTLM","Überwachung Thermostat","STAT_CTR_COMP_RBM_TH","STAT_CTR_CDN_RBM_TH",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Motortemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TCO_PLAUS","STAT_CTR_CDN_RBM_TCO_PLAUS","Überwachung Motortemperatur haengendes Sensorsignal","STAT_CTR_COMP_RBM_TCO_STUCK","STAT_CTR_CDN_RBM_TCO_STUCK",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Kuehlerauslasstemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TCO_2_PLAUS","STAT_CTR_CDN_RBM_TCO_2_PLAUS","Überwachung Umgebungstemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TAM_PLAUS","STAT_CTR_CDN_RBM_TAM_PLAUS",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Geschwindigkeit Plausibilitaet","STAT_CTR_COMP_RBM_VS_PLAUS","STAT_CTR_CDN_RBM_VS_PLAUS","Überwachung Tankfuellstand","STAT_CTR_COMP_RBM_FTL_OBD","STAT_CTR_CDN_RBM_FTL_OBD",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Lamdasondenheizung nach Katalysator Bank 1","STAT_CTR_COMP_RBM_OBD_LSH_DOWN_1","STAT_CTR_CDN_RBM_OBD_LSH_DOWN_1","Überwachung Lamdasondenheizung nach Katalysator Bank 2","STAT_CTR_COMP_RBM_OBD_LSH_DOWN_2","STAT_CTR_CDN_RBM_OBD_LSH_DOWN_2",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Alterung lineare Lamdasonde Bank 1","STAT_CTR_COMP_RBM_OBD_VLD_LSH_UP_1","STAT_CTR_CDN_RBM_OBD_VLD_LSH_UP_1","Überwachung Alterung lineare Lamdasonde Bank 2","STAT_CTR_COMP_RBM_OBD_VLD_LSH_UP_2","STAT_CTR_CDN_RBM_OBD_VLD_LSH_UP_2",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Kupplungsschalter","STAT_CTR_COMP_RBM_CS","STAT_CTR_CDN_RBM_CS","Überwachung Leerlaufregler","STAT_CTR_COMP_RBM_ISC","STAT_CTR_CDN_RBM_ISC",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Luftmassenmesser","STAT_CTR_COMP_RBM_MAF","STAT_CTR_CDN_RBM_MAF","Überwachung Ansauglufttemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TIA_PLAUS","STAT_CTR_CDN_RBM_TIA_PLAUS",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Umgebungsdruck Plausibilitaet","STAT_CTR_COMP_RBM_AMP_PLAUS","STAT_CTR_CND_RBM_AMP_PLAUS","Überwachung Plausibilitaet Drosselklappeposition zu Signal Luftmassenmesser","STAT_CTR_COMP_RBM_LOAD_TPS_PLAUS","STAT_CTR_CDN_RBM_LOAD_TPS_PLAUS",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Differenzdrucksensor Sauganlage zu Umgebung Plausibilitaet","STAT_CTR_COMP_RBM_MAP_DIP_PLAUS","STAT_CTR_CDN_RBM_MAP_DIP_PLAUS","Überwachung Abweichung Lambdaregelung Bank 1","STAT_CTR_COMP_RBM_VLS_DOWN_DIF_1","STAT_CTR_CDN_RBM_VLS_DOWN_DIF_1",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Abweichung Lambdaregelung Bank 2","STAT_CTR_COMP_RBM_VLS_DOWN_DIF_2","STAT_CTR_CDN_RBM_VLS_DOWN_DIF_2","Überwachung binaere Lamdasonde nach Katalysator Bank 1","STAT_CTR_COMP_RBM_CHK_LS_DOWN_1","STAT_CTR_CDN_RBM_CHK_LS_DOWN_1",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung binaere Lamdasonde nach Katalysator Bank 2","STAT_CTR_COMP_RBM_CHK_LS_DOWN_2","STAT_CTR_CDN_RBM_CHK_LS_DOWN_2","Überwachung Schaltzeit binaere Lamdasonde Bank 1","STAT_CTR_COMP_RBM_SWT_LS_DOWN_1","STAT_CTR_CDN_RBM_SWT_LS_DOWN_1",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Schaltzeit binaere Lamdasonde Bank 2","STAT_CTR_COMP_RBM_SWT_LS_DOWN_2","STAT_CTR_CDN_RBM_SWT_LS_DOWN_2","Überwachung Abstellzeit","STAT_CTR_COMP_RBM_T_ES","STAT_CTR_CDN_RBM_T_ES",1);
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Drosselklappenlagesensoren","STAT_CTR_COMP_RBM_TPS","STAT_CTR_CDN_RBM_TPS","Überwachung Leerlaufregler bei Kaltstart","STAT_CTR_COMP_RBM_ISC_CST","STAT_CTR_CDN_RBM_ISC_CST",1);
Ausgabe_RBM("kurz","STATUS_RBMMS2","Überwachung Momentenreserve bei Kaltstart","STAT_CTR_COMP_RBM_TQ_CST","STAT_CTR_CDN_RBM_TQ_CST","","","",1);
}
filewrite( "___________________________________________________________" );
fileclose();
messagebox( "Ausgabe der RBM-Werte", "Ausgabe erfolgte in Datei: " + datei_rbm);
}
}
// *****************************************************************************
// *** Ausgabe der Speicherzelleninhalte in eine Datei datei_sp ***
// *** Inhalt wird vorgegeben durch s_speicher_lar, ... das aufrufende Menue ***
// *** 02 01 06 ew neu erstellt ***
// *****************************************************************************
OutputSpeicher2File()
{
int sets; // Anzahl der Stützstellensätze
int durchlaufzaehler;
string s1, s2, s3, s4, s_temp; // Lokale Strings
real r_temp;
int i_temp; // Schleifenzaehler Zeilen
durchlaufzaehler = 0;
inttostring(anzahl,vartext);
ftextout(dme_text + " Speicher lesen",1,5,1,0);
INPAapiJob(sgbd,"SPEICHER_LESEN_ASCII","LAR;0x"+adresse+";"+vartext,"");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(varJobState,"JOB_STATUS",1,"");
if(varJobState != "OKAY")
{
ftextout(varJobState,5,20,0,1);
stop();
}
else
{
INPAapiResultBinary("DATEN",1);
hexdump(adresse,anzahl,5,20);
i_temp = 2 * anzahl;
sets = anzahl;
}
if ( sets == 0 )
{
blankscreen();
textout("Es wurden keine Speicherzellen ausgelesen!",20,5);
commentlines(12);
if (datei_sp != "") filewrite("Es wurden keine Speicherzellen ausgelesen!");
fileclose();
}
if ( sets != 0 )
{
userboxclose(0);
blankscreen();
textout( "Die Speicherzelleninhalte werden gespeichert!", 20, 5);
// zif_lesen(s2); // SoftwareStand
// data_id_lesen(s3);
textout("SoftwareReferenz : " + s2 + " DatenReferenz : " + s3, 22, 5 );
getdate(s3);
gettime(s4);
textout("========== " + s3 + " ========== " + s4 + " ==========",21,5);
commentlines(12);
filewrite("Startadresse: " + adresse);
filewrite("Anzahl Byte : " + vartext);
INPAapiJob(sgbd,"SPEICHER_LESEN_ASCII","LAR;0x"+adresse+";"+vartext,"");
if(varJobState != "OKAY") { ftextout(varJobState,5,20,0,1); stop();}
else
{
INPAapiResultBinary("DATEN",1);
GetBinaryDataString(s_temp,anzahl);
val1 = 0;
// Pakete von 32 abspalten
while( i_temp > 32 )
{
midstr(s2,s_temp,val1,32);
if (durchlaufzaehler == 0)
{
filewrite("Daten : " + s2);
durchlaufzaehler = 1;
}
else
{
filewrite(" " + s2);
}
val1 = val1 + 32;
i_temp = i_temp - 32;
}
midstr(s2,s_temp,val1,i_temp);
filewrite(" " + s2);
textout("Schreiben der Speicherzelleninhalte!",2,5);
filewrite( "___________________________________________________________" );
fileclose();
messagebox("Ausgabe der Speicherzelleninhalte", "Ausgabe erfolgte in Datei: " + datei_sp);
stringtoint(vartext,anzahl);
}
}
}
// *****************************************************************************
// *** Ausgabe der Adaptionswerte aus neuronalen Netzen eine Datei datei_uds ***
// *** Inhalt wird vorgegeben durch s_uds_lesen, ... das aufrufende Menue ***
// *** 26 12 05 ew neu erstellt ***
// *****************************************************************************
OutputUDS2File()
{
int sets; // Anzahl der Stützstellensätze
string s1, s2, s3, s4, s_temp; // Lokale Strings
int i_temp; // Schleifenzaehler Zeilen
INPAapiJob(sgbd,"_STATUS_UDS_SERVICE",uds_service,"");
INPAapiResultText(s_temp,"ANTWORTTELEGRAMM",1,"");
strlen(sets,s_temp);
if ( sets == 0 )
{
blankscreen();
textout("Es wurde kein UDS-Service getestet!",20,5);
commentlines(13);
if (datei_uds != "") filewrite("Es wurde kein UDS-Service getestet!");
fileclose();
}
if ( sets != 0 )
{
userboxclose(0);
blankscreen();
textout( "Es wird 1 Datensatz gespeichert", 20, 5);
// zif_lesen(s2); // SoftwareStand
// data_id_lesen(s3);
textout("SoftwareReferenz : " + s2 + " DatenReferenz : " + s3, 22, 5 );
getdate(s3);
gettime(s4);
textout("========== " + s3 + " ========== " + s4 + " ==========",21,5);
commentlines(13);
if (inputstate != 1)
{
filewrite(" ");
filewrite("Auftragstelegramm:");
filewrite(uds_service);
val1 = 0;
filewrite("Antworttelegramm:");
i_temp = anzahl;
// Pakete von 66 abspalten
while( i_temp > 66 )
{
midstr(s2,s_temp,val1,66);
filewrite(s2);
val1 = val1 + 66;
i_temp = i_temp - 66;
}
midstr(s2,s_temp,val1,i_temp);
filewrite(s2);
// Ausgabe im Fehlerfall
if(varJobState != "OKAY")
{
val2 = val2 - 2;
filewrite(varJobState);
}
textout("Schreiben der Kommunikationstelegramme!",2,5);
filewrite( "___________________________________________________________" );
fileclose();
messagebox("Ausgabe der Kommunikationstelegramme", "Ausgabe erfolgte in Datei: " + datei_uds);
}
}
}
// *****************************************************************************
// *** Wechsel zwischen den SGBDen, MSD87_R0, MSD87_L0 Anpassung der ***
// *** Variablen für Pfad, SG-Adresse und Textstring fuer fuer Textausgaben ***
// *** 04 06 07 ml neu erstellt ***
// *****************************************************************************
SGBDswitch () {
if (sgbd == dme_r) {
sgbd = dme_l ;
dme_text = dme_text_l ;
txtPfad = txtPfad_l ;
sg_adr = sg_adr_l ;
}
else if (sgbd == dme_l) {
sgbd = dme_r ;
dme_text = dme_text_r ;
txtPfad = txtPfad_r ;
sg_adr = sg_adr_r ;
}
}
//********************************
//*** EWS-Subfunktionen 070514 ***
//********************************
CompareInputWithSG(in: string str_in, in: string str_sg, out: int result)
{
int i;
string strCmp, strTmp, strTmp2;
strCmp = str_in;
instr(i, 0, strCmp, "0x"); // 0x entfernen
while (i>=0)
{
midstr(strTmp, strCmp,0,i);
midstr(strTmp2,strCmp,i+2,99);
strcat(strCmp, strTmp, strTmp2);
instr(i, 0, strCmp, "0x");
}
instr(i, 0, strCmp, ","); // Komma entfernen
while (i>=0)
{
midstr(strTmp, strCmp,0,i);
midstr(strTmp2,strCmp,i+1,99);
strcat(strCmp, strTmp, strTmp2);
instr(i, 0, strCmp, ",");
}
instr(i, 0, strCmp, " "); // Blank entfernen
while (i>=0)
{
midstr(strTmp, strCmp,0,i);
midstr(strTmp2,strCmp,i+1,99);
strcat(strCmp, strTmp, strTmp2);
instr(i, 0, strCmp, " ");
}
instr(i,0,str_sg,strCmp); // hier werden die beiden Strings verglichen
result = i; //0: Vergleich i.O.
}
//*********************
//*** Statemachines ***
//*********************
STATEMACHINE REPEATER() {
// Stoppuhrvariablen. Falls Statemachines in mehreren Instanzen aufgerufen werden koennen,
// sollten die Variablen fuer jede Substatemachine eigene Variablen definiert werden.
int repeaterStartzeit = 0;
int repeaterLaufzeit = 0;
// Fuer jede Substatemachine definierbare Zykluszeit in [s], ab der sie neu wiederholt werden soll.
int repeater_1_zyklusdauer = 15;
int repeater_2_zyklusdauer = 15;
int repeater_3_zyklusdauer = 15;
INIT {
startzeit(repeaterStartzeit) ;
if (repeaterSwitch == FALSE) setstate(REPEAT_ENDE);
else setstate(REPEAT);
}
REPEAT {
callstatemachine(REPEATER_1);
while (repeaterSwitch == TRUE) {
laufzeit(repeaterStartzeit, repeaterLaufzeit);
// chosenRepeater == globale Variable, ueber welche die zu wiederholende Substatemachine ausgewaehlt werden kann.
// chosenRepeater == 1 siehe m_glf(), beide Luftklappen dauerhaft geoeffnet.
if (chosenRepeater == 1) {
setitem( 1, "Oben ZU", FALSE);
setitem( 2, "Oben AUF", FALSE);
setitem( 3, "Unten ZU", FALSE);
setitem( 4, "Unten AUF", FALSE);
setitem( 5, "DME", FALSE);
setitem( 6, "WKM unten", FALSE);
setitem( 7, "WKM oben", FALSE);
setitem(10, "Zurück", FALSE);
if (repeaterLaufzeit >= repeater_1_zyklusdauer) {
startzeit(repeaterStartzeit);
callstatemachine(REPEATER_1);
setstate(REPEAT);
delay(50);
}
// Zwingt den Ausfuehrungspfad zum Sprung in Substatemachine und gibt somit fuer Screen etc. Rechenzeit frei.
else {
if (flicker == "") flicker ="WKM aktiv";
else flicker ="";
setitem(9, flicker, FALSE);
repeaterSwitch = FALSE;
delay(50);
callstatemachine(REPEATER_1);
}
}
// chosenRepeater == 2 siehe m_glf(), untere Luftklappe dauerhaft geoeffnet.
if (chosenRepeater == 2) {
setitem( 1, "Oben ZU", FALSE);
setitem( 2, "Oben AUF", FALSE);
setitem( 3, "Unten ZU", FALSE);
setitem( 4, "Unten AUF", FALSE);
setitem( 5, "DME", FALSE);
setitem( 7, "WKM oben", FALSE);
setitem( 8, "WKM komplett", FALSE);
setitem(10, "Zurück", FALSE);
if (repeaterLaufzeit >= repeater_2_zyklusdauer) {
startzeit(repeaterStartzeit);
callstatemachine(REPEATER_1);
setstate(REPEAT);
delay(50);
}
// Zwingt den Ausfuehrungspfad zum Sprung in Substatemachine und gibt somit fuer Screen etc. Rechenzeit frei.
else {
if (flicker == "") flicker ="WKM aktiv";
else flicker ="";
setitem(9, flicker, FALSE);
repeaterSwitch = FALSE;
delay(50);
callstatemachine(REPEATER_1);
}
}
// chosenRepeater == 3 siehe m_glf(), obere Luftklappe dauerhaft geoeffnet.
if (chosenRepeater == 3) {
setitem( 1, "Oben ZU", FALSE);
setitem( 2, "Oben AUF", FALSE);
setitem( 3, "Unten ZU", FALSE);
setitem( 4, "Unten AUF", FALSE);
setitem( 5, "DME", FALSE);
setitem( 6, "WKM unten", FALSE);
setitem( 8, "WKM komplett", FALSE);
setitem(10, "Zurück", FALSE);
if (repeaterLaufzeit >= repeater_3_zyklusdauer) {
startzeit(repeaterStartzeit);
callstatemachine(REPEATER_1);
setstate(REPEAT);
delay(50);
}
// Zwingt den Ausfuehrungspfad zum Sprung in Substatemachine und gibt somit fuer Screen etc. Rechenzeit frei.
else {
if (flicker == "") flicker ="WKM aktiv";
else flicker ="";
setitem(9, flicker, FALSE);
repeaterSwitch = FALSE;
delay(50);
callstatemachine(REPEATER_1);
}
}
}
setstate(REPEAT_ENDE);
}
REPEAT_ENDE {
INPAapiJob(sgbd,"STEUERN_ENDE_GLF","","");
INPAapiCheckJobStatus("OKAY");
INPAapiJob(sgbd,"STEUERN_ENDE_GLF2","","");
setitem(9, "WKM beendet", FALSE);
setitem( 1, "Oben ZU", TRUE);
setitem( 2, "Oben AUF", TRUE);
setitem( 3, "Unten ZU", TRUE);
setitem( 4, "Unten AUF", TRUE);
setitem( 5, "DME", TRUE);
setitem( 6, "WKM unten", TRUE);
setitem( 7, "WKM oben", TRUE);
setitem( 8, "WKM komplett", TRUE);
setitem(10, "Zurück", TRUE);
}
}
STATEMACHINE REPEATER_1() {
INIT {
if (repeaterSwitch == FALSE) {
repeaterSwitch = TRUE;
setstate(LEERE_PROZEDUR);
}
else {
// Auswertung chosenRepeater fuer korrekte Prozedurenwahl.
if (chosenRepeater == 1) setstate(PROZEDUR_1); // WKM komplett.
if (chosenRepeater == 2) setstate(PROZEDUR_2); // WKM unten.
if (chosenRepeater == 3) setstate(PROZEDUR_3); // WKM oben.
}
}
LEERE_PROZEDUR {
returnstatemachine();
}
PROZEDUR_1 {
INPAapiJob(sgbd,"STEUERN_GLF","1;20","");
INPAapiJob(sgbd,"STEUERN_GLF2","1;20","");
returnstatemachine();
}
PROZEDUR_2 {
INPAapiJob(sgbd,"STEUERN_GLF2","1;20","");
returnstatemachine();
}
PROZEDUR_3 {
INPAapiJob(sgbd,"STEUERN_GLF","1;20","");
returnstatemachine();
}
}
// ******************
// *** Menüaufbau ***
// ******************
// *******************
// *** SGBD-Auswahl***
// *******************
MENU m_sgbd_auswahl() {
INIT {
setmenutitle("Steuergeräteauswahl für " + SG_Verbund_text );
}
ITEM( 1,"DMER" ) {
sgbd = dme_r ;
currentSGBD = sgbd;
dme_text = dme_text_r ;
sg_adr = sg_adr_r;
txtPfad = txtPfad_r ;
zurAnderenDmeUmgeschaltet = 0 ;
setscreen(s_main,TRUE) ;
setmenu(m_main) ;
}
ITEM( 2,"DMEL" ) {
sgbd = dme_l ;
currentSGBD = sgbd;
dme_text = dme_text_l ;
sg_adr = sg_adr_l;
txtPfad = txtPfad_l ;
zurAnderenDmeUmgeschaltet = 0 ;
setscreen(s_main,TRUE) ;
setmenu(m_main) ;
}
ITEM(10,"Exit" ) {
userboxclose(0) ;
exit() ;
}
}
// *****************
// *** Hauptmenü ***
// *****************
MENU m_main() {
INIT {
setmenutitle("Hauptmenue");
if (dme_r == dme_l) setitem(10,"Ende",TRUE);
else if (dme_r != dme_l) setitem (10, "DME wählen",TRUE);
if (EAversion == TRUE) {
setitem (12, "UDS-Test", TRUE);
setitem (16,"EWS 4",TRUE);
}
else {
setitem (12, "", FALSE);
setitem (16, "",FALSE);
}
}
ITEM( 1 ,"Info") {setscreen(s_info,TRUE); setmenu(m_main);}
ITEM( 2 ,"Ident") {setscreen(s_ident,TRUE); setmenu(m_ident);}
// ITEM( 3 ,"AIF") {taste = 0; setscreen(s_aif,TRUE);setmenu(m_aif);}
ITEM( 4 ,"Fehler") {setscreen(s_fehlersp_main,TRUE); setmenu(m_fehlersp_main);}
ITEM( 5 ,"Status") {setscreen(s_status,TRUE); setmenu(m_status);}
ITEM( 6 ,"Steuern") {setscreen(s_iostatus,TRUE); setmenu(m_iostatus);}
// ITEM( 7 ,"Speicher") {setscreen(s_speicher,TRUE);setmenu(m_speicher);}
ITEM( 8 ,"Adaption") {blankscreen();setscreen(s_ada_loe,TRUE); setmenu(m_ada_loe);}
ITEM( 9 ,"System") {blankscreen();setscreen(s_system,TRUE); setmenu(m_system);}
ITEM(10 ,"") {
if (dme_r != dme_l) {
setmenu(m_sgbd_auswahl);
setscreen(s_sgbd_auswahl, FALSE);
}
else if (dme_r == dme_l) exit();
}
// ITEM(11, "OBD-Status") {setscreen(s_obd,TRUE); setmenu(m_obd);}
ITEM(12, "") {setscreen(s_uds_test,TRUE); setmenu(m_uds_test);}
ITEM(16, "") {setscreen(s_ews,TRUE);setmenu(m_ews);}
// ITEM (17, "EWS 3") {setscreen (s_ews_alt,TRUE);setmenu(m_ews_alt);} // Alter EWS-Abgleich. Nicht mehr benutzen!!
ITEM(20, "SLEEP") {setscreen(s_sleep_funktional,TRUE);setmenu(m_sleep);}
}
// **********************
// *** Speicher-Menue ***
// **********************
MENU m_speicher() {
string s_temp;
INIT {setmenutitle("Speicher lesen");}
ITEM( 1 ,"LINEAR")
{
stop();
adresse="0";
anzahl = 254;
input2hexnum(adresse,anzahl,"Speicher lesen","",
"Adresse 00000000-FFFFFFFF","Anzahl der Bytes 1-254","00000000","FFFFFFFF",1,254);
hexconvert(adresse,high,mid,low,seg);
if (adresse!="" && anzahl!=0) {start();setscreen( s_speicher_lar ,TRUE);}
}
ITEM( 7,"Hex->Datei")
{
setmenu(m_speicher); setscreen(s_speicher_lar,TRUE); OutputSpeicher2File();
}
ITEM( 8 ,"Kommentar")
{
blankscreen(); commentlines(12); fileclose(); setmenu(m_speicher); setscreen(s_speicher_lar,TRUE);
}
ITEM( 9 ,"Druck") {printscreen();}
ITEM( 10 ,"Zurück"){setscreen(s_main,TRUE);setmenu( m_main );}
ITEM( 20 ,"Ende") {exit();}
}
// **************************************
// *** Menue fuer IBS Powermanagement ***
// **************************************
MENU m_main_pm()
{
INIT
{
setmenutitle("Powermanagement");
}
ITEM(1,"IDENT") { setscreen(s_ibs_ident,TRUE); }
ITEM(2,"PM Feld 1") { setscreen(s_pm_feld1,TRUE); }
ITEM(3,"PM Feld 2") { setscreen(s_pm_feld2,TRUE); }
ITEM(4,"PM Feld 3") { setscreen(s_pm_feld3,TRUE); }
ITEM(5,"B Tausch")
{
INPAapiJob(sgbd,"STEUERN_BATTERIETAUSCH_REGISTRIEREN","","");
INPAapiResultText(vartext, "JOB_STATUS", 1,"");
if (vartext == "OKAY") { messagebox("Batterietausch B_fabttreg",vartext); }
else { messagebox("STEUERN_BATTERIETAUSCH_REGISTRIEREN",vartext); stop(); }
}
ITEM(6,"Reset")
{
INPAapiJob(sgbd,"STEUERN_PM_HISTOGRAM_RESET","","");
INPAapiResultText(vartext, "JOB_STATUS", 1,"");
if (vartext == "OKAY") { messagebox("PM_HISTOGRAM_RESET",vartext); }
else { messagebox("STEUERN_PM_HISTOGRAM_RESET",vartext); stop(); }
}
ITEM(7,"Start")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_PM_MESSEMODE","","");
INPAapiResultText(vartext, "JOB_STATUS", 1,"");
if (vartext == "OKAY") { messagebox("Start PM_MESSEMODE",vartext); }
else { messagebox("START_SYSTEMCHECK_PM_MESSEMODE",vartext); stop(); }
}
ITEM(8,"Stop")
{
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_PM_MESSEMODE","","");
INPAapiResultText(vartext, "JOB_STATUS", 1,"");
if (vartext == "OKAY") { messagebox("Stop PM_MESSEMODE",vartext); }
else { messagebox("Stop PM_MESSEMODE",vartext); stop(); }
}
ITEM(10,"Zurück")
{
blankscreen();
setscreen(s_status,TRUE);
setmenu(m_status);
}
ITEM(20 ,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ********************************
// *** Menue fuer EWS4-Abgleich ***
// ********************************
// Alt! darf fuer Programmstaende, welche CP16510 unterstuetzen, nicht mehr verwendet werden.
// Mit den neuen Programmständen muss dieser Code entfernt werden!
MENU m_ews_alt()
{
INIT { setmenutitle("EWS4-Startwertabgleich"); }
ITEM(1,"Status") { ews_para = 0; setscreen(s_ews_stell_alt, TRUE); }
ITEM(2,"Abgleich") { ews_para = 1; setscreen(s_ews_stell_alt, TRUE); }
ITEM(10,"Zurück") { blankscreen(); setscreen(s_main,TRUE); setmenu(m_main); }
}
// Neuer Code
MENU m_ews() {
INIT { setmenutitle("EWS4-Startwertabgleich"); }
ITEM( 1 , "Status") { viewclose(); setscreen(s_status_ews_dme2,TRUE); }
ITEM( 2 , "Abgleich") { viewclose(); setscreen(s_secretkey_dme2,TRUE); }
ITEM(10,"Zurück") { blankscreen(); setscreen(s_main,TRUE); setmenu(m_main); }
}
// *******************************
// *** Menue fuer EWS-Abgleich ***
// *******************************
MENU m_sleep()
{
INIT { setmenutitle("SLEEP_MODE / RESET"); }
ITEM(1,"DME")
{
INPAapiJob(sgbd,"SLEEP_MODE","","");
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("SLEEP MODE","Ich mag noch nicht! Du hast etwas vergessen");
stop();
}
}
ITEM(5,"ALL") { INPAapiJob(sgbd,"SLEEP_MODE_FUNKTIONAL","ALL",""); }
ITEM(8,"DME Reset") { INPAapiJob(sgbd,"STEUERGERAETE_RESET","",""); }
ITEM(10,"Zurück") { blankscreen(); setscreen(s_main,TRUE); setmenu(m_main); }
}
// ***********************
// *** Speicher-Screen ***
// ***********************
SCREEN s_speicher()
{
ftextout(dme_text + " Speicher lesen",1,5,1,0);
textout("< F1 > Speicherzellen auslesen" , 4, 5);
textout("< F7 > SP->Datei" ,16, 5);
textout("< F8 > Kommentar" ,18, 5);
textout("< F9 > Bildschirmdruck" ,20, 5);
textout("< F10> Zurück" ,22, 5);
textout("< Shift > + < F10> INPA beenden" ,22,45);
stop();
}
// *******************************
// *** ROM-Speicher_Screen ***
// *******************************
SCREEN s_speicher_lar()
{
inttostring(anzahl,vartext);
ftextout(dme_text + " Speicher lesen",1,5,1,0);
INPAapiJob(sgbd,"SPEICHER_LESEN_ASCII","LAR;0x"+adresse+";"+vartext,"");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(varJobState,"JOB_STATUS",1,"");
LINE("","")
{
clearrect(5,20,4,10);
ftextout("Startadresse",1,0,0,0);
ftextout(":",1,18,0,1);
ftextout(adresse,1,20,0,1);
ftextout("Anzahl Byte",3,0,0,0);
ftextout(":",3,18,0,1);
ftextout(vartext,3,20,0,1);
ftextout("Daten",5,0,0,0);
ftextout(":",5,18,0,1);
// Datenausgabe
if(varJobState != "OKAY") { ftextout(varJobState,5,20,0,1); stop();}
else
{
INPAapiResultBinary("DATEN",1);
hexdump(adresse,anzahl,5,20);
INPAapiResultText(vartext1,"DATEN_ASCII",1,"");
val1 = 0;
val2 = 5;
i_temp = anzahl;
// Pakete von 16 abspalten
while( i_temp > 16 )
{
midstr(vartext2,vartext1,val1,16);
textout(vartext2,val2,65);
val1 = val1 + 16;
val2 = val2 + 1;
i_temp = i_temp - 16;
}
midstr(vartext2,vartext1,val1,i_temp);
textout(vartext2,val2,65);
}
}
}
// **************************
// *** UDS-Service testen ***
// **************************
SCREEN s_uds_test()
{
ftextout(dme_text + " UDS-Service",1,5,1,0);
textout("< F1 > UDS-Service Auftragstelegramm" , 4, 5);
textout("< F7 > UDS->Datei" ,16, 5);
textout("< F8 > Kommentar" ,18, 5);
textout("< F9 > Bildschirmdruck" ,20, 5);
textout("< F10> Zurück" ,22, 5);
textout("< Shift > + < F10> INPA beenden" ,22,45);
stop();
}
// ****************************
// *** UDS-Service ausgeben ***
// ****************************
SCREEN s_uds_lesen()
{
ftextout(dme_text + " UDS-Service",1,5,1,0);
INPAapiJob(sgbd,"_STATUS_UDS_SERVICE",uds_service,"");
INPAapiResultText(varJobState,"JOB_STATUS",1,"");
LINE("","")
{
// Datenausgabe
ftextout("Auftragstelegramm:",5,10,0,1);
textout(uds_service,6,10);
INPAapiResultText(vartext1,"ANTWORTTELEGRAMM",1,"");
val1 = 0;
val2 = 9;
ftextout("Antworttelegramm:",8,10,0,1);
i_temp = anzahl;
// Pakete von 66 abspalten
while( i_temp > 66 )
{
textout(blank,val2,10);
midstr(vartext2,vartext1,val1,66);
textout(vartext2,val2,10);
val1 = val1 + 66;
val2 = val2 + 1;
i_temp = i_temp - 66;
}
textout(blank,val2,10);
midstr(vartext2,vartext1,val1,i_temp);
textout(vartext2,val2,10);
// Ausgabe im Fehlerfall
if(varJobState != "OKAY")
{
val2 = val2 - 2;
ftextout(varJobState,val2,10,0,1);
}
}
}
// ***********************************
// *** Menü Adaptionswerte löschen ***
// ***********************************
MENU m_ada_loe()
{
INIT { setmenutitle("Adaptionswerte selektiv löschen");}
ITEM(1,"Adaption 1") {setscreen(s_ada_loe_1,TRUE); setmenu(m_ada_loe_1);}
// ITEM(2,"Adaption 2") {setscreen(s_ada_loe_2,TRUE); setmenu(m_ada_loe_2);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_main,TRUE); setmenu(m_main);}
ITEM(20 ,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ***********************************
// *** Menü Adaptionswerte löschen ***
// ***********************************
MENU m_ada_loe_1()
{
INIT { setmenutitle("Adaptionswerte selektiv löschen 1");}
// ITEM(1,"LLABG") {adaption_loesch( 1);} // LLABG keine Aussage mögl., ML 071112.
// ITEM(2,"Klopfen") {adaption_loesch( 2);} // Klopfen keine Aussage mögl., ML 071112.
ITEM(3,"L-Sonden") {adaption_loesch( 3);} // L-Sonden OK, ML 071112.
// ITEM(4,"TEV") {adaption_loesch( 4);}
// ITEM(5,"Saugrohr") {adaption_loesch( 5);} // Saugrohr keine Aussage mögl., ML 071112.
ITEM(6,"DK") {adaption_loesch( 6);} // DK OK, ML 071112.
// ITEM(7,"L-Regelung") {adaption_loesch( 7);} // L-Regelung keine Aussage mögl., ML 071112.
// ITEM(8,"AGR") {adaption_loesch( 8);} // AGR keine Aussage mögl., ML 071112.
// ITEM(9,"Last") {adaption_loesch( 9);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_ada_loe,TRUE); setmenu(m_ada_loe);}
// ITEM(11,"NOx") {adaption_loesch(10);} // NOx keine Aussage mögl., ML 071112.
// ITEM(12,"SA") {adaption_loesch(11);}
// ITEM(13,"MSV") {adaption_loesch(12);}
// ITEM(14,"Batterie") {adaption_loesch(13);} // STEUERN_BATTERIETAUSCH_REGISTRIEREN Job fehlt in SGBD.
// ITEM(15,"Oktan") {adaption_loesch(14);} // Oktan keine Aussage mögl., ML 071112.
ITEM(16,"Varianten") {adaption_loesch(15);} // Varianten OK (soweit gesehen fuer LV_VAR_ECRAS und LV_VAR_STST, ML 071112.
// ITEM(17,"VANOS") {adaption_loesch(17);}
// ITEM(18,"Segment") {adaption_loesch(18);}
// ITEM(19,"Verbrennung") {adaption_loesch(19);}
ITEM(20 ,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ***********************************
// *** Menü Adaptionswerte löschen ***
// ***********************************
MENU m_ada_loe_2()
{
INIT { setmenutitle("Adaptionswerte selektiv löschen 2");}
ITEM(1,"BAL-EOL-DC") {adaption_loesch(20);}
ITEM(2,"BAL-ER-LAM") {adaption_loesch(21);}
ITEM(3,"Phase-1") {adaption_loesch(22);}
ITEM(4,"Phase-2") {adaption_loesch(23);}
ITEM(5,"Energie") {adaption_loesch(24);}
ITEM(6,"Alle") {adaption_loesch( 0);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_ada_loe,TRUE); setmenu(m_ada_loe);}
ITEM(20 ,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// **********************
// *** Identifikation ***
// **********************
MENU m_ident() {
INIT {setmenutitle("Identifikations-Menue"); }
ITEM (1,"Datei") {setmenu(m_ident); setscreen(s_ident,TRUE); OutputIDENT2File(0); }
ITEM ( 8,"Kommentar" ) {
blankscreen(); commentlines(0); fileclose(); setmenu(m_ident); setscreen(s_ident,TRUE);
}
ITEM ( 9,"Drucken" ) { printscreen();}
ITEM (10,"Zurück") {blankscreen(); setscreen(s_main,TRUE); setmenu(m_main);}
ITEM (20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ***********
// *** AIF ***
// ***********
MENU m_aif()
{
string s1;
INIT{setmenutitle("AnwenderInfoFelder-Menue"); }
ITEM( 1,"aktuell") {taste= 0; setscreen(s_aif,TRUE);}
ITEM( 2,"Werk") {taste= 1; setscreen(s_aif,TRUE);}
ITEM( 9,"Drucken") {printscreen();}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_main,TRUE); setmenu(m_main);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ********************************
// *** Fehlerspeicher-Hauptmenü ***
// ********************************
MENU m_fehlersp_main()
{
INIT {setmenutitle( SG_Verbund_text + " Fehlerspeicher Hauptmenü" );}
ITEM( 1,"Fehlersp.") {setscreen(s_fehlersp,TRUE); setmenu(m_fehlersp);}
ITEM( 2,"Infosp.") {setscreen(s_infosp,TRUE); setmenu(m_infosp);}
ITEM(10,"Zurück") {userboxclose(0); viewclose(); setscreen(s_main,TRUE); setmenu(m_main);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ***************************
// *** Fehlerspeicher-Menü ***
// ***************************
MENU m_fehlersp()
{
int errorcode;
INIT {
if (dme_r != dme_l) {
setitem(1, "Kurz Master", TRUE);
setitem(2, "Kurz Slave", TRUE);
setitem(5, "Löschen M/S", TRUE);
setitem(6, "FS->Datei M", TRUE);
setitem(7, "FS->Datei S", TRUE);
}
else {
setitem(1, "Kurz", TRUE);
setitem(2, "", FALSE);
setitem(5, "Löschen", TRUE);
setitem(6, "FS->Datei", TRUE);
setitem(7, "", FALSE);
}
setmenutitle( dme_text + " Fehlerspeicher Ausgaben" );
}
ITEM( 1,"@" ) { sgbd = dme_r; s_menue = "detail"; setscreen(s_fs_kurz,TRUE); }
ITEM( 2,"@" ) { sgbd = dme_l; s_menue = "detail"; setscreen(s_fs_kurz,TRUE); }
// ITEM( 2,"Detail" ) { s_menue = "detail"; setscreen(s_fs_detail,TRUE); }
// ITEM( 3,"Freeze Frame") { s_menue = "freeze"; setscreen(s_fs_lang,TRUE); }
// ITEM( 4,"Hex-Dump" ) { setscreen(s_fs_hex,TRUE); }
ITEM( 5,"Löschen" ) {
setscreen(s_fs_loesch,TRUE);
setscreen(s_fs_loesch, TRUE);;
}
ITEM( 6,"FS->Datei R") {
stop();
if (dme_r != dme_l) {
sgbd = dme_r;
dme_text = dme_text_r;
txtPfad = txtPfad_r;
OutputError2File(1);
delay(1000);
sgbd = currentSGBD;
if (currentSGBD == dme_r) {
dme_text = dme_text_r;
txtPfad = txtPfad_r;
}
else if (currentSGBD == dme_l) {
dme_text = dme_text_l;
txtPfad = txtPfad_l;
}
setmenu(m_fehlersp);
setscreen(s_fehlersp,TRUE);
}
else {
OutputError2File(1);
delay(2000);
setmenu(m_fehlersp);
setscreen(s_fehlersp,TRUE);
}
}
ITEM( 7,"FS->Datei L") {
sgbd = dme_l;
txtPfad = txtPfad_l;
dme_text = dme_text_l;
OutputError2File(1);
delay(1000);
sgbd = currentSGBD;
if (currentSGBD == dme_r) {
dme_text = dme_text_r;
txtPfad = txtPfad_r;
}
else if (currentSGBD == dme_l) {
dme_text = dme_text_l;
txtPfad = txtPfad_l;
}
setmenu(m_fehlersp);
setscreen(s_fehlersp,TRUE);
}
// ITEM( 8,"Kommentar" ) { blankscreen(); commentlines(1);fileclose(); setmenu(m_fehlersp); setscreen(s_fehlersp_main,TRUE); }
// ITEM( 8,"NadelDrucker")
// {
// userboxclose(0);
// viewclose();
// userboxopen(0,8,35,5,50,"Fehlerspeicher drucken","");
// userboxftextout(0,"Der Fehlerspeicher wird gelesen! ... bitte warten",1,3,0,0);
// OutputError2Filetxt(1,"fsdatei.txt");
// viewopen("fsdatei.txt","Fehlerspeicher drucken");
// printfile(errorcode, "fsdatei.txt", "", "",TRUE);
// userboxclose(0);
// viewclose();
// setmenu(m_fehlersp); setscreen(s_fs_kurz,TRUE);
// }
// ITEM( 9,"Drucken" ) { printscreen();}
ITEM(10,"Zurück" ) {
sgbd = currentSGBD;
if (currentSGBD == dme_r) {
dme_text = dme_text_r;
txtPfad = txtPfad_r;
}
else if (currentSGBD == dme_l) {
dme_text = dme_text_l;
txtPfad = txtPfad_l;
}
userboxclose(0);
viewclose();
setscreen(s_fehlersp_main,TRUE);
setmenu(m_fehlersp_main);
}
ITEM(20,"ENDE" ) { userboxclose(0); viewclose(); exit();}
}
// *************************
// *** Infospeicher-Menü ***
// *************************
MENU m_infosp()
{
int errorcode;
INIT {setmenutitle( dme_text + " Infospeicher Ausgaben" );
if (dme_r != dme_l) {
setitem(1, "Kurz Master", TRUE);
setitem(2, "Kurz Slave", TRUE);
setitem(5, "Löschen M/S", TRUE);
}
else {
setitem(1, "Kurz", TRUE);
setitem(2, "", FALSE);
setitem(5, "Löschen", TRUE);
}
}
ITEM( 1,"@" ) { sgbd = dme_r; s_menue = "detail"; setscreen(s_is_kurz,TRUE); }
ITEM( 2,"@" ) { sgbd = dme_l; s_menue = "detail"; setscreen(s_is_kurz,TRUE); }
// ITEM( 2,"Detail" ) { s_menue = "detail"; setscreen(s_is_detail,TRUE); }
// ITEM( 3,"Freeze Frame") { s_menue = "freeze"; setscreen(s_is_lang,TRUE); }
// ITEM( 4,"Hex-Dump" ) { setscreen(s_is_hex,TRUE); }
ITEM( 5,"" ) { setscreen(s_is_loesch,TRUE); }
// ITEM( 6,"FS->Datei" ) { stop(); OutputError2File(2); setmenu(m_infosp); setscreen(s_infosp,TRUE); }
// ITEM( 7,"Kommentar" ) { blankscreen(); commentlines(2);fileclose(); setmenu(m_infosp); setscreen(s_infosp,TRUE); }
// ITEM( 8,"NadelDrucker")
// {
// userboxclose(0);
// viewclose();
// userboxopen(0,8,35,5,50,"Infospeicher drucken","");
// userboxftextout(0,"Der Infospeicher wird gelesen! ... bitte warten",1,3,0,0);
// OutputError2Filetxt(2,"isdatei.txt");
// viewopen("isdatei.txt","Infospeicher drucken");
// printfile(errorcode, "isdatei.txt", "", "",TRUE);
// userboxclose(0);
// viewclose();
// setmenu(m_infosp); setscreen(s_fs_kurz,TRUE);
// }
// ITEM( 9,"Drucken" ) { printscreen();}
ITEM(10,"Zurück" ) { userboxclose(0); viewclose(); setscreen(s_fehlersp_main,TRUE); setmenu(m_fehlersp_main);}
ITEM(20,"ENDE" ) { userboxclose(0); viewclose(); exit();}
}
// **********************
// *** OBD-Lesen-Menü ***
// **********************
MENU m_obd()
{
INIT {setmenutitle( dme_text + " OBD-Status ausgeben" );}
ITEM( 1,"Mode 1") {setscreen(s_mode_1,TRUE); }
// ITEM( 2,"Mode 2") {setscreen(s_mode_2,TRUE); }
ITEM( 3,"Mode 3") {setscreen(s_mode_3,TRUE); }
// ITEM( 4,"Mode 4") {setscreen(s_mode_4,TRUE); }
// ITEM( 5,"Mode 5") {setscreen(s_mode_5,TRUE); }
// ITEM( 6,"Mode 6") {setscreen(s_mode_6,TRUE); }
ITEM( 7,"Mode 7") {setscreen(s_mode_7,TRUE); }
ITEM( 9,"Mode 9") {setscreen(s_mode_9,TRUE); setmenu(m_mode_9); }
ITEM(10,"Zurück") {userboxclose(0); viewclose(); setscreen(s_main,TRUE); setmenu(m_main);}
ITEM(20,"ENDE" ) {userboxclose(0); viewclose(); exit();}
}
// ****************************
// *** RBM-Modes-Lesen-Menü ***
// ****************************
MENU m_mode_9()
{
INIT {setmenutitle( dme_text + " OBD-Status ausgeben" );}
ITEM( 1,"RBMMODE9") {setscreen(s_rbmmode9,TRUE); taste = 1;}
ITEM( 2,"RBMMS1") {setscreen(s_rbmms1,TRUE); taste = 2;}
ITEM( 3,"RBMMS2") {setscreen(s_rbmms2,TRUE); taste = 3;}
ITEM( 7,"RBM->Datei")
{
if (taste == 1) {setmenu(m_mode_9); setscreen(s_rbmmode9,TRUE); OutputRBM2File(1);}
if (taste == 2) {setmenu(m_mode_9); setscreen(s_rbmms1,TRUE); OutputRBM2File(2);}
if (taste == 3) {setmenu(m_mode_9); setscreen(s_rbmms2,TRUE); OutputRBM2File(3);}
}
ITEM( 8 ,"Kommentar")
{
if (taste == 1) {blankscreen(); commentlines(4); fileclose(); setmenu(m_mode_9); setscreen(s_rbmmode9,TRUE);}
if (taste == 2) {blankscreen(); commentlines(5); fileclose(); setmenu(m_mode_9); setscreen(s_rbmms1,TRUE);}
if (taste == 3) {blankscreen(); commentlines(6); fileclose(); setmenu(m_mode_9); setscreen(s_rbmms2,TRUE);}
}
ITEM(10,"Zurück") {userboxclose(0); viewclose(); setscreen(s_obd,TRUE); setmenu(m_obd);}
ITEM(20,"ENDE" ) {userboxclose(0); viewclose(); exit();}
}
// *********************
// *** UDS-Test-Menü ***
// *********************
MENU m_uds_test()
{
INIT {setmenutitle( dme_text + " UDS-Service" );}
ITEM( 1 ,"Test")
{
inputtext(uds_service, "UDS-Service-Test","Auftragstelegramm (Eingabe wie bei WinDS2; Trennzeichen = Semikolon;) z.B. 22,40,0A");
if (uds_service != "")
{
setscreen(s_uds_lesen,TRUE);
}
}
ITEM( 7,"UDS->Datei")
{
setmenu(m_uds_test); setscreen(s_uds_lesen,TRUE); OutputUDS2File();
}
ITEM( 8 ,"Kommentar")
{
blankscreen(); commentlines(13); fileclose(); setmenu(m_uds_test); setscreen(s_uds_lesen,TRUE);
}
ITEM( 9 ,"Druck" ) {printscreen();}
ITEM( 10 ,"Zurück") {setscreen(s_main,TRUE);setmenu( m_main );}
ITEM( 20 ,"Ende" ) {exit();}
}
// *********************************
// *** Menü für Systemdiagnosen ***
// *********************************
MENU m_system()
{
INIT{setmenutitle("Systemdiagnose");}
// ITEM( 1,"BA") {blankscreen(); setscreen(s_system_ba,TRUE); setmenu(m_system_ba); }
ITEM( 2,"EV") {blankscreen(); setscreen(s_systemtest_ev_ausbl,TRUE); setmenu(m_systemtest_ev_ausbl); }
// ITEM( 4,"LL") {blankscreen(); setscreen(s_system_llerh,TRUE); setmenu(m_system_llerh); }
// ITEM( 5,"TEV") {blankscreen(); setscreen(s_systemtest_tev,TRUE); setmenu(m_systemtest_tev); }
// ITEM( 6,"LLABG") {blankscreen(); setscreen(s_llabgl,TRUE); setmenu(m_llabg); }
// ITEM( 7,"DMTL") {blankscreen(); setscreen(s_systemtest_dmtl,TRUE); setmenu(m_systemtest_dmtl); }
ITEM( 8,"GLF") {blankscreen(); setscreen(s_systemtest_glf,TRUE); setmenu(m_systemtest_glf); }
// ITEM( 9,"ODR") {blankscreen(); setscreen(s_systemtest_odr,TRUE); setmenu(m_systemtest_odr); }
ITEM(10,"Zurück") {blankscreen(); setscreen(s_main,TRUE); setmenu(m_main);}
// ITEM(11,"GEN") {blankscreen(); setscreen(s_systemtest_gen,TRUE); setmenu(m_systemtest_gen); }
// ITEM(12,"IBS") {blankscreen(); setscreen(s_systemtest_ibs,TRUE); setmenu(m_systemtest_ibs); }
// ITEM(13,"DES") {blankscreen(); setscreen(s_systemtest_des,TRUE); setmenu(m_systemtest_des); } // Jobs in Doku noch nicht enthalten.
ITEM(14,"IMA") {blankscreen(); setscreen(s_systemtest_ima,TRUE); setmenu(m_systemtest_ima); }
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ***************************************
// *** Menü Systemdiagnose Betriebsart ***
// ***************************************
MENU m_system_ba()
{
string s, s1;
int i;
INIT
{
setmenutitle("Systemdiagnose Betriebsartenumschaltung");
}
ITEM(1,"Homogen")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"DATEN_REFERENZ_LESEN","","");
INPAapiResultText(s1,"DATEN_REF_PROGRAMM_STAND",1,"");
midstr(s,s1,1,1);
stringtoint(s,i);
if (i >= 4) {INPAapiJob(sgbd,"STEUERN_BETRIEBSART","1","");}
else {INPAapiJob(sgbd,"_STEUERN_BETRIEBSART_ALT","1","");}
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_system_ba,TRUE);
}
else messagebox("START Systemtest Betriebsart Homogen",s1);
}
ITEM(2,"Hom-Sch")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"DATEN_REFERENZ_LESEN","","");
INPAapiResultText(s1,"DATEN_REF_PROGRAMM_STAND",1,"");
midstr(s,s1,1,1);
stringtoint(s,i);
if (i >= 4) {INPAapiJob(sgbd,"STEUERN_BETRIEBSART","1","");}
else {INPAapiJob(sgbd,"_STEUERN_BETRIEBSART_ALT","2","");}
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_system_ba,TRUE);
}
else messagebox("START Systemtest Betriebsart Homogen-Schicht",s1);
}
ITEM(3,"Schicht")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"DATEN_REFERENZ_LESEN","","");
INPAapiResultText(s1,"DATEN_REF_PROGRAMM_STAND",1,"");
midstr(s,s1,1,1);
stringtoint(s,i);
if (i >= 4) {INPAapiJob(sgbd,"STEUERN_BETRIEBSART","1","");}
else {INPAapiJob(sgbd,"_STEUERN_BETRIEBSART_ALT","3","");}
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_system_ba,TRUE);
}
else messagebox("START Systemtest Betriebsart Schicht",s1);
}
ITEM(4,"Hom-Lam")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"DATEN_REFERENZ_LESEN","","");
INPAapiResultText(s1,"DATEN_REF_PROGRAMM_STAND",1,"");
midstr(s,s1,1,1);
stringtoint(s,i);
if (i >= 4) {INPAapiJob(sgbd,"STEUERN_BETRIEBSART","1","");}
else {INPAapiJob(sgbd,"_STEUERN_BETRIEBSART_ALT","4","");}
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_system_ba,TRUE);
}
else messagebox("START Systemtest Betriebsart Homogen & Lambda = 1",s1);
}
ITEM(5,"STOP")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"STEUERN_ENDE_BETRIEBSART","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_system_ba,TRUE);
}
else messagebox("STOP Systemtest Betriebsartvorgabe",s1);
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menue für EV-Ausblenden ***
// *******************************
MENU m_systemtest_ev_ausbl()
{
string s1;
INIT
{
setmenutitle("EV-Ausblenden");
setscreen(s_systemtest_ev_ausbl,TRUE);
if (zylinderZahl == 8) {
setitem(7, "EV 7", TRUE);
setitem(8, "EV 8", TRUE);
}
else {
setitem(7, "", FALSE);
setitem(8, "", FALSE);
}
}
ITEM(1,"EV 1")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","1","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(2,"EV 2")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","2","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(3,"EV 3")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","3","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(4,"EV 4")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","4","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(5,"EV 5")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","5","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(6,"EV 6")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","6","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(7,"")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","7","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(8,"")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","8","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(9,"DME")
{
INPAapiJob(sgbd,"START_SYSTEMCHECK_EVAUSBL","0","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
textout("Kontrolle zurück an DME",15,15);
delay(1000) ;
textout(blank, 15,14) ;
if (s1 != "OKAY") { messagebox("SYSTEMCHECK_EVAUSBL",s1); stop(); }
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// ************************************
// *** Menü Systemdiagnose L-Sonden ***
// ************************************
MENU m_system_l_sonde()
{
string s1;
INIT
{
setmenutitle("Systemdiagnose L-Sonde");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"START_SYSTEMCHECK_L_SONDE","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_system_l_sonde,TRUE);
}
else messagebox("START Systemtest L-Sonden",s1);
}
ITEM(2,"STOP")
{
userboxclose(0);
viewclose();
blankscreen();
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_L_SONDE","","");
setscreen(s_system_l_sonde,FALSE);
}
ITEM(4,"Messwerte")
{
setscreen(s_system_l_sonde,TRUE);
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// ****************************
// *** Menü für LL-Erhöhung ***
// ****************************
MENU m_system_llerh()
{
int ll_help;
INIT
{
setmenutitle("EOL - LeerLauf");
taste = 0;
}
ITEM(1,"+10")
{
llerh(10);
setscreen(s_system_llerh,TRUE);
taste = 1;
}
ITEM(2,"-10")
{
llerh(-10);
setscreen(s_system_llerh,TRUE);
taste = 1;
}
ITEM(3,"+100")
{
llerh(100);
setscreen(s_system_llerh,TRUE);
taste = 1;
}
ITEM(4,"-100")
{
llerh(-100);
setscreen(s_system_llerh,TRUE);
taste = 1;
}
ITEM(6,"Auswahl")
{
inputstate = 2;
while (inputstate != 0)
{
ll_help = ll_wert;
inputint(ll_help,"Vorgabe LL-Sollwert","Drehzahl in den Grenzen von 0 < N < 2000",0,1999);
getinputstate(inputstate);
}
if (inputstate == 0)
{
ll_help = ll_help - ll_wert;
llerh(ll_help);
blankscreen();
setscreen(s_system_llerh,TRUE);
taste = 1;
}
}
ITEM(9,"STOP")
{
setscreen(s_system_llerh_stop,TRUE);
}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_system,TRUE); setmenu(m_system);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menü Systemdiagnose TEV ***
// *******************************
MENU m_systemtest_tev()
{
string s1;
INIT
{
setmenutitle("Systemtest TEV");
}
ITEM(1,"Start")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"START_SYSTEMCHECK_TEV","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("START SYSTEMCHECK TEV",s1); stop(); }
else setscreen(s_systemtest_tev,TRUE);
}
ITEM(2,"Stop")
{
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_TEV","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") {messagebox("STOP SYSTEMCHECK TEV",s1); stop();}
else setscreen(s_systemtest_tev,TRUE);
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *****************************
// *** Menue für LL-Abgleich ***
// *****************************
MENU m_llabg()
{
INIT
{
setmenutitle("LL-Abgleich");
taste = 0;
setscreen(s_llabgl,TRUE);
}
ITEM(1,"Klima+Fahrst")
{
inputint(ll_acc_dri,"Leerlauf Abgleich mit Klimaanlage und Fahrstufe","Bereich von -250<offset<250 Schrittweite 2",-250,250);
getinputstate(inputstate);
taste = 1;
setscreen(s_llabgl,TRUE);
}
ITEM(2,"LL-Fahrstufe")
{
inputint(ll_dri,"Leerlauf Abgleich mit Fahrstufe","Bereich von -250<offset<250 Schrittweite 2",-250,250);
getinputstate(inputstate);
taste = 1;
setscreen(s_llabgl,TRUE);
}
ITEM(3,"LL")
{
inputint(ll_ofs,"Leerlauf Abgleich","Bereich von -250<offset<250 Schrittweite 2",-250,250);
getinputstate(inputstate);
taste = 1;
setscreen(s_llabgl,TRUE);
}
ITEM(4,"LL-Klima")
{
inputint(ll_acc,"Leerlauf Abgleich mit Klimaanlage","Bereich von -250<offset<250 Schrittweite 2",-250,250);
getinputstate(inputstate);
taste = 1;
setscreen(s_llabgl,TRUE);
}
ITEM(5,"LL-Batterie")
{
inputint(ll_vb,"Leerlauf Abgleich Batteriezustand","Bereich von -250<offset<250 Schrittweite 2",-250,250);
getinputstate(inputstate);
taste = 1;
setscreen(s_llabgl,TRUE);
}
ITEM(8,"Status")
{
taste = 0;
setscreen(s_llabgl,TRUE);
}
ITEM(9,"Prog")
{
taste = 2;
setscreen(s_llabgl,TRUE);
}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_system,TRUE); setmenu(m_system);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ********************************
// *** Menü Systemdiagnose DMTL ***
// ********************************
MENU m_systemtest_dmtl()
{
string s1;
INIT
{
setmenutitle("Systemdiagnose DMTL");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"START_SYSTEMCHECK_DMTL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_dmtl,TRUE); durchlauf=0;
}
else
{
messagebox("START_SYSTEMCHECK_DMTL",s1);
stop();
}
}
ITEM(2,"STOP")
{
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_DMTL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") messagebox("START_SYSTEMCHECK_DMTL",s1);
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menü Systemdiagnose GLF ***
// *******************************
MENU m_systemtest_glf()
{
string s1;
INIT
{
setmenutitle("Systemdiagnose GLF");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"START_SYSTEMCHECK_GLF","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_glf,TRUE); durchlauf=0;
}
else
{
messagebox("START_SYSTEMCHECK_GLF",s1);
stop();
}
}
ITEM(2,"STOP")
{
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_GLF","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_glf,TRUE); durchlauf=0;
}
else
{
messagebox("STOP_SYSTEMCHECK_GLF",s1);
stop();
}
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menü Systemdiagnose ODR ***
// *******************************
MENU m_systemtest_odr()
{
string s1;
INIT
{
setmenutitle("Systemdiagnose ODR");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"START_SYSTEMCHECK_ODR","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_odr,TRUE); durchlauf=0;
}
else
{
messagebox("START_SYSTEMCHECK_ODR",s1);
stop();
}
}
ITEM(2,"STOP")
{
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_ODR","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_odr,TRUE); durchlauf=0;
}
else
{
messagebox("STOP_SYSTEMCHECK_ODR",s1);
stop();
}
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menü Systemdiagnose GEN ***
// *******************************
MENU m_systemtest_gen()
{
string s1;
INIT
{
setmenutitle("Systemdiagnose GEN");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"START_SYSTEMCHECK_GEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_gen,TRUE); durchlauf=0;
}
else
{
messagebox("START_SYSTEMCHECK_GEN",s1);
stop();
}
}
ITEM(2,"STOP")
{
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_GEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_gen,TRUE); durchlauf=0;
}
else
{
messagebox("STOP_SYSTEMCHECK_GEN",s1);
stop();
}
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// ********************************************
// *** Menü Systemdiagnose Ruhestrommessung ***
// ********************************************
MENU m_systemtest_ibs()
{
string s1, s2, max_i, msb, mz, timo;
bool b1;
real r1;
int i1, i2, l1, p1, t1, status;
INIT
{
setmenutitle("Systemdiagnose Ruhestrommessung");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
max_i = "0.08";
msb = "0.05";
mz = "0.05";
timo = "30.0";
s1 = max_i + ";" + msb + ";" + mz + ";" + timo;
inputtext(s1, "Parametereingabe Ruhestrommessung","Trennzeichen beachten (Dezimaltrennzeichen = Punkt, Prametertrennzeichen = Semikolon) z.B.");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if (inputstate != 1)
{
i1 = 0;
i2 = 0;
strlen(l1,s1);
while (i1 <= l1)
{
midstr(s2,s1,i1,1);
if (s2 == ";")
{
i2 = i2 + 1;
if(i2 == 3)
{
p1 = i1 + 1;
i1 = l1;
}
}
i1 = i1 + 1;
}
i1 = l1 - p1;
midstr(timo,s1,p1,i1);
stringtoint(timo,t1);
INPAapiJob(sgbd,"STEUERN_RUHESTROMMESSUNG",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
INPAapiJob(sgbd,"STATUS_DIGITAL_1","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_DIGITAL_1",s1);
stop();
}
else
{
while(i1 != 0)
{
messagebox("Status Ruhestrommessung","Ruhestrommessung läuft! Klemme 15 umgehend deaktivieren!");
INPAapiJob(sgbd,"STATUS_DIGITAL_1","","");
INPAapiResultInt(i1,"STAT_KL15_EIN_WERT",1);
}
INPAapiJob(sgbd,"SLEEP_MODE_FUNKTIONAL","ALL","");
while(t1 > 0)
{
ftextout(dme_text + " Systemtest Ruhestrommessung",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest Ruhestrommessung",3,5);
textout(" < F10 > Zurück",5,5);
textout("< Shift > + < F10 > INPA beenden", 5,45);
textout("=== Status Ruhestrommessung ===",8,5);
status = 5;
inttostring(status,s1);
textout(blank,10,5);
textout(s1,10,5);
s1 = "Funktion laeuft";
textout(blank,12,5);
textout(s1,12,5);
textout("=== Status Diagnosezeit ===",14,5);
inttostring(t1,s1);
s1 = "Verbleibende Diagnosezeit: " + s1 + " s";
textout(blank,16,5);
textout(s1,16,5);
textout("Klemme 15",21,5);
b1 = 0;
digitalout(b1,22, 5," JA "," NEIN ");
text(25,5,"Ruhestrom");
r1 = 0;
analogout(r1,26, 5, 0.0, 0.300, 0.0, 0.08,"5.3");
text(26,41,"A");
delay(1000);
t1 = t1 - 1;
ftextout("Parametereingabe Ruhestrommessung",22,45,0,1);
textout("1. Parameter = Maximale Ruhestromschwelle",23,45);
textout("2. Parameter = Messtartbedingung",24,45);
textout("3. Parameter = Dauer Mittelwertmessung",25,45);
textout("4. Parameter = Timeoutzeit",26,45);
}
messagebox("Status Ruhestrommessung","Klemme 15 aktivieren!");
delay(1500);
INPAapiJob(sgbd,"STATUS_DIGITAL_1","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_DIGITAL_1",s1);
stop();
}
setscreen(s_systemtest_ibs,TRUE);
}
}
else
{
messagebox("STEUERN_RUHESTROMMESSUNG",s1);
stop();
}
}
else
{
messagebox("Status Ruhestrommessung","Ruhestrommessung erneut starten!");
}
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menü Systemdiagnose DES ***
// *******************************
MENU m_systemtest_des()
{
string s1;
INIT
{
setmenutitle("Systemdiagnose Desulfatisierung");
}
ITEM(1,"START")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"STEUERN_DESULFATISIERUNG","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_des,TRUE);
}
else
{
messagebox("STEUERN_DESULFATISIERUNG",s1);
stop();
}
}
ITEM(2,"STOP")
{
INPAapiJob(sgbd,"STEUERN_ENDE_DESULFATISIERUNG","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
setscreen(s_systemtest_des,TRUE);
}
else
{
messagebox("STEUERN_ENDE_DESULFATISIERUNG",s1);
stop();
}
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
// *******************************
// *** Menü Systemdiagnose IMA ***
// *******************************
MENU m_systemtest_ima()
{
// string s1, s_energie, s_durchfluss;
// int inputstate;
string s1, s2, s_energie, s_durchfluss;
int inputstate;
real myReal1, myReal2 ;
INIT
{
setmenutitle("Injektor-Codierung IMA");
if (zylinderZahl == 8) {
setitem(7, "Zylinder 7", TRUE);
setitem(8, "Zylinder 8", TRUE);
}
else {
setitem(7, "", FALSE);
setitem(8, "", FALSE);
}
}
ITEM(1,"Injektor 1")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 1","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_1",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_1",s1);
}
else messagebox("Zyl.1 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.1!");
}
}
ITEM(2,"Injektor 2")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 2","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_2",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_2",s1);
}
else messagebox("Zyl.2 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.2!");
}
}
ITEM(3,"Injektor 3")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 3","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_3",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_3",s1);
}
else messagebox("Zyl.3 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.3!");
}
}
ITEM(4,"Injektor 4")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 4","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_4",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_4",s1);
}
else messagebox("Zyl.4 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.4!");
}
}
ITEM(5,"Injektor 5")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 5","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_5",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_5",s1);
}
else messagebox("Zyl.5 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.5!");
}
}
ITEM(6,"Injektor 6")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 6","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_6",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_6",s1);
}
else messagebox("Zyl.6 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.6!");
}
}
ITEM(7,"Injektor 7")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 7","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_7",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_7",s1);
}
else messagebox("Zyl.7 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.7!");
}
}
ITEM(8,"Injektor 8")
{
s1="";
userboxclose(0);
viewclose();
input2text(s_energie, s_durchfluss, "Eingabe Codierdaten Injektor 8","Bitte Trennzeichen beachten (Trennzeichen ist ein Punkt)!","Energieabgleich","Durchflussabgleich");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 ) {
stringtoreal (s_energie, myReal1) ;
stringtoreal (s_durchfluss, myReal2) ;
if ( ((myReal1 >= 52.802) && (myReal1 <= 78.802)) && ((myReal2 >= 1.53) && (myReal2 <= 2.88)) ) {
s1 = s_energie + ";" + s_durchfluss;
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_8",s1,"");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY") {
setscreen(s_systemtest_ima,TRUE);
}
else messagebox("STEUERN_PROGRAMM_IMA_ZYL_8",s1);
}
else messagebox("Zyl.8 Unerlaubter Wertebereich!","Bitte beachten Sie den erlaubten Wertebereich für Zyl.8!");
}
}
ITEM(9,"Reset")
{
s1="";
userboxclose(0);
viewclose();
inputtext( s1, "Eingabe Codierdaten rücksetzen!","Wollen Sie die Injektor-Codierdaten wirklich auf Initialwerte rücksetzen? Bitte die OK- oder RETURN-Taste drücken!");
getinputstate(inputstate); // 0 = OK 1 = Abbruch
if ( inputstate != 1 )
{
s1 = "57.8;2.1;";
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_1",s1,"");
delay(1000);
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_2",s1,"");
delay(1000);
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_3",s1,"");
delay(1000);
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_4",s1,"");
delay(1000);
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_5",s1,"");
delay(1000);
INPAapiJob(sgbd,"STEUERN_PROGRAMM_IMA_ZYL_6",s1,"");
delay(1000);
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
delay(2000);
setscreen(s_systemtest_ima,TRUE);
}
else
{
messagebox("STEUERN_PROGRAMM_IMAALLE",s1);
stop();
}
}
}
ITEM(10,"Zurück")
{
userboxclose(0);
viewclose();
blankscreen();
setscreen(s_system,TRUE);
setmenu(m_system);
}
ITEM(20,"ENDE") { userboxclose(0); viewclose(); exit();}
}
//********************************
//*** Menü fuer Statusabfragen ***
//********************************
MENU m_status()
{
INIT {
setmenutitle("Status lesen");
if (EAversion == TRUE) {
setitem(17, "Überdrehzahl", TRUE);
setitem(18, "Übertemp", TRUE);
}
else {
setitem(17, "", FALSE);
setitem(18, "", FALSE);
}
}
ITEM( 1,"Digital") {setscreen(s_digital,TRUE); setmenu(m_digital); }
// ITEM( 2,"Analog") {setscreen(s_mwb,TRUE); setmenu(m_mwb); }
// ITEM( 3,"DK") {setscreen(s_llst_mdk,TRUE); }
// ITEM( 4,"VANOS") {setscreen(s_vanos_inex,TRUE); }
// ITEM( 5,"PM - IBS") {setscreen(s_main_pm,TRUE); setmenu(m_main_pm); }
// ITEM( 6,"Abgas") {setscreen(s_ad_gemisch,TRUE); }
ITEM( 7,"Laufunruhe") {setscreen(s_laufunruhe,TRUE); }
// ITEM( 8,"Auswahl") {start(); select(TRUE); }
// ITEM( 9,"Drucken") {printscreen(); }
ITEM( 10,"Zurück") {blankscreen(); setscreen( s_main ,TRUE); setmenu( m_main); }
// ITEM( 11,"Saugrohr") {setscreen(s_saugrohrmodell,TRUE); }
// ITEM( 12,"NOx-Sensor") {setscreen(s_nox_sensor,TRUE); }
// ITEM( 13,"AGR") {setscreen(s_agr_ad,TRUE); }
// ITEM( 14,"LDR") {setscreen(s_ldr_ad,TRUE); }
// ITEM( 15,"NN") {setscreen(s_nn_ad,TRUE); setmenu(m_nn_ad); }
ITEM( 17,"") {setscreen(s_ueberdreh,TRUE); setmenu(m_status); }
ITEM( 18,"") {setscreen(s_uebertemp,TRUE); setmenu(m_status); }
// ITEM( 19,"Gesamt") {start(); deselect(); }
ITEM( 20,"ENDE") {exit(); }
}
//*******************************
//*** Menü für Messwertblöcke ***
//*******************************
MENU m_mwb()
{
INIT {setmenutitle("Messwertblock lesen");}
ITEM( 1,"MWB 1") {setscreen(s_f0,TRUE);}
ITEM( 2,"SAE J1979") {setscreen(s_f1,TRUE);}
ITEM( 3,"MWB 3") {setscreen(s_f2,TRUE);}
// ITEM( 4,"ADC") {setscreen(s_messwerte_adc,TRUE);}
// ITEM( 5,"Rohwerte") {setscreen(s_rohwerte,TRUE);}
ITEM( 6,"MWB 6") {setscreen(s_f7,TRUE);}
ITEM( 7,"DDLI Block") {setscreen(s_fdyn,TRUE);}
ITEM( 8,"Auswahl") {start(); select(TRUE);} // Selektierung einschalten
ITEM( 9,"Drucken") {printscreen();}
ITEM(10,"Zurück")
{
blankscreen();
setscreen( s_status ,TRUE);
setmenu( m_status );
}
ITEM(11,"MWB Öl") {setscreen(s_f6,TRUE);}
ITEM(14,"VS Block") {setscreen( s_fkd, TRUE );}
ITEM(18,"Gesamt") {start(); deselect();} // Selektierung ausschalten
ITEM(20,"ENDE") {exit();} // Programmabbruch
}
// ***************************
// *** Menü Status digital ***
// ***************************
MENU m_digital()
{
INIT {setmenutitle("Menü Digital"); taste = 0;}
ITEM( 1 ,"Schalter") {setscreen(s_digital1,TRUE); taste = 0;}
// ITEM( 2 ,"FGR") {setscreen(s_digital2,TRUE); taste = 0;} // Entfaellt komplett.
ITEM( 3 ,"Funktionen") {setscreen(s_funktions,TRUE); taste = 3;}
ITEM( 4 ,"OBD_Status") {setscreen(s_digital_obd,TRUE); taste = 0;}
ITEM( 5 ,"Varianten") {setscreen(s_variants,TRUE); taste = 5;}
// ITEM( 8 ,"Löschen") {
// welcher Bildschirm ist eingeschaltet
// if( taste == 3 ) {
//
// INPAapiJob(sgbd,"RESET_CRU_OFF","","");
// INPAapiResultText(vartext1,"JOB_STATUS",1,"");
// if (vartext1 == "OKAY") {messagebox("RESET_CRU_OFF",vartext1); setscreen(s_funktions,TRUE);}
// else {messagebox("RESET_CRU_OFF",vartext1); stop();}
// }
// if( taste == 5 ) {setmenu( m_ecu_config_reset ); }
// }
ITEM(10 ,"Zurück") {blankscreen(); setscreen( s_status ,TRUE); setmenu( m_status );}
ITEM(20 ,"ENDE") {exit();} // Programmabbruch
}
// ****************************************
// *** Menü gelernte Varianten loeschen ***
// ****************************************
MENU m_ecu_config_reset() {
INIT { setmenutitle("Varianten löschen"); }
ITEM( 1 ,"Getriebe" ) { INPAapiJob(sgbd,"ECU_CONFIG_RESET","1;0;1;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1",""); INPAapiJob(sgbd,"ECU_CONFIG","",""); }
ITEM( 2 ,"Klima" ) { INPAapiJob(sgbd,"ECU_CONFIG_RESET","0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0",""); INPAapiJob(sgbd,"ECU_CONFIG","",""); }
ITEM( 3 ,"Lenkung" ) { INPAapiJob(sgbd,"ECU_CONFIG_RESET","0;0;0;0;0;0;0;0;0;0;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0",""); INPAapiJob(sgbd,"ECU_CONFIG","",""); }
ITEM( 4 ,"E-BOX/GLF" ) { INPAapiJob(sgbd,"ECU_CONFIG_RESET","0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0",""); INPAapiJob(sgbd,"ECU_CONFIG","",""); }
ITEM( 5 ,"ACC/ASR" ) { INPAapiJob(sgbd,"ECU_CONFIG_RESET","0;0;0;0;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;1;1;0;0;0;1;0;0;0;0;0;0;0;0;0",""); INPAapiJob(sgbd,"ECU_CONFIG","",""); }
ITEM( 9 ,"Alle" ) { INPAapiJob(sgbd,"ECU_CONFIG_RESET","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","");
INPAapiResultText( vartext1, "JOB_STATUS", 1, "" );
if( vartext1 == "OKAY") { messagebox( "ECU_CONFIG_RESET", "gelernte Varianten gelöscht" ); }
else { messagebox( "ECU_CONFIG", vartext1 ); stop(); }
INPAapiJob(sgbd,"ECU_CONFIG","","");
setscreen( s_variants, TRUE );
}
ITEM(10 ,"Zurück") { blankscreen(); setscreen( s_status ,TRUE); setmenu( m_status ); }
ITEM(20 ,"ENDE") { exit(); } // Programmabbruch
}
// ****************************
// *** Menü neuronale Netze ***
// ****************************
MENU m_nn_ad()
{
INIT {setmenutitle("Neuronale Netze");}
ITEM( 1 ,"EISY-GD") {setscreen(s_eisy_gd,TRUE); taste = 1;}
ITEM( 2 ,"EIDY-DR") {setscreen(s_eisy_dr,TRUE); taste = 2;}
ITEM( 3 ,"KRANN") {setscreen(s_krann,TRUE); taste = 3;}
ITEM( 4 ,"KLANN") {setscreen(s_klann,TRUE); taste = 4;}
// ITEM( 5 ,"EISY-AGR") {setscreen(s_eisy_agr,TRUE); taste = 5;}
ITEM( 6,"Löschen")
{
if (taste == 1) {setscreen(s_eisy_gd,TRUE); adaption_loesch(5);}
if (taste == 2) {setscreen(s_eisy_dr,TRUE); adaption_loesch(5);}
if (taste == 3) {setscreen(s_krann,TRUE); adaption_loesch(2);}
if (taste == 4) {setscreen(s_klann,TRUE); adaption_loesch(7);}
// if (taste == 5) {setscreen(s_eisy_agr,TRUE); adaption_loesch(5);}
}
ITEM( 7,"NN->Datei")
{
if (taste == 1) {setmenu(m_nn_ad); setscreen(s_eisy_gd,TRUE); OutputNN2File(1);}
if (taste == 2) {setmenu(m_nn_ad); setscreen(s_eisy_dr,TRUE); OutputNN2File(2);}
if (taste == 3) {setmenu(m_nn_ad); setscreen(s_krann,TRUE); OutputNN2File(3);}
if (taste == 4) {setmenu(m_nn_ad); setscreen(s_klann,TRUE); OutputNN2File(4);}
// if (taste == 5) {setmenu(m_nn_ad); setscreen(s_eisy_agr,TRUE); OutputNN2File(5);}
}
ITEM( 8 ,"Kommentar")
{
if (taste == 1) {blankscreen(); commentlines( 7); fileclose(); setmenu(m_nn_ad); setscreen(s_eisy_gd,TRUE);}
if (taste == 2) {blankscreen(); commentlines( 8); fileclose(); setmenu(m_nn_ad); setscreen(s_eisy_dr,TRUE);}
if (taste == 3) {blankscreen(); commentlines( 9); fileclose(); setmenu(m_nn_ad); setscreen(s_krann,TRUE);}
if (taste == 4) {blankscreen(); commentlines(10); fileclose(); setmenu(m_nn_ad); setscreen(s_klann,TRUE);}
// if (taste == 5) {blankscreen(); commentlines(11); fileclose(); setmenu(m_nn_ad); setscreen(s_eisy_agr,TRUE);}
}
ITEM(10 ,"Zurück") {blankscreen(); setscreen( s_status ,TRUE); setmenu( m_status );}
ITEM(20 ,"ENDE") {exit();} // Programmabbruch
}
// *****************************
// *** Auswal-Screen-Digital ***
// *****************************
SCREEN s_digital()
{
ftextout("Auswahl Digitalwerte",1,0,1,0);
ftextout("< F1 > Schalterpositionen" , 4, 5,0,1);
// ftextout("< F2 > FGR" , 6, 5,0,1);
ftextout("< F3 > Status der Regelungen" , 8, 5,0,1);
ftextout("< F4 > OBD Readiness Flags" ,10, 5,0,1);
ftextout("< F5 > Fahrzeug Ausstattung" ,12, 5,0,1);
// ftextout("< F8 > Status zurücksetzen" , 8,45,0,1);
ftextout("< F10> Zurück" ,22, 5,0,1);
ftextout("< Shift > + < F10> INPA beenden",22,45,0,1);
stop();
}
// *******************************
// *** Digital-Screen_Schalter ***
// *******************************
SCREEN s_digital1()
{
ftextout(dme_text + " - Schalterpositionen",0,20,1,0);
textout("===========================================================================================", 2, 0);
INPAapiJob(sgbd,"STATUS_DIGITAL_1","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("STATUS_DIGITAL_1",vartext1);
stop();
}
delay(200);
LINE("Eingang MotorStatus, Kl15, N_Mot","STAT_KL15_EIN_WERT;STAT_MOTOR_AUS_WERT")
{
text(1,1,"Klemme 15");
ergebnisDigitalAusgabe("STAT_KL15_EIN_WERT" , 2, 1," EIN "," AUS ");
text(1,30,"Motor steht");
ergebnisDigitalAusgabe("STAT_MOTOR_AUS_WERT" , 2,30," EIN "," AUS ");
}
LINE("Eingang Kupplung, BLS, BLTS","STAT_KUPPL_EIN_WERT;STAT_BLS_EIN_WERT;STAT_BTS_EIN_WERT")
{
text(1,1,"Kupplungschalter");
ergebnisDigitalAusgabe("STAT_KUPPL_EIN_WERT" , 2, 1," EIN "," AUS ");
text(1,30,"Bremslichtschalter-Kanal 1");
ergebnisDigitalAusgabe("STAT_BLS_EIN_WERT" , 2,30," EIN "," AUS ");
text(1,60,"Bremslichtschalter-Kanal 2");
ergebnisDigitalAusgabe("STAT_BTS_EIN_WERT" , 2,60," EIN "," AUS ");
}
LINE("Eingang Klimaanlage","STAT_AC_EIN_WERT")
{
text(1,1,"Eingang KlimaAnforderung");
ergebnisDigitalAusgabe("STAT_AC_EIN_WERT" , 2, 1," EIN "," AUS ");
}
}
// ***********************
// *** Digital2-Screen ***
// ***********************
SCREEN s_digital2()
{
int i1;
bool b_set, b_plus, b_minus, b_off;
ftextout(dme_text + " - Anforderungen Fahrgeschwindigkeitsregelung",0,2,1,0);
textout("===========================================================================================", 2, 0);
ftextout("Nicht bei Fahrzeugen mit BN2000 wie E65, E60, ...",4,4,0,1);
INPAapiJob(sgbd,"STATUS_FGR","","");
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("STATUS_FGR",vartext1);
stop();
}
delay(200);
LINE("Status MSW_CAN","STAT_MSW_CAN_TEXT")
{
INPAapiResultText( vartext1, "STAT_MSW_CAN_TEXT", 1, "" );
text(1,0,blank);
text(1,1,vartext1);
}
LINE("","")
{
ftextout("Statusbits FGR-Hebel",0,25,1,0);
}
LINE("Ausgabe der Statusbits","STAT_SET;STAT_OFF;STAT_PLUS;STAT_MINUS")
{
INPAapiResultInt(i1,"STAT_MSW_CAN_WERT",1);
if (i1 == 0) {b_set = 0; b_plus = 0; b_minus = 0; b_off = 0;}
if (i1 == 1) {b_set = 0; b_plus = 1; b_minus = 0; b_off = 0;}
if (i1 == 2) {b_set = 0; b_plus = 0; b_minus = 1; b_off = 0;}
if (i1 == 3) {b_set = 1; b_plus = 0; b_minus = 0; b_off = 0;}
if (i1 == 4) {b_set = 0; b_plus = 0; b_minus = 0; b_off = 1;}
text(1, 1,"Taste Set");
digitalout(b_set , 2, 1," EIN "," AUS ");
text(1,21,"Taste +");
digitalout(b_plus , 2,21," EIN "," AUS ");
text(1,41,"Taste -");
digitalout(b_minus , 2,41," EIN "," AUS ");
text(1,61,"Taste I/O");
digitalout(b_off , 2,61," EIN "," AUS ");
}
}
// *******************************
// *** Digital-FunktionsStatus ***
// *******************************
SCREEN s_funktions()
{
ftextout(dme_text + " - Status der Funktionen",0,20,1,0);
textout("===========================================================================================", 2, 0);
INPAapiJob(sgbd,"STATUS_DIGITAL_0","","");
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("STATUS_DIGITAL_0",vartext1);
stop();
}
delay(200);
LINE("Status Leerlauf, Vollast","STAT_LL_WERT;STAT_VL_WERT;STAT_DK_ABGLEICH_WERT")
{
text(0,1,"Status Leerlauf");
ergebnisDigitalAusgabe("STAT_LL_WERT" , 1, 1," EIN "," AUS ");
text(0,30,"Status Vollast");
ergebnisDigitalAusgabe("STAT_VL_WERT" , 1,30," EIN "," AUS ");
text(0,60,"DK-Neuabgleich notwendig");
ergebnisDigitalAusgabe("STAT_DK_ABGLEICH_WERT" , 1,60," EIN "," AUS ");
}
LINE("Status Kickdown, Schubabschaltung, Fahrstufe","STAT_KICKDOWN_WERT;STAT_SCHUBAB_WERT;STAT_FAHRSTUFE_WERT")
{
text(0, 1,"Kickdown erkannt");
ergebnisDigitalAusgabe("STAT_KICKDOWN_WERT" , 1, 1," EIN "," AUS ");
text(0,30,"Schubabschaltung");
ergebnisDigitalAusgabe("STAT_SCHUBAB_WERT" , 1,30," EIN "," AUS ");
text(0,60,"Fahrstufe = nicht Park/Neutral");
ergebnisDigitalAusgabe("STAT_FAHRSTUFE_WERT" , 1,60," EIN "," AUS ");
}
LINE("Lambdasonde vor Katalysator Bank 1, Lambdasonde hinter Katalysator Bank 1, Regelkreis Bank 1","STAT_LSVK1_WERT;STAT_LSHK1_WERT;STAT_LS1_REGELUNG_WERT")
{
text(0, 1,"Lambdasonde vor Kat 1");
ergebnisDigitalAusgabe("STAT_LSVK1_WERT" , 1, 1," EIN "," AUS ");
text(0,30,"Lambdasonde hinter Kat 1");
ergebnisDigitalAusgabe("STAT_LSHK1_WERT" , 1,30," EIN "," AUS ");
text(0,60,"Regelkreis 1 geschlossen");
ergebnisDigitalAusgabe("STAT_LS1_REGELUNG_WERT" , 1,60," EIN "," AUS ");
}
LINE("Lambdasonde vor Katalysator Bank 2, Lambdasonde hinter Katalysator Bank 2, Regelkreis Bank 2","STAT_LSVK2_WERT;STAT_LSHK2_WERT;STAT_LS2_REGELUNG_WERT")
{
text(0, 1,"Lambdasonde vor Kat 2");
ergebnisDigitalAusgabe("STAT_LSVK2_WERT" , 1, 1," EIN "," AUS ");
text(0,30,"Lambdasonde hinter Kat 2");
ergebnisDigitalAusgabe("STAT_LSHK2_WERT" , 1,30," EIN "," AUS ");
text(0,60,"Regelkreis 2 geschlossen");
ergebnisDigitalAusgabe("STAT_LS2_REGELUNG_WERT" , 1,60," EIN "," AUS ");
textout("",2,0);
}
// LINE("Text FGR irreversibel","")
// {
// textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",0,0);
// ftextout(dme_text + " - FGR irreversibel abgeschaltet durch",1,25,0,1);
// textout("",2,15);
// }
// LINE("Dynamik Begr 1, Dynamik Begr 2, EGAS Notlauf, Notlauf LL","STAT_DYN_LIM_1_WERT;STAT_DYN_LIM_2_WERT;STAT_EGAS_NOTLAUF_WERT;STAT_NOTLAUF_LL_WERT")
// {
// text(0, 1,"Dynamik Begr. 1");
// ergebnisDigitalAusgabe("STAT_DYN_LIM_1_WERT" , 1, 1," EIN "," AUS ");
// text(0,20,"Dynamik Begr. 2");
// ergebnisDigitalAusgabe("STAT_DYN_LIM_2_WERT" , 1,20," EIN "," AUS ");
// text(0,40,"Notlauf EGAS");
// ergebnisDigitalAusgabe("STAT_EGAS_NOTLAUF_WERT" , 1,40," JA "," NEIN ");
// text(0,60,"Notlauf LL-Steller");
// ergebnisDigitalAusgabe("STAT_NOTLAUF_LL_WERT" , 1,60," EIN "," AUS ");
// }
// LINE("Fehler MFL, Fehler Bremse, Fehler Kupplung, Notlauf DK","STAT_FEHLER_MFL_WERT;STAT_FEHLER_BREMSE_WERT;STAT_FEHLER_CLSW_WERT;STAT_NOTLAUF_DK_WERT")
// {
// text(0, 1,"Fehler MFL");
// ergebnisDigitalAusgabe("STAT_FEHLER_MFL_WERT" , 1, 1," EIN "," AUS ");
// text(0,20,"Fehler Bremse");
// ergebnisDigitalAusgabe("STAT_FEHLER_BREMSE_WERT" , 1,20," EIN "," AUS ");
// text(0,40,"Fehler Kupplungsschalter");
// ergebnisDigitalAusgabe("STAT_FEHLER_CLSW_WERT" , 1,40," EIN "," AUS ");
// text(0,60,"Notlauf DK");
// ergebnisDigitalAusgabe("STAT_NOTLAUF_DK_WERT" , 1,60," EIN "," AUS ");
// }
// LINE("Mon_LEVEL2, V plausibel, Fehler VS","STAT_MON_LEVEL2_WERT;STAT_V_PLAUSIBEL_WERT;STAT_FEHLER_VS_WERT")
// {
// text(0, 1,"Monitoring Level 2");
// ergebnisDigitalAusgabe("STAT_MON_LEVEL2_WERT" , 1, 1," EIN "," AUS ");
// text(0,20,"Geschwindigkeit unplausibel");
// ergebnisDigitalAusgabe("STAT_V_PLAUSIBEL_WERT" , 1,20," JA "," NEIN ");
// text(0,40,"Fehler Geschwindigkeit");
// ergebnisDigitalAusgabe("STAT_FEHLER_VS_WERT" , 1,40," JA "," NEIN ");
// }
// LINE("Timeout EGS, ASR timeout","STAT_TIMEOUT_EGS1_WERT;STAT_ASR_TIMEOUT_WERT")
// {
// text(0, 1,"Timeout EGS1");
// ergebnisDigitalAusgabe("STAT_TIMEOUT_EGS1_WERT" , 1, 1," JA "," NEIN ");
// text(0,20,"ASR Timeout");
// ergebnisDigitalAusgabe("STAT_ASR_TIMEOUT_WERT" , 1,20," JA "," NEIN ");
// textout("",2,0);
// }
// LINE("Text FGR reversibel","")
// {
// textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",0,0);
// ftextout(dme_text + " - FGR reversibel abgeschaltet durch",1,25,0,1);
// textout("",2,0);
// }
// LINE("VS Diff hoch, Übernahme lang, VS SP Max, Ext Momnet","STAT_VS_DIF_HOCH_WERT;STAT_UEBERN_LANG_WERT;STAT_VS_SP_MAX_WERT;STAT_EXT_MOMENT_WERT")
// {
// text(0,60,"Abweichung Geschw. zu hoch");
// ergebnisDigitalAusgabe("STAT_VS_DIF_HOCH_WERT" , 1,60," JA "," NEIN ");
// text(0,20,"Übernahme zu lange");
// ergebnisDigitalAusgabe("STAT_UEBERN_LANG_WERT" , 1,20," JA "," NEIN ");
// text(0,40,"Sollwert Maximum zu lang");
// ergebnisDigitalAusgabe("STAT_VS_SP_MAX_WERT" , 1,40," JA "," NEIN ");
// text(0, 1,"Extern Moment Eingriff");
// ergebnisDigitalAusgabe("STAT_EXT_MOMENT_WERT" , 1, 1," EIN "," AUS ");
// }
// LINE("MFL ausgesch, VS_CAN zu lang, Beschl. Überwachung, ","STAT_MFL_AUS_WERT;STAT_VS_CAN_LANG_WERT;STAT_BESCHL_MON_WERT;STAT_HOCHDREH_S_WERT")
// {
// text(0, 1,"MFL ausgeschaltet");
// ergebnisDigitalAusgabe("STAT_MFL_AUS_WERT" , 1, 1," EIN "," AUS ");
// text(0,20,"VS_CAN zu lang");
// ergebnisDigitalAusgabe("STAT_VS_CAN_LANG_WERT" , 1,20," EIN "," AUS ");
// text(0,40,"Beschleunigungsüberw.");
// ergebnisDigitalAusgabe("STAT_BESCHL_MON_WERT" , 1,40," EIN "," AUS ");
// text(0,60,"BeschleunigungsBegrenzung");
// ergebnisDigitalAusgabe("STAT_HOCHDREH_S_WERT" , 1,60," EIN "," AUS ");
// }
// LINE("VS_MAX aktiv, VS_FIL gering, Drehzahlbegr., Bremsen","STAT_TAKEOVER_VS_WERT;STAT_VS_FIL_LOW_WERT;STAT_DREHZAHL_BEG_WERT;STAT_BREMSE_AKTIV_WERT")
// {
// text(0, 1,"MaximalGeschw. aktiv");
// ergebnisDigitalAusgabe("STAT_TAKEOVER_VS_WERT" , 1, 1," EIN "," AUS ");
// text(0,20,"gefilterte Geschw. niedrig");
// ergebnisDigitalAusgabe("STAT_VS_FIL_LOW_WERT" , 1,20," EIN "," AUS ");
// text(0,40,"Drehzahlbegrenzung");
// ergebnisDigitalAusgabe("STAT_DREHZAHL_BEG_WERT" , 1,40," EIN "," AUS ");
// text(0,60,"Bremse aktiv");
// ergebnisDigitalAusgabe("STAT_BREMSE_AKTIV_WERT" , 1,60," JA "," NEIN ");
// }
// LINE("MFL-Anforderung notaus","STAT_MFL_HARD_OFF_WERT")
// {
// text(0, 1,"MFL Anforderung ausgeschaltet");
// ergebnisDigitalAusgabe("STAT_MFL_HARD_OFF_WERT" , 1, 1," EIN "," AUS ");
// }
}
// **********************************
// *** Digital3-Screen OBD Status ***
// **********************************
SCREEN s_digital_obd()
{
int i1;
bool b1;
string s1, s2, pcode;
i1 = 0;
ftextout(dme_text + " - Monitorfunktion und Readiness Flag in DME",0,5,1,0);
textout("===========================================================================================", 2, 0);
textout("", 3, 0);
INPAapiJob(sgbd,"STATUS_READINESS","","");
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("STATUS_READINESS",vartext1);
stop();
}
delay(200);
LINE("FehlzündungMonitor, Fehlzündung,KraftstoffMonitor, Kraftstoffsystem","STAT_MISSFIRE_MONITOR_WERT;STAT_MISSFIRE_WERT;STAT_FUELSYSTEM_MONITOR_WERT;STAT_FUELSYSTEM_WERT")
{
text(0, 8,"Fehlzündung");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MISSFIRE_MONITOR_WERT" , 2, 0," Ein"," Aus ");
INPAapiResultInt(i1,"STAT_MISSFIRE_MONITOR_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_MISSFIRE_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Kraftstoffsystem");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_FUELSYSTEM_MONITOR_WERT" , 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_FUELSYSTEM_MONITOR_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_FUELSYSTEM_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("KomponentenMonitor, Komponentenüberwachung","STAT_COMPREHENSIVE_MONITOR_WERT;STAT_COMPREHENSIVE_WERT")
{
text(0, 8,"Bauteile");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_COMPREHENSIVE_MONITOR_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_COMPREHENSIVE_MONITOR_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_COMPREHENSIVE_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
textout("===========================================================================================", 4, 0);
}
LINE("KATÜberwachungMonitor,KATÜberwachung, KatHeizungMonitor, KatHeizung","STAT_KATMON_EIN_WERT;STAT_KATRDY_EIN_WERT;STAT_HKATMON_EIN_WERT;STAT_HKATRDY_EIN_WERT")
{
text(0, 8,"Katalysator");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_KATMON_EIN_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_KATMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_KATRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Katalysatorheizung");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_HKATMON_EIN_WERT" , 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_HKATMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_HKATRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Lambda Überwachung,LambdaHeizung Überwachung","STAT_LSMON_EIN_WERT;STAT_LSRDY_EIN_WERT;STAT_HSMON_EIN_WERT;STAT_HSRDY_EIN_WERT")
{
text(0, 8,"Lambdasonde");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_LSMON_EIN_WERT" , 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_LSMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_LSRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Lambdasondenheizung");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_HSMON_EIN_WERT" , 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_HSMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_HSRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Abgasrückführung, Sekundärluft","STAT_AGRMON_EIN_WERT;STAT_AGRRDY_EIN_WERT;STAT_SLSMON_EIN_WERT;STAT_SLSRDY_EIN_WERT")
{
text(0, 8,"Abgasrückführung");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_AGRRDY_EIN_WERT" , 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_AGRRDY_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_AGRRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Sekundärluft");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_SLSMON_EIN_WERT" , 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_SLSMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_SLSRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Tankentlüftung, Klimaanlage","STAT_TESMON_EIN_WERT;STAT_TESRDY_EIN_WERT;STAT_KLIMAMON_EIN_WERT;STAT_KLIMARDY_EIN_WERT")
{
text(0, 8,"Tankentlüftung");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_TESMON_EIN_WERT" , 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_TESMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_TESRDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Klimasystem");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_KLIMAMON_EIN_WERT" , 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_KLIMAMON_EIN_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_KLIMARDY_EIN_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
}
// *************************
// *** Digital-Varianten ***
// *************************
SCREEN s_variants()
{
string s1;
ftextout(dme_text + " - Fahrzeugausstattung",0,18,1,0);
textout("===========================================================================================", 2, 0);
textout("", 3, 0);
INPAapiJob(sgbd,"ECU_CONFIG","","");
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY") { messagebox("ECU_CONFIG",vartext1); stop(); }
delay(200);
LINE("Automatik Getriebe, Klimaanlage, SMG-Steuergerät, ARS-Steuergerät","STAT_AT;STAT_AC;STAT_AMT;STAT_ARS")
{
text(0,1,"Automatik Getriebe");
ergebnisDigitalAusgabe("STAT_AT" ,1, 1," JA "," NEIN ");
text(0,21,"Klimaanlage");
ergebnisDigitalAusgabe("STAT_AC" ,1,21," JA "," NEIN ");
text(0,41,"SMG-Steuergerät");
ergebnisDigitalAusgabe("STAT_AMT" ,1,41," JA "," NEIN ");
text(0,61,"ARS-Steuergerät");
ergebnisDigitalAusgabe("STAT_ARS" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("ASR-Steuergerät, Bordnetz 2000, Tempomat über CAN, Entfernungsüberwachung","STAT_ASR;STAT_BN;STAT_BN_MSW;STAT_DCC")
{
text(0,1,"ASR-Steuergerät");
ergebnisDigitalAusgabe("STAT_ASR" ,1, 1," JA "," NEIN ");
text(0,21,"Bordnetz 2000");
ergebnisDigitalAusgabe("STAT_BN" ,1,21," JA "," NEIN ");
text(0,41,"Tempomat über CAN");
ergebnisDigitalAusgabe("STAT_BN_MSW" ,1,41," JA "," NEIN ");
text(0,61,"Entfernungsüberwachung");
ergebnisDigitalAusgabe("STAT_DCC" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("E-Box-Lüfter, SMG-/EGS-Steuergerät, Kombi über CAN, Multifunktionslenkrad","STAT_EBOX_CFA;STAT_ETCU;STAT_ICL;STAT_MSW")
{
text(0,1,"E-Box-Lüfter");
ergebnisDigitalAusgabe("STAT_EBOX_CFA" ,1, 1," JA "," NEIN ");
text(0,21,"SMG-/EGS-Steuergerät");
ergebnisDigitalAusgabe("STAT_ETCU" ,1,21," JA "," NEIN ");
text(0,41,"Kombi über CAN");
ergebnisDigitalAusgabe("STAT_ICL" ,1,41," JA "," NEIN ");
text(0,61,"Multifunktionslenkrad");
ergebnisDigitalAusgabe("STAT_MSW" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("Elektrische Lenkung, Soundklappe, Sport-Taster, Komfortstart","STAT_PSTE;STAT_SOF;STAT_SOF_SWI;STAT_GEAR")
{
text(0,1,"Elektrische Lenkung");
ergebnisDigitalAusgabe("STAT_PSTE" ,1, 1," JA "," NEIN ");
text(0,21,"Soundklappe");
ergebnisDigitalAusgabe("STAT_SOF" ,1,21," JA "," NEIN ");
text(0,41,"Sport-Taster");
ergebnisDigitalAusgabe("STAT_SOF_SWI" ,1,41," JA "," NEIN ");
text(0,61,"Komfortstart");
ergebnisDigitalAusgabe("STAT_GEAR" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("Kühlerjalousie unten, Power Modul, Abgasklappe, Klimarelais","STAT_ECRAS_DOWN;STAT_VEH;STAT_EF;STAT_ECRAS_UP;STAT_RLY_ACCOUT")
{
text(0,1,"Power Modul");
ergebnisDigitalAusgabe("STAT_VEH" ,1, 1," JA "," NEIN ");
text(0,21,"Abgasklappe");
ergebnisDigitalAusgabe("STAT_EF" ,1,21," JA "," NEIN ");
text(0,41,"Kühlerjalousie oben");
ergebnisDigitalAusgabe("STAT_ECRAS_UP" ,1,41," JA "," NEIN ");
text(0,61,"Klimarelais");
//ergebnisDigitalAusgabe("STAT_RLY_ACCOUT" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("Starterrelais, ASR3-Steuergerät, Längs-Dynamik-Management, Lampenzustand","STAT_RLY_ST;STAT_ASR3;STAT_BN_LDM;STAT_BN_LTG_HDLP_L")
{
text(0,1,"Starterrelais");
ergebnisDigitalAusgabe("STAT_RLY_ST" ,1, 1," JA "," NEIN ");
text(0,21,"ASR3-Steuergerät");
ergebnisDigitalAusgabe("STAT_ASR3" ,1,21," JA "," NEIN ");
text(0,41,"Längs-Dynamik-Management");
ergebnisDigitalAusgabe("STAT_BN_LDM" ,1,41," JA "," NEIN ");
text(0,61,"Lampenzustand");
ergebnisDigitalAusgabe("STAT_BN_LTG_HDLP_L" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("Lambdasonde hinter Katalysator, Lambdasonde vor Katalysator, ASR4-Steuergerät, AFS-Steuergerät","STAT_LSH_DOWN;STAT_LSH_UP;STAT_ASR_4;STAT_MAF")
{
text(0,1,"Lambdasonde hinter Kat");
ergebnisDigitalAusgabe("STAT_LSH_DOWN" ,1, 1," JA "," NEIN ");
text(0,21,"Lambdasonde vor Kat");
ergebnisDigitalAusgabe("STAT_LSH_UP" ,1,21," JA "," NEIN ");
text(0,41,"ASR4-Steuergerät");
ergebnisDigitalAusgabe("STAT_ASR_4" ,1,41," JA "," NEIN ");
text(0,61,"Heissfilmluftmassenmesser");
ergebnisDigitalAusgabe("STAT_MAF" ,1,61," JA "," NEIN ");
text(3,0,"");
}
LINE("AFS-Steuergerät, Elektrische Kraftstoffpumpe über CAN, Intelligenter Batteriesensor, Anhängermodul","STAT_PSTE_2;STAT_BN_EFP;STAT_SENS_BAT_SMT_DET;STAT_BN_TRL")
{
text(0,1,"AFS-Steuergerät");
ergebnisDigitalAusgabe("STAT_PSTE_2" ,1, 1," JA "," NEIN ");
text(0,21,"EKP über CAN");
ergebnisDigitalAusgabe("STAT_BN_EFP" ,1,21," JA "," NEIN ");
// text(0,41,"Intelligenter Batteriesensor");
// ergebnisDigitalAusgabe("STAT_SENS_BAT_SMT_DET" ,1,41," JA "," NEIN ");
// text(0,61,"Anhängermodul");
// ergebnisDigitalAusgabe("STAT_BN_TRL" ,1,61," JA "," NEIN ");
// text(3,0,"");
}
LINE("Kühlerjalousie unten, Sportgetriebe","STAT_ECRAS_DOWN;STAT_TCT")
{
text(0,1,"Kühlerjalousie unten");
ergebnisDigitalAusgabe("STAT_ECRAS_DOWN" ,1, 1," JA "," NEIN ");
text(0,21,"Sportgetriebe");
ergebnisDigitalAusgabe("STAT_TCT" ,1,21," JA "," NEIN ");
// text(0,41,"Start-Stop-Automatik");
// ergebnisDigitalAusgabe("STAT_TCT" ,1,41," JA "," NEIN ");
// text(3,0,"");
}
}
//***************************************
//** Menü für Stellgliedansteuerungen ***
//***************************************
MENU m_iostatus()
{
int i_temp;
INIT {setmenutitle(dme_text + " Stellgliedansteuerungen");}
ITEM(1, "Steuern 1") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(2, "Steuern 2") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_main,TRUE); setmenu(m_main);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//******************************************
//*** Menü für Stellgliedansteuerungen 1 ***
//******************************************
MENU m_iostatus_1()
{
int i_temp;
INIT {setmenutitle(dme_text + " Stellgliedansteuerungen 1");}
// ITEM( 1,"E-Lüfter") {setscreen(s_elue,TRUE); setmenu(m_elue);}
// ITEM( 2,"VANOS") {setscreen(s_st_vanos,TRUE); setmenu(m_st_vanos);}
// ITEM( 3,"TEV") {setscreen(s_tev,TRUE); setmenu(m_tev);}
// ITEM( 4,"KFK") {setscreen(s_kfk,TRUE); setmenu(m_kfk);}
// ITEM( 5,"EKP") {setscreen(s_ekp,TRUE); setmenu(m_ekp);}
// ITEM( 6,"Lambda") {setscreen(s_hls,TRUE); setmenu(m_hls);}
ITEM( 7,"GLF") {setscreen(s_glf,TRUE); setmenu(m_glf);}
// ITEM( 8,"EWAP") {setscreen(s_ewap,TRUE); setmenu(m_ewap);}
// ITEM( 9,"KOREL") {setscreen(s_korel,TRUE); setmenu(m_korel);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_iostatus,TRUE); setmenu(m_iostatus);}
// ITEM(11,"EBL") {setscreen(s_ebl,TRUE); setmenu(m_ebl);}
// ITEM(12,"AGK") {setscreen(s_agk,TRUE); setmenu(m_agk);}
// ITEM(13,"DMTL") {setscreen(s_st_dmtl,TRUE); setmenu(m_st_dmtl);}
// ITEM(14,"VIMDISA") {setscreen(s_disa,TRUE); setmenu(m_disa);}
// ITEM(15,"MIL/EML") {setscreen(s_mil_eml,TRUE); setmenu(m_mil_eml);}
// ITEM(16,"Klemme 87") {setscreen(s_kl87,TRUE); setmenu(m_kl87);}
// ITEM(17,"SR") {setscreen(s_sr,TRUE); setmenu(m_sr);}
// ITEM(18,"KGEH") {setscreen(s_r_kgeh,TRUE); setmenu(m_r_kgeh);}
// ITEM(19,"DK") {setscreen(s_dk,TRUE); setmenu(m_dk);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//******************************************
//*** Menü für Stellgliedansteuerungen 2 ***
//******************************************
MENU m_iostatus_2()
{
int i_temp;
INIT {setmenutitle(dme_text + " Stellgliedansteuerungen 2");}
// ITEM( 1,"Generator") {setscreen(s_gen,TRUE); setmenu(m_gen);}
// ITEM( 2,"ODR") {setscreen(s_odr,TRUE); setmenu(m_odr);}
// ITEM( 3,"ODV") {setscreen(s_odv,TRUE); setmenu(m_odv);}
// ITEM( 4,"LDS") {setscreen(s_lds,TRUE); setmenu(m_lds);}
// ITEM( 5,"Motorlager") {setscreen(s_mls,TRUE); setmenu(m_mls);}
// ITEM( 6,"MSV") {setscreen(s_msv,TRUE); setmenu(m_msv);}
// ITEM( 7,"AGR") {setscreen(s_agr,TRUE); setmenu(m_agr);}
// ITEM( 8,"DKH") {setscreen(s_dkh,TRUE); setmenu(m_dkh);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_iostatus,TRUE); setmenu(m_iostatus);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//*********************************
//*** Menü Ansteuerung E-Lüfter ***
//*********************************
MENU m_elue()
{
INIT {setmenutitle("Ansteuerung E-Lüfter"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"15%") {elue_ansteuer(16);}
ITEM( 2,"50%") {elue_ansteuer(50);}
ITEM( 3,"90%") {elue_ansteuer(91);}
ITEM( 4,"DME") {elue_ansteuer(0xFF);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//******************************
//*** Menü Ansteuerung VANOS ***
//******************************
MENU m_st_vanos()
{
INIT {setmenutitle("Ansteuerung VANOS"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"E +10°") {vanos_in_ansteuer(10);}
ITEM( 2,"E -10°") {vanos_in_ansteuer(-10);}
ITEM( 3,"E +72°") {vanos_in_ansteuer(72);}
ITEM( 4,"E -72°") {vanos_in_ansteuer(-72);}
ITEM( 5,"E/A DME") {vanos_in_ansteuer(0x1FF); vanos_ex_ansteuer(0x1FF);}
ITEM( 6,"A +10°") {vanos_ex_ansteuer(10);}
ITEM( 7,"A -10°") {vanos_ex_ansteuer(-10);}
ITEM( 8,"A +72°") {vanos_ex_ansteuer(72);}
ITEM( 9,"A -72°") {vanos_ex_ansteuer(-72);}
ITEM(10,"Zurück") {blankscreen(); setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//****************************
//*** Menü Ansteuerung TEV ***
//****************************
MENU m_tev()
{
INIT {setmenutitle("Ansteuerung TEV"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"0%") {tev_ansteuer(0);}
ITEM( 2,"20%") {tev_ansteuer(20);}
ITEM( 3,"50%") {tev_ansteuer(50);}
ITEM( 4,"90%") {tev_ansteuer(90);}
ITEM( 5,"DME") {tev_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//****************************
//*** Menü Ansteuerung KFK ***
//****************************
MENU m_kfk()
{
INIT {setmenutitle("Ansteuerung KFK"); ftextout("Setzen der Ansteuerung Über I/O Status",3,3,0,3);}
ITEM( 1,"0%") {kfk_ansteuer(0);}
ITEM( 2,"15%") {kfk_ansteuer(15);}
ITEM( 3,"50%") {kfk_ansteuer(50);}
ITEM( 4,"90%") {kfk_ansteuer(90);}
ITEM( 5,"DME") {kfk_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//****************************
//*** Menü Ansteuerung EKP ***
//****************************
MENU m_ekp()
{
INIT {setmenutitle("Ansteuerung EKP"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {ekp_ansteuer(1);}
ITEM( 2,"AUS") {ekp_ansteuer(0);}
ITEM( 4,"DME") {ekp_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//**********************************************
//*** Menü Ansteuerung Lambdasondenheizungen ***
//**********************************************
MENU m_hls()
{
INIT {setmenutitle("Ansteuerung Lambdasondenheizungen"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"5%") {taste=5;}
ITEM( 2,"15%") {taste=15;}
ITEM( 3,"90%") {taste=90;}
ITEM( 4,"DME") {taste=0xFF;}
ITEM( 5,"LSVK1") {hls1_ansteuer(taste);}
ITEM( 6,"LSHK1") {hls2_ansteuer(taste);}
ITEM( 7,"LSVK2") {hls3_ansteuer(taste);}
ITEM( 8,"LSHK2") {hls4_ansteuer(taste);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//****************************
//*** Menü Ansteuerung GLF ***
//****************************
MENU m_glf()
{
bool Variable = TRUE;
INIT {
setmenutitle("Ansteuerung gesteuerte Luftführung GLF");
ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);
setitem(8, "WKM komplett", TRUE);
setitem(7, "WKM oben", TRUE);
setitem(6, "WKM unten", TRUE);
}
ITEM( 1, "Oben ZU") {glf1_ansteuer(0);}
ITEM( 2, "Oben AUF") {glf1_ansteuer(1);}
ITEM( 3, "Unten ZU") {glf2_ansteuer(0);}
ITEM( 4, "Unten AUF"){glf2_ansteuer(1);}
ITEM( 5, "DME") {glf1_ansteuer(0xFF);glf2_ansteuer(0xFF);repeaterSwitch = FALSE;}
ITEM(6, "@") {
if (repeaterSwitch == FALSE) {
setitem(6, "WKM unten", TRUE);
repeaterSwitch = TRUE;
chosenRepeater = 2;
setstatemachine(REPEATER);
}
else {
// setitem(8, "WKM Stopp", TRUE);
repeaterSwitch = FALSE;
}
}
ITEM(7, "@") {
if (repeaterSwitch == FALSE) {
setitem(7, "WKM oben", TRUE);
repeaterSwitch = TRUE;
chosenRepeater = 3;
setstatemachine(REPEATER);
}
else {
// setitem(7, "WKM Stopp", TRUE);
repeaterSwitch = FALSE;
}
}
ITEM( 8, "@") {
if (repeaterSwitch == FALSE) {
setitem(8, "WKM komplett", TRUE);
repeaterSwitch = TRUE;
chosenRepeater = 1;
setstatemachine(REPEATER);
}
else {
// setitem(8, "WKM Stopp", TRUE);
repeaterSwitch = FALSE;
}
}
ITEM(10, "Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);repeaterSwitch = FALSE;}
ITEM(20, "ENDE") {repeaterSwitch = FALSE; userboxclose(0); viewclose(); exit();}
}
//************************************
//*** Menü Ansteuerung Wasserpumpe ***
//************************************
MENU m_ewap()
{
INIT {setmenutitle("Ansteuerung Wasserpumpe"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"5") {ewap_ansteuer(5);}
ITEM( 2,"50") {ewap_ansteuer(50);}
ITEM( 3,"95") {ewap_ansteuer(95);}
ITEM( 4,"DME") {ewap_ansteuer(0xFF);}
ITEM( 5,"Entlüftung") {setscreen(s_ewap_kse,TRUE); setmenu(m_ewap_kse);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//****************************
//*** Menü Ansteuerung KSE ***
//****************************
MENU m_ewap_kse()
{
INIT {setmenutitle("Kühlsystementlüftung"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"START") {ewap_ansteuer_kse(1,j);}
// ITEM( 2,"STOP") {ewap_ansteuer_kse(0,j);}
ITEM(10,"Zurück") {setscreen(s_ewap,TRUE); setmenu(m_ewap);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//******************************
//*** Menü Ansteuerung KOREL ***
//******************************
MENU m_korel()
{
INIT {setmenutitle("Ansteuerung Klimakompressor Endstufe"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {korel_ansteuer(1);}
ITEM( 2,"AUS") {korel_ansteuer(0);}
ITEM( 4,"DME") {korel_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//*************************************
//*** Menü Ansteuerung E-Box-Lüfter ***
//*************************************
MENU m_ebl()
{
INIT {setmenutitle("Ansteuerung E-Box Lüfter"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {ebl_ansteuer(1);}
ITEM( 2,"AUS") {ebl_ansteuer(0);}
ITEM( 4,"DME") {ebl_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//********************************
//*** Menü Ansteuerung VIMDISA ***
//********************************
MENU m_disa()
{
INIT {setmenutitle("Ansteuerung variable Sauganlage"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"DISA1 AUF"){disa1_ansteuer(1);}
ITEM( 2,"DISA1 ZU") {disa1_ansteuer(0);}
ITEM( 3,"DME") {disa1_ansteuer(0xFF);}
ITEM(11,"DISA2 AUF"){disa2_ansteuer(1);}
ITEM(12,"DISA2 ZU") {disa2_ansteuer(0);}
ITEM(13,"DME") {disa2_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//************************************
//*** Menü Ansteuerung Abgasklappe ***
//************************************
MENU m_agk()
{
INIT {setmenutitle("Ansteuerung Abgasklappe"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {agk_ansteuer(1);}
ITEM( 2,"AUS") {agk_ansteuer(0);}
ITEM( 4,"DME") {agk_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//***********************************
//*** Menü Ansteuerung DMTL Pumpe ***
//***********************************
MENU m_st_dmtl()
{
INIT {setmenutitle("Ansteuerung DMTL"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"P EIN") {dmtl_p_ansteuer(1);}
ITEM( 2,"P AUS") {dmtl_p_ansteuer(0);}
ITEM( 3,"P DME") {dmtl_p_ansteuer(0xFF);}
ITEM( 4,"V EIN") {dmtl_v_ansteuer(1);}
ITEM( 5,"V AUS") {dmtl_v_ansteuer(0);}
ITEM( 6,"V DME") {dmtl_v_ansteuer(0xFF);}
ITEM( 7,"H EIN") {dmtl_h_ansteuer(1);}
ITEM( 8,"H AUS") {dmtl_h_ansteuer(0);}
ITEM( 9,"H DME") {dmtl_h_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//**********************************
//*** Menü Ansteuerung MIL Lampe ***
//**********************************
MENU m_mil_eml()
{
INIT {setmenutitle("Ansteuerung MIL/EML"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"MIL EIN") {mil_ansteuer(1);}
ITEM( 2,"MIL AUS") {mil_ansteuer(0);}
ITEM( 3,"DME") {mil_ansteuer(0xFF);}
ITEM( 5,"EML EIN") {eml_ansteuer(1);}
ITEM( 6,"EML AUS") {eml_ansteuer(0);}
ITEM( 7,"DME") {eml_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//**************************************************
//*** Menü Ansteuerung Klemme 87/Hauptrelais DME ***
//**************************************************
MENU m_kl87()
{
INIT {setmenutitle("Ansteuerung Klemme 87/Hauptrelais DME"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {kl87_ansteuer(1);}
ITEM( 2,"AUS") {kl87_ansteuer(0);}
ITEM( 3,"DME") {kl87_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//************************************
//*** Menü Ansteuerung Startrelais ***
//************************************
MENU m_sr()
{
INIT {setmenutitle("Ansteuerung Startrelais"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {sr_ansteuer(1);}
ITEM( 2,"AUS") {sr_ansteuer(0);}
ITEM( 3,"DME") {sr_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//***************************************************************
//*** Menü Ansteuerung Relais Kurbelgehäuseentlüftungsheizung ***
//***************************************************************
MENU m_r_kgeh()
{
INIT {setmenutitle("Ansteuerung Relais Kurbelgehäuseentlüftungsheizung"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {r_kgeh_ansteuer(1);}
ITEM( 2,"AUS") {r_kgeh_ansteuer(0);}
ITEM( 3,"DME") {r_kgeh_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//**************************************
//*** Menü Ansteuerung Drosselklappe ***
//**************************************
MENU m_dk()
{
INIT {setmenutitle("Ansteuerung Drosselklappe"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"0 %") {dk_ansteuer(0);}
ITEM( 2,"50 %") {dk_ansteuer(50);}
ITEM( 3,"99 %") {dk_ansteuer(99);}
ITEM( 4,"DME") {dk_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_1,TRUE); setmenu(m_iostatus_1);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//******************************************
//*** Menü Ansteuerung Generatorspannung ***
//******************************************
MENU m_gen()
{
INIT {setmenutitle("Ansteuerung Generatorspannung"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"10 V") {gen_ansteuer(10);}
ITEM( 2,"11 V") {gen_ansteuer(11);}
ITEM( 3,"12 V") {gen_ansteuer(12);}
ITEM( 4,"13 V") {gen_ansteuer(13);}
ITEM( 5,"14 V") {gen_ansteuer(14);}
ITEM( 6,"15 V") {gen_ansteuer(15);}
ITEM( 7,"DME") {gen_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//****************************************
//*** Menü Ansteuerung Öldruckregelung ***
//****************************************
MENU m_odr()
{
INIT {setmenutitle("Ansteuerung Öldruckregelung"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"3000 hPa") {odr_ansteuer(30);}
ITEM( 2,"3500 hPa") {odr_ansteuer(35);}
ITEM( 3,"4000 hPa") {odr_ansteuer(40);}
ITEM( 4,"4500 hPa") {odr_ansteuer(45);}
ITEM( 5,"5000 hPa") {odr_ansteuer(50);}
ITEM( 6,"5500 hPa") {odr_ansteuer(55);}
ITEM( 7,"6000 hPa") {odr_ansteuer(60);}
ITEM( 8,"6500 hPa") {odr_ansteuer(65);}
ITEM( 9,"7000 hPa") {odr_ansteuer(70);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(11,"7500 hPa") {odr_ansteuer(75);}
ITEM(12,"8000 hPa") {odr_ansteuer(80);}
ITEM(13,"DME") {odr_ansteuer(0xFF);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//**************************************
//** Menü Ansteuerung Öldruckventil ****
//**************************************
MENU m_odv()
{
INIT {setmenutitle("Ansteuerung Öldruckventil"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"0 %") {odv_ansteuer(0);}
ITEM( 2,"10 %") {odv_ansteuer(10);}
ITEM( 3,"20 %") {odv_ansteuer(20);}
ITEM( 4,"30 %") {odv_ansteuer(30);}
ITEM( 5,"40 %") {odv_ansteuer(40);}
ITEM( 6,"50 %") {odv_ansteuer(50);}
ITEM( 7,"60 %") {odv_ansteuer(60);}
ITEM( 8,"70 %") {odv_ansteuer(70);}
ITEM( 9,"80 %") {odv_ansteuer(80);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(11,"90 %") {odv_ansteuer(90);}
ITEM(12,"99 %") {odv_ansteuer(99);}
ITEM(13,"DME") {odv_ansteuer(0xFF);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//*****************************************
//*** Menü Ansteuerung Ladrdrucksteller ***
//*****************************************
MENU m_lds()
{
INIT {setmenutitle("Ansteuerung Ladedrucksteller"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"0 %") {taste=0;}
ITEM( 2,"25 %") {taste=25;}
ITEM( 3,"50 %") {taste=50;}
ITEM( 4,"75 %") {taste=75;}
ITEM( 5,"99 %") {taste=99;}
ITEM( 6,"DME") {taste=0xFF;}
ITEM( 7,"LDS-1") {lds1_ansteuer(taste);}
ITEM( 8,"LDS-2") {lds2_ansteuer(taste);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//***********************************
//*** Menü Ansteuerung Motorlager ***
//***********************************
MENU m_mls()
{
INIT {setmenutitle("Ansteuerung Motorlager"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"Ein") {mls_ansteuer(1);}
ITEM( 2,"Aus") {mls_ansteuer(0);}
ITEM( 3,"DME") {mls_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//*******************************************
//*** Menü Ansteuerung Mengensteuerventil ***
//*******************************************
MENU m_msv()
{
string s, s1;
int i;
INIT {setmenutitle("Ansteuerung Mengensteuerventil"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"75000 hPa") {msv_ansteuer(75);}
ITEM( 2,"100000 hPa") {msv_ansteuer(100);}
ITEM( 3,"125000 hPa") {msv_ansteuer(125);}
ITEM( 4,"150000 hPa") {msv_ansteuer(150);}
ITEM( 5,"175000 hPa") {msv_ansteuer(175);}
ITEM( 6,"DME")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"STEUERN_ENDE_BETRIEBSART","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 == "OKAY")
{
msv_ansteuer(0xFF);
}
else messagebox("STEUERN_ENDE_BETRIEBSART",s1);
}
ITEM( 8,"Homogen")
{
userboxclose(0);
viewclose();
INPAapiJob(sgbd,"DATEN_REFERENZ_LESEN","","");
INPAapiResultText(s1,"DATEN_REF_PROGRAMM_STAND",1,"");
midstr(s,s1,1,1);
stringtoint(s,i);
if (i >= 4) {INPAapiJob(sgbd,"STEUERN_BETRIEBSART","1","");}
else {INPAapiJob(sgbd,"_STEUERN_BETRIEBSART_ALT","1","");}
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STEUERN_BETRIEBSART",s1);
}
}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//************************************************
//*** Menü Ansteuerung Abgasrückführungsventil ***
//************************************************
MENU m_agr()
{
INIT {setmenutitle("Ansteuerung Abgasrückführungsventil"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"0 %") {agr_ansteuer(0);}
ITEM( 2,"25 %") {agr_ansteuer(25);}
ITEM( 3,"50 %") {agr_ansteuer(50);}
ITEM( 4,"75 %") {agr_ansteuer(75);}
ITEM( 5,"99 %") {agr_ansteuer(99);}
ITEM( 6,"DME") {agr_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
//**********************************************
//** Menü Ansteuerung Drosselklappenheizung ****
//**********************************************
MENU m_dkh()
{
INIT {setmenutitle("Ansteuerung Drosselklappenheizung"); ftextout("Setzen der Ansteuerung über I/O Status",3,3,0,3);}
ITEM( 1,"EIN") {dkh_ansteuer(1);}
ITEM( 2,"AUS") {dkh_ansteuer(0);}
ITEM( 3,"DME") {dkh_ansteuer(0xFF);}
ITEM(10,"Zurück") {setscreen(s_iostatus_2,TRUE); setmenu(m_iostatus_2);}
ITEM(20,"ENDE") {userboxclose(0); viewclose(); exit();}
}
// ****************************************************************************
// *** S c r e e n a u f b a u ***
// ****************************************************************************
// ************************
// *** SGBD-Auswahlmenu ***
// ************************
SCREEN s_sgbd_auswahl()
{
int z1=2;
userboxclose(0);
textout(blank,0,0);
ftextout("Steuergeräteauswahl ( DME 12Zyl )",z1,5,0,3);
z1=z1+1;
textout("------------------------------------------------------------------------------------------------------------",z1,5);
z1=z1+3;
textout("< F1 >" ,z1,5); textout("Auswahl DMER" ,z1,16); textout("| Master MSD87 12-Zyl." ,z1,34) ; z1=z1+1 ;
textout("< F2 >" ,z1,5); textout("Auswahl DMEL" ,z1,16); textout("| Slave MSD87 12-Zyl." ,z1,34) ; z1=z1+3 ;
textout("< F10 >",z1,5); textout("Exit",z1,16) ;
stop();
} // end: SCREEN s_sgbd_auswahl()
// *******************
// *** Hauptscreen ***
// *******************
SCREEN s_main()
{
string s_temp;
blankscreen();
userboxclose(0);
ftextout(dme_text + " Hauptmenü",0,25,1,1);
textout("SGBD = "+sgbd,5,5);
textout("sg_adr = 0x12",6,5);
textout("< F1 > SGBD - Info" , 9, 5);
// textout("< Shift > + < F1 > OBD-Status über Scantool" , 9,45);
textout("< F2 > SG-Identifikation" ,10, 5);
if (EAversion == TRUE) textout("< Shift > + < F2 > UDS-Service-Test" ,10,45);
// textout("< F3 > AnwenderInfoFeld AIF" ,11, 5);
textout("< F4 > Fehlerspeicher lesen" ,12, 5);
textout("< F5 > Status Analog / Digital" ,13, 5);
// textout("< F6 > Stellgliedansteuerungen" ,14, 5);
// textout("< F7 > Speicher lesen" ,15, 5);
// textout("< F8 > Adaptionswerte selektiv löschen",16, 5);
textout("< F9 > Systemdiagnosen" ,17, 5);
textout("< F10 > INPA beenden" ,19, 5);
if (EAversion == TRUE) textout("< Shift > + < F6 > EWS4 - Startwertabgleich" ,14,45);
textout("< Shift > + < F10> SLEEP Mode" ,19,45);
stop();
}
// **************************************
// *** Screen für Adaptionen löschen ***
// **************************************
SCREEN s_ada_loe()
{
userboxclose(0);
viewclose();
ftextout(dme_text + " Adaptionen selektiv löschen",0,15,1,1);
textout("< F1 > Adaptionen selektiv löschen 1" , 5, 5);
// textout("< F2 > Adaptionen selektiv löschen 2" , 6, 5);
textout("< F10 > Zurück" ,15, 5);
textout("< Shift > + < F10 > INPA beenden" ,15,45);
stop();
}
// **************************************
// *** Screen für Adaptionen löschen ***
// **************************************
SCREEN s_ada_loe_1()
{
userboxclose(0);
viewclose();
ftextout(dme_text + " Adaptionen selektiv löschen 1",0,15,1,1);
ftextout("Aktivierungsbedingung: " + ab_0002 + " UND " + ab_0001 + ";", 3, 5,0,1);
// textout("< F1 > Leerlaufabgleich" , 5, 5);
// textout("< F2 > Klopfen" , 6, 5);
textout("< F3 > Lambdasonden" , 7, 5);
// textout("< F4 > Tankentlüftung" , 8, 5);
// textout("< F5 > Saugrohrmodell" , 9, 5);
textout("< F6 > Drosselklappe" ,10, 5);
// textout("< F7 > Lambdaregelung" ,11, 5);
// textout("< F8 > Abgasrückführungsventil" ,12, 5);
// textout("< F9 > Laststeuerung" ,13, 5);
textout("< F10 > Zurück" ,15, 5);
// textout("< Shift > + < F1 > NOx-Sensor" , 5,45);
// textout("< Shift > + < F2 > Sekundärluft" , 6,45);
// textout("< Shift > + < F3 > Mengensteuerventil" , 7,45);
// textout("< Shift > + < F4 > Batteriewechsel" , 8,45);
// textout("< Shift > + < F5 > Oktanzahl" , 9,45);
textout("< Shift > + < F6 > gelernte Varianten" ,10,45);
// textout("< Shift > + < F7 > VANOS" ,11,45);
// textout("< Shift > + < F8 > Segmentzeit" ,12,45);
// textout("< Shift > + < F9 > Verbrennungsregelung" ,13,45);
textout("< Shift > + < F10 > INPA beenden" ,15,45);
stop();
}
// **************************************
// *** Screen für Adaptionen löschen ***
// **************************************
SCREEN s_ada_loe_2()
{
userboxclose(0);
viewclose();
ftextout(dme_text + " Adaptionen selektiv löschen 2",0,15,1,1);
ftextout("Aktivierungsbedingung: " + ab_0002 + " UND " + ab_0001 + ";", 3, 5,0,1);
textout("< F1 > Zylindergleichstellung für EOL-Test und Fahrzyklus" , 5, 5);
textout("< F2 > Laufunruhe aus Zylindergleichstellung (Faktor und Offset)" , 6, 5);
textout("< F3 > Lambdasonden Phaseshift Bank 1" , 7, 5);
textout("< F4 > Lambdasonden Phaseshift Bank 2" , 8, 5);
textout("< F5 > Energieabgleich Injektoren" , 9, 5);
ftextout("< F6 > Alle Adaptionen ausser Tempomat" ,10, 5,0,1);
textout("< F10 > Zurück" ,12, 5);
textout("< Shift > + < F10 > INPA beenden" ,12,45);
stop();
}
// **********************************
// *** Screen für Systemdiagnosen ***
// **********************************
SCREEN s_system()
{
string f1;
int y1, z1;
userboxclose(0);
viewclose();
blankscreen();
y1=1;inttostring(y1,f1);z1=3;
ftextout(dme_text + " Bandende Diagnosen",0,5,1,1);
// textout("< F" + f1 +" > EOL Betriebsartenumschaltung",z1,5);
// textout("< Shift > + < F" + f1 +" > EOL GEN Systemtest",z1,45);
y1=y1+1;inttostring(y1,f1);
z1=z1+2;
textout("< F" + f1 +" > EOL EV-Ausblenden",z1,5);
// textout("< Shift > + < F" + f1 +" > EOL Ruhestrommessung",z1,45);
y1=y1+1;inttostring(y1,f1);
z1=z1+2;
// textout("< F" + f1 +" > EOL vertauschte L-Sonden",z1,5);
// textout("< Shift > + < F" + f1 +" > EOL Desulfatisierung",z1,45);
y1=y1+1;inttostring(y1,f1);
z1=z1+2;
// textout("< F" + f1 +" > EOL LL-Erhöhung Bandende",z1,5);
textout("< Shift > + < F" + f1 +" > EOL Injektormengenabgleich",z1,45);
y1=y1+1;inttostring(y1,f1);z1=z1+2;
// textout("< F" + f1 +" > EOL TEV Systemtest",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+2;
// textout("< F" + f1 +" > EOL LL-Abgleich lesen, setzen und programmieren",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+2;
// textout("< F" + f1 +" > EOL DMTL Systemtest",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+2;
textout("< F" + f1 +" > EOL GLF Systemtest",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+2;
// textout("< F" + f1 +" > EOL ODR Systemtest",z1,5);
z1=z1+4;
textout("< F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden" ,z1,45);
stop();
}
// *****************************************
// *** Screen Systemdiagnose Betriebsart ***
// *****************************************
SCREEN s_system_ba()
{
string s1;
int i1;
bool b_soll_hom, b_soll_hom_sch, b_soll_sch, b_soll_hom_lam_1;
bool b_ist_hom, b_ist_hom_sch, b_ist_sch, b_ist_hom_lam_1;
ftextout(dme_text + " Systemtest Betriebsartenumschaltung",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Betriebsartenumschaltung Homogen", 3,5);
textout(" < F2 > Start Betriebsartenumschaltung Homogen-Schicht", 4,5);
textout(" < F3 > Start Betriebsartenumschaltung Schicht", 5,5);
textout(" < F4 > Start Betriebsartenumschaltung Homogen & Lambda = 1", 6,5);
textout(" < F5 > Stop Betriebsartenumschaltung", 7,5);
textout(" < F10 > Zurück", 9,5);
textout("< Shift > + < F10 > INPA beenden", 9,45);
INPAapiJob(sgbd,"STATUS_BETRIEBSART","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
LINE("Status Soll-Betriebsart","STAT_STAT_BA_SOLL_WERT")
{
INPAapiResultInt(i1,"STAT_STAT_BA_SOLL_WERT",1);
if (i1 == 1) {b_soll_hom = 0; b_soll_hom_sch = 0; b_soll_sch = 1; b_soll_hom_lam_1 = 0;}
if (i1 == 2) {b_soll_hom = 1; b_soll_hom_sch = 0; b_soll_sch = 0; b_soll_hom_lam_1 = 0;}
if (i1 == 3) {b_soll_hom = 0; b_soll_hom_sch = 1; b_soll_sch = 0; b_soll_hom_lam_1 = 0;}
ftextout("Soll-Betriebsart",1,35,0,1);
text(2, 1,"Homogen");
digitalout(b_soll_hom , 3, 1," EIN "," AUS ");
text(2,31,"Homogen-Schicht");
digitalout(b_soll_hom_sch , 3,31," EIN "," AUS ");
text(2,61,"Schicht");
digitalout(b_soll_sch , 3,61," EIN "," AUS ");
}
LINE("Status Ist-Betriebsart","STAT_STAT_BA_IST_WERT")
{
INPAapiResultInt(i1,"STAT_STAT_BA_IST_WERT",1);
if (i1 == 1) {b_ist_hom = 0; b_ist_hom_sch = 0; b_ist_sch = 1; b_ist_hom_lam_1 = 0;}
if (i1 == 2) {b_ist_hom = 1; b_ist_hom_sch = 0; b_ist_sch = 0; b_ist_hom_lam_1 = 0;}
if (i1 == 3) {b_ist_hom = 0; b_ist_hom_sch = 1; b_ist_sch = 0; b_ist_hom_lam_1 = 0;}
ftextout("Ist-Betriebsart",1,35,0,1);
text(2, 1,"Homogen");
digitalout(b_ist_hom , 3, 1," EIN "," AUS ");
text(2,31,"Homogen-Schicht");
digitalout(b_ist_hom_sch , 3,31," EIN "," AUS ");
text(2,61,"Schicht");
digitalout(b_ist_sch , 3,61," EIN "," AUS ");
}
LINE("Lambdawert vor Katalysator Bank 1, Lambdawert vor Katalysator Bank 2","STAT_LAMBDA_BANK1_WERT;STAT_LAMBDA_BANK2_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A50,0x5A51","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_LAMBDA_BANK1_WERT", 3, 0, 0.0, 5.0, 0.0, 5.0,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
ftextout("Lambdasondenwerte",1,35,0,1);
text(2,0,vartext1);
text(3,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_LAMBDA_BANK2_WERT", 3, 40, 0.0, 5.0, 0.0, 5.0,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(2,40,vartext1);
text(3,71,vartext2);
}
}
// ********************************
// *** Screen Systemdiagnose EV ***
// ********************************
SCREEN s_systemtest_ev_ausbl()
{
string s1;
bool tmpBool;
int status = 255;
ftextout(dme_text + " Systemtest Einspritzventil ausblenden",0,5,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Ventil 1",3,5);
textout(" < F2 > Ventil 2",4,5);
textout(" < F3 > Ventil 3",5,5);
textout(" < F4 > Ventil 4",6,5);
textout(" < F5 > Ventil 5",7,5);
textout(" < F6 > Ventil 6",8,5);
if (zylinderZahl == 8) {
textout(" < F7 > Ventil 7",9,5);
textout(" < F8 > Ventil 8",10,5);
}
textout(" < F8 > Zurück an DME",11,5);
textout(" < F10 > Zurück",12,5);
textout("< Shift > + < F10 > INPA beenden", 12,45);
textout("=== Status Ventil ausblenden ===",14,15);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_EVAUSBL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") messagebox("STATUS_SYSTEMCHECK_EVAUSBL",s1);
INPAapiResultInt(status,"STAT_VENTIL_NR",1);
tmpBool = 1;
if( status == 1 ) tmpBool = 0;
digitalout( tmpBool, 20, 5, "", "");
tmpBool = 1;
if( status == 2 ) tmpBool = 0;
digitalout( tmpBool, 20, 10, "", "");
tmpBool = 1;
if( status == 4 ) tmpBool = 0;
digitalout( tmpBool, 20, 15, "", "");
tmpBool = 1;
if( status == 8 ) tmpBool = 0;
digitalout( tmpBool, 20, 20, "", "");
tmpBool = 1;
if( status == 16 ) tmpBool = 0;
digitalout( tmpBool, 20, 25, "", "");
tmpBool = 1;
if( status == 32) tmpBool = 0;
digitalout( tmpBool, 20, 30, "", "");
tmpBool = 1;
if (zylinderZahl == 8) {
if (status ==64 ) tmpBool = 0;
digitalout( tmpBool, 20, 35, "", "");
tmpBool = 1;
if (status == 128 ) tmpBool = 0;
digitalout( tmpBool, 20, 40, "", "");
tmpBool = 1;
}
delay(3000);
}
// **************************************
// *** Screen Systemdiagnose L-Sonden ***
// **************************************
SCREEN s_system_l_sonde()
{
string s1;
string vartext1;
string vartext2;
int status = 255;
userboxclose(0);
viewclose();
ftextout(dme_text + " Systemtest Lambda Sonden",0,15,1,1);
textout("========================================================================================",2,0);
textout(" < F1 > Start Systemtest L-Sonden",3,3);
textout(" < F2 > Stop Systemtest L-Sonden",4,3);
textout(" < F4 > Messwerte lesen",5,3);
textout(" < F10 > Zurück",6,3);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_L_SONDE","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
INPAapiResultText(s1,"STAT_DIAGNOSE_1_TEXT",1,"");
s1 = "Status Systemtest: " + s1;
textout(blank,4,38);
textout(s1,4,38);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A50,0x5A51,0x5A13,0x5A14","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 10, 0, 0.0, 1.5, 0.0, 1.5,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text( 9,0,vartext1);
text(10,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 10, 40, 0.0, 1.5, 0.0, 1.5,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text( 9,40,vartext1);
text(10,71,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_MESSWERT2_WERT", 19, 0, 0.0, 1.5, 0.0, 1.5,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT2_EINH",1,"");
text(18,0,vartext1);
text(19,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_MESSWERT3_WERT", 19, 40, 0.0, 1.5, 0.0, 1.5,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT3_EINH",1,"");
text(18,40,vartext1);
text(19,71,vartext2);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_L_SONDE","","");
INPAapiResultText(vartext1,"STAT_DIAGNOSE_2_TEXT",1,"");
vartext1 = "Diagnoseschritt: " + vartext1;
textout(blank,6,38);
textout(vartext1,6,38);
text(12,0,"Lambdawert LAMB_LS_UP_AFR_EOL_1");
ergebnisAnalogAusgabe("STAT_LAMB_LS_UP_AFR_EOL_1_WERT", 13, 0, 0.0, 1.5, 0.0, 1.5,"5.2");
text(13,31,"-");
text(12,40,"Lambdawert LAMB_LS_UP_AFR_EOL_2");
ergebnisAnalogAusgabe("STAT_LAMB_LS_UP_AFR_EOL_2_WERT", 13, 40, 0.0, 1.5, 0.0, 1.5,"5.2");
text(13,71,"-");
text(15,0,"Lambdawert LAMB_LS_UP_AFL_EOL_1");
ergebnisAnalogAusgabe("STAT_LAMB_LS_UP_AFL_EOL_1_WERT", 16, 0, 0.0, 1.5, 0.0, 1.5,"5.2");
text(16,31,"-");
text(15,40,"Lambdawert LAMB_LS_UP_AFL_EOL_2");
ergebnisAnalogAusgabe("STAT_LAMB_LS_UP_AFL_EOL_2_WERT", 16, 40, 0.0, 1.5, 0.0, 1.5,"5.2");
text(16,71,"-");
text(21,0,"Spannung VLS_DOWN_AFR_EOL_1");
ergebnisAnalogAusgabe("STAT_VLS_DOWN_AFR_EOL_1_WERT", 22, 0, 0.0, 1.0, 0.0, 1.0,"5.2");
text(22,31,"V");
text(21,40,"Spannung VLS_DOWN_AFR_EOL_2");
ergebnisAnalogAusgabe("STAT_VLS_DOWN_AFR_EOL_2_WERT", 22, 40, 0.0, 1.0, 0.0, 1.0,"5.2");
text(22,71,"V");
text(24,0,"Spannung VLS_DOWN_AFL_EOL_1");
ergebnisAnalogAusgabe("STAT_VLS_DOWN_AFL_EOL_1_WERT", 25, 0, 0.0, 1.0, 0.0, 1.0,"5.2");
text(25,31,"V");
text(24,40,"Spannung VLS_DOWN_AFL_EOL_2");
ergebnisAnalogAusgabe("STAT_VLS_DOWN_AFL_EOL_2_WERT", 25, 40, 0.0, 1.0, 0.0, 1.0,"5.2");
text(25,71,"V");
text(27,0,"Luftmasse MAF_INT_MIN_VLS");
ergebnisAnalogAusgabe("STAT_MAF_INT_MIN_VLS_EOL_WERT", 28, 0, 0.0, 300.0, 0.0, 300.0,"6.1");
text(28,31,"g");
delay(1000);
}
// **************************
// *** LL-Erhöhung setzen ***
// **************************
SCREEN s_system_llerh()
{
string temp;
string s1;
string hilfe;
ftextout(dme_text + " Systemtest LL-Drehzahl verstellen",0,15,1,1);
textout("=========================================================================================",2,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4807","");
INPAapiCheckJobStatus("OKAY");
s1 = "LL - Istwert";
ftextout(s1,10,10,1,1);
s1 = "LL - Sollwert";
ftextout(s1,10,40,1,1);
INPAapiResultInt(ll_wert,"STAT_MESSWERT0_WERT",1);
//INPAapiResultInt(ll_wert,"STAT_MOTORDREHZAHL_WERT",1);
inttostring(ll_wert,temp);
ftextout(blank,12,0,1,1);
ftextout(temp,12,15,1,1);
INPAapiResultInt(ll_wert,"STAT_MESSWERT0_WERT",1);
// INPAapiResultInt(ll_wert,"STAT_SOLL_MOTORDREHZAHL_WERT",1);
inttostring(ll_wert,temp);
ftextout(temp,12,45,1,1);
delay(200);
}
//***********************************
//*** Ende LL-Drehzahl verstellen ***
//***********************************
SCREEN s_system_llerh_stop()
{
string s1;
INPAapiJob(sgbd,"STOP_SYSTEMCHECK_LLERH","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STOP_SYSTEMCHECK_LLERH",s1); stop(); }
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_LLERH","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_SYSTEMCHECK_LLERH",s1);
}
ftextout("Aktuelle Drehzahl: ",10,10,1,1);
INPAapiResultInt(ll_wert,"STAT_SYSTEMCHECK_LLERH_WERT",1);
inttostring(ll_wert,s1);
ftextout(blank,12,0,1,1);
ftextout(s1,12,15,1,1);
}
// *********************************
// *** Screen Systemdiagnose TEV ***
// *********************************
SCREEN s_systemtest_tev()
{
string s1;
int z1, status;
status = 0;
ftextout(dme_text + " Systemstest TankEntlüftungsVentil",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest TEV",3,5);
textout(" < F2 > Stop Systemtest TEV",4,5);
textout(" < F10 > Zurück",6,5);
textout("< Shift > + < F10 > INPA beenden", 6,40);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_TEV","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_SYSTEMCHECK_TEV",s1); stop(); }
INPAapiResultInt(i_temp,"STAT_DIAGNOSE_1_WERT",1);
if( i_temp != 5 ) durchlauf = 0;
INPAapiResultText(s1,"STAT_DIAGNOSE_1_TEXT",1,"");
s1 = "Status Systemtest: " + s1;
textout(blank,9,0);
textout(s1,9,2);
delay(1000);
INPAapiResultText(s1,"STAT_DIAGNOSE_2_TEXT",1,"");
textout(blank,12,0);
textout(s1,12,2);
textout("Anzahl Diagnosen SUM_DIAG_DIAGCPS_EOL",14, 2);
textout("Anzahl Schleifen in Stufe 2 SUM_FLOW_SP_DIAGCPS_EOL",14,40);
INPAapiResultInt(status,"STAT_SYSTEMCHECK_TEV_FUNC_1_WERT",1);
inttostring(status,s1);
textout(blank,15,0);
textout("Zyklus 1 : "+s1,15,2);
INPAapiResultInt(status,"STAT_SYSTEMCHECK_TEV_FUNC_2_WERT",1);
inttostring(status,s1);
textout("Zyklus 2 : "+s1,15,40);
INPAapiResultInt(status,"STAT_DIAGNOSE_2_WERT",1);
inttostring(durchlauf,s1);
textout(blank,24,0);
textout("Diagnosezeit : "+s1+" s",24,2);
durchlauf = durchlauf + 1;
}
// **************************
// *** LL-Abgleich setzen ***
// **************************
SCREEN s_llabgl()
{
string temp;
string s1;
string unit;
blankscreen();
ftextout(dme_text + " Systemtest Leerlauf Drehzahlabgleich",0,15,1,1);
textout("=========================================================================================",2,0);
if (taste == 1)
{
inttostring(ll_acc_dri,temp);
s1 = temp + ";";
inttostring(ll_dri,temp);
s1 = s1 + temp + ";";
inttostring(ll_ofs,temp);
s1 = s1 + temp + ";";
inttostring(ll_acc,temp);
s1 = s1 + temp + ";";
inttostring(ll_vb,temp);
s1 = s1 + temp + ";";
INPAapiJob(sgbd,"STEUERN_LL_ABGLEICH",s1,"");
INPAapiResultText(s1, "JOB_STATUS", 1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LL_ABGLEICH",s1); stop(); }
}
if (taste == 2)
{
inttostring(ll_acc_dri,temp);
s1 = temp + ";";
inttostring(ll_dri,temp);
s1 = s1 + temp + ";";
inttostring(ll_ofs,temp);
s1 = s1 + temp + ";";
inttostring(ll_acc,temp);
s1 = s1 + temp + ";";
inttostring(ll_vb,temp);
s1 = s1 + temp + ";";
INPAapiJob(sgbd,"STEUERN_LLABG_PROG",s1,"");
INPAapiResultText(s1, "JOB_STATUS", 1,"");
if (s1 != "OKAY") { messagebox("STEUERN_LLABG_PROG",s1); stop(); }
textout("Leerlaufabgleich dauerhaft gespeichert",14,5);
delay(3000);
}
INPAapiJob(sgbd,"STATUS_LL_ABGLEICH","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_LL_ABGLEICH",s1); stop(); }
INPAapiResultText(unit,"STAT_OFS_EINH",1,"");
INPAapiResultInt(ll_wert,"STAT_OFS_ACC_DRI_WERT",1);
inttostring(ll_wert,s1);
s1 = s1 + " " + unit;
textout(blank,3,0);
textout(s1,3,10);
s1 = "LL - Abgleich mit Klima und Fahrstufe";
textout(s1,3,20);
INPAapiResultInt(ll_wert,"STAT_OFS_DRI_WERT",1);
inttostring(ll_wert,s1);
s1 = s1 + " " + unit;
textout(blank,5,0);
textout(s1,5,10);
s1 = "LL - Abgleich mit Fahrstufe";
textout(s1,5,20);
INPAapiResultInt(ll_wert,"STAT_OFS_WERT",1);
inttostring(ll_wert,s1);
s1 = s1 + " " + unit;
textout(blank,7,0);
textout(s1,7,10);
s1 = "LL - Abgleich";
textout(s1,7,20);
INPAapiResultInt(ll_wert,"STAT_OFS_ACC_WERT",1);
inttostring(ll_wert,s1);
s1 = s1 + " " + unit;
textout(blank,9,0);
textout(s1,9,10);
s1 = "LL - Abgleich mit Klima";
textout(s1,9,20);
INPAapiResultInt(ll_wert,"STAT_OFS_VB_WERT",1);
inttostring(ll_wert,s1);
s1 = s1 + " " + unit;
textout(blank,11,0);
textout(s1,11,10);
s1 = "LL - Abgleich für Batterieladen";
textout(s1,11,20);
textout(" < F1 > Setzen LL - Abgleich mit Klima und Fahrstufe",20,5);
textout(" < F2 > Setzen LL - Abgleich mit Fahrstufe",21,5);
textout(" < F3 > Setzen LL - Abgleich",22,5);
textout(" < F4 > Setzen LL - Abgleich mit Klima",23,5);
textout(" < F5 > Setzen LL - Abgleich für Batterieladen",24,5);
textout(" < F8 > aktuelle Werte",27,5);
textout(" < F9 > Werte dauerhaft speichern",28,5);
textout(" < F10 > Zurück",29,5);
stop();
}
// **********************************
// *** Screen Systemdiagnose DMTL ***
// **********************************
SCREEN s_systemtest_dmtl()
{
string s1;
string vartext1;
string vartext2;
int status = 255;
ftextout(dme_text + " Systemtest DiagnoseModulTankLeckage",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest DMTL",3,5);
textout(" < F2 > Stop Systemtest DMTL",4,5);
textout(" < F10 > Zurück",8,5);
textout("< Shift > + < F10 > INPA beenden", 8,45);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_DMTL","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_SYSTEMCHECK_DMTL",s1);
stop();
}
else
{
INPAapiResultText(s1,"STAT_DIAGNOSE_1_TEXT",1,"");
textout("=== Status Systemcheck ===",11,15);
textout(blank,12,0);
textout(s1,12,15);
INPAapiResultInt(status,"STAT_DIAGNOSE_1_WERT",1);
if ( status > 7 ) stop();
}
if ( status == 5 )
{
inttostring(durchlauf,s1);
textout(blank,14,0);
textout("Diagnosezeit: "+s1+" s",14,4);
durchlauf = durchlauf + 1;
}
INPAapiResultText(s1,"STAT_DIAGNOSE_2_TEXT",1,"");
textout("=== Messergebnisse ===",17,0);
textout(blank,18,0);
textout(s1,18,0);
vartext1 = "Strom bei Referenzleck Messung";
ergebnisAnalogAusgabe("STAT_STROM_REF_WERT", 21, 0, 0.0, 60.0, 15.0, 40.0,"5.1");
INPAapiResultText(vartext2,"STAT_STROM_REF_EINH",1,"");
text(20,0,vartext1);
text(21,31,vartext2);
vartext1 = "Strom bei Grobleck Messung";
ergebnisAnalogAusgabe("STAT_STROM_GROB_WERT", 24, 0, 0.0, 60.0, 15.0, 25.0,"5.1");
INPAapiResultText(vartext2,"STAT_STROM_GROB_EINH",1,"");
text(23,0,vartext1);
text(24,31,vartext2);
vartext1 = "Strom der laufenden Messung";
ergebnisAnalogAusgabe("STAT_STROM_WERT",27, 0, 0.0, 60.0, 15.0, 40.0,"5.1");
INPAapiResultText(vartext2,"STAT_STROM_EINH",1,"");
text(26,0,vartext1);
text(27,31,vartext2);
delay(900);
}
// *********************************
// *** Screen Systemdiagnose GLF ***
// *********************************
SCREEN s_systemtest_glf() {
string s1="", s2="";
int status = 255;
int n=0, rest=0, version=0;
string sn="", srest="";
ftextout(dme_text + " Systemtest Gesteuerte Luftführung",0,13,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest GLF",3,1);
textout(" < F2 > Stop Systemtest GLF",4,1);
textout(" < F10 > Zurück",5,1);
textout("< Shift > + < F10 > INPA beenden", 5,43);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_GLF","","");
INPAapiCheckJobStatus("OKAY");
// Ausgabe HW- & SW-Stand
INPAapiResultText(s1,"STAT_STATE_ECRAS_UP_VAR",1,"");
stringtoint(s1, version);
modInt (version, 16, n, rest);
inttostring(n, sn);
inttostring(rest, srest);
textout("AKKS-LIN Hardwarestand: "+sn, 3, 60);
textout("AKKS-LIN Softwarestand: "+srest, 4, 60);
// Sollposition in Schritten
INPAapiResultAnalog(r_temp,"STAT_CTR_ECRAS_UP_SP",1);
analogout(r_temp,8, 1, 7500, 12000, 7500, 12000,"5.1");
text(7, 1, "Soll-Position in Schritten");
// Istposition in Schritten
INPAapiResultAnalog(r_temp,"STAT_CTR_ECRAS_UP",1);
analogout(r_temp,8, 41, 7500, 12000, 7500, 12000,"5.1");
text(7, 41, "Ist-Position in Schritten");
// Sollposition in Grad
INPAapiResultAnalog(r_temp,"STAT_ANG_ECRAS_UP_SP_WERT",1);
analogout(r_temp,11, 1, 0, 120, 0, 120,"5.1");
text(10, 1, "Soll-Position in Grad");
// Istposition in Grad
INPAapiResultAnalog(r_temp,"STAT_ANG_ECRAS_UP_WERT",1);
analogout(r_temp,11, 41, 0, 120, 0, 120,"5.1");
text(10, 41, "Ist-Position in Grad");
//delay(100);
LINE("","") {
text(1, 1, "Systemtest aktiv");
text(2, 1, blank);
ergebnisDigitalAusgabe("STAT_ECRAS_UP6" ,2, 1,"aktiv"," inaktiv ");
text(1, 31, "Anschlagtest 'zu'");
ergebnisDigitalAusgabe("STAT_ECRAS_UP4" ,2, 31,"aktiv"," inaktiv ");
text(1, 61, "Anschlagtest 'auf'");
ergebnisDigitalAusgabe("STAT_ECRAS_UP5" ,2, 61,"aktiv"," inaktiv ");
}
LINE("","") {
text(2, 1, blank);
text(1, 1, "Variante AKKS-LIN (oben)");
ergebnisDigitalAusgabe("STAT_ECRAS_UP0" ,2, 1,"vorhanden"," nicht vorhanden ");
text(1, 41, "Variante PKKS (unten)");
ergebnisDigitalAusgabe("STAT_ECRAS_DOWN0" ,2, 41,"vorhanden"," nicht vorhanden ");
}
LINE("","") {
// text(1, 1, "AKKS-LIN zu");
textout(blank,2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP2" ,2, 1,"AKKS-LIN offen","AKKS-LIN nicht offen");
// text(1, 41, "LV_ECRAS_UP_CLOSE");
ergebnisDigitalAusgabe("STAT_ECRAS_UP1" ,2, 41,"AKKS-LIN zu"," AKKS-LIN nicht zu ");
}
LINE("","") {
text(1, 1, "Fehler im Luftklappengesamtsystem");
text(2, 1, blank);
ergebnisDigitalAusgabe("STAT_ECRAS_UP_ERR0" ,2, 1,"Ja"," Nein ");
text(1, 41, "Diagnose LIN-Botschaften");
ergebnisDigitalAusgabe("STAT_ECRAS_UP_ERR1" ,2, 41,"Beendet"," Nicht beendet ");
}
LINE("","") {
text(1, 1, "Diagnose PKKS");
textout(blank, 2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP_ERR2" ,2, 1,"Beendet"," Nicht beendet ");
text(1, 41, "Fehler bei der PKKS");
ergebnisDigitalAusgabe("STAT_ECRAS_DOWN1" ,2, 41,"Vorhanden"," Nicht vorhanden ");
}
LINE("","") {
text(1, 1, "Diagnose Kommunikation");
textout(blank, 2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END0" ,2, 1,"Beendet"," Nicht beendet ");
text(1, 41, "Diagnose Checksumme");
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END1" ,2, 41,"Beendet"," Nicht beendet ");
}
LINE("","") {
text(1, 1, "Diagnose Spannungspegel im Steller");
textout(blank, 2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END2" ,2, 1,"Beendet"," Nicht beendet ");
text(1, 41, "Diagnose Temperaturüberwachung im Steller");
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END3" ,2, 41,"Beendet"," Nicht beendet ");
}
LINE("","") {
text(1, 1, "Diagnose Elektroniküberwachung im Steller");
textout(blank, 2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END4" ,3, 1,"Beendet"," Nicht beendet ");
text(1, 41, "Diagnose Freigängigkeit");
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END7" ,2, 41,"Beendet"," Nicht beendet ");
}
LINE("","") {
text(1, 41, "Diagnose Anschlagtest 'zu'");
textout(blank, 2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END5" ,2, 1,"Beendet"," Nicht beendet ");
text(1, 1, "Diagnose Anschlagtest 'Auf'");
ergebnisDigitalAusgabe("STAT_ECRAS_UP_DIAG_END6" ,2, 41,"Beendet"," Nicht beendet ");
}
LINE("","") {
text(1, 1, "Externe Ansteuerung AKKS-LIN");
textout(blank, 2, 1);
ergebnisDigitalAusgabe("STAT_ECRAS_UP7" ,2, 1,"Aktiv"," Nicht aktiv ");
text(1, 41, "Spannung am Steller");
ergebnisDigitalAusgabe("STAT_ECRAS_UP_ERR1" ,2, 41,"IO"," NiO ");
}
}
// *********************************
// *** Screen Systemdiagnose ODR ***
// *********************************
SCREEN s_systemtest_odr()
{
string s1;
string vartext1;
string vartext2;
int status = 255;
ftextout(dme_text + " Systemtest Öldruckregelung",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest Öldruckregelung",3,5);
textout(" < F2 > Stop Systemtest Öldruckregelung",4,5);
textout(" < F10 > Zurück",6,5);
textout("< Shift > + < F10 > INPA beenden", 6,45);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_ODR","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_SYSTEMCHECK_ODR",s1);
stop();
}
else
{
INPAapiResultText(s1,"STAT_DIAGNOSE_1_TEXT",1,"");
textout("=== Status Systemcheck ===",8,5);
textout(blank,9,0);
textout(s1,9,10);
INPAapiResultInt(status,"STAT_DIAGNOSE_1_WERT",1);
inttostring(status,s1);
textout(s1,9,5);
if ( status > 7 ) stop();
INPAapiResultText(s1,"STAT_DIAGNOSE_2_TEXT",1,"");
textout(blank,11,0);
textout(s1,11,10);
INPAapiResultInt(status,"STAT_DIAGNOSE_2_WERT",1);
inttostring(status,s1);
textout(s1,11,5);
textout("",18,5);
}
LINE("Motoröltemperatur","STAT_TOEL_WERT")
{
text(0,0,"Motoröltemperatur");
ergebnisAnalogAusgabe("STAT_TOEL_WERT", 1, 0, -40.0, 160.0, -40.0, 120.0,"4.1");
INPAapiResultText(s1,"STAT_TOEL_EINH",1,"");
text(1,33,s1);
}
LINE("Sollwert Öldruck, Istwert Öldruck","STAT_P_OEL_SOLL_WERT;STAT_P_OEL_IST_WERT")
{
text(0,0,"Sollwert Öldruck");
ergebnisAnalogAusgabe("STAT_P_OEL_SOLL_WERT", 1, 0, 0.0, 10000.0, 0.0, 10000.0,"6.1");
INPAapiResultText(s1,"STAT_P_OEL_SOLL_EINH",1,"");
text(1,33,s1);
text(0,40,"Istwert Öldruck");
ergebnisAnalogAusgabe("STAT_P_OEL_IST_WERT", 1,40, 0.0, 10000.0, 0.0, 10000.0,"6.1");
INPAapiResultText(s1,"STAT_P_OEL_IST_EINH",1,"");
text(1,73,s1);
}
LINE("Sollwert Drehzahl, Istwert Drehzahl","STAT_NKW_SOLL_WERT;STAT_NKW_WERT")
{
text(0,0,"Sollwert Drehzahl");
ergebnisAnalogAusgabe("STAT_NKW_SOLL_WERT", 1, 0, 0.0, 8200.0, 0.0, 7200.0,"5.1");
INPAapiResultText(s1,"STAT_NKW_SOLL_EINH",1,"");
text(1,33,s1);
text(0,40,"Istwert Drehzahl");
ergebnisAnalogAusgabe("STAT_NKW_WERT", 1,40, 0.0, 8200.0, 0.0, 7200.0,"5.1");
INPAapiResultText(s1,"STAT_NKW_EINH",1,"");
text(1,73,s1);
delay(250);
}
}
// *********************************
// *** Screen Systemdiagnose GEN ***
// *********************************
SCREEN s_systemtest_gen()
{
string s1;
string vartext1;
string vartext2;
int status = 255;
int i_in;
bool b_out;
ftextout(dme_text + " Systemtest Generator",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest Generator",3,5);
textout(" < F2 > Stop Systemtest Generator",4,5);
textout(" < F10 > Zurück",6,5);
textout("< Shift > + < F10 > INPA beenden", 6,45);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_GEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_SYSTEMCHECK_GEN",s1);
stop();
}
else
{
INPAapiResultText(s1,"STAT_DIAGNOSE_1_TEXT",1,"");
textout("=== Status Systemcheck ===",8,5);
textout(blank,9,0);
textout(s1,9,10);
INPAapiResultInt(status,"STAT_DIAGNOSE_1_WERT",1);
inttostring(status,s1);
textout(s1,9,5);
textout("",10,5);
if ( status > 7 ) stop();
}
LINE("Status Plausibilität Generatorregler, Status Hochtemperaturfehler Generator aus Berechnung, Status Plausibilität Generatorspannung aus Berechnung","STAT_FI_GENREGUPL_WERT;STAT_FI_GENHTB_WERT;STAT_FI_GENELB_WERT")
{
text(0,1,"Status");
text(1,1,"Plausibilität Generatorregler");
INPAapiResultInt(i_in,"STAT_FI_GENREGUPL_WERT",1);
// Hier Negation des Ergebnisses, da im DME Bit gesetzt wenn Fehler vorhanden!
if (i_in == 0) {b_out = 1;} else {b_out = 0;}
digitalout(b_out ,2, 1," JA "," NEIN ");
text(0,30,"Status Hochtemperaturfehler");
text(1,30,"Generator aus Berechnung");
ergebnisDigitalAusgabe("STAT_FI_GENHTB_WERT" ,2,30," JA "," NEIN ");
text(0,60,"Status Plausibilität");
text(1,60,"Generatorspannung aus Berechnung");
INPAapiResultInt(i_in,"STAT_FI_GENELB_WERT",1);
// Hier Negation des Ergebnisses, da im DME Bit gesetzt wenn Fehler vorhanden!
if (i_in == 0) {b_out = 1;} else {b_out = 0;}
digitalout(b_out ,2,60," JA "," NEIN ");
delay(250);
}
LINE("Status Generatorkommunikation, Status Plausibilität Generatortyp, Status Hochtemperaturfehler Generator","STAT_FI_GENKOMM_WERT;STAT_FI_GENUPL_WERT;STAT_FI_GENHT_WERT")
{
text(0,1,"Status");
text(1,1,"Generatorkommunikation");
INPAapiResultInt(i_in,"STAT_FI_GENKOMM_WERT",1);
// Hier Negation des Ergebnisses, da im DME Bit gesetzt wenn Fehler vorhanden!
if (i_in == 0) {b_out = 1;} else {b_out = 0;}
digitalout(b_out ,2, 1," JA "," NEIN ");
text(0,30,"Status");
text(1,30,"Plausibilität Generatortyp");
INPAapiResultInt(i_in,"STAT_FI_GENUPL_WERT",1);
// Hier Negation des Ergebnisses, da im DME Bit gesetzt wenn Fehler vorhanden!
if (i_in == 0) {b_out = 1;} else {b_out = 0;}
digitalout(b_out ,2,30," JA "," NEIN ");
text(0,60,"Status");
text(1,60,"Hochtemperaturfehler Generator");
ergebnisDigitalAusgabe("STAT_FI_GENHT_WERT" ,2,60," JA "," NEIN ");
delay(250);
}
LINE("Status mechanischer Fehler Generator, Status elektrischer Fehler Generator, Status Generatorauslastung zu hoch","STAT_FI_GENMECH_WERT;STAT_FI_GENEL_WERT;STAT_DF_HIGH_WERT")
{
text(0,1,"Status");
text(1,1,"mechanischer Fehler Generator");
ergebnisDigitalAusgabe("STAT_FI_GENMECH_WERT" ,2,1," JA "," NEIN ");
text(0,30,"Status");
text(1,30,"elektrischer Fehler Generator");
ergebnisDigitalAusgabe("STAT_FI_GENEL_WERT" ,2,30," JA "," NEIN ");
text(0,60,"Status");
text(1,60,"Generatorauslastung zu hoch");
ergebnisDigitalAusgabe("STAT_DF_HIGH_WERT" ,2,60," JA "," NEIN ");
}
LINE("Toleranzbereich fuer Abweichung vom Sollwert Strom, Toleranzbereich fuer Abweichung vom Sollwert Spannung","STAT_GENITEST_TOL_WERT;STAT_GENUTEST_TOL_WERT")
{
text(0,0,"Toleranzbereich fuer Abweichung");
text(1,0,"vom Sollwert Strom");
ergebnisAnalogAusgabe("STAT_GENITEST_TOL_WERT", 2, 0, 0.0, 100.0, 0.0, 100.0,"4.1");
INPAapiResultText(s1,"STAT_GENITEST_TOL_EINH",1,"");
text(2,33,s1);
text(0,40,"Toleranzbereich fuer Abweichung");
text(1,40,"vom Sollwert Spannung");
ergebnisAnalogAusgabe("STAT_GENUTEST_TOL_WERT", 2,40, 0.0, 100.0, 0.0, 100.0,"4.1");
INPAapiResultText(s1,"STAT_GENUTEST_TOL_EINH",1,"");
text(2,73,s1);
}
LINE("Modellierter Generatorstrom, Generatorsollspannung","STAT_I_GENTEST_WERT;STAT_U_GENTEST_WERT")
{
text(0,0,"Modellierter Generatorstrom");
ergebnisAnalogAusgabe("STAT_I_GENTEST_WERT", 1, 0, 0.0, 255.0, 0.0, 255.0,"4.1");
INPAapiResultText(s1,"STAT_I_GENTEST_EINH",1,"");
text(1,33,s1);
text(0,40,"Generatorsollspannung");
ergebnisAnalogAusgabe("STAT_U_GENTEST_WERT", 1,40, 10.0, 16.0, 10.0, 16.0,"3.1");
INPAapiResultText(s1,"STAT_U_GENTEST_EINH",1,"");
text(1,73,s1);
delay(250);
}
}
// **********************************************
// *** Screen Systemdiagnose Ruhestrommessung ***
// **********************************************
SCREEN s_systemtest_ibs()
{
string s1, vartext1, vartext2;
bool b1;
real r1;
int i1, t1, status;
ftextout(dme_text + " Systemtest Ruhestrommessung",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest Ruhestrommessung",3,5);
textout(" < F10 > Zurück",5,5);
textout("< Shift > + < F10 > INPA beenden", 5,45);
INPAapiJob(sgbd,"STATUS_DIGITAL_1","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_DIGITAL_1",s1);
stop();
}
else
{
textout("Klemme 15",21,5);
ergebnisDigitalAusgabe("STAT_KL15_EIN_WERT" ,22, 5," JA "," NEIN ");
INPAapiJob(sgbd,"STATUS_RUHESTROMMESSUNG","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_RUHESTROMMESSUNG",s1);
stop();
}
else
{
textout("=== Status Ruhestrommessung ===",8,5);
INPAapiResultInt(status,"STAT_FS_RUHESTROM_WERT",1);
inttostring(status,s1);
textout(blank,10,5);
textout(s1,10,5);
INPAapiResultText(s1,"STAT_FS_RUHESTROM_TEXT",1,"");
textout(blank,12,5);
textout(s1,12,5);
text(25,5,"Ruhestrom");
ergebnisAnalogAusgabe("STAT_STAT_RUHESTROM_WERT", 26, 5, 0.0, 0.300, 0.0, 0.080,"5.3");
INPAapiResultText(s1,"STAT_STAT_RUHESTROM_EINH",1,"");
text(26,41,s1);
ftextout("Parametereingabe Ruhestrommessung",22,45,0,1);
textout("1. Parameter = Maximale Ruhestromschwelle",23,45);
textout("2. Parameter = Messtartbedingung",24,45);
textout("3. Parameter = Dauer Mittelwertmessung",25,45);
textout("4. Parameter = Timeoutzeit",26,45);
}
}
}
// **********************************************
// *** Screen Systemdiagnose Desulfatisierung ***
// **********************************************
SCREEN s_systemtest_des()
{
string s1;
string vartext1;
string vartext2;
int status = 255;
ftextout(dme_text + " Systemtest Desulfatisierung",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Start Systemtest Desulfatisierung",3,5);
textout(" < F2 > Stop Systemtest Desulfatisierung",4,5);
textout(" < F10 > Zurück",6,5);
textout("< Shift > + < F10 > INPA beenden", 6,45);
INPAapiJob(sgbd,"STATUS_DESULFATISIERUNG","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_DESULFATISIERUNG",s1);
stop();
}
INPAapiResultText(s1,"STAT_DIAGNOSE_1_TEXT",1,"");
textout("=== Status Systemcheck ===",8,5);
textout(blank,9,0);
textout(s1,9,10);
INPAapiResultInt(status,"STAT_DIAGNOSE_1_WERT",1);
inttostring(status,s1);
textout(s1,9,5);
INPAapiResultText(s1,"STAT_DIAGNOSE_2_TEXT",1,"");
textout(blank,11,0);
textout(s1,11,10);
INPAapiResultInt(status,"STAT_DIAGNOSE_2_WERT",1);
inttostring(status,s1);
textout(s1,11,5);
textout("",12,5);
LINE("Gang, Status Kupplungspedal betätigt","STAT_GEAR;STAT_LV_CLU_SWI")
{
text(0,1,"Gang");
INPAapiResultInt(status,"STAT_GEAR",1);
inttostring(status,s1);
textout(s1,1,1);
text(0,40,"Status Kupplungspedal betätigt");
ergebnisDigitalAusgabe("STAT_LV_CLU_SWI" ,1,40," JA "," NEIN ");
}
LINE("Istwert Temperaturregelung, Temperatur Desulfatisierungsschwelle","STAT_TNT_MDL_L_WERT;STAT_TNT_MDL_MV_WERT")
{
text(0,1,"Istwert Temperaturregelung");
ergebnisAnalogAusgabe("STAT_TNT_MDL_L_WERT", 1, 0, 0.0, 500.0, 0.0, 500.0,"3.1");
INPAapiResultText(s1,"STAT_TNT_MDL_L_EINH",1,"");
text(1,31,s1);
text(0,40,"Temperatur Desulfatisierungsschwelle");
ergebnisAnalogAusgabe("STAT_TNT_MDL_MV_WERT", 1,40, 0.0, 500.0, 0.0, 500.0,"3.1");
INPAapiResultText(s1,"STAT_TNT_MDL_MV_EINH",1,"");
text(1,71,s1);
}
LINE("Zeitgeber Desulfatisierung, Schwefelbeladung","STAT_T_NT_SO2P_EXT_ADJ_ACT_WERT;STAT_NT_SUL_WERT")
{
text(0,1,"Zeitgeber Desulfatisierung");
ergebnisAnalogAusgabe("STAT_T_NT_SO2P_EXT_ADJ_ACT_WERT", 1, 0, 0.0, 255.0, 0.0, 255.0,"4.1");
INPAapiResultText(s1,"STAT_T_NT_SO2P_EXT_ADJ_ACT_EINH",1,"");
text(1,31,s1);
text(0,40,"Schwefelbeladung");
ergebnisAnalogAusgabe("STAT_NT_SUL_WERT", 1,40, 0.0, 10000.0, 0.0, 4000.0,"4.0");
INPAapiResultText(s1,"STAT_NT_SUL_EINH",1,"");
text(1,71,s1);
}
LINE("Lambdasetpoint Mittelwert, Lambdasetpoint Bank 1","STAT_LAMB_SP_WERT;STAT_LAMB_SP_1_WERT")
{
text(0,1,"Lambdasetpoint Mittelwert");
ergebnisAnalogAusgabe("STAT_LAMB_SP_WERT", 1, 0, 0.5, 1.5, 0.5, 1.5,"3.2");
text(0,40,"Lambdasetpoint Bank 1");
ergebnisAnalogAusgabe("STAT_LAMB_SP_1_WERT", 1,40, 0.5, 1.5, 0.5, 1.5,"3.2");
}
LINE("Lambdasetpoint Bank 2, Drehzahl","STAT_LAMB_SP_2_WERT;STAT_N_32_WERT")
{
text(0,1,"Lambdasetpoint Bank 2");
ergebnisAnalogAusgabe("STAT_LAMB_SP_2_WERT", 1, 0, 0.5, 1.5, 0.5, 1.5,"3.2");
text(0,40,"Drehzahl");
ergebnisAnalogAusgabe("STAT_N_32_WERT", 1,40, 0.0, 8600.0, 0.0, 7200.0,"4.1");
INPAapiResultText(s1,"STAT_N_32_EINH",1,"");
text(1,71,s1);
}
LINE("Geschwindigkeit, Pedalwert","STAT_VS_WERT;STAT_PV_WERT")
{
text(0,1,"Geschwindigkeit");
ergebnisAnalogAusgabe("STAT_VS_WERT", 1, 0, 0.0, 250.0, 0.0, 250.0,"4.1");
INPAapiResultText(s1,"STAT_VS_EINH",1,"");
text(1,31,s1);
text(0,40,"Pedalwert");
ergebnisAnalogAusgabe("STAT_PV_WERT", 1,40, 0.0, 16.0, 0.0, 10.0,"3.1");
INPAapiResultText(s1,"STAT_PV_EINH",1,"");
text(1,71,s1);
delay(250);
}
}
// ************************************************
// *** Screen Systemdiagnose Injektor-Codierung ***
// ************************************************
SCREEN s_systemtest_ima()
{
string s1;
string vartext1;
string vartext2;
int status = 255;
ftextout(dme_text + " Injektor-Codierung",0,15,1,1);
textout("=========================================================================================",2,0);
textout(" < F1 > Injektor 1", 3,5);
textout(" < F2 > Injektor 2", 4,5);
textout(" < F3 > Injektor 3", 5,5);
textout(" < F4 > Injektor 4", 6,5);
textout(" < F5 > Injektor 5", 7,5);
textout(" < F6 > Injektor 6", 8,5);
if (zylinderZahl== 8) textout(" < F7 > Injektor 7", 9,5);
if (zylinderZahl== 8) textout(" < F8 > Injektor 8", 10,5);
textout(" < F8 > Reset" , 11,5);
textout(" < F10 > Zurück" ,12,5);
textout("< Shift > + < F10 > INPA beenden",12,45);
INPAapiJob(sgbd,"STATUS_IMAALLE","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY")
{
messagebox("STATUS_IMAALLE",s1);
stop();
}
textout("",13,5);
LINE("Energieabgleichwert Injektor 1, Durchflussabgleichwert Injektor 1","STAT_ENERGIEABGLEICH_ZYL_1_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_1_WERT")
{
text(0,0,"Energieabgleichwert Injektor 1");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_1_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_1_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 1");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_1_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_1_EINH",1,"");
text(1,71,s1);
}
LINE("Energieabgleichwert Injektor 2, Durchflussabgleichwert Injektor 2","STAT_ENERGIEABGLEICH_ZYL_2_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_2_WERT")
{
text(0,0,"Energieabgleichwert Injektor 2");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_2_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_2_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 2");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_2_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_2_EINH",1,"");
text(1,71,s1);
}
LINE("Energieabgleichwert Injektor 3, Durchflussabgleichwert Injektor 3","STAT_ENERGIEABGLEICH_ZYL_3_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_3_WERT")
{
text(0,0,"Energieabgleichwert Injektor 3");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_3_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_3_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 3");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_3_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_3_EINH",1,"");
text(1,71,s1);
}
LINE("Energieabgleichwert Injektor 4, Durchflussabgleichwert Injektor 4","STAT_ENERGIEABGLEICH_ZYL_4_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_4_WERT")
{
text(0,0,"Energieabgleichwert Injektor 4");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_4_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_4_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 4");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_4_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_4_EINH",1,"");
text(1,71,s1);
}
LINE("Energieabgleichwert Injektor 5, Durchflussabgleichwert Injektor 5","STAT_ENERGIEABGLEICH_ZYL_5_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_5_WERT")
{
text(0,0,"Energieabgleichwert Injektor 5");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_5_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_5_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 5");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_5_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_5_EINH",1,"");
text(1,71,s1);
}
LINE("Energieabgleichwert Injektor 6, Durchflussabgleichwert Injektor 6","STAT_ENERGIEABGLEICH_ZYL_6_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_6_WERT")
{
text(0,0,"Energieabgleichwert Injektor 6");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_6_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_6_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 6");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_6_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_6_EINH",1,"");
text(1,71,s1);
}
LINE("Energieabgleichwert Injektor 7, Durchflussabgleichwert Injektor 7","STAT_ENERGIEABGLEICH_ZYL_7_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_7_WERT")
{
if (zylinderZahl == 8) {
text(0,0,"Energieabgleichwert Injektor 7");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_7_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_7_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 7");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_7_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_7_EINH",1,"");
text(1,71,s1);
}
}
LINE("Energieabgleichwert Injektor 8, Durchflussabgleichwert Injektor 8","STAT_ENERGIEABGLEICH_ZYL_8_WERT;STAT_DURCHFLUSSABGLEICH_ZYL_8_WERT")
{
if (zylinderZahl==8) {
text(0,0,"Energieabgleichwert Injektor 8");
ergebnisAnalogAusgabe("STAT_ENERGIEABGLEICH_ZYL_8_WERT", 1, 0, 35.0, 80.0, 52.802, 78.802,"4.1");
INPAapiResultText(s1,"STAT_ENERGIEABGLEICH_ZYL_8_EINH",1,"");
text(1,31,s1);
text(0,40,"Durchflussabgleichwert Injektor 8");
ergebnisAnalogAusgabe("STAT_DURCHFLUSSABGLEICH_ZYL_8_WERT", 1,40, 1.3, 3.0, 1.53, 2.88,"4.2");
INPAapiResultText(s1,"STAT_DURCHFLUSSABGLEICH_ZYL_8_EINH",1,"");
text(1,71,s1);
}
}
LINE("","") {
}
}
// ***************************************
// *** Screen für Stellgliedansteueung ***
// ***************************************
SCREEN s_iostatus()
{
int z1;
userboxclose(0);
viewclose();
blankscreen();
ftextout(dme_text + " Stellgliedansteuerungen",1,5,1,1);
z1=5;
textout(" < F1 > Stellgliedansteuerungen 1",z1,5);z1=z1+1;
textout(" < F2 > Stellgliedansteuerungen 2",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
stop();
}
// *****************************************
// *** Screen für Stellgliedansteueung 1 ***
// *****************************************
SCREEN s_iostatus_1()
{
int z1;
userboxclose(0);
viewclose();
blankscreen();
ftextout(dme_text + " Stellgliedansteuerungen 1",1,5,1,1);
z1=5;
// textout(" < F1 > E-Lüfter",z1,5);
// textout("< Shift > + < F1 > E-Box-Lüfter ",z1,45);
z1=z1+1;
// textout(" < F2 > VANOS Einlass/Auslass",z1,5);
// textout("< Shift > + < F2 > AbGasKlappe AGK",z1,45);
z1=z1+1;
// textout(" < F3 > TankEntlüftungsVentil TEV",z1,5);
// textout("< Shift > + < F3 > DMTL Pumpe/Ventil/Heizung",z1,45);
z1=z1+1;
// textout(" < F4 > KennFeldKühlung KFK",z1,5);
// textout("< Shift > + < F4 > variable Sauganlage VIMDISA",z1,45);
z1=z1+1;
// textout(" < F5 > ElektrischeKraftstoffPumpe EKP",z1,5);
// textout("< Shift > + < F5 > MIL/EML",z1,45);
z1=z1+1;
// textout(" < F6 > Lambdasondenheizungen",z1,5);
// textout("< Shift > + < F6 > Klemme 87/Hauptrelais DME",z1,45);
z1=z1+1;
textout(" < F7 > Gesteuerte LuftFührung GLF",z1,5);
// textout("< Shift > + < F7 > StartRelais",z1,45);
z1=z1+1;
// textout(" < F8 > Wasserpumpe",z1,5);
// textout("< Shift > + < F8 > Relais KurbelGehäuseEntlüftungsHeizung",z1,45);
z1=z1+1;
// textout(" < F9 > Klima-KOmpressorRELais KOREL",z1,5);
// textout("< Shift > + < F9 > Drosselklappe",z1,45);
z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden ",z1,45);
stop();
}
// *****************************************
// *** Screen für Stellgliedansteueung 2 ***
// *****************************************
SCREEN s_iostatus_2()
{
string f1;
int y1, z1;
userboxclose(0);
viewclose();
blankscreen();
y1=1;inttostring(y1,f1);z1=1;
// ftextout(dme_text + " Stellgliedansteuerungen 2",1,5,1,1);
z1=z1+4;
// textout(" < F" + f1 +" > Generatorspannung",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+1;
// textout(" < F" + f1 +" > Öldruckregelung",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+1;
// textout(" < F" + f1 +" > Öldruckventil",z1,5);y1=y1+1;inttostring(y1,f1);
z1=z1+1;
// textout(" < F" + f1 +" > Ladedrucksteller (nur N54)",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+1;
// textout(" < F" + f1 +" > Motorlager (nicht N54)",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+1;
// textout(" < F" + f1 +" > Mengensteuerventil",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+1;
// textout(" < F" + f1 +" > Abgasrückführungsventil (nicht N54)",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+1;
// textout(" < F" + f1 +" > Drosselklappenheizung (nur N54)",z1,5);
y1=y1+1;inttostring(y1,f1);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden ",z1,45);
stop();
}
// ****************************
// *** Ansteuerung Eluefter ***
// ****************************
SCREEN s_elue()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung E-Lüfter",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + elue,z1,5);z1=z1+2;
textout(" < F1 > Ansteuerung mit 15 % ",z1,5);z1=z1+1;
textout(" < F2 > Ansteuerung mit 50 % ",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung mit 90 % ",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung an DME zurück",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
elue_ansteuer(0xFE);
delay(250);
}
// *************************
// *** Ansteuerung VANOS ***
// *************************
SCREEN s_st_vanos()
{
int z1;
userboxclose(0);
viewclose();
z1=3;
ftextout(dme_text + " Stellgliedansteuerung Vanos Einlass/Auslass",0,5,1,1);
textout(" Ansteuerbedingung: " + vanos,z1,5);z1=z1+2;
ftextout(" Erhöhung über Leerlaufdrehzahl-Anhebung und nicht durch Betätigung des Gaspedals!",z1,5,0,1);z1=z1+2;
textout(" < F1 > Ansteuerung Einlass mit +10 °",z1,5);z1=z1+1;
textout(" < F2 > Ansteuerung Einlass mit -10 °",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung Einlass mit +72 °",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung Einlass mit -72 °",z1,5);z1=z1+1;
textout(" < F5 > Ansteuerung Ein/Auslass an DME zurück",z1,5);z1=z1+1;
textout(" < F6 > Ansteuerung Auslass mit +10 °",z1,5);z1=z1+1;
textout(" < F7 > Ansteuerung Auslass mit -10 °",z1,5);z1=z1+1;
textout(" < F8 > Ansteuerung Auslass mit +72 °",z1,5);z1=z1+1;
textout(" < F9 > Ansteuerung Auslass mit -72 °",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
vanos_in_ansteuer(0x1FE);
vanos_ex_ansteuer(0x1FE);
INPAapiJob(sgbd, "MESSWERTBLOCK_LESEN", "0x4508,0x4505,0x4509,0x4A94", "" ) ;
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,25, 5, 40.0, 135.0, 40.0, 135.0,"5.1");
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_TEXT",1,"");
text(24, 5,vartext2);
text(25,36,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp,25,45, -135.0, -40.0, -135.0,-40.0,"5.1");
INPAapiResultText(vartext1,"STAT_MESSWERT1_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_TEXT",1,"");
text(24, 45,vartext2);
text(25,77,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT2_WERT",1);
analogout(r_temp,28, 5, 40.0, 135.0, 40.0, 135.0,"5.1");
INPAapiResultText(vartext1,"STAT_MESSWERT2_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT2_TEXT",1,"");
text(27, 5,vartext2);
text(28,36,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT3_WERT",1);
analogout(r_temp,28,45, -135.0, -40.0, -135.0,-40.0,"5.1");
INPAapiResultText(vartext1,"STAT_MESSWERT3_EINH",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT3_TEXT",1,"");
text(27, 45,vartext2);
text(28,77,vartext1);
delay(250);
}
// ***********************
// *** Ansteuerung TEV ***
// ***********************
SCREEN s_tev()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung TEV",0,5,1,1);
z1=3;
ftextout("Vorsicht! Ansteuerung des TEVs kann zu Motorstillstand führen!",z1,5,0,1);z1=z1+2;
textout(" Ansteuerbedingung: " + tev,z1,5);z1=z1+2;
textout(" < F1 > Ansteuerung 0%",z1,5);z1=z1+1;
textout(" < F2 > Ansteuerung 20%",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung 50%",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung 90%",z1,5);z1=z1+1;
textout(" < F5 > An DME zurück",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
tev_ansteuer(0xFE);
delay(250);
}
// ***********************
// *** Ansteuerung KFK ***
// ***********************
SCREEN s_kfk()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung KFK",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + kfk,z1,5);z1=z1+2;
textout(" < F1 > Ansteuerung 0%",z1,5);z1=z1+1;
textout(" < F2 > Ansteuerung 15%",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung 50%",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung 90%",z1,5);z1=z1+1;
textout(" < F5 > An DME zurück",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
kfk_ansteuer(0xFE);
delay(250);
}
// ***********************
// *** Ansteuerung EKP ***
// ***********************
SCREEN s_ekp()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung EKP",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + ekp,z1,5);z1=z1+2;
textout(" < F1 > KraftstoffPumpe ein",z1,5);z1=z1+1;
textout(" < F2 > KraftstoffPumpe aus",z1,5);z1=z1+2;
textout(" < F4 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
ekp_ansteuer(0xFE);
delay(250);
}
// *****************************************
// *** Ansteuerung Lambdasondenheizungen ***
// *****************************************
SCREEN s_hls()
{
int z1;
userboxclose(0);
viewclose();
z1=3;
ftextout(dme_text + " Stellgliedansteuerung Lambdasondenheizung",0,3,1,1);
ftextout("Vorsicht! Bei Betauung Bruchgefahr bei hoher Heizleistung",z1,0,1,1);z1=z1+2;
textout(" Ansteuerbedingung: " + lsh,z1,5);z1=z1+2;
textout(" < F1 > Ansteuerung 5%" ,z1,5);z1=z1+1;
textout(" < F2 > Ansteuerung 15%" ,z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung 90%" ,z1,5);z1=z1+1;
textout(" < F4 > An DME zurück" ,z1,5);z1=z1+1;
textout(" < F5 > Lambdasondenheizung 1 ( LSVK1 )" ,z1,5);z1=z1+1;
textout(" < F6 > Lambdasondenheizung 2 ( LSHK1 )" ,z1,5);z1=z1+1;
textout(" < F7 > Lambdasondenheizung 3 ( LSVK2 )" ,z1,5);z1=z1+1;
textout(" < F8 > Lambdasondenheizung 4 ( LSHK2 )" ,z1,5);z1=z1+2;
textout(" < F10 > Zurück" ,z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);z1=z1+2;
textout(" Erst den Wert, 5%, 15%, 90% oder DME, dann die Sonde wählen" ,z1,5);
hls1_ansteuer(0xFE);
hls2_ansteuer(0xFE);
hls3_ansteuer(0xFE);
hls4_ansteuer(0xFE);
delay(250);
}
// ***********************
// *** Ansteuerung GLF ***
// ***********************
SCREEN s_glf()
{
int z1, version, n, rest;
string s1, sn, srest;
ftextout(dme_text + " Stellgliedansteuerung GLF",0,13,1,1);
textout("=========================================================================================",2,0);
userboxclose(0);
viewclose();
z1=3;
textout(" Ansteuerbedingung: " + glf,z1,5);z1=z1+2;
textout(" < F1 > Kühlerjalousie oben zu",z1,5);z1=z1+1;
textout(" < F2 > Kühlerjalousie oben auf",z1,5);z1=z1+1;
textout(" < F3 > Kühlerjalousie unten zu",z1,5);z1=z1+1;
textout(" < F4 > Kühlerjalousie unten auf",z1,5);z1=z1+1;
textout(" < F5 > Ansteuerung zurück an DME",z1,5);z1=z1+1;
textout(" < F8 > WKM-Mode: Dauerhaft geöffnet! Nur für Windkanaltests!",z1,5);z1=z1+1;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_GLF","","");
INPAapiCheckJobStatus("OKAY");
// Ausgabe HW- & SW-Stand
INPAapiResultText(s1,"STAT_STATE_ECRAS_UP_VAR",1,"");
stringtoint(s1, version);
modInt (version, 16, n, rest);
inttostring(n, sn);
inttostring(rest, srest);
textout("AKKS-LIN Hardwarestand: "+sn, 5, 59);
textout("AKKS-LIN Softwarestand: "+srest, 6, 59);
glf1_ansteuer(0xFE);
glf2_ansteuer(0xFE);
delay(250);
}
// ************************
// *** Ansteuerung EWAP ***
// ************************
SCREEN s_ewap()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Wasserpumpe",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung:",z1,5);z1=z1+1;
textout(" " + ewapu,z1,5);z1=z1+2;
textout(" < F1 > Förderleistung 5%",z1,5);z1=z1+1;
textout(" < F2 > Förderleistung 50%",z1,5);z1=z1+1;
textout(" < F3 > Förderleistung 95%",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung zurück an DME",z1,5);z1=z1+1;
textout(" < F5 > Kühlsystementlüftung",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
j = 0;
ewap_ansteuer(0xFE);
delay(250);
}
// ***********************
// *** Ansteuerung KSE ***
// ***********************
SCREEN s_ewap_kse()
{
int z1;
userboxclose(0);
viewclose();
ftextout(" Kühlsystementlüftung",0,10,1,1);
z1=2;
textout(" Ansteuerbedingung: ",z1,5);z1=z1+1;
textout(" " + ewapu,z1,5);z1=z1+2;
ftextout(" Kühlsystementlüftung nur mit angeschlossenem Ladegerät durchführen!",z1,5,0,1);z1=z1+2;
textout(" < F1 > Start Kühlsystementlüftung",z1,5);z1=z1+1;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
ewap_ansteuer_kse(0xFF,j);
delay(250);
}
// *************************
// *** Ansteuerung KOREL ***
// *************************
SCREEN s_korel()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung KOREL",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + korel,z1,5);z1=z1+2;
textout(" < F1 > KOmpressorRELais ein",z1,5);z1=z1+1;
textout(" < F2 > KOmpressorRELais aus",z1,5);z1=z1+2;
textout(" < F4 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
korel_ansteuer(0xFE);
delay(250);
}
// ********************************
// *** Ansteuerung E-Box-Lüfter ***
// ********************************
SCREEN s_ebl()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung E-Box-Lüfter",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + eboxlue,z1,5);z1=z1+2;
textout(" < F1 > E-Box-Lüfter ein",z1,5);z1=z1+1;
textout(" < F2 > E-Box-Lüfter aus",z1,5);z1=z1+2;
textout(" < F4 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
ebl_ansteuer(0xFE);
delay(250);
}
// ***************************
// *** Ansteuerung VIMDISA ***
// ***************************
SCREEN s_disa()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung DISA",0,5,1,1);
z1=3;
textout("Ansteuerbedingung: " + disa,z1,5);z1=z1+2;
textout("< F1 > variable Sauganlage 1 auf",z1,5);
textout("< Shift > + < F1 > variable Sauganlage 2 auf",z1,45);z1=z1+1;
textout("< F2 > variable Sauganlage 1 zu",z1,5);
textout("< Shift > + < F2 > variable Sauganlage 2 zu",z1,45);z1=z1+1;
textout("< F3 > Ansteuerung zurück an DME",z1,5);
textout("< Shift > + < F3 > Ansteuerung zurück an DME",z1,45);z1=z1+2;
textout("< F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
disa1_ansteuer(0xFE);
disa2_ansteuer(0xFE);
delay(250);
}
// *******************************
// *** Ansteuerung Abgasklappe ***
// *******************************
SCREEN s_agk()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung AGK",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + agk,z1,5);z1=z1+2;
textout(" < F1 > AbGasKlappe ein",z1,5);z1=z1+1;
textout(" < F2 > AbGasklappe aus",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
agk_ansteuer(0xFE);
delay(250);
}
// *******************************
// *** Ansteuerung DMTL System ***
// *******************************
SCREEN s_st_dmtl()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung DMTL",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + dmtl,z1,5);z1=z1+2;
textout(" < F1 > DMTL Pumpe ein",z1,5);z1=z1+1;
textout(" < F2 > DMTL Pumpe aus",z1,5);z1=z1+1;
textout(" < F3 > DMTL Pumpe von DME",z1,5);z1=z1+2;
textout(" < F4 > DMTL Ventil ein",z1,5);z1=z1+1;
textout(" < F5 > DMTL Ventil aus",z1,5);z1=z1+1;
textout(" < F6 > DMTL Ventil von DME",z1,5);z1=z1+2;
textout(" < F7 > DMTL Heizung ein",z1,5);z1=z1+1;
textout(" < F8 > DMTL Heizung aus",z1,5);z1=z1+1;
textout(" < F9 > DMTL Heizung von DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);z1=z1;
textout("< Shift > + < F10 > INPA beenden",z1,45);
dmtl_p_ansteuer(0xFE);
dmtl_v_ansteuer(0xFE);
dmtl_h_ansteuer(0xFE);
delay(500);
}
// *****************************
// *** Ansteuerung MIL Lampe ***
// *****************************
SCREEN s_mil_eml()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung MIL/EML",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + mil_eml,z1,5);z1=z1+2;
textout(" < F1 > MIL Lampe ein",z1,5);z1=z1+1;
textout(" < F2 > MIL Lampe aus",z1,5);z1=z1+2;
textout(" < F3 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F5 > EML Lampe ein",z1,5);z1=z1+1;
textout(" < F6 > EML Lampe aus",z1,5);z1=z1+2;
textout(" < F7 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
mil_ansteuer(0xFE);
eml_ansteuer(0xFE);
delay(250);
}
// *********************************************
// *** Ansteuerung Klemme 87/Hauptrelais DME ***
// *********************************************
SCREEN s_kl87()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Klemme 87/Hauptrelais DME",0,0,1,1);
z1=3;
textout(" Ansteuerbedingung: " + kl87,z1,5);z1=z1+2;
textout(" < F1 > Klemme 87 ein",z1,5);z1=z1+1;
textout(" < F2 > Klemme 87 aus",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
kl87_ansteuer(0xFE);
delay(250);
}
// *******************************
// *** Ansteuerung Startrelais ***
// *******************************
SCREEN s_sr()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Startrelais",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + sr,z1,5);z1=z1+2;
textout(" < F1 > Startrelais ein",z1,5);z1=z1+1;
textout(" < F2 > Startrelais aus",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
sr_ansteuer(0xFE);
delay(250);
}
// **********************************************************
// *** Ansteuerung Relais Kurbelgehäuseentlüftungsheizung ***
// **********************************************************
SCREEN s_r_kgeh()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung KGEH",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + kgeh,z1,5);z1=z1+2;
textout(" < F1 > Kurbelgehäuseentlüftungsheizung ein",z1,5);z1=z1+1;
textout(" < F2 > Kurbelgehäuseentlüftungsheizung aus",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
r_kgeh_ansteuer(0xFE);
delay(250);
}
// *********************************
// *** Ansteuerung Drosselklappe ***
// *********************************
SCREEN s_dk()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Drosselklappe",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + dk,z1,5);z1=z1+2;
textout(" < F1 > Sollwert 0%",z1,5);z1=z1+1;
textout(" < F2 > Sollwert 50%",z1,5);z1=z1+1;
textout(" < F3 > Sollwert 99%",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
dk_ansteuer(0xFE);
delay(250);
}
// *****************************
// *** Ansteuerung Generator ***
// *****************************
SCREEN s_gen()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Generatorspannung",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + gen,z1,5);z1=z1+2;
textout(" < F1 > Generatorspannung 10V",z1,5);z1=z1+1;
textout(" < F2 > Generatorspannung 11V",z1,5);z1=z1+1;
textout(" < F3 > Generatorspannung 12V",z1,5);z1=z1+1;
textout(" < F4 > Generatorspannung 13V",z1,5);z1=z1+1;
textout(" < F5 > Generatorspannung 14V",z1,5);z1=z1+1;
textout(" < F6 > Generatorspannung 15V",z1,5);z1=z1+1;
textout(" < F7 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
gen_ansteuer(0xFE);
delay(250);
}
// ***********************************
// *** Ansteuerung Öldruckregelung ***
// ***********************************
SCREEN s_odr()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Öldruckregelung",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung:",z1,5);z1=z1+1;
textout(" " + odr,z1,5);z1=z1+2;
textout(" < F1 > Öldruck 3000 hPa",z1,5);
textout("< Shift > + < F1 > Öldruck 7500 hPa",z1,45);z1=z1+1;
textout(" < F2 > Öldruck 3500 hPa",z1,5);
textout("< Shift > + < F2 > Öldruck 8000 hPa",z1,45);z1=z1+1;
textout(" < F3 > Öldruck 4000 hPa",z1,5);
textout("< Shift > + < F3 > Ansteuerung zurück an DME",z1,45);z1=z1+1;
textout(" < F4 > Öldruck 4500 hPa",z1,5);z1=z1+1;
textout(" < F5 > Öldruck 5000 hPa",z1,5);z1=z1+1;
textout(" < F6 > Öldruck 5500 hPa",z1,5);z1=z1+1;
textout(" < F7 > Öldruck 6000 hPa",z1,5);z1=z1+1;
textout(" < F8 > Öldruck 6500 hPa",z1,5);z1=z1+1;
textout(" < F9 > Öldruck 7000 hPa",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
odr_ansteuer(0xFE);
delay(250);
}
// *********************************
// *** Ansteuerung Öldruckventil ***
// *********************************
SCREEN s_odv()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Öldruckventil",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + odv,z1,5);z1=z1+2;
textout(" < F1 > Sollwert 0 %",z1,5);
textout("< Shift > + < F1 > Sollwert 90 %",z1,45);z1=z1+1;
textout(" < F2 > Sollwert 10 %",z1,5);
textout("< Shift > + < F2 > Sollwert 99 %",z1,45);z1=z1+1;
textout(" < F3 > Sollwert 20 %",z1,5);
textout("< Shift > + < F3 > Ansteuerung zurück an DME",z1,45);z1=z1+1;
textout(" < F4 > Sollwert 30 %",z1,5);z1=z1+1;
textout(" < F5 > Sollwert 40 %",z1,5);z1=z1+1;
textout(" < F6 > Sollwert 50 %",z1,5);z1=z1+1;
textout(" < F7 > Sollwert 60 %",z1,5);z1=z1+1;
textout(" < F8 > Sollwert 70 %",z1,5);z1=z1+1;
textout(" < F9 > Sollwert 80 %",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
odv_ansteuer(0xFE);
delay(250);
}
// ************************************
// *** Ansteuerung Ladedrucksteller ***
// ************************************
SCREEN s_lds()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung LDS",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + lds,z1,5);z1=z1+2;
textout(" < F1 > Ansteuerung 0 %",z1,5);z1=z1+1;
textout(" < F2 > Ansteuerung 25 %",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung 50 %",z1,5);z1=z1+1;
textout(" < F4 > Ansteuerung 75 %",z1,5);z1=z1+1;
textout(" < F5 > Ansteuerung 99 %",z1,5);z1=z1+1;
textout(" < F6 > Ansteuerung zurück an DME",z1,5);z1=z1+1;
textout(" < F7 > Ladedrucksteller-1",z1,5);z1=z1+1;
textout(" < F8 > Ladedrucksteller-2",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);z1=z1+2;
textout(" Erst den jeweiligen Sollwert, dann den Ladedrucksteller wählen!",z1,5);
lds1_ansteuer(0xFE);
lds2_ansteuer(0xFE);
delay(250);
}
// ******************************
// *** Ansteuerung Motorlager ***
// ******************************
SCREEN s_mls()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung Motorlager",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + mls,z1,5);z1=z1+2;
textout(" < F1 > Motorlager ein",z1,5);z1=z1+1;
textout(" < F2 > Motorlager aus",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
mls_ansteuer(0xFE);
delay(250);
}
// **************************************
// *** Ansteuerung Mengensteuerventil ***
// **************************************
SCREEN s_msv()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung MSV",0,5,1,1);
z1=3;
textout("Ansteuerbedingung:",z1,5);z1=z1+1;
textout(msv,z1,5);z1=z1+2;
textout(" < F1 > Raildruck 75000 hPa",z1,5);z1=z1+1;
textout(" < F2 > Raildruck 100000 hPa",z1,5);z1=z1+1;
textout(" < F3 > Raildruck 125000 hPa",z1,5);z1=z1+1;
textout(" < F4 > Raildruck 150000 hPa",z1,5);z1=z1+1;
textout(" < F5 > Raildruck 175000 hPa",z1,5);z1=z1+1;
textout(" < F6 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F8 > Homogen",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
msv_ansteuer(0xFE);
delay(250);
}
// *******************************************
// *** Ansteuerung Abgasrückführungsventil ***
// *******************************************
SCREEN s_agr()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Stellgliedansteuerung AGR",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + agr,z1,5);z1=z1+2;
textout(" < F1 > Sollwert 0 %",z1,5);z1=z1+1;
textout(" < F2 > Sollwert 25 %",z1,5);z1=z1+1;
textout(" < F3 > Sollwert 50 %",z1,5);z1=z1+1;
textout(" < F4 > Sollwert 75 %",z1,5);z1=z1+1;
textout(" < F5 > Sollwert 99 %",z1,5);z1=z1+1;
textout(" < F6 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
agr_ansteuer(0xFE);
delay(250);
}
// *****************************************
// *** Ansteuerung Drosselklappenheizung ***
// *****************************************
SCREEN s_dkh()
{
int z1;
userboxclose(0);
viewclose();
ftextout(dme_text + " Drosselklappenheizung DKH",0,5,1,1);
z1=3;
textout(" Ansteuerbedingung: " + dkh,z1,5);z1=z1+2;
textout(" < F1 > Drosselklappenheizung ein",z1,5);z1=z1+1;
textout(" < F2 > Drosselklappenheizung aus",z1,5);z1=z1+1;
textout(" < F3 > Ansteuerung zurück an DME",z1,5);z1=z1+2;
textout(" < F10 > Zurück",z1,5);
textout("< Shift > + < F10 > INPA beenden",z1,45);
dkh_ansteuer(0xFE);
delay(250);
}
// ****************************************************************************
// *** INFO - Screen *
// ****************************************************************************
SCREEN s_info()
{
INPAapiJob(sgbd,"INFO","","");
ftextout("SGBD - INFO " + dme_text,0,20,1,1);
textout("=================================================================================",3,0);
ergebnisAusgabeTxt("Steuergerät: " ,"ECU" , 6,5,0,30);
ergebnisAusgabeTxt("Verantwortlicher: " ,"ORIGIN" , 7,5,0,30);
ergebnisAusgabeTxt("SGBD RevisionsNr.: " ,"REVISION", 8,5,0,30);
ergebnisAusgabeTxt("Author: " ,"AUTHOR" , 9,5,0,30);
ergebnisAusgabeTxt("Kommentar: " ,"COMMENT" ,10,5,0,30);
ergebnisAusgabeTxt("Sprache der SGBD: " ,"SPRACHE" ,11,5,0,30);
ergebnisAusgabeTxt("SW - Include Pakete: " ,"PACKAGE" ,12,5,0,30);
stop();
}
// ********************
// *** Ident-Screen ***
// ********************
SCREEN s_ident() {
int laenge;
int i_help, i1, i2;
string s_help, s1, s2, text_var, sx;
int laengeInfoFeld = 0;
string trennzeichen = "#" ;
string singleChar = "" ;
int anzahlSets = 0 ;
int anzahlSWESets = 0 ;
bool auslesenErfolgreich = FALSE ;
int counter = 0 ;
ftextout("Identifikation " + dme_text,0,20,1,1);
datei_ident = "";
textout("============================================================================================",2,0);
textout("Status:" , 3, 0 );
INP1apiJob(sgbd,"IDENT","","");
INP1apiResultText(auslesenErfolgreich, s1, "JOB_STATUS", 1, "");
if(auslesenErfolgreich != TRUE) {
// messagebox ("IDENT", s1) ;
ftextout( s1 + " " + dme_text + " ist offline", 3, 20 , 0, 1) ;
stop() ;
}
else ftextout( s1 + " " + dme_text + " - SG ist online", 3, 20, 0, 1 );
INPAapiResultInt(i_help,"ID_SG_ADR",1);
i1 = i_help / 16;
i2 = i_help - 16 * i1;
inttostring(i1,s1);
inttostring(i2,s2);
s_help = "0x" + s1 + s2;
textout("Steuergeräteadresse:",4,0);
textout(s_help,4,20);
INPAapiResultBinary("_REQUEST",1);
GetBinaryDataString(s1,i1);
INPAapiResultBinary("_RESPONSE",1);
GetBinaryDataString(s2,i2);
textout("SGBD-Index:",5,0);
i_help = i2 - i1;
midstr(s_help,s2,i1,i_help);
s_help = "0x" + s_help;
textout(s_help,5,20);
INPAapiJob(sgbd,"SVK_LESEN","","");
if ( anzahlSets == 0) {
INPAapiResultSets(anzahlSets) ;
if (anzahlSets == 0) {
messagebox("JOB_STATUS", "Keine Ausgabe der SGBM-ID moeglich!" );
stop();
}
else {
INPAapiJob(sgbd,"_SWE_LESEN","1","");
INPAapiResultSets(anzahlSWESets) ;
if (anzahlSWESets > 0) {
auslesenErfolgreich = FALSE ;
while (auslesenErfolgreich != TRUE && counter <= 10) {
INPAapiJob(sgbd,"_SWE_LESEN","1","");
INP1apiResultText(auslesenErfolgreich,info_feld_1,"INFO_FELD",1,"");
counter = counter + 1 ;
}
counter = 0 ;
auslesenErfolgreich = FALSE ;
while (auslesenErfolgreich != TRUE && counter <= 10) {
INPAapiJob(sgbd,"_SWE_LESEN","2","");
INP1apiResultText(auslesenErfolgreich,info_feld_2,"INFO_FELD",1,"");
counter = counter + 1 ;
}
counter = 0 ;
auslesenErfolgreich = FALSE ;
while (auslesenErfolgreich != TRUE && counter <= 10) {
INPAapiJob(sgbd,"_SWE_LESEN","3","");
INP1apiResultText(auslesenErfolgreich,info_feld_3,"INFO_FELD",1,"");
counter = counter + 1 ;
}
counter = 0 ;
auslesenErfolgreich = FALSE ;
}
else {
messagebox("JOB_STATUS", "Keine Ausgabe der Developer-Infofelder moeglich! Ansicht neu laden." );
stop();
}
}
}
INPAapiJob(sgbd,"SVK_LESEN","","");
LINE("Hardware Referenz","")
{
if ( anzahlSets > 1) {
ftextout("Hardware Referenz:",1,0,0,1);
ergebnisAusgabeTxt2("Prozessklasse (Wert):" ,"PROZESSKLASSE_WERT" ,2,0,0,20,1);
ergebnisAusgabeTxt2("Prozessklasse (Text):" ,"PROZESSKLASSE_TEXT" ,3,0,0,20,1);
ergebnisAusgabeTxt2("SGBM-Identifier:" ,"SGBM_IDENTIFIER" ,4,0,0,20,1);
ergebnisAusgabeTxt2("Version:" ,"VERSION" ,5,0,0,20,1);
}
}
LINE("Bootloader Referenz","info_feld_1")
{
if ( anzahlSets > 2) {
ftextout("Bootloader Referenz:",1,0,0,1);
ergebnisAusgabeTxt2("Prozessklasse (Wert):" ,"PROZESSKLASSE_WERT" ,2,0,0,20,2);
ergebnisAusgabeTxt2("Prozessklasse (Text):" ,"PROZESSKLASSE_TEXT" ,3,0,0,20,2);
ergebnisAusgabeTxt2("SGBM-Identifier:" ,"SGBM_IDENTIFIER" ,4,0,0,20,2);
ergebnisAusgabeTxt2("Version:" ,"VERSION" ,5,0,0,20,2);
textout ("Stringformat:" , 6, 0) ;
textout ("#Bordnetzteilnehmer#Musterstand#BTL##BTL-Entwicklerkommentar", 6, 20) ;
//textout ("Bootloader : ", 7, 0 ) ;
stringChopper("Bootloader : ", info_feld_1, 50, 7, 0, 0, 20) ;
}
}
LINE("Programm Referenz","info_feld_2")
{
if ( anzahlSets > 3) {
ftextout("Programm Referenz:",1,0,0,1);
ergebnisAusgabeTxt2("Prozessklasse (Wert):" ,"PROZESSKLASSE_WERT" ,2,0,0,20,3);
ergebnisAusgabeTxt2("Prozessklasse (Text):" ,"PROZESSKLASSE_TEXT" ,3,0,0,20,3);
ergebnisAusgabeTxt2("SGBM-Identifier:" ,"SGBM_IDENTIFIER" ,4,0,0,20,3);
ergebnisAusgabeTxt2("Version:" ,"VERSION" ,5,0,0,20,3);
textout ("Stringformat:", 6, 0) ;
textout ("#Bordnetzteilnehmer#Musterstand#PST##PST-Entwicklerkommentar", 6, 20) ;
textout( " : ", 7, 0 ) ;
//textout( info_feld_2, 7, 20 ) ;
stringChopper("Programmstand : ", info_feld_2, 50, 7, 0, 0, 20) ;
}
}
LINE("Daten Referenz","info_feld_3")
{
if ( anzahlSets > 4) {
ftextout("Daten Referenz:",1,0,0,1);
ergebnisAusgabeTxt2("Prozessklasse (Wert):" ,"PROZESSKLASSE_WERT" ,2,0,0,20,4);
ergebnisAusgabeTxt2("Prozessklasse (Text):" ,"PROZESSKLASSE_TEXT" ,3,0,0,20,4);
ergebnisAusgabeTxt2("SGBM-Identifier:" ,"SGBM_IDENTIFIER" ,4,0,0,20,4);
ergebnisAusgabeTxt2("Version:" ,"VERSION" ,5,0,0,20,4);
textout ("Stringformat:", 6, 0) ;
textout ("#Bordnetzteilnehmer#Musterstand#DST##DST-Entwicklerkommentar", 6, 20) ;
stringChopper("Datenstand : ", info_feld_3, 50, 7, 0, 0, 20) ;
}
}
LINE ("Codierdaten Referenz", "")
{
if ( anzahlSets > 5) {
ftextout("Codierdaten Referenz:",1,0,0,1);
ergebnisAusgabeTxt2("Prozessklasse (Wert):" ,"PROZESSKLASSE_WERT" ,2,0,0,20,5);
ergebnisAusgabeTxt2("Prozessklasse (Text):" ,"PROZESSKLASSE_TEXT" ,3,0,0,20,5);
ergebnisAusgabeTxt2("SGBM-Identifier:" ,"SGBM_IDENTIFIER" ,4,0,0,20,5);
ergebnisAusgabeTxt2("Version:" ,"VERSION" ,5,0,0,20,5);
}
else ftextout ("Keine Codierung erfolgt", 1, 0, 0, 1);
}
LINE("Zusammenfassung","") {
INPAapiJob(sgbd,"SVK_LESEN","","");
ftextout("Zusammenfassung:",1,0,0,1);
ergebnisAusgabeTxt2("Anzahl Einheiten:", "ANZAHL_EINHEITEN",2,0,0,30,anzahlSets);
ergebnisAusgabeTxt2("Datum der Programmierung:", "PROG_DATUM",3,0,0,30,anzahlSets);
ergebnisAusgabeTxt2("Kilometerstand bei Programmierung:", "PROG_KM",4,0,0,30,anzahlSets);
ergebnisAusgabeTxt2("Status:", "JOB_STATUS", 5,0,0,30,anzahlSets);
}
}
// ********************
// *** AIF - Screen ***
// ********************
SCREEN s_aif()
{
string text_var;
int ganz_zahl;
string job_status="???"; // für Job_Statuskontrolle
bool fehlerflag; // Fehlerflag
int errorcode; // EDIABAS Fehlernummer
ftextout(dme_text + " Anwender-Information",0,5,1,1);
inttostring( taste, text_var);
LINE("Anwender-Information","")
{
INPAapiJob(sgbd,"AIF_LESEN",text_var,"");
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,"");
INP1apiErrorCode(errorcode);
ftextout("",10,0,0,0);
if (((fehlerflag == FALSE) && (errorcode == 98)) || (job_status != "OKAY"))
{
ftextout("Kein Anwenderinfofeld vorhanden" ,3,0,0,0);
}
else
{
INPAapiResultInt(ganz_zahl,"AIF_ANZ_DATEN",1);
if (ganz_zahl > 18) // lange AIF ausgeben
{
ftextout("Fahrgestell Nr.",1,0,0,0);
ftextout(":",1,43,0,0);
INPAapiResultText(text_var,"AIF_FG_NR",1,"");
ftextout(text_var,1,45,0,1);
ftextout("Zusammenbau Nr.",3,0,0,0);
ftextout(":",3,43,0,0);
INPAapiResultText(text_var,"AIF_ZB_NR",1,"");
ftextout(text_var,3,45,0,1);
ftextout("Programmier-Datum",5,0,0,0);
ftextout(":",5,43,0,0);
INPAapiResultText(text_var,"AIF_DATUM",1,"");
ftextout(text_var,5,45,0,1);
ftextout("Datensatz Nr.",7,0,0,0);
ftextout(":",7,43,0,0);
INPAapiResultText(text_var,"AIF_SW_NR",1,"");
ftextout(text_var,7,45,0,1);
ftextout("Behörden Nr.",9,0,0,0);
ftextout(":",9,43,0,0);
INPAapiResultText(text_var,"AIF_BEHOERDEN_NR",1,"");
ftextout(text_var,9,45,0,1);
ftextout("Händler Nr.",11,0,0,0);
ftextout(":",11,43,0,0);
INPAapiResultText(text_var,"AIF_HAENDLER_NR",1,"");
ftextout(text_var,11,45,0,1);
ftextout("Tester Nr.",13,0,0,0);
ftextout(":",13,43,0,0);
INPAapiResultText(text_var,"AIF_SERIEN_NR",1,"");
ftextout(text_var,13,45,0,1);
ftextout("Kilometerstand",15,0,0,0);
ftextout(":",15,43,0,0);
INPAapiResultText(text_var,"AIF_KM",1,"");
ftextout(text_var,15,45,0,1);
ftextout("Programm-Stand",17,0,0,0);
ftextout(":",17,43,0,0);
INPAapiResultText(text_var,"AIF_PROG_NR",1,"");
ftextout(text_var,17,45,0,1);
ftextout("Adresse AIF",19,0,0,0);
ftextout(":",19,43,0,0);
INPAapiResultInt(ganz_zahl,"AIF_ADRESSE_LOW",1);
inttohexstring(ganz_zahl,4,text_var);
ftextout(text_var,19,45,0,1);
ftextout("Anzahl freie AIF",21,0,0,0);
ftextout(":",21,43,0,0);
INPAapiResultText(text_var,"AIF_ANZ_FREI",1,"");
ftextout(text_var,21,45,0,1);
ftextout("Anzahl Daten AIF",23,0,0,0);
ftextout(":",23,43,0,0);
INPAapiResultText(text_var,"AIF_ANZ_DATEN",1,"");
ftextout(text_var,23,45,0,1);
stop();
}
else //18 Byte -> kurze AIF ausgeben
{
ftextout("Fahrgestell Nr.",1,0,0,0);
ftextout(":",1,43,0,0);
INPAapiResultText(text_var,"AIF_FG_NR",1,"");
ftextout(text_var,1,45,0,1);
ftextout("Zusammenbau Nr.",3,0,0,0);
ftextout(":",3,43,0,0);
INPAapiResultText(text_var,"AIF_ZB_NR",1,"");
ftextout(text_var,3,45,0,1);
ftextout("Programmier-Datum",5,0,0,0);
ftextout(":",5,43,0,0);
INPAapiResultText(text_var,"AIF_DATUM",1,"");
ftextout(text_var,5,45,0,1);
ftextout("Adresse AIF",19,0,0,0);
ftextout(":",19,43,0,0);
INPAapiResultInt(ganz_zahl,"AIF_ADRESSE_LOW",1);
inttohexstring(ganz_zahl,4,text_var);
ftextout(text_var,19,45,0,1);
ftextout("Anzahl freie AIF",21,0,0,0);
ftextout(":",21,43,0,0);
INPAapiResultText(text_var,"AIF_ANZ_FREI",1,"");
ftextout(text_var,21,45,0,1);
ftextout("Anzahl Daten AIF",23,0,0,0);
ftextout(":",23,43,0,0);
INPAapiResultText(text_var,"AIF_ANZ_DATEN",1,"");
ftextout(text_var,23,45,0,1);
}
}
}
}
// ************************
// *** Fehler-Hauptmenü ***
// ************************
SCREEN s_fehlersp_main()
{
ftextout("Fehlerspeicher Hauptmenü " + SG_Verbund_text,0,5,1,1);
textout("========================================================================================",2,0);
textout("< F1 > Fehlerspeicher lesen (nur für Fehlerspeichereinträge mit Fehlerklassenbedatung >= 10h)" , 4,5);
textout("< F2 > Infospeicher lesen (nur für Fehlerspeichereinträge mit Fehlerklassenbedatung < 10h)" , 5,5);
// textout("< F3 > Historyspeicher lesen" , 6,5);
textout("< F10 > Zurück" , 8,5);
textout("< Shift > + < F10> INPA beenden" , 8,45);
datei_fs = "";
stop();
}
// *********************
// *** Fehler-Screen ***
// *********************
SCREEN s_fehlersp()
{
ftextout("Fehlerspeicher " + SG_Verbund_text,0,25,1,1);
textout("========================================================================================",2,0);
if (dme_r != dme_l) textout("< F1 > Fehlerspeicher Master lesen, kurz" , 4,5);
else textout("< F1 > Fehlerspeicher lesen, kurz" , 4,5);
if (dme_r != dme_l) textout("< F2 > Fehlerspeicher Slave lesen, kurz" , 5,5);
// textout("< F > Fehlerspeicher lesen Detail" , 5,5);
// textout("< F3 > Fehlerspeicher mit freeze frame Daten" , 6,5);
// textout("< F4 > Fehlerspeicher HEX-Dump (Detail)" , 7,5);
if (dme_r != dme_l) textout("< F5 > Fehlerspeicher löschen Master und Slave" , 8,5);
else textout("< F5 > Fehlerspeicher löschen" , 8,5);
if (dme_r != dme_l) {
textout("< F6 > Abspeicherung des Master-Fehlerspeichers in eine Datei", 9,5);
textout("< F7 > Abspeicherung des Slave-Fehlerspeichers in eine Datei" ,10,5);
}
else textout("< F6 > Abspeicherung des Fehlerspeichers in eine Datei", 9,5);
// textout("< F8 > Werk 1.1 Nadeldrucker nicht grafikfähig" ,11,5);
// textout("< F9 > Bildschirm drucken" ,12,5);
textout("< F10 > Zurück" ,14,5);
textout("< Shift > + < F10> INPA beenden" ,14,45);
stop();
}
// *******************
// *** Info-Screen ***
// *******************
SCREEN s_infosp()
{
if (sgbd == dme_r) dme_text = dme_text_r;
else dme_text = dme_text_l;
ftextout("Infospeicher " + SG_Verbund_text ,0,27,1,1);
ftextout("Nur für Entwicklung!",2,35,0,1);
textout("========================================================================================",3,0);
if (dme_r != dme_l) textout("< F1 > Fehlerspeicher Master lesen, kurz" , 5,5);
else textout("< F1 > Infospeicher lesen" , 5,5);
if (dme_r != dme_l) textout("< F2 > Fehlerspeicher Slave lesen, kurz" , 6,5);
// textout("< F3 > Infospeicher mit freeze frame Daten" , 7,5);
// textout("< F4 > Infospeicher HEX-Dump (Detail)" , 8,5);
// textout("< F5 > Infospeicher löschen" , 9,5);
// textout("< F6 > Abspeicherung aller Fehler in eine Datei",10,5);
// textout("< F7 > Kommentar einfügen" ,11,5);
// textout("< F8 > Werk 1.1 Nadeldrucker nicht grafikfähig" ,12,5);
// textout("< F9 > Bildschirm drucken" ,13,5);
textout("< F10 > Zurück" ,15,5);
textout("< Shift > + < F10> INPA beenden" ,15,45);
stop();
}
// **********************
// *** History-Screen ***
// **********************
SCREEN s_historysp()
{
ftextout("Historyspeicher " + dme_text,0,25,1,1);
ftextout("Nur für Entwicklung!",2,35,0,1);
textout("========================================================================================",3,0);
textout("< F1 > Historyspeicher lesen" , 5,5);
textout("< F2 > Historyspeicher löschen" , 6,5);
textout("< F3 > Abspeicherung aller Fehler in eine Datei", 7,5);
textout("< F4 > Kommentar einfügen" , 8,5);
textout("< F5 > Werk 1.1 Nadeldrucker nicht grafikfähig" , 9,5);
textout("< F6 > Bildschirm drucken" ,10,5);
textout("< F10 > Zurück" ,12,5);
textout("< Shift > + < F10> INPA beenden" ,12,45);
stop();
}
// **************************************
// *** Fehlerspeicher Lesen - Screen ***
// **************************************
SCREEN s_fs_kurz()
{
int i_sets;
string s1;
if (sgbd == dme_r) dme_text = dme_text_r;
else dme_text = dme_text_l;
INPAapiJob(sgbd,"FS_LESEN","","");
INPAapiResultSets( i_sets ); // wieviel Sets wurden abgespeichert
INPAapiResultText( s1, "JOB_STATUS", i_sets,""); // JOBSTATUS im letzten Satz
if ( s1 != "OKAY" ) { messagebox( "FS_LESEN", s1 ); stop(); }
i_sets = i_sets -1;
if( i_sets != f_anzahl ) { blankscreen; f_anzahl = i_sets; } // BildAufbau neu beseitigt Leichen
if(f_anzahl == 0 ) { textout("Keine Fehlereinträge",10,20); }
ftextout(dme_text + " Fehlerspeicher lesen",0,20,1,1);
textout("=============================================================================================",2,0);
delay(500);
LINE(" 1","") {AusgabeBildschirmKurz( 1);}
LINE(" 2","") {AusgabeBildschirmKurz( 2);}
LINE(" 3","") {AusgabeBildschirmKurz( 3);}
LINE(" 4","") {AusgabeBildschirmKurz( 4);}
LINE(" 5","") {AusgabeBildschirmKurz( 5);}
LINE(" 6","") {AusgabeBildschirmKurz( 6);}
LINE(" 7","") {AusgabeBildschirmKurz( 7);}
LINE(" 8","") {AusgabeBildschirmKurz( 8);}
LINE(" 9","") {AusgabeBildschirmKurz( 9);}
LINE("10","") {AusgabeBildschirmKurz(10);}
LINE("11","") {AusgabeBildschirmKurz(11);}
LINE("12","") {AusgabeBildschirmKurz(12);}
LINE("13","") {AusgabeBildschirmKurz(13);}
LINE("14","") {AusgabeBildschirmKurz(14);}
LINE("15","") {AusgabeBildschirmKurz(15);}
LINE("16","") {AusgabeBildschirmKurz(16);}
}
// **************************************
// *** Fehlerspeicher Lesen - Screen ***
// **************************************
SCREEN s_is_kurz()
{
int i_sets;
string s1;
if (sgbd == dme_r) dme_text = dme_text_r;
else dme_text = dme_text_l;
INPAapiJob(sgbd,"IS_LESEN","","");
INPAapiResultSets( i_sets ); // wieviel Sets wurden abgespeichert
INPAapiResultText( s1, "JOB_STATUS", i_sets,""); // JOBSTATUS im letzten Satz
if ( s1 != "OKAY" ) { messagebox( "IS_LESEN", s1 ); stop(); }
i_sets = i_sets -1;
if( i_sets != f_anzahl ) { blankscreen; f_anzahl = i_sets; } // BildAufbau neu beseitigt Leichen
if(f_anzahl == 0 ) { textout("Keine Infoeinträge",10,20); }
ftextout(dme_text + " Infospeicher lesen",0,20,1,1);
textout("=============================================================================================",2,0);
delay(500);
LINE(" 1","") {AusgabeBildschirmKurz( 1);}
LINE(" 2","") {AusgabeBildschirmKurz( 2);}
LINE(" 3","") {AusgabeBildschirmKurz( 3);}
LINE(" 4","") {AusgabeBildschirmKurz( 4);}
LINE(" 5","") {AusgabeBildschirmKurz( 5);}
LINE(" 6","") {AusgabeBildschirmKurz( 6);}
LINE(" 7","") {AusgabeBildschirmKurz( 7);}
LINE(" 8","") {AusgabeBildschirmKurz( 8);}
LINE(" 9","") {AusgabeBildschirmKurz( 9);}
LINE("10","") {AusgabeBildschirmKurz(10);}
LINE("11","") {AusgabeBildschirmKurz(11);}
LINE("12","") {AusgabeBildschirmKurz(12);}
LINE("13","") {AusgabeBildschirmKurz(13);}
LINE("14","") {AusgabeBildschirmKurz(14);}
LINE("15","") {AusgabeBildschirmKurz(15);}
LINE("16","") {AusgabeBildschirmKurz(16);}
}
// ***************************************************************************
// *** Fehlerspeicher Lesen Detail-Screen *
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SCREEN s_fs_detail()
{
int i_temp; // Anzahl der Fehlersets
string s1;
INPAapiJob(sgbd,"FS_LESEN","","");
INPAapiResultSets(i_temp); //wieviel Sets wurden abgespeichert
INPAapiResultText(s1, "JOB_STATUS",i_temp,"");
if ( s1 != "OKAY" ) { messagebox( "FS_LESEN", s1 ); stop(); }
i_temp = i_temp -1; // n Fehler + JOB_STATUS
delay(500);
if( i_temp != f_anzahl ) { blankscreen; f_anzahl = i_temp;}
if(f_anzahl == 0 ) { blankscreen; textout("Keine Fehlereinträge",10,20);}
ftextout(dme_text + " Fehlerspeicher mit Umwelt",0,15,1,1);
textout("=============================================================================================",2,0);
LINE("Fehler 1","") {ausgabeFehlerDetail( 1,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 2","") {ausgabeFehlerDetail( 2,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 3","") {ausgabeFehlerDetail( 3,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 4","") {ausgabeFehlerDetail( 4,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 5","") {ausgabeFehlerDetail( 5,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 6","") {ausgabeFehlerDetail( 6,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 7","") {ausgabeFehlerDetail( 7,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 8","") {ausgabeFehlerDetail( 8,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 9","") {ausgabeFehlerDetail( 9,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 10","") {ausgabeFehlerDetail(10,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 11","") {ausgabeFehlerDetail(11,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 12","") {ausgabeFehlerDetail(12,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 13","") {ausgabeFehlerDetail(13,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 14","") {ausgabeFehlerDetail(14,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 15","") {ausgabeFehlerDetail(15,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 16","") {ausgabeFehlerDetail(16,1,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
}
// *************************************************************************
// *** Infospeicher Lesen Detail-Screen *
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SCREEN s_is_detail()
{
int i_temp; // Anzahl der Fehlersets
string s1;
INPAapiJob(sgbd,"IS_LESEN","","");
INPAapiResultSets(i_temp); //wieviel Sets wurden abgespeichert
INPAapiResultText(s1, "JOB_STATUS",i_temp,"");
if ( s1 != "OKAY" ) { messagebox( "IS_LESEN", s1 ); stop(); }
i_temp = i_temp -1; // n Fehler + JOB_STATUS
delay(500);
if( i_temp != f_anzahl ) { blankscreen; f_anzahl = i_temp;}
if(f_anzahl == 0 ) { blankscreen; textout("Keine Infoeinträge",10,20); }
ftextout(dme_text + " Infospeicher mit Umwelt",0,15,1,1);
textout("=============================================================================================",2,0);
LINE("Fehler 1","") {ausgabeFehlerDetail( 1,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 2","") {ausgabeFehlerDetail( 2,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 3","") {ausgabeFehlerDetail( 3,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 4","") {ausgabeFehlerDetail( 4,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 5","") {ausgabeFehlerDetail( 5,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 6","") {ausgabeFehlerDetail( 6,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 7","") {ausgabeFehlerDetail( 7,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 8","") {ausgabeFehlerDetail( 8,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 9","") {ausgabeFehlerDetail( 9,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 10","") {ausgabeFehlerDetail(10,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 11","") {ausgabeFehlerDetail(11,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 12","") {ausgabeFehlerDetail(12,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 13","") {ausgabeFehlerDetail(13,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 14","") {ausgabeFehlerDetail(14,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 15","") {ausgabeFehlerDetail(15,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 16","") {ausgabeFehlerDetail(16,2,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
}
//******************************************************************************
//*** Fehlerspeicher Lesen Lang-Screen *
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SCREEN s_fs_lang()
{
int sets; // Anzahl der Fehlersets
string s1;
INPAapiJob(sgbd,"FS_LESEN","","");
INPAapiResultSets(sets); //wieviel Sets wurden abgespeichert
INPAapiResultText(s1, "JOB_STATUS",sets,"");
if ( s1 != "OKAY" ) { messagebox( "FS_LESEN", s1 ); stop(); }
sets = sets -1; // Fehler und JOB_STATUS
delay(500);
if( sets != f_anzahl ) { blankscreen; f_anzahl = sets;}
if(sets == 0 )
{
textout("Keine Fehlereinträge",10,20);
}
ftextout(dme_text + " Fehlerspeicher lesen Freeze Frame",0,10,1,1);
textout("=============================================================================================",2,0);
LINE("Fehler 1","") {AusgabeFehlerFreezeFrame( 1,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 2","") {AusgabeFehlerFreezeFrame( 2,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 3","") {AusgabeFehlerFreezeFrame( 3,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 4","") {AusgabeFehlerFreezeFrame( 4,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 5","") {AusgabeFehlerFreezeFrame( 5,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 6","") {AusgabeFehlerFreezeFrame( 6,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 7","") {AusgabeFehlerFreezeFrame( 7,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 8","") {AusgabeFehlerFreezeFrame( 8,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 9","") {AusgabeFehlerFreezeFrame( 9,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 10","") {AusgabeFehlerFreezeFrame(10,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 11","") {AusgabeFehlerFreezeFrame(11,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 12","") {AusgabeFehlerFreezeFrame(12,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 13","") {AusgabeFehlerFreezeFrame(13,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 14","") {AusgabeFehlerFreezeFrame(14,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 15","") {AusgabeFehlerFreezeFrame(15,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 16","") {AusgabeFehlerFreezeFrame(16,1,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
}
//****************************************************************************
//*** Infospeicher Lesen Lang-Screen *
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SCREEN s_is_lang()
{
int sets; // Anzahl der Fehlersets
string s1;
INPAapiJob(sgbd,"IS_LESEN","","");
INPAapiResultSets(sets); //wieviel Sets wurden abgespeichert
INPAapiResultText(s1, "JOB_STATUS",sets,"");
if ( s1 != "OKAY" ) { messagebox( "IS_LESEN", s1 ); stop(); }
sets = sets -1; // Fehler und JOB_STATUS
delay(500);
if( sets != f_anzahl ) { blankscreen; f_anzahl = sets;}
if(sets == 0 )
{
textout("Keine Infoeinträge",10,20);
}
ftextout(dme_text + " Infospeicher lesen Freeze Frame",0,10,1,1);
textout("=============================================================================================",2,0);
LINE("Fehler 1","") {AusgabeFehlerFreezeFrame( 1,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 2","") {AusgabeFehlerFreezeFrame( 2,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 3","") {AusgabeFehlerFreezeFrame( 3,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 4","") {AusgabeFehlerFreezeFrame( 4,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 5","") {AusgabeFehlerFreezeFrame( 5,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 6","") {AusgabeFehlerFreezeFrame( 6,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 7","") {AusgabeFehlerFreezeFrame( 7,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 8","") {AusgabeFehlerFreezeFrame( 8,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 9","") {AusgabeFehlerFreezeFrame( 9,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 10","") {AusgabeFehlerFreezeFrame(10,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 11","") {AusgabeFehlerFreezeFrame(11,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 12","") {AusgabeFehlerFreezeFrame(12,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 13","") {AusgabeFehlerFreezeFrame(13,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 14","") {AusgabeFehlerFreezeFrame(14,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 15","") {AusgabeFehlerFreezeFrame(15,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 16","") {AusgabeFehlerFreezeFrame(16,2,sets,f_reset);} // 1 = Fehlerspeicher; 2 = Infospeicher;
}
// **************************************
// *** FehlerspeicherHexDump-Screen ***
// **************************************
SCREEN s_fs_hex()
{
delay(500);
ftextout(dme_text + " Fehlerspeicher Detail als HEX-Dump",0,8,1,1);
textout("=============================================================================================",2,0);
LINE("Fehler 1","") {ausgabeFehlerHex( 1,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 2","") {ausgabeFehlerHex( 2,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 3","") {ausgabeFehlerHex( 3,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 4","") {ausgabeFehlerHex( 4,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 5","") {ausgabeFehlerHex( 5,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 6","") {ausgabeFehlerHex( 6,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 7","") {ausgabeFehlerHex( 7,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 8","") {ausgabeFehlerHex( 8,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 9","") {ausgabeFehlerHex( 9,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 10","") {ausgabeFehlerHex(10,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 11","") {ausgabeFehlerHex(11,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 12","") {ausgabeFehlerHex(12,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 13","") {ausgabeFehlerHex(13,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 14","") {ausgabeFehlerHex(14,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 15","") {ausgabeFehlerHex(15,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 16","") {ausgabeFehlerHex(16,1);} // 1 = Fehlerspeicher; 2 = Infospeicher;
}
// ***********************************
// *** InfospeicherHexDump-Screen ***
// ***********************************
SCREEN s_is_hex()
{
delay(500);
ftextout(dme_text + " Infospeicher Detail als HEX-Dump",0,8,1,1);
textout("=============================================================================================",2,0);
LINE("Fehler 1","") {ausgabeFehlerHex( 1,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 2","") {ausgabeFehlerHex( 2,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 3","") {ausgabeFehlerHex( 3,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 4","") {ausgabeFehlerHex( 4,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 5","") {ausgabeFehlerHex( 5,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 6","") {ausgabeFehlerHex( 6,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 7","") {ausgabeFehlerHex( 7,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 8","") {ausgabeFehlerHex( 8,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 9","") {ausgabeFehlerHex( 9,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 10","") {ausgabeFehlerHex(10,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 11","") {ausgabeFehlerHex(11,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 12","") {ausgabeFehlerHex(12,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 13","") {ausgabeFehlerHex(13,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 14","") {ausgabeFehlerHex(14,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 15","") {ausgabeFehlerHex(15,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
LINE("Fehler 16","") {ausgabeFehlerHex(16,2);} // 1 = Fehlerspeicher; 2 = Infospeicher;
}
// ****************************************************************************
// *** Fehlerspeicher Löschen SCREEN ***
// *** 17 07 01 mw Abfrage und Ausstieg hinzu ueberfluessige Variable weg ***
// ****************************************************************************
SCREEN s_fs_loesch()
{
string s1;
int i_temp = 2;
s1 = "";
inputtext( s1, "Soll der Fehlerspeicher wirklich gelöscht werden?","Die OK- oder RETURN-Taste löscht!");
getinputstate( i_temp );
if (dme_r != dme_l) {
if( i_temp == 0) {
sgbd = dme_r;
INPAapiJob(sgbd,"FS_LOESCHEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("FS_LOESCHEN",s1); stop(); }
sgbd = dme_l;
INPAapiJob(sgbd,"FS_LOESCHEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
sgbd = currentSGBD;
if (s1 != "OKAY") { messagebox("FS_LOESCHEN",s1); stop(); }
else {
blankscreen();
ftextout("Fehlerspeicher wurde gelöscht",10,10,1,1);
delay(600);
setmenu(m_fehlersp);
setscreen(s_fs_kurz,TRUE);
}
}
else {
blankscreen();
ftextout("Fehlerspeicher nicht gelöscht",12,10,1,1);
delay(3000);
setmenu(m_fehlersp);
setscreen(s_fs_kurz,TRUE);
}
}
else {
if( i_temp == 0) {
INPAapiJob(sgbd,"FS_LOESCHEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("FS_LOESCHEN",s1); stop(); }
else {
blankscreen();
ftextout("Fehlerspeicher wurde gelöscht",10,10,1,1);
delay(600);
setmenu(m_fehlersp);
setscreen(s_fs_kurz,TRUE);
}
}
else {
blankscreen();
ftextout("Fehlerspeicher nicht gelöscht",12,10,1,1);
delay(3000);
setmenu(m_fehlersp);
setscreen(s_fs_kurz,TRUE);
}
}
setmenu(m_fehlersp);
setscreen(s_fs_kurz,TRUE);
}
// ****************************************************************************
// *** Infospeicher Löschen SCREEN ***
// *** 17 07 01 mw Abfrage und Ausstieg hinzu ueberfluessige Variable weg ***
// ****************************************************************************
SCREEN s_is_loesch()
{
string s1;
int i_temp = 2;
s1 = "";
inputtext( s1, "Soll der Infospeicher wirklich gelöscht werden?","Die OK- oder RETURN-Taste löscht!");
getinputstate( i_temp );
if( i_temp == 0)
{
if (dme_r != dme_l) {
INPAapiJob(dme_r,"FS_LOESCHEN","","");
INPAapiJob(dme_l,"FS_LOESCHEN","","");
}
else INPAapiJob(sgbd,"FS_LOESCHEN","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("FS_LOESCHEN",s1); stop(); }
else
{
blankscreen();
ftextout("Infospeicher wurde gelöscht",10,10,1,1);
delay(600);
setmenu(m_infosp);
setscreen(s_is_kurz,TRUE);
}
}
else
{
blankscreen();
ftextout("Infospeicher nicht gelöscht",12,10,1,1);
delay(3000);
setmenu(m_infosp);
setscreen(s_is_kurz,TRUE);
}
setmenu(m_infosp);
setscreen(s_is_kurz,TRUE);
}
// **********************
// *** P-Codes-Screen ***
// **********************
SCREEN s_obd()
{
string f1;
int y1, z1;
y1=1;inttostring(y1,f1);z1=1;
ftextout("OBD-Modes " + dme_text,0,20,z1,1);z1=z1+3;
textout("========================================================================================",2,0);
textout("< F" + f1 +" > Status OBD Mode 1 PID 01" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 2 (nicht unterstützt)" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 3" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 4 (nicht unterstützt)" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 5 (nicht unterstützt)" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 6 (nicht unterstützt)" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 7" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 8 (nicht unterstützt)" ,z1, 5);y1=y1+1;inttostring(y1,f1);z1=z1+1;
textout("< F" + f1 +" > Status OBD Mode 9" ,z1, 5);z1=z1+2;
textout("< F10 > Zurück" ,z1, 5);
textout("< Shift > + < F10> INPA beenden" ,z1,45);
datei_rbm = "";
stop();
}
// *************************************
// *** Stauts OBD Mode1 PID01-Screen ***
// *************************************
SCREEN s_mode_1()
{
int i1,z1;
bool b1;
string s1, s2, pcode;
i1 = 0;
z1 = 0;
ftextout(dme_text + " - Scantoolausgabe",z1,22,1,1);z1=z1+2;
ftextout("Monitorfunktionen und Readiness Flags",z1,26,0,1);z1=z1+1;
textout("=========================================================================================",z1,0);z1=z1+4;
INPAapiJob(sgbd,"_STATUS_OBD_MODE_01","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("_STATUS_OBD_MODE_01",vartext1);
stop();
}
LINE("Mil-Status,Anzahl gespeicherter P-Codes","STAT_MIL_WERT;STAT_ANZAHL_PCODE_WERT;")
{
text(0, 0,"MIL - Status");
ergebnisDigitalAusgabe("STAT_MIL_WERT", 2, 0," Ja "," Nein ");
text(0,45,"Anzahl gespeicherter P-Codes");
INPAapiResultInt(i1,"STAT_ANZAHL_PCODE_WERT",1);
inttostring(i1,s1);
textout(s1,1,45);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Verbrennungsaussetzer,Kraftstoffsystem","STAT_MONITOR_VA_WERT;STAT_READINESS_VA_WERT;STAT_MONITOR_KSS_WERT;STAT_READINESS_KSS_WERT")
{
text(0, 8,"Verbrennungsaussetzer");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_VA_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_VA_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_VA_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Kraftstoffsystem");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_KSS_WERT", 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_KSS_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_KSS_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Übrige Komponenten","STAT_MONITOR_CC_WERT;STAT_READINESS_CC_WERT")
{
text(0, 8,"Bauteile");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_CC_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_CC_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_CC_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
textout("=========================================================================================",4,0);
}
LINE("Katalysator, Katalysatorheizung","STAT_MONITOR_KAT_WERT;STAT_READINESS_KAT_WERT;STAT_MONITOR_KH_WERT;STAT_READINESS_KH_WERT")
{
text(0, 8,"Katalysator");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_KAT_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_KAT_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_KAT_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Katalysatorheizung");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_KH_WERT", 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_KH_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_KH_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Tankentlüftung, Sekundärluft","STAT_MONITOR_TEV_WERT;STAT_READINESS_TEV_WERT;STAT_MONITOR_SLS_WERT;STAT_READINESS_SLS_WERT")
{
text(0, 8,"Tankentlüftung");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_TEV_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_TEV_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_TEV_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Sekundärluft");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_SLS_WERT", 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_SLS_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_SLS_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Lambdasonde Überwachung,Lambdasondenheizung Überwachung","STAT_MONITOR_LS_WERT;STAT_READINESS_LS_WERT;STAT_MONITOR_LSH_WERT;STAT_READINESS_LSH_WERT")
{
text(0, 8,"Lambdasonde");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_LS_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_LS_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_LS_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Lambdasondenheizung");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_LSH_WERT", 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_LSH_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_LSH_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Klimaanlage, Abgasrückführung","STAT_MONITOR_KLIMA_WERT;STAT_READINESS_KLIMA_WERT;STAT_MONITOR_ARS_WERT;STAT_READINESS_ARS_WERT")
{
text(0, 8,"Klimaanlage");
text(1, 0,"MONITOR");
text(1,20,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_KLIMA_WERT", 2, 0," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_KLIMA_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_KLIMA_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,20," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,20," Ja "," Nicht unterstützt");
}
text(0,52,"Abgasrückführung");
text(1,44,"MONITOR");
text(1,64,"READINESS");
ergebnisDigitalAusgabe("STAT_MONITOR_ARS_WERT", 2,44," Ein "," Aus ");
INPAapiResultInt(i1,"STAT_MONITOR_ARS_WERT",1);
if (i1 != 0)
{
INPAapiResultInt(i1,"STAT_READINESS_ARS_WERT",1);
if (i1 == 1) {b1 = 0;} else {b1 = 1;}
digitalout(b1, 2,64," Ja "," Nein ");
}
else
{
b1 = 0;
digitalout(b1, 2,64," Ja "," Nicht unterstützt");
}
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
}
// **********************************
// *** P-Codes-lesen-Mode3-Screen ***
// **********************************
SCREEN s_mode_3()
{
int i,r,z1;
string s1, s2, pcode;
i = 1;
r = 0;
z1 = 0;
ftextout(dme_text + " - P-Codes lesen Mode 3",z1,15,1,1);z1=z1+2;
textout("========================================================================================",z1,0);z1=z1+4;
INPAapiJob(sgbd,"_STATUS_OBD_MODE_03","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("_STATUS_OBD_MODE_03",vartext1);
stop();
}
else
{
INPAapiResultInt(r,"STAT_PCODE_M3_ANZAHL",1);
if(r != 0)
{
textout("-----------------------------------------------------------------------------------------------------------------------------------------------------------------",z1,0);z1=z1+1;
while(i <= r)
{
inttostring(i,s1);
s2=s1 + ". P-Code";
textout(s2,z1,0);
s2="STAT_PCODE_" + s1 + "_HEX";
INPAapiResultText(pcode,s2,1,"");
textout("P-Code-Hex: " + pcode,z1,10);
z1=z1+1;
s2="STAT_PCODE_" + s1 + "_TEXT";
INPAapiResultText(pcode,s2,1,"");
textout(pcode,z1,0);
i=i+1;
z1=z1+1;
textout("-----------------------------------------------------------------------------------------------------------------------------------------------------------------",z1,0);z1=z1+1;
}
}
else
{
ftextout("Es sind keine P-Codes gespeichert!",12,15,1,1);
}
}
}
// **********************************
// *** P-Codes-lesen-Mode7-Screen ***
// **********************************
SCREEN s_mode_7()
{
int i,r,z1;
string s1, s2, pcode;
i = 1;
r = 0;
z1 = 0;
ftextout(dme_text + " - P-Codes lesen Mode 7",z1,15,1,1);z1=z1+2;
textout("========================================================================================",z1,0);z1=z1+4;
INPAapiJob(sgbd,"_STATUS_OBD_MODE_07","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("_STATUS_OBD_MODE_07",vartext1);
stop();
}
else
{
INPAapiResultInt(r,"STAT_PCODE_M7_ANZAHL",1);
if(r != 0)
{
textout("-----------------------------------------------------------------------------------------------------------------------------------------------------------------",z1,0);z1=z1+1;
while(i <= r)
{
inttostring(i,s1);
s2=s1 + ". P-Code";
textout(s2,z1,0);
s2="STAT_PCODE_" + s1 + "_HEX";
INPAapiResultText(pcode,s2,1,"");
textout("P-Code-Hex: " + pcode,z1,10);
z1=z1+1;
s2="STAT_PCODE_" + s1 + "_TEXT";
INPAapiResultText(pcode,s2,1,"");
textout(pcode,z1,0);
i=i+1;
z1=z1+1;
textout("-----------------------------------------------------------------------------------------------------------------------------------------------------------------",z1,0);z1=z1+1;
}
}
else
{
ftextout("Es sind keine P-Codes gespeichert!",12,15,1,1);
}
}
}
// *************************************
// *** RBM-Ratios-lesen-Mode9-Screen ***
// *************************************
SCREEN s_mode_9()
{
int z1;
z1=1;
ftextout(dme_text + " - RBM-Ratios lesen",z1,20,1,1);z1=z1+2;
textout("========================================================================================",z1,0);z1=z1+2;
textout("< F1 > RBM-Mode 9 lesen" ,z1, 5);z1=z1+1;
textout("< F2 > RBM-Block 1 lesen" ,z1, 5);z1=z1+1;
textout("< F3 > RBM-Block 2 lesen" ,z1, 5);z1=z1+1;
textout("< F8 > Ausgabe der RBM-Werte in Datei" ,z1, 5);z1=z1+1;
textout("< F10 > Zurück" ,z1, 5);
textout("< Shift > + < F10> INPA beenden" ,z1,45);
}
// *************************************
// *** RBM-Ratios-lesen-Mode9-Screen ***
// *************************************
SCREEN s_rbmmode9()
{
int i1,z1;
real r,n,z;
string s_temp,s1;
z1 = 0;
datei_rbm = "";
ftextout(dme_text + " - RBM-Ratios lesen Mode 9",z1,15,1,1);z1=z1+2;
textout("========================================================================================",z1,0);z1=z1+4;
INPAapiJob(sgbd,"_STATUS_OBD_MODE_09","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
INPAapiJob(sgbd,"_STATUS_RBMMODE9","",""); // Statusergebnisse ermitteln
INPAapiResultText(vartext1,"JOB_STATUS",1,"");
if (vartext1 != "OKAY")
{
messagebox("_STATUS_OBD_MODE_09",vartext1);
stop();
}
}
LINE("OBD Monitoring Conditions Encountered Counts, Anzahl Motorstarts","STAT_OBDCOND;STAT_IGNCNTR")
{
vartext1 = "OBD-Zyklen:";
textout(vartext1,1,0);
INPAapiResultInt(i1,"STAT_OBDCOND",1);
inttostring(i1, s1);
textout(s1,1,35);
vartext1 = "Anzahl Motorstarts:";
textout(vartext1,1,45);
INPAapiResultInt(i1,"STAT_IGNCNTR",1);
inttostring(i1, s1);
textout(s1,1,80);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",3,0);
}
LINE("Überwachung Katalysator Bank 1, Überwachung Katalysator Bank 2","STAT_CATCOMP1;STAT_CATCOND1;STAT_CATCOMP2;STAT_CATCOND2")
{
Ausgabe_RBM("lang","_STATUS_OBD_MODE_09","Überwachung Katalysator Bank 1","STAT_CATCOMP1","STAT_CATCOND1","Überwachung Katalysator Bank 2","STAT_CATCOMP2","STAT_CATCOND2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Lambdasonden Bank 1, Überwachung Lambdasonden Bank 2","STAT_O2SCOMP1;STAT_O2SCOND1;STAT_O2SCOMP2;STAT_O2SCOND2")
{
Ausgabe_RBM("lang","_STATUS_OBD_MODE_09","Überwachung Lambdasonden Bank 1","STAT_O2SCOMP1","STAT_O2SCOND1","Überwachung Lambdasonden Bank 2","STAT_O2SCOMP2","STAT_O2SCOND2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Abgasrückführung, Überwachung Ansauganlage","STAT_EGRCOMP;STAT_EGRCOND;STAT_AIRCOMP1;STAT_AIRCOND1")
{
Ausgabe_RBM("lang","_STATUS_OBD_MODE_09","Überwachung Abgasrückführung","STAT_EGRCOMP","STAT_EGRCOND","Überwachung Ansauganlage","STAT_AIRCOMP1","STAT_AIRCOND1",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Tankentlüftung","STAT_EVAPCOMP;STAT_EVAPCOND")
{
Ausgabe_RBM("kurz","_STATUS_OBD_MODE_09","Überwachung Tankentlüftung","STAT_EVAPCOMP","STAT_EVAPCOND","","","",0);
textout("========================================================================================",4,0);
}
}
// *************************************
// *** RBM-Ratios-lesen-Mode9-Screen ***
// *************************************
SCREEN s_rbmms1()
{
int i1,z1;
real r,n,z;
string s_temp,s1;
z1 = 0;
datei_rbm = "";
ftextout(dme_text + " - RBM-Ratios lesen Block 1 (nicht reportpflichtig)",z1,3,1,1);z1=z1+2;
textout("========================================================================================",z1,0);z1=z1+4;
LINE("Überwachung Katalysator Sauerstoffspeicherfaehigkeit Bank 1, Überwachung Katalysator Sauerstoffspeicherfaehigkeit Bank 2","STAT_CTR_COMP_RBM_CAT_DIAG_1;STAT_CTR_CDN_RBM_CAT_DIAG_1;STAT_CTR_COMP_RBM_CAT_DIAG_2;STAT_CTR_CDN_RBM_CAT_DIAG_1")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Katalysator Sauerstoffspeicherfaehigkeit Bank 1","STAT_CTR_COMP_RBM_CAT_DIAG_1","STAT_CTR_CDN_RBM_CAT_DIAG_1","Überwachung Katalysator Sauerstoffspeicherfaehigkeit Bank 2","STAT_CTR_COMP_RBM_CAT_DIAG_2","STAT_CTR_CDN_RBM_CAT_DIAG_1",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Dynamikpruefung lineare Lamdasonden Bank 1, Überwachung Dynamikpruefung lineare Lamdasonden Bank 2","STAT_CTR_COMP_RBM_DYN_VLD_LS_UP_1;STAT_CTR_CDN_RBM_DYN_VLD_LS_UP_1;STAT_CTR_COMP_RBM_DYN_VLD_LS_UP_2;STAT_CTR_CDN_RBM_DYN_VLD_LS_UP_2")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Dynamikpruefung lineare Lamdasonden Bank 1","STAT_CTR_COMP_RBM_DYN_VLD_LS_UP_1","STAT_CTR_CDN_RBM_DYN_VLD_LS_UP_1","Überwachung Dynamikpruefung lineare Lamdasonden Bank 2","STAT_CTR_COMP_RBM_DYN_VLD_LS_UP_2","STAT_CTR_CDN_RBM_DYN_VLD_LS_UP_2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Lamdasondensignalverschiebung mager Bank 1, Überwachung Lamdasondensignalverschiebung mager Bank 2","STAT_CTR_COMP_RBM_SHIFT_AFL_LSL_UP_1;STAT_CTR_CDN_RBM_SHIFT_AFL_LSL_UP_1;STAT_CTR_COMP_RBM_SHIFT_AFL_LSL_UP_2;STAT_CTR_CDN_RBM_SHIFT_AFL_LSL_UP_2")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Lamdasondensignalverschiebung mager Bank 1","STAT_CTR_COMP_RBM_SHIFT_AFL_LSL_UP_1","STAT_CTR_CDN_RBM_SHIFT_AFL_LSL_UP_1","Überwachung Lamdasondensignalverschiebung mager Bank 2","STAT_CTR_COMP_RBM_SHIFT_AFL_LSL_UP_2","STAT_CTR_CDN_RBM_SHIFT_AFL_LSL_UP_2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Lamdasondensignalverschiebung fett Bank 1, Überwachung Lamdasondensignalverschiebung fett Bank 2","STAT_CTR_COMP_RBM_SHIFT_AFR_LSL_UP_1;STAT_CTR_CDN_RBM_SHIFT_AFR_LSL_UP_1;STAT_CTR_COMP_RBM_SHIFT_AFR_LSL_UP_2;STAT_CTR_CDN_RBM_SHIFT_AFR_LSL_UP_2")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Lamdasondensignalverschiebung fett Bank 1","STAT_CTR_COMP_RBM_SHIFT_AFR_LSL_UP_1","STAT_CTR_CDN_RBM_SHIFT_AFR_LSL_UP_1","Überwachung Lamdasondensignalverschiebung fett Bank 2","STAT_CTR_COMP_RBM_SHIFT_AFR_LSL_UP_2","STAT_CTR_CDN_RBM_SHIFT_AFR_LSL_UP_2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung lineare Lamdasonde korrekt verbaut Bank 1, Überwachung lineare Lamdasonde korrekt verbaut Bank 2","STAT_CTR_COMP_RBM_AIR_LSL_UP_1;STAT_CTR_CDN_RBM_AIR_LSL_UP_1;STAT_CTR_COMP_RBM_AIR_LSL_UP_2;STAT_CTR_CDN_RBM_AIR_LSL_UP_2")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung lineare Lamdasonde korrekt verbaut Bank 1","STAT_CTR_COMP_RBM_AIR_LSL_UP_1","STAT_CTR_CDN_RBM_AIR_LSL_UP_1","Überwachung lineare Lamdasonde korrekt verbaut Bank 2","STAT_CTR_COMP_RBM_AIR_LSL_UP_2","STAT_CTR_CDN_RBM_AIR_LSL_UP_2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Tankfeinleckpruefung (DMTL), Überwachung mechanische Schwergaengigkeit VANOS (Einlass)","STAT_CTR_COMP_RBM_SMALL_LEAK;STAT_CTR_CDN_RBM_SMALL_LEAK;STAT_CTR_COMP_RBM_MEC_IVVT_IN;STAT_CTR_CDN_RBM_MEC_IVVT_IN")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung Tankfeinleckpruefung (DMTL)","STAT_CTR_COMP_RBM_SMALL_LEAK","STAT_CTR_CDN_RBM_SMALL_LEAK","Überwachung mechanische Schwergaengigkeit VANOS (Einlass)","STAT_CTR_COMP_RBM_MEC_IVVT_IN","STAT_CTR_CDN_RBM_MEC_IVVT_IN",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung mechanische Schwergaengigkeit VANOS (Auslass), Überwachung sprunghafte Veraenderung der Steuerzeiten Nockenwelleneinlass","STAT_CTR_COMP_RBM_MEC_IVVT_EX;STAT_CTR_CDN_RBM_MEC_IVVT_EX;STAT_CTR_COMP_RBM_TOOTH_OFF_IN_1;STAT_CTR_CDN_RBM_TOOTH_OFF_IN_1")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung mechanische Schwergaengigkeit VANOS (Auslass)","STAT_CTR_COMP_RBM_MEC_IVVT_EX","STAT_CTR_CDN_RBM_MEC_IVVT_EX","Überwachung sprunghafte Veraenderung der Steuerzeiten Nockenwelleneinlass","STAT_CTR_COMP_RBM_TOOTH_OFF_IN_1","STAT_CTR_CDN_RBM_TOOTH_OFF_IN_1",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung sprunghafte Veraenderung der Steuerzeiten Nockenwellenauslass, Überwachung Sekundaerluftsystem","STAT_CTR_COMP_RBM_TOOTH_OFF_EX_1;STAT_CTR_CDN_RBM_TOOTH_OFF_EX_1;STAT_CTR_COMP_RBM_SA;STAT_CTR_CDN_RBM_SA")
{
Ausgabe_RBM("lang","STATUS_RBMMS1","Überwachung sprunghafte Veraenderung der Steuerzeiten Nockenwellenauslass","STAT_CTR_COMP_RBM_TOOTH_OFF_EX_1","STAT_CTR_CDN_RBM_TOOTH_OFF_EX_1","Überwachung Sekundaerluftsystem","STAT_CTR_COMP_RBM_SA","STAT_CTR_CDN_RBM_SA",0);
textout("========================================================================================",4,0);
}
}
// *************************************
// *** RBM-Ratios-lesen-Mode9-Screen ***
// *************************************
SCREEN s_rbmms2()
{
int i1,z1;
real r,n,z;
string s_temp,s1;
z1 = 0;
datei_rbm = "";
ftextout(dme_text + " - RBM-Ratios lesen Block 2 (nicht reportpflichtig)",z1,3,1,1);z1=z1+2;
textout("========================================================================================",z1,0);z1=z1+4;
LINE("Überwachung Tankentlueftungssystem, Überwachung Tankgrobleckpruefung (DMTL)","STAT_CTR_COMP_RBM_DIAGCPS;STAT_CTR_CDN_RBM_DIAGCPS;STAT_CTR_COMP_RBM_ROUGH_LEAK;STAT_CTR_CDN_RBM_ROUGH_LEAK")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Tankentlueftungssystem","STAT_CTR_COMP_RBM_DIAGCPS","STAT_CTR_CDN_RBM_DIAGCPS","Überwachung Tankgrobleckpruefung (DMTL)","STAT_CTR_COMP_RBM_ROUGH_LEAK","STAT_CTR_CDN_RBM_ROUGH_LEAK",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Diagnosemodul Tankleckage (DMTL), Überwachung Thermostat","STAT_CTR_COMP_RBM_DMTLM;STAT_CTR_CDN_RBM_DMTLM;STAT_CTR_COMP_RBM_TH;STAT_CTR_CDN_RBM_TH")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Diagnosemodul Tankleckage (DMTL)","STAT_CTR_COMP_RBM_DMTLM","STAT_CTR_CDN_RBM_DMTLM","Überwachung Thermostat","STAT_CTR_COMP_RBM_TH","STAT_CTR_CDN_RBM_TH",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Motortemperatur Plausibilitaet, Überwachung Motortemperatur haengendes Sensorsignal","STAT_CTR_COMP_RBM_TCO_PLAUS;STAT_CTR_CDN_RBM_TCO_PLAUS;STAT_CTR_COMP_RBM_TCO_STUCK;STAT_CTR_CDN_RBM_TCO_STUCK")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Motortemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TCO_PLAUS","STAT_CTR_CDN_RBM_TCO_PLAUS","Überwachung Motortemperatur haengendes Sensorsignal","STAT_CTR_COMP_RBM_TCO_STUCK","STAT_CTR_CDN_RBM_TCO_STUCK",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Kuehlerauslasstemperatur Plausibilitaet, Überwachung Umgebungstemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TCO_2_PLAUS;STAT_CTR_CDN_RBM_TCO_2_PLAUS;STAT_CTR_COMP_RBM_TAM_PLAUS;STAT_CTR_CDN_RBM_TAM_PLAUS")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Kuehlerauslasstemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TCO_2_PLAUS","STAT_CTR_CDN_RBM_TCO_2_PLAUS","Überwachung Umgebungstemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TAM_PLAUS","STAT_CTR_CDN_RBM_TAM_PLAUS",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Geschwindigkeit Plausibilitaet, Überwachung Tankfuellstand","STAT_CTR_COMP_RBM_VS_PLAUS;STAT_CTR_CDN_RBM_VS_PLAUS;STAT_CTR_COMP_RBM_FTL_OBD;STAT_CTR_CDN_RBM_FTL_OBD")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Geschwindigkeit Plausibilitaet","STAT_CTR_COMP_RBM_VS_PLAUS","STAT_CTR_CDN_RBM_VS_PLAUS","Überwachung Tankfuellstand","STAT_CTR_COMP_RBM_FTL_OBD","STAT_CTR_CDN_RBM_FTL_OBD",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Lamdasondenheizung nach Katalysator Bank 1, Überwachung Lamdasondenheizung nach Katalysator Bank 2","STAT_CTR_COMP_RBM_OBD_LSH_DOWN_1;STAT_CTR_CDN_RBM_OBD_LSH_DOWN_1;STAT_CTR_COMP_RBM_OBD_LSH_DOWN_2;STAT_CTR_CDN_RBM_OBD_LSH_DOWN_2")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Lamdasondenheizung nach Katalysator Bank 1","STAT_CTR_COMP_RBM_OBD_LSH_DOWN_1","STAT_CTR_CDN_RBM_OBD_LSH_DOWN_1","Überwachung Lamdasondenheizung nach Katalysator Bank 2","STAT_CTR_COMP_RBM_OBD_LSH_DOWN_2","STAT_CTR_CDN_RBM_OBD_LSH_DOWN_2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Alterung lineare Lamdasonde Bank 1, Überwachung Alterung lineare Lamdasonde Bank 2","STAT_CTR_COMP_RBM_OBD_VLD_LSH_UP_1;STAT_CTR_CDN_RBM_OBD_VLD_LSH_UP_1;STAT_CTR_COMP_RBM_OBD_VLD_LSH_UP_2;STAT_CTR_CDN_RBM_OBD_VLD_LSH_UP_2")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Alterung lineare Lamdasonde Bank 1","STAT_CTR_COMP_RBM_OBD_VLD_LSH_UP_1","STAT_CTR_CDN_RBM_OBD_VLD_LSH_UP_1","Überwachung Alterung lineare Lamdasonde Bank 2","STAT_CTR_COMP_RBM_OBD_VLD_LSH_UP_2","STAT_CTR_CDN_RBM_OBD_VLD_LSH_UP_2",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Kupplungsschalter, Überwachung Leerlaufregler","STAT_CTR_COMP_RBM_CS;STAT_CTR_CDN_RBM_CS;STAT_CTR_COMP_RBM_ISC;STAT_CTR_CDN_RBM_ISC")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Kupplungsschalter","STAT_CTR_COMP_RBM_CS","STAT_CTR_CDN_RBM_CS","Überwachung Leerlaufregler","STAT_CTR_COMP_RBM_ISC","STAT_CTR_CDN_RBM_ISC",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Luftmassenmesser, Überwachung Ansauglufttemperatur Plausibilitaet","STAT_CTR_COMP_RBM_MAF;STAT_CTR_CDN_RBM_MAF;STAT_CTR_COMP_RBM_TIA_PLAUS;STAT_CTR_CDN_RBM_TIA_PLAUS")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Luftmassenmesser","STAT_CTR_COMP_RBM_MAF","STAT_CTR_CDN_RBM_MAF","Überwachung Ansauglufttemperatur Plausibilitaet","STAT_CTR_COMP_RBM_TIA_PLAUS","STAT_CTR_CDN_RBM_TIA_PLAUS",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Umgebungsdruck Plausibilitaet, Überwachung Plausibilitaet Drosselklappeposition zu Signal Luftmassenmesser","STAT_CTR_COMP_RBM_AMP_PLAUS;STAT_CTR_CND_RBM_AMP_PLAUS;STAT_CTR_COMP_RBM_LOAD_TPS_PLAUS;STAT_CTR_CDN_RBM_LOAD_TPS_PLAUS")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Umgebungsdruck Plausibilitaet","STAT_CTR_COMP_RBM_AMP_PLAUS","STAT_CTR_CND_RBM_AMP_PLAUS","Überwachung Plausibilitaet Drosselklappeposition zu Signal Luftmassenmesser","STAT_CTR_COMP_RBM_LOAD_TPS_PLAUS","STAT_CTR_CDN_RBM_LOAD_TPS_PLAUS",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Differenzdrucksensor Sauganlage zu Umgebung Plausibilitaet, Überwachung Abweichung Lambdaregelung Bank 1","STAT_CTR_COMP_RBM_MAP_DIP_PLAUS;STAT_CTR_CDN_RBM_MAP_DIP_PLAUS;STAT_CTR_COMP_RBM_VLS_DOWN_DIF_1;STAT_CTR_CDN_RBM_VLS_DOWN_DIF_1")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Differenzdrucksensor Sauganlage zu Umgebung Plausibilitaet","STAT_CTR_COMP_RBM_MAP_DIP_PLAUS","STAT_CTR_CDN_RBM_MAP_DIP_PLAUS","Überwachung Abweichung Lambdaregelung Bank 1","STAT_CTR_COMP_RBM_VLS_DOWN_DIF_1","STAT_CTR_CDN_RBM_VLS_DOWN_DIF_1",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Abweichung Lambdaregelung Bank 2, Überwachung binaere Lamdasonde nach Katalysator Bank 1","STAT_CTR_COMP_RBM_VLS_DOWN_DIF_2;STAT_CTR_CDN_RBM_VLS_DOWN_DIF_2;STAT_CTR_COMP_RBM_CHK_LS_DOWN_1;STAT_CTR_CDN_RBM_CHK_LS_DOWN_1")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Abweichung Lambdaregelung Bank 2","STAT_CTR_COMP_RBM_VLS_DOWN_DIF_2","STAT_CTR_CDN_RBM_VLS_DOWN_DIF_2","Überwachung binaere Lamdasonde nach Katalysator Bank 1","STAT_CTR_COMP_RBM_CHK_LS_DOWN_1","STAT_CTR_CDN_RBM_CHK_LS_DOWN_1",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung binaere Lamdasonde nach Katalysator Bank 2, Überwachung Schaltzeit binaere Lamdasonde Bank 1","STAT_CTR_COMP_RBM_CHK_LS_DOWN_2;STAT_CTR_CDN_RBM_CHK_LS_DOWN_2;STAT_CTR_COMP_RBM_SWT_LS_DOWN_1;STAT_CTR_CDN_RBM_SWT_LS_DOWN_1")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung binaere Lamdasonde nach Katalysator Bank 2","STAT_CTR_COMP_RBM_CHK_LS_DOWN_2","STAT_CTR_CDN_RBM_CHK_LS_DOWN_2","Überwachung Schaltzeit binaere Lamdasonde Bank 1","STAT_CTR_COMP_RBM_SWT_LS_DOWN_1","STAT_CTR_CDN_RBM_SWT_LS_DOWN_1",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Schaltzeit binaere Lamdasonde Bank 2, Überwachung Abstellzeit","STAT_CTR_COMP_RBM_SWT_LS_DOWN_2;STAT_CTR_CDN_RBM_SWT_LS_DOWN_2;STAT_CTR_COMP_RBM_T_ES;STAT_CTR_CDN_RBM_T_ES")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Schaltzeit binaere Lamdasonde Bank 2","STAT_CTR_COMP_RBM_SWT_LS_DOWN_2","STAT_CTR_CDN_RBM_SWT_LS_DOWN_2","Überwachung Abstellzeit","STAT_CTR_COMP_RBM_T_ES","STAT_CTR_CDN_RBM_T_ES",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Drosselklappenlagesensoren, Überwachung Leerlaufregler bei Kaltstart","STAT_CTR_COMP_RBM_TPS;STAT_CTR_CDN_RBM_TPS;STAT_CTR_COMP_RBM_ISC_CST;STAT_CTR_CDN_RBM_ISC_CST")
{
Ausgabe_RBM("lang","STATUS_RBMMS2","Überwachung Drosselklappenlagesensoren","STAT_CTR_COMP_RBM_TPS","STAT_CTR_CDN_RBM_TPS","Überwachung Leerlaufregler bei Kaltstart","STAT_CTR_COMP_RBM_ISC_CST","STAT_CTR_CDN_RBM_ISC_CST",0);
textout("-------------------------------------------------------------------------------------------------------------------------------------------------------------------",4,0);
}
LINE("Überwachung Momentenreserve bei Kaltstart","STAT_CTR_COMP_RBM_TQ_CST;STAT_CTR_CDN_RBM_TQ_CST")
{
Ausgabe_RBM("kurz","STATUS_RBMMS2","Überwachung Momentenreserve bei Kaltstart","STAT_CTR_COMP_RBM_TQ_CST","STAT_CTR_CDN_RBM_TQ_CST","","","",0);
textout("========================================================================================",4,0);
}
}
// *********************
// *** Status-Screen ***
// *********************
SCREEN s_status() {
ftextout("Status lesen",1,0,1,0);
ftextout("",3,0,0,0);
ftextout("< F1 > Digitalwerte" , 4, 5,0,1);
// ftextout("< Shift > + < F1 > Saugrohrmodell" , 4,45,0,1);
// ftextout("< F2 > Analoge Messwertblöcke" , 6, 5,0,1);
// ftextout("< Shift > + < F2 > NOx-Sensor" , 6,45,0,1);
// ftextout("< F3 > Adaption Drosselklappe" , 8, 5,0,1);
// ftextout("< Shift > + < F3 > Abgasrückführungsventil" , 8,45,0,1);
// ftextout("< F4 > Gebersignale VANOS" ,10, 5,0,1);
// ftextout("< Shift > + < F4 > Ladedruckregelung (nur N54)" ,10,45,0,1);
// ftextout("< F5 > IBS - Powermanagement" ,12, 5,0,1);
// ftextout("< Shift > + < F5 > Neuronale Netze" ,12,45,0,1);
// ftextout("< F6 > Abgasregelung - Lambda Sonden" ,14, 5,0,1);
ftextout("< F7 > Laufunruhe" ,16, 5,0,1);
if (EAversion == TRUE) ftextout("< Shift > + < F7> Überdrehzahl" ,16,45,0,1);
// ftextout("< F8 > Teilergebnisse wählen" ,18, 5,0,1);
if (EAversion == TRUE) ftextout("< Shift > + < F8> Übertemperatur" ,18,45,0,1);
// ftextout("< F9 > Bildschirmdruck" ,20, 5,0,1);
// ftextout("< Shift > + < F9> Auswahl löschen" ,20,45,0,1);
ftextout("< F10> Zurück" ,22, 5,0,1);
ftextout("< Shift > + < F10> INPA beenden" ,22,45,0,1);
datei_ident = "";
stop();
}
// ****************************
// *** Messwerteblock lesen ***
// ****************************
SCREEN s_mwb()
{
ftextout("Messwerteblock lesen",1,0,1,0);
// ftextout("< F1 > MWB 1" , 4, 5,0,1);
// ftextout("< Shift > + < F1 > MWB Öl" , 4,45,0,1);
// ftextout("< F2 > OBD II" , 6, 5,0,1);
// ftextout("< F3 > MWB 3" , 8, 5,0,1);
// ftextout("< F4 > ADC Rohwerte" ,10, 5,0,1);
// ftextout("< Shift > + < F4 > VS Block" ,10,45,0,1);
// ftextout("< F5 > Rohwerte" ,12, 5,0,1);
// ftextout("< F6 > MWB 6" ,14, 5,0,1);
// ftextout("< F7 > DDLI.TXT definiert" ,16, 5,0,1);
// ftextout("< F8 > Teilergebnisse wählen" ,18, 5,0,1);
// ftextout("< Shift > + < F8> Auswahl löschen" ,18,45,0,1);
ftextout("< F9 > Bildschirmdruck" ,20, 5,0,1);
ftextout("< F10> Ende" ,22, 5,0,1);
ftextout("< Shift > + < F10> INPA beenden" ,22,45,0,1);
stop();
}
// *******************************
// *** Messwertblock 0 Analog1 ***
// *******************************
SCREEN s_f0()
{
ftextout("Messwertblock 1",0,0,1,0);
// INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",",,,,,,","");
// INPAapiCheckJobStatus("OKAY");
LINE("Kl_87, Geschwindigkeit","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4609,0x5AB1","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 26.0, 9.0, 15.0,"4.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 0.0, 260.0, 0.0, 200.0,"3.0");
text(2,72,vartext2);
}
LINE("Drehzahl,LL_Soll","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4807,0x4808","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2,0, 0.0, 8200.0, 0.0, 6000.0,"4.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40,0.0, 2600.0, 0.0, 1600.0,"4.0");
text(2,72,vartext2);
}
LINE("MotorTemp, KühlmittelTemp","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5AB7,0x5A21","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, -50.0, 150.0, -30.0, 120.0,"5.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, -50.0, 150.0, -30.0, 120.0,"5.1");
text(2,72,vartext2);
}
LINE("AnsaugTemp, ÖlTemp","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5AB6,0x4402","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, -50.0, 130.0, -50.0, 130.0,"5.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, -40.0, 160.0, -40.0, 140.0,"5.0");
text(2,72,vartext2);
}
LINE("Luftmasse, LuftDruck","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5ABC,0x4201","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, 0.0, 800.0, 0.0, 800.0,"5.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 800.0, 1200.0, 800.0, 1200.0,"6.1");
text(2,72,vartext2);
}
LINE("SollWert_DK, Fahrpedal","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A24,0x5A29","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, 0.0, 130.0, 0.0, 130.0,"5.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 0.0, 100.0, 0.0, 100.0,"5.1");
text(2,72,vartext2);
}
LINE("DK_Poti1, DK_Poti2","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A06,0x5A07","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text(2,72,vartext2);
}
}
// ****************************
// *** Messwertblock 1 Test ***
// ****************************
SCREEN s_f1()
{
ftextout("OBD II Messwerte SAE J1979",0,0,1,0);
// INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",",,,,,,,","");
// INPAapiCheckJobStatus("OKAY");
LINE("Lambda Status Bank 1, Lambda Status Bank 2","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5802,0x5803","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_STRING",1,"");
text(1,0,vartext1);
text(2,0,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_STRING",1,"");
text(1,40,vartext1);
text(2,40,vartext2);
}
LINE("Calculated load, Motor Temperatur","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5804,0x5805","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2,0, 0.0, 100.0, 0.0, 100.0,"4.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2,40,-40.0, 215.0, -40.0, 125.0,"3.0");
text(2,72,vartext2);
}
LINE("Lambda Control 1, Lambda Adaption 1","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5806,0x5807","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,2, 0, -100.0, 100.0, -50.0, 50.0,"4.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2,40, -100.0, 100.0, -50.0, 50.0,"4.1");
text(2,72,vartext2);
}
LINE("Lambda Control 2, Lambda Adaption 2","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5808,0x5809","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp,2, 0, -100.0, 100.0, -50.0, 50.0,"4.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp,2,40, -100.0, 100.0, -50.0, 50.0,"4.1");
text(2,72,vartext2);
}
LINE("Raildruck, SaugrohrDruck","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5876,0x5877,0x580B","");
INPAapiCheckJobStatus("OKAY");
vartext1 = "Raildruck OBD";
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(varReal,"STAT_MESSWERT0_WERT",1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
r_temp = varReal + r_temp;
analogout(r_temp, 2,0, 0.0, 25000.0, 0.0, 22500.0,"6.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0.0, 255.0, 0.0, 255.0,"3.0");
text(2,72,vartext2);
}
LINE("Drehzahl, Geschwindigkeit","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x580C,0x580D","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2,0, 0.0, 8200.0, 0.0, 6000.0,"4.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0.0, 250.0, 0.0, 250.0,"3.0");
text(2,72,vartext2);
}
LINE("Zündzeit, AnsaugluftTemp","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x580E,0x580F","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2,0, -65.0, 65.0, -65.0, 65.0,"5.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, -40.0, 150.0, -40.0, 110.0,"3.0");
text(2,72,vartext2);
}
LINE("Luftdurchsatz, ","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5810","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2,0, 0.0, 650.0, 0.0, 650.0,"3.0");
text(2,31,vartext2);
delay(250);
}
}
// ****************************
// *** Messwertblock 2 Test ***
// ****************************
SCREEN s_f2()
{
ftextout("Messwertblock 3",0,0,1,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",",,,,","");
INPAapiCheckJobStatus("OKAY");
LINE("Motordrehzahl, Luftmasse","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5811,0x5812","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 8200.0, 0.0, 6000.0,"4.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 0.0, 800.0, 0.0, 800.0,"4.0");
text(2,72,vartext2);
}
LINE("Fahrpedal,Lambda Setpoint","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5814,0x5816","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2,0, 0.0, 100.0, 0.0, 100.0,"4.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40,0.0, 2.0, 0.0, 2.0,"5.1");
text(2,72,vartext2);
}
LINE("Umgebungstemperatur, Batteriespannung","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5817,0x5815","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, -50.0, 50.0, -50.0, 50.0,"5.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40, 0.0, 20.0, 0.0, 20.0,"5.2");
text(2,72,vartext2);
}
LINE("Drehzahl OBD-Byte, Ansauglufttemperatur","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5819,0x581E","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, 0.0, 2600.0, 0.0, 1600.0,"4.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, -50.0, 150.0, -20.0, 80.0,"4.2");
text(2,72,vartext2);
}
LINE("Motortemperatur, Kühlmitteltemperatur Kühlerausgang","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x581F,0x5820","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2,0, -50.0, 150.0, -30.0, 120.0,"5.1");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40, -50.0, 150.0, -30.0, 120.0,"4.2");
text(2,72,vartext2);
}
}
// ****************************
// *** Messwertblock 4 Test ***
// ****************************
SCREEN s_f4()
{
ftextout("Messwertblock 5",0,0,1,0);
INPAapiJob(sgbd,"STATUS_MESSWERTBLOCK_4","","");
INPAapiCheckJobStatus("OKAY");
LINE("LambdaVK1, LambdaVK2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 3.0, 0.0, 2.75,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 0.0, 3.0, 0.0, 2.75,"4.2");
text(2,72,vartext2);
}
LINE("LambdaHK1, LambdaHK2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT2_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT2_WERT", 2, 0, 0.0, 1.5, 0.0, 1.2,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT3_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT3_WERT",2,40, 0.0, 1.5, 0.0, 1.2,"4.2");
text(2,72,vartext2);
}
LINE("Pedalwert1, Pedalwert2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT4_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT4_WERT", 2, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT5_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT5_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT5_WERT", 2,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text(2,72,vartext2);
}
LINE("DK_Poti1, DK_Poti2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT6_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT6_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT6_WERT",2, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT7_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT7_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT7_WERT",2,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text(2,72,vartext2);
}
LINE("Durchfluss_TEV, Versorgung_DK2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT8_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT8_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT8_WERT", 2,0, 0.0, 8.0, 0.0, 8.0,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT9_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT9_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT9_WERT", 2,40,4.0, 6.0, 4.7, 5.2,"4.2");
text(2,72,vartext2);
}
LINE("ZeitAbStartende,","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT10_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT10_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT10_WERT", 2,0, 0.0, 6500.0, 0.0, 6500.0,"6.1");
text(2,33,vartext2);
delay(250);
}
}
// ***************************************
// *** Messwertblock alle ADC Rohwerte ***
// ***************************************
SCREEN s_messwerte_adc()
{
ftextout("Messwertblock ADC",1,0,1,0);
delay(250);
INPAapiJob(sgbd,"STATUS_MESSWERTBLOCK_ADC","","");
INPAapiCheckJobStatus("OKAY");
LINE("VCC_PV1, VCC_PV2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 1, 0, 4.5, 5.5, 4.9, 5.1,"4.2");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 1,40, 4.5, 5.5, 4.9, 5.1,"4.2");
text(1,72,vartext2);
}
LINE("PVS1, TPS1","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT2_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT2_WERT", 1, 0, 0.0, 5.0, 0.3, 4.7,"4.2");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT3_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT3_WERT", 1,40, 0.0, 5.0, 0.3, 4.7,"4.2");
text(1,72,vartext2);
}
LINE("PVS2, TPS2","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT4_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT4_WERT", 1, 0, 0.0, 5.0, 0.3, 4.7,"4.2");
text( 1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT5_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT5_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT5_WERT", 1,40, 0.0, 5.0, 0.3, 4.7,"4.2");
text( 1,72,vartext2);
}
LINE("TCO, TCO_EX","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT6_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT6_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT6_WERT", 1, 0, 0.0, 5.0, 0.3, 4.8,"4.2");
text( 1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT7_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT7_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT7_WERT", 1,40, 0.0, 5.0, 0.3, 4.8,"4.2");
text( 1,72,vartext2);
}
LINE("AMP, TIA","")
{
INPAapiResultText(vartext1,"STAT_MESSWERT8_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT8_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT8_WERT", 1, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT9_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT9_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT9_WERT", 1,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,72,vartext2);
}
LINE("UB, IGK","")
{
INPAapiResultText(vartext1,"STAT_MESSWERTA_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERTA_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERTA_WERT", 1, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERTB_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERTB_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERTB_WERT", 1,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,72,vartext2);
}
LINE("SAF, VCC_VVT","")
{
INPAapiResultText(vartext1,"STAT_MESSWERTC_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERTC_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERTC_WERT", 1, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERTD_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERTD_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERTD_WERT", 1,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,72,vartext2);
}
LINE("TECU, MAF","")
{
INPAapiResultText(vartext1,"STAT_MESSWERTE_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERTE_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERTE_WERT", 1, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERTF_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERTF_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERTF_WERT", 1,40, 0.0, 5.0, 0.0, 5.0,"4.2");
text( 1,72,vartext2);
}
}
// ****************************************
// *** Messwertblock alle ADC Rohwerte ***
// ****************************************
SCREEN s_rohwerte()
{
ftextout("Rohwerte ADC und Messwert",1,0,1,0);
delay(250);
text(3,0,"Ansaugluft Temperatur");
INPAapiJob(sgbd,"STATUS_AN_LUFTTEMPERATUR","","");
INPAapiResultText(vartext2,"STAT_ADC_TANS1_EINH",1,"");
ergebnisAnalogAusgabe("STAT_ADC_TANS1_WERT", 4, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text(4,31,vartext2);
INPAapiResultText(vartext2,"STAT_AN_LUFTTEMPERATUR_EINH",1,"");
ergebnisAnalogAusgabe("STAT_AN_LUFTTEMPERATUR_WERT", 4,40, -50.0, 145.0, -35.0, 120.0,"5.1");
text(4,72,vartext2);
text(6,0,"Motor Temperatur");
INPAapiJob(sgbd,"STATUS_MOTORTEMPERATUR","","");
INPAapiResultText(vartext2,"STAT_ADC_TMOT_EINH",1,"");
ergebnisAnalogAusgabe("STAT_ADC_TMOT_WERT", 7, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text(7,31,vartext2);
INPAapiResultText(vartext2,"STAT_MOTORTEMPERATUR_EINH",1,"");
ergebnisAnalogAusgabe("STAT_MOTORTEMPERATUR_WERT", 7,40, -50.0, 145.0, -35.0, 120.0,"5.1");
text(7,72,vartext2);
text(9,0,"Drosselklappe Position");
INPAapiJob(sgbd,"STATUS_DKP_VOLT","","");
INPAapiResultText(vartext2,"STAT_DKP_VOLT_EINH",1,"");
ergebnisAnalogAusgabe("STAT_DKP_VOLT_WERT", 10, 0, 0.0, 5.0, 0.0, 5.0,"4.2");
text(10,31,vartext2);
INPAapiResultText(vartext2,"STAT_STAT_DK_EINH",1,"");
ergebnisAnalogAusgabe("STAT_STAT_DK_WERT", 10,40, 0.0, 90.0, 0.0, 90.0,"4.2");
text(10,72,vartext2);
}
// ************************
// *** Messwertblock Öl ***
// ************************
SCREEN s_f6()
{
ftextout("Messwertblock Öl",1,0,1,0);
// INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",",,,,,,0x4405,0x4406,0x4407,0x440B,0x440C,0x4410,0x4412,0x4413,0x4414,0x4415,0x4416,0x4417,","");
// INPAapiCheckJobStatus("OKAY");
LINE("Ölstand Mittelwert, Kurzmittelwert","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4400,0x440F","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 75.0, 0.0, 75.0,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40, 0.0, 75.0, 0.0, 75.0,"4.2");
text(2,72,vartext2);
}
LINE("Füllstand Motoröl, Kraftstoffverbrauch seit letztem Service","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4401,0x4403","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 125.0, 25.0, 125.0,"4.2");
text(2,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, 0.0, 4000.0, 0.0, 4000.0,"6.2");
text(2,72,vartext2);
}
LINE("km seit letztem Service, Restweg aus Kraftsottverbrauch abgeleitet","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4404,0x4411","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 40000.0, 0.0, 40000.0,"5.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40, 0.0, 35000.0, 0.0, 35000.0,"5.0");
text(2,72,vartext2);
delay(250);
}
LINE("Ölsensor Temperatur, Länderfaktor 1","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4408,0x440D","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 200.0, 0.0, 140.0,"4.2");
text(2,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40, 0.0, 1.0, 0.0, 1.0,"1.2");
text(2,72,vartext2);
delay(250);
}
LINE("Ölsensor Niveau, Länderfaktor 2","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4409,0x440E","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 0.0, 75.0, 0.0, 75.0,"4.2");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 2,40, 0.0, 1.0, 0.0, 1.0,"1.2");
text(2,72,vartext2);
delay(250);
}
LINE("Ölsensor Qualität","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x440A","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 2, 0, 1.0, 4.0, 1.0, 4.0,"3.2");
text(2,31,vartext2);
delay(250);
}
}
// ****************************
// *** Messwertblock 6 Test ***
// ****************************
SCREEN s_f7()
{
ftextout("Messwertblock 6",1,0,1,0);
ftextout("",3,0,0,0);
LINE("MAF, PedalWert","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5ABC,0x5814","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 1, 0, 0.0, 500.0, 0.0, 500.0,"5.1");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",1,40, 0.0, 100.0, 0.0, 100.0,"5.0");
text(1,75,vartext2);
}
LINE("TLuft,TMot","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x581E,0x581F","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 1, 0, -50.0, 150.0, -30.0, 100.0,"5.0");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 1,40, -50.0, 150.0, -30.0, 100.0,"5.0");
text(1,75,vartext2);
}
LINE("KühlmittelTemp, TECU","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5820,0x5821","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",1, 0, -50.0, 150.0, -30.0, 120.0,"5.0");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",1,40, -50.0, 150.0, -30.0, 120.0,"5.0");
text(1,75,vartext2);
}
LINE("ÖlTemp, Umgebungstemperatur bei Start","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5822,0x5833","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",2, 0, -40.0, 200.0, -40.0, 140.0,"5.0");
text(2,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",2,40, -50.0, 85.0, -50.0, 85.0,"3.1");
text(2,75,vartext2);
}
LINE("LuftDruck, Kraftstoffniederdruck","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5834,0x5A2E","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",1, 0, 800.0, 1200.0, 800.0, 1200.0,"5.0");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",1,40, 0.0, 7650.0, 0.0, 7650.0,"5.0");
text(1,75,vartext2);
}
LINE("Drosselklappe aktueller Wert, Raildruck","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5858,0x5A2F","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",1, 0, 0.0, 90.0, 0.0, 90.0,"5.2");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",1,40, 0.0, 250000.0, 0.0, 250000.0,"7.0");
text(1,75,vartext2);
}
LINE("R-Lambda-VK1, R-Lambda-NK1","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5860,0x585C","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",1, 0, 0.0, 70000.0, 0.0, 70000.0,"5.0");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",1,40, 0.0, 70000.0, 0.0, 70000.0,"5.0");
text(1,75,vartext2);
}
LINE("R-Lambda-VK2, R-Lambda-NK2","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5861,0x585D","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT",1, 0, 0.0, 70000.0, 0.0, 70000.0,"5.0");
text(1,31,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT",1,40, 0.0, 70000.0, 0.0, 70000.0,"5.0");
text(1,75,vartext2);
delay(250);
}
}
// *******************************
// *** dyn Messwertblock lesen ***
// *******************************
SCREEN s_fdyn()
{
int i_temp_1, i_temp_2;
bool b1;
string vartext1;
string s_inhalt;
string s1, s2, s3 = "", s4 = "", s5, s6, s_temp;
if ( datei_ddli == "" )
{
s1 = txtPfad + "DDLI.TXT"; // Definition des Quellpfades für DDLI-Liste; Pfad und Dateiname dürfen nicht verändert werden, sonst funktioniert es nicht mehr
fileopen ( s1, "a" ); // Datei öffnen um Daten anzuhängen, wenn Datei noch nicht vorhanden, dann Datei anlegen mit leerem Inhalt
filewrite(s3); // Inhalt von s3 wird angehängt (in diesem Falle ist s3 leer, somit werden keine neuen UW-ID angehängt)
fileclose();
fileopen( s1, "r" ); // Datei öffnen um zu lesen
fileread( s_inhalt, varBool ); // Auslesen des Dateiinhalts
if ( s_inhalt == "" ) // wenn Dateiinhalt leer, dann Aufforderung um neue DDLI-Werte einzugeben
{
inputtext( s1, "DDLI-Liste anlegen?","Dateiname und Pfad nicht abändern (Pfad muss bereits existieren)!");
getinputstate( i_temp_1 ); // 0 = OK 1 = Abbruch
inputstate = i_temp_1; // Abbruch merken
if ( i_temp_1 == 0 )
{
fileopen ( s1, "w" ); // Datei öffne um zu schreiben
inputtext( s3, "DDLI-Werte definieren?","Umwelt-ID's aus Messwertetabelle (z.B.: 0x4200,0x5899,)! Trennzeichen = ',' letztes Zeichen der ID-Sequenz = ','");
getinputstate( i_temp_1 ); // 0 = OK 1 = Abbruch
inputstate = i_temp_1; // Abbruch merken
if ( i_temp_1 == 0 )
{
filewrite(s3); // DDLI-Werte speichern
fileclose();
datei_ddli = s1; // Datei angelegt, Namen merken
}
else
{
blankscreen();
stop();
}
}
else
{
blankscreen();
stop();
}
}
else // wenn Datei nicht leer, dann Übergabe des Quellpfades an datei_ddl
{
datei_ddli = s1; // Datei angelegt, Namen merken
}
fileopen( datei_ddli, "r" ); // datei_ddli öffnen und Werte auslesen
fileread( s_inhalt, varBool );
ftextout("DDLI-Block",1,5,1,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",s_inhalt,"");
INPAapiCheckJobStatus("OKAY");
INPAapiResultInt(i_temp_2,"STAT_ANZAHL_WERTE",1);
inttostring( i_temp_2, vartext1 );
text( 1, 35, vartext1 + " Werte" );
delay(500);
}
else
{
fileopen( datei_ddli, "r" );
fileread( s_inhalt, varBool );
if ( s_inhalt == "" )
{
blankscreen();
stop();
}
else
{
ftextout("DDLI-Block",1,5,1,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",s_inhalt,"");
INPAapiCheckJobStatus("OKAY");
INPAapiResultInt(i_temp_2,"STAT_ANZAHL_WERTE",1);
inttostring( i_temp_2, vartext1 );
text( 1, 35, vartext1 + " Werte" );
delay(500);
}
}
LINE("Wert0, Wert1","")
{
if( i_temp_2 > 0 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT0_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT0_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 1 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT1_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT1_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert2,Wert3","")
{
if( i_temp_2 > 2 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT2_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT2_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 3 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT3_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT3_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert4,Wert5","")
{
if( i_temp_2 > 4 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT4_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT4_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 5 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT5_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT5_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT5_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert6,Wert7","")
{
if( i_temp_2 > 6 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT6_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT6_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT6_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 7 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT7_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT7_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT7_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert8,Wert9","")
{
if( i_temp_2 > 8 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT8_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT8_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT8_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 9 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT9_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT9_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT9_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert10,Wert11","")
{
if( i_temp_2 > 10 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT10_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT10_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT10_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 11 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT11_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT11_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT11_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert12,Wert13","")
{
if( i_temp_2 > 12 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT12_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT12_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT12_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 13 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT13_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT13_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT13_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert14,Wert15","")
{
if( i_temp_2 > 14 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT14_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT14_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT14_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 15 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT15_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT15_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT15_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert16,Wert17","")
{
if( i_temp_2 > 16 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT16_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT16_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT16_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 17 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT17_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT17_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT17_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert18,Wert19","")
{
if( i_temp_2 > 18 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT18_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT18_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT18_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 19 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT19_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT19_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT19_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert20,Wert21","")
{
if( i_temp_2 > 20 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT20_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT20_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT20_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 21 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT21_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT21_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT21_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert22,Wert23","")
{
if( i_temp_2 > 22 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT22_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT22_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT22_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 23 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT23_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT23_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT23_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert24,Wert25","")
{
if( i_temp_2 > 24 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT24_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT24_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT24_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 25 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT25_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT25_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT25_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert26,Wert27","")
{
if( i_temp_2 > 26 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT26_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT26_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT26_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 27 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT27_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT27_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT27_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert28,Wert29","")
{
if( i_temp_2 > 28 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT28_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT28_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT28_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 29 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT29_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT29_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT29_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert30,Wert31","")
{
if( i_temp_2 > 30 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT30_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT30_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT30_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 31 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT31_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT31_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT31_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
LINE("Wert32,Wert33","")
{
if( i_temp_2 > 32 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT32_TEXT",1,"");
text(0,0,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT32_EINH",1,"");
text(1,10,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT32_STRING",1,"");
text(1,0,vartext1);
}
if( i_temp_2 > 33 )
{
INPAapiResultText(vartext1,"STAT_MESSWERT33_TEXT",1,"");
text(0,40,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT33_EINH",1,"");
text(1,50,vartext1);
INPAapiResultText(vartext1,"STAT_MESSWERT33_STRING",1,"");
text(1,40,vartext1);
}
text(2,0,"----------------------------------------------------------------------------------------------");
}
}
// ******************************
// *** VS Messwertblock lesen ***
// ******************************
SCREEN s_fkd() {
int i, i_line;
int i_loop;
string vartext1, result;
ftextout("VS - Block",1,5,1,0);
LINE("","") {
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5804,0x580B,0x580D,0x580E,0x5813,0x5814,0x4808,0x5820","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultInt(i_loop,"STAT_ANZAHL_WERTE",1);
inttostring( i_loop, vartext1 );
// text( 1, 35, vartext1 + " Werte" );
delay( 500 );
i_line = 1;
i = 0;
while( i < i_loop ) {
inttostring ( i, result ); // "x"
result = "STAT_MESSWERT" + result; // STAT_MESSWERTx"
result = result + "_TEXT"; // STAT_MESSWERTx_TEXT
INPAapiResultText(vartext1,result,1,"");
text( i_line, 0, vartext1 );
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_EINH";
INPAapiResultText( vartext1, result, 1, ""); // STAT_MESSWERTx_EINH
text( i_line + 1, 10, vartext1 );
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_STRING";
INPAapiResultText( vartext1, result, 1, "" ); // STAT_MESSWERTx_STRING
text( i_line + 1,0,vartext1);
i = i + 1;
if( i < i_loop ) { // ungerade Anzahl abfangen
inttostring ( i, result ); // "x"
result = "STAT_MESSWERT" + result; // STAT_MESSWERTx"
result = result + "_TEXT"; // STAT_MESSWERTx_TEXT
INPAapiResultText(vartext1,result,1,"");
text( i_line, 40, vartext1 );
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_EINH";
INPAapiResultText(vartext1,result,1,""); // STAT_MESSWERTx_EINH
text( i_line + 1,50,vartext1);
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_STRING";
INPAapiResultText( vartext1, result, 1, "" ); // STAT_MESSWERTx_STRING
text( i_line + 1,40,vartext1);
i_line = i_line + 3;
}
i = i + 1;
}
}
LINE("","") {
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5822,0x5824,0x5834,0x4601,0x4802,0x5821","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultInt(i_loop,"STAT_ANZAHL_WERTE",1);
inttostring( i_loop, vartext1 );
// text( 1, 35, vartext1 + " Werte" );
delay( 500 );
i_line = 1;
i = 0;
while( i < i_loop ) {
inttostring ( i, result ); // "x"
result = "STAT_MESSWERT" + result; // STAT_MESSWERTx"
result = result + "_TEXT"; // STAT_MESSWERTx_TEXT
INPAapiResultText(vartext1,result,1,"");
text( i_line, 0, vartext1 );
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_EINH";
INPAapiResultText( vartext1, result, 1, ""); // STAT_MESSWERTx_EINH
text( i_line + 1, 10, vartext1 );
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_STRING";
INPAapiResultText( vartext1, result, 1, "" ); // STAT_MESSWERTx_STRING
text( i_line + 1,0,vartext1);
i = i + 1;
if( i < i_loop ) { // ungerade Anzahl abfangen
inttostring ( i, result ); // "x"
result = "STAT_MESSWERT" + result; // STAT_MESSWERTx"
result = result + "_TEXT"; // STAT_MESSWERTx_TEXT
INPAapiResultText(vartext1,result,1,"");
text( i_line, 40, vartext1 );
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_EINH";
INPAapiResultText(vartext1,result,1,""); // STAT_MESSWERTx_EINH
text( i_line + 1,50,vartext1);
inttostring ( i, result );
result = "STAT_MESSWERT" + result;
result = result + "_STRING";
INPAapiResultText( vartext1, result, 1, "" ); // STAT_MESSWERTx_STRING
text( i_line + 1,40,vartext1);
i_line = i_line + 3;
}
i = i + 1;
}
}
}
// *********************
// *** Drosselklappe ***
// *********************
SCREEN s_llst_mdk()
{
delay(500);
ftextout("Adaption Drosselklappe",1,10,1,0);
ftextout("",3,0,0,0);
INPAapiJob(sgbd,"STATUS_ADAPTION_DK","","");
INPAapiCheckJobStatus("OKAY");
LINE("Adaption DK Offset, Adaption DK Faktor","AD_ADD,AD_FAC")
{
vartext1 = "Adaption Drosselkappe Offset";
INPAapiResultText(vartext2,"STAT_DK_ADD_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_DK_ADD_WERT",1);
analogout(r_temp, 1, 0, -1024.0, 1024.0, -1024.0, 1024.0,"4.0");
text(1,32,vartext2);
vartext1 = "Adaption Drosselkappe Faktor";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_DK_FAC_WERT",1);
analogout(r_temp,1,40, 0.0, 2.0, 0.0, 2.0,"6.5");
textout("",3,0);
}
LINE("Adaption EV Offset, Adaption EV Faktor","AD_ADD,AD_FAC")
{
vartext1 = "Adaption Einspritzventile Offset";
INPAapiResultText(vartext2,"STAT_EV_ADD_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_EV_ADD_WERT",1);
analogout(r_temp, 1, 0, -1024.0, 1024.0, -1024.0, 1024.0,"4.0");
text(1,32,vartext2);
vartext1 = "Adaption Einspritzventile Faktor";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_EV_FAC_WERT",1);
analogout(r_temp,1,40, 0.0, 2.0, 0.0, 2.0,"6.5");
textout("",3,0);
}
}
// ****************************
// *** PWM Wert VANOS IN EX ***
// ****************************
SCREEN s_vanos_inex()
{
delay(100);
ftextout("Gebersignale VANOS",1,10,1,0);
ftextout("",3,0,0,0);
INPAapiJob(sgbd,"STATUS_NOCKENWELLE_ADAPTION","","");
INPAapiCheckJobStatus("OKAY");
LINE("AdaptionEinlass, AdaptionAuslass","PSN_EDGE_1_AD_CAM_IN_1,PSN_EDGE_1_AD_CAM_EX_1")
{
vartext1 = "Adaption NW-Einlass - Referenzflanke";
INPAapiResultText(vartext2,"STAT_PSN_EDGE_AD_CAM_IN_1_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PSN_EDGE_AD_CAM_IN_1_WERT",1);
analogout(r_temp, 1, 0, -20.0, 20.0, -10.0, 10.0,"5.1");
text(1,33,vartext2);
vartext1 = "Adaption NW-Auslass - Referenzflanke";
INPAapiResultText(vartext2,"STAT_PSN_EDGE_AD_CAM_EX_1_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PSN_EDGE_AD_CAM_EX_1_WERT",1);
analogout(r_temp,1,40, -20.0, 20.0, -10.0, 10.0,"5.1");
text(1,72,vartext2);
}
// LINE("EinlassFlanke0, AuslassFlanke0","AD_IN_10,AD_EX_10")
// {
// INPAapiJob(sgbd,"STATUS_GEBERRAD_ADAPTION","","");
// INPAapiCheckJobStatus("OKAY");
// INPAapiResultText(vartext1,"STAT_GEBERRAD_ADAPTION_VSE_TEXT",1,"");
// INPAapiResultText(vartext2,"STAT_GEBERRAD_ADAPTION_EINH",1,"");
// text(0,0,vartext1);
// INPAapiResultAnalog(r_temp,"STAT_GEBERRAD_ADAPTION_VSE_WERT",1);
// analogout(r_temp,1, 0, -20.0, 20.0, -10.0, 10.0,"5.1");
// text(1,33,vartext2);
// INPAapiResultText(vartext1,"STAT_GEBERRAD_ADAPTION_VSA_TEXT",1,"");
// INPAapiResultText(vartext2,"STAT_GEBERRAD_ADAPTION_EINH",1,"");
// text(0,40,vartext1);
// INPAapiResultAnalog(r_temp,"STAT_GEBERRAD_ADAPTION_VSA_WERT",1);
// analogout(r_temp,1,40, -20.0, 20.0, -10.0, 10.0,"5.1");
// text(1,72,vartext2);
// }
// LINE("Einlass, Auslass","STAT_EINLASS_WERT,STAT_AUSLASS_WERT")
// {
// INPAapiJob(sgbd,"STATUS_MESSWERTE_VANOS","","");
// INPAapiCheckJobStatus("OKAY");
// INPAapiResultText(vartext1,"STAT_EINLASS_TEXT",1,"");
// INPAapiResultText(vartext2,"STAT_EINLASS_EINH",1,"");
// text(3,0,vartext1);
// INPAapiResultAnalog(r_temp,"STAT_EINLASS_WERT",1);
// analogout(r_temp, 4, 0, 40.0, 135.0, 40.0, 135.0,"5.1");
// text(4,33,vartext2);
// INPAapiResultText(vartext1,"STAT_AUSLASS_TEXT",1,"");
// INPAapiResultText(vartext2,"STAT_AUSLASS_EINH",1,"");
// text(3,40,vartext1);
// INPAapiResultAnalog(r_temp,"STAT_AUSLASS_WERT",1);
// analogout(r_temp, 4,40, -135.0, -40.0, -135.0,-40.0,"5.1");
// text(4,72,vartext2);
//
// INPAapiResultText(vartext1,"STAT_EINLASS_SOLL_TEXT",1,"");
// INPAapiResultText(vartext2,"STAT_EINLASS_SOLL_EINH",1,"");
// text(6,0,vartext1);
// INPAapiResultAnalog(r_temp,"STAT_EINLASS_SOLL_WERT",1);
// analogout(r_temp, 7, 0, 40.0, 135.0, 40.0, 135.0,"5.1");
// text(7,33,vartext2);
// INPAapiResultText(vartext1,"STAT_AUSLASS_SOLL_TEXT",1,"");
// INPAapiResultText(vartext2,"STAT_AUSLASS_SOLL_EINH",1,"");
// text(6,40,vartext1);
// INPAapiResultAnalog(r_temp,"STAT_AUSLASS_SOLL_WERT",1);
// analogout(r_temp, 7,40, -135.0, -40.0, -135.0,-40.0,"5.1");
// text(7,72,vartext2);
// }
LINE("Einlass, Auslass","STAT_EINLASS_WERT,STAT_AUSLASS_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A97","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
text(3,0,vartext1);
ergebnisDigitalAusgabe("STAT_MESSWERT0_WERT" , 4, 1," Ja "," Nein ");
}
}
// ************************
// *** Adaption Gemisch ***
// ************************
SCREEN s_ad_gemisch()
{
delay(500);
ftextout("Adaption Gemisch",1,0,1,0);
ftextout("",3,0,0,0);
INPAapiJob(sgbd,"STATUS_ADAPTION_GEMISCH","","");
INPAapiCheckJobStatus("OKAY");
LINE("Lambda Heizung UP1, Lambda Heizung UP2","LSHPWM_UP[1];LSHPWM_UP[2]")
{
vartext1 = "LambdasondenHeizung vor Kat Bank 1";
INPAapiResultText(vartext2,"STAT_PWM_UP_1_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PWM_UP_1_WERT",1);
analogout(r_temp, 1, 0, 0.0, 100.0, 0.0, 100.0,"5.2");
text(1,33,vartext2);
vartext1 = "LambdasondenHeizung vor Kat Bank 1";
INPAapiResultText(vartext2,"STAT_PWM_UP_2_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PWM_UP_2_WERT",1);
analogout(r_temp, 1,40, 0.0, 100.0, 0.0, 100.0,"5.2");
text(1,72,vartext2);
}
LINE("Lambda Heizung DOWN1, Lambda Heizung DOWN2","LSHPWM_DOWN[1];LSHPWM_DOWN[2]")
{
vartext1 = "LambdasondenHeizung hinter Kat Bank 1";
INPAapiResultText(vartext2,"STAT_PWM_DOWN_1_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PWM_DOWN_1_WERT",1);
analogout(r_temp,1, 0, 0.0, 100.0, 0.0, 100.0,"5.2");
text(1,33,vartext2);
vartext1 = "LambdasondenHeizung hinter Kat Bank 2";
INPAapiResultText(vartext2,"STAT_PWM_DOWN_2_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PWM_DOWN_2_WERT",1);
analogout(r_temp,1,40, 0.0, 100.0, 0.0, 100.0,"5.2");
text(1,72,vartext2);
}
/* // neu
LINE("Adaption ADD Bank1, Adaption ADD Bank2","MFF_ADD_LAM_AD_OUT[1], MFF_ADD_LAM_AD_OUT[2]")
{
INPAapiJob(sgbd,"STATUS_MESSWERTE","","");
INPAapiCheckJobStatus("OKAY");
vartext1 = "Integrator Bank 1";
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_LR1_MW_WERT",1);
analogout(r_temp, 1, 0, -50, 49.9, -50, 49.9,"7.1");
vartext1 = "Integrator Bank 2";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_LR2_MW_WERT",1);
analogout(r_temp, 1,40, -50, 49.9, -50, 49.9,"7.1");
}
// neu eol */
LINE("Adaption ADD Bank1, Adaption ADD Bank2","MFF_ADD_LAM_AD_OUT[1], MFF_ADD_LAM_AD_OUT[2]")
{
vartext1 = "Additiver Adaptionsfaktor Bank 1";
INPAapiResultText(vartext2,"STAT_ADD_1_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ADD_1_WERT",1);
analogout(r_temp, 1, 0, -700.0, 700.0, -700.0, 700.0,"7.1");
text(1,33,vartext2);
vartext1 = "Additiver Adaptionsfaktor Bank 2";
INPAapiResultText(vartext2,"STAT_ADD_2_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ADD_2_WERT",1);
analogout(r_temp, 1,40, -700.0, 700.0, -700.0, 700.0,"7.1");
text(1,72,vartext2);
}
LINE("Adaption FAC Bank1, Adaption FAC Bank2","FAC_LAM_AD_OUT[1], FAC_LAM_AD_OUT[2]")
{
vartext1 = "Multiplikativer Adaptionsfaktor Bank 1";
INPAapiResultText(vartext2,"STAT_FAC_1_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_FAC_1_WERT",1);
analogout(r_temp,1, 0, -50.0, 50.0, -50.0, 50.0,"6.3");
text(1,33,vartext2);
vartext1 = "Multiplikativer Adaptionsfaktor Bank 2";
INPAapiResultText(vartext2,"STAT_FAC_2_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_FAC_2_WERT",1);
analogout(r_temp,1,40, -50.0, 50.0, -50.0, 50.0,"6.3");
text(1,72,vartext2);
}
/* LINE("Korrektur TI Bank1, Korrektur TI Bank2","STAT_INT_WERT;STAT_INT_2_WERT")
{
INPAapiJob(sgbd,"STATUS_INT","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_INT_WERT",1);
text(0, 0,"Korrektur EinspritzZeit Bank 1");
analogout(r_temp, 1, 0, -50.0, 50.0, -50.0, 50.0,"5.2");
text(1,33,"%");
INPAapiJob(sgbd,"STATUS_INT_2","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_INT_2_WERT",1);
text(0,40,"Korrektur EinspritzZeit Bank 2");
analogout(r_temp, 1,40, -50.0, 50.0, -50.0, 50.0,"5.2");
text(1,72,"%");
}*/
LINE("Lambdawert Bank1, Lambdawert Bank2","")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A50,0x5A51","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_MESSWERT0_WERT", 1, 0, 0.0, 5.0, 0.0, 5.0,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0,0,vartext1);
text(1,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
ergebnisAnalogAusgabe("STAT_MESSWERT1_WERT", 1, 40, 0.0, 5.0, 0.0, 5.0,"5.2");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
text(1,72,vartext2);
}
/* LINE("Lambda Spannung VK1, Lambda Spannung VK2","STAT_L_SONDE_WERT;STAT_L_SONDE_2_WERT")
{
INPAapiJob(sgbd,"STATUS_L_SONDE","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_L_SONDE_WERT",1);
text(0, 0,"Lambda Spannung vor Kat Bank 1");
analogout(r_temp, 1, 0, 0.0, 3.5, 0.0, 2.7,"5.2");
text(1,33,"V");
INPAapiJob(sgbd,"STATUS_L_SONDE_2","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_L_SONDE_2_WERT",1);
text(0,40,"Lambda Spannung vor Kat Bank 2");
analogout(r_temp, 1,40, 0.0, 3.5, 0.0, 2.7,"5.2");
text(1,72,"V");
}
LINE("Lambda Spannung HK1, Lambda Spannung HK2","STAT_L_SONDE_H_WERT;STAT_L_SONDE_2_H_WERT")
{
INPAapiJob(sgbd,"STATUS_L_SONDE_H","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_L_SONDE_H_WERT",1);
text(0, 0,"Lambda Spannung hinter Kat Bank 1");
analogout(r_temp, 1, 0, 0.0, 1.5, 0.0, 0.9,"5.2");
text(1,33,"V");
INPAapiJob(sgbd,"STATUS_L_SONDE_2_H","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultAnalog(r_temp,"STAT_L_SONDE_2_H_WERT",1);
text(0,40,"Lambda Spannung hinter Kat Bank 2");
analogout(r_temp, 1,40, 0.0, 1.5, 0.0, 0.9,"5.2");
text(1,72,"V");
} */
LINE("Adaptionswerte Lambdasonde Bank 1, Adaptionswerte Lambdasonde Bank 2","STAT_0x5A87_WERT;STAT_0x5A88_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A87,0x5A88","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 1, 0, -0.05, 0.05, -0.05, 0.05,"3.2");
text(1,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 1,40, -0.05, 0.05, -0.05, 0.05,"3.2");
text(1,72,vartext2);
}
LINE("Adaptionswerte Lambdasonde Bank 1, Adaptionswerte Lambdasonde Bank 2","STAT_0x5A87_WERT;STAT_0x5A88_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A89,0x5A8A","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 1, 0, -25.0, 25.0, -25.0, 25.0,"4.2");
text(1,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 1,40, -25.0, 25.0, -25.0, 25.0,"4.2");
text(1,72,vartext2);
}
LINE("Adaptionswerte Lambdasonde Bank 1, Adaptionswerte Lambdasonde Bank 2","STAT_0x5A87_WERT;STAT_0x5A88_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A8B,0x5A8C","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 1, 0, -25.0, 25.0, -25.0, 25.0,"4.2");
text(1,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 1,40, -25.0, 25.0, -25.0, 25.0,"4.2");
text(1,72,vartext2);
}
LINE("Adaptionswerte Lambdasonde Bank 1, Adaptionswerte Lambdasonde Bank 2","STAT_0x5A87_WERT;STAT_0x5A88_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A8D,0x5A8E","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(0, 0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 1, 0, -5.0, 5.0, -5.0, 5.0,"3.2");
text(1,33,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 1,40, -5.0, 5.0, -5.0, 5.0,"3.2");
text(1,72,vartext2);
}
}
// *****************************
// *** Status Saugrohrmodell ***
// *****************************
SCREEN s_saugrohrmodell()
{
ftextout("Saugrohrmodell",0,30,1,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN",",,,,,","");
INPAapiCheckJobStatus("OKAY");
LINE("Motor Drehzahl, Luftmasse gerechnet","STAT_MOTORDREHZAHL_WERT, STAT_LUFTMASSE_PRO_HUB_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4807,0x5818","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 8200, 0, 7200,"5.0");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0, 250, 0, 250,"4.1");
text(2,75,vartext2);
}
LINE("Istwert Einlassspreizung, Istwert Auslassspreizung","STAT_NW_EINLASSSPREIZUNG_WERT;STAT_NW_AUSLASSSPREIZUNG_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4508,0x4509","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 180, 0, 180,"4.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, -180, 0, -180, 0,"4.1");
text(2,75,vartext2);
}
LINE("Abgleich Einlassventilmodell (Faktor), Abgleich Drosselklappenmodell (Faktor)","STAT_0x58E2_WERT;STAT_0x58E0_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x58E2,0x58E0","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 2, 0, 2,"4.3");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0, 2, 0, 2,"4.3");
text(2,75,vartext2);
}
LINE("aktuelle Position Disaklappen, Drosselklappe aktueller Wert","STAT_DISAKLAPPEN_POSITION_WERT;STAT_DROSSELKLAPPENWINKEL_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4610,0x4600","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 100, 0, 100,"4.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0, 100, 0, 100,"3.1");
text(2,75,vartext2);
}
LINE("TankEntlüftungsVentil TEV PWM, Saugrohrdruck 1 / Ladedruck 1","STAT_TEV_PWM_WERT;STAT_LADEDRUCK_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A77,0x4205","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 100, 0, 100,"4.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp,2,40, 0, 1100, 0, 1100,"5.1");
text(2,75,vartext2);
}
LINE("Umgebungsdruck, Betriebsart Istwert","STAT_0x4201_WERT;STAT_0x58E4")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x4201,0x58E4","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 1100, 0, 1100,"5.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_STRING",1,"");
text(1,40,vartext1);
text(2,40,blank);
text(2,40,vartext2);
}
}
// *************************
// *** Status NOx-Sensor ***
// *************************
SCREEN s_nox_sensor()
{
ftextout("NOx-Sensor / Abgastemperaturfühler",0,15,1,0);
INPAapiJob(sgbd,"STATUS_NOX1","","");
INPAapiCheckJobStatus("OKAY");
LINE("NOx-Konzentration","STAT_PHY_NOX1_WERT")
{
text(1,0,"NOx-Konzentration");
INPAapiResultText(vartext2,"STAT_PHY_NOX1_EINH",1,"");
INPAapiResultAnalog(r_temp,"STAT_PHY_NOX1_WERT",1);
analogout(r_temp, 2, 0, -150, 2000, -150, 2000,"4.0");
text(2,32,vartext2);
}
LINE("binaeres Spannungssignal, lineares Lambdasignal","STAT_PHY_ULNOX1_WERT;STAT_PHY_LLNOX1_WERT")
{
text(1,0,"Binaeres Spannungssignal");
INPAapiResultText(vartext2,"STAT_PHY_ULNOX1_EINH",1,"");
INPAapiResultAnalog(r_temp,"STAT_PHY_ULNOX1_WERT",1);
analogout(r_temp, 2, 0, -250, 1200, -250, 1200,"4.0");
text(2,32,vartext2);
text(1,40,"Lineares Lambdasignal");
INPAapiResultAnalog(r_temp,"STAT_PHY_LLNOX1_WERT",1);
analogout(r_temp, 2, 40, 0, 32, 0, 32,"4.2");
}
LINE("Schubabschaltung, Beladungsbetrieb NOx-Katalysator","STAT_0x5AD6_WERT;STAT_0x5AD7_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5AD6,0x5AD7","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_0x5AD6_WERT",1);
analogout(r_temp, 2, 0, 0, 5, 0, 5,"3.2");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_0x5AD7_WERT",1);
analogout(r_temp, 2, 40, 0, 1100, 0, 1100,"6.2");
text(2,75,vartext2);
}
LINE("Spannung Abgastemperatursensor, Abgastemperatur","STAT_0x5A18_WERT;STAT_0x5A1F_WERT")
{
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5A18,0x5A1F","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_0x5A18_WERT",1);
analogout(r_temp, 2, 0, 0, 5, 0, 5,"3.2");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_0x5A1F_WERT",1);
analogout(r_temp, 2, 40, 0, 1100, 0, 1100,"6.2");
text(2,75,vartext2);
}
}
// **************************************
// *** Status Abgasrückführungsventil ***
// **************************************
SCREEN s_agr_ad()
{
ftextout("Abgasrückführungsventil",0,30,1,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5AC6,0x5AC7,0x5AC8,0x5AC9,0x5ACA,0x5ACB","");
INPAapiCheckJobStatus("OKAY");
LINE("Sensorspannung AGR, Hub des AGR-Tellerventils","STAT_0x5AC6_WERT, STAT_0x5AC7_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 0, 5, 0.5, 4.5,"2.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0, 100, 0, 100,"4.1");
text(2,75,vartext2);
}
LINE("Adaptionswert oberer Anschlag (einmalig gelernt), Adaptionswert unterer Anschlag (immer wieder neu gelernt)","STAT_0x5AC8_WERT;STAT_0x5AC9_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT2_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT2_WERT",1);
analogout(r_temp, 2, 0, 4, 5, 4.199, 4.8,"4.3");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT3_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT3_WERT",1);
analogout(r_temp, 2, 40, 0, 1, 0.249, 0.752,"4.3");
text(2,75,vartext2);
}
LINE("Adaptionswert unterer Anschlag (einmalig am Anfang gelernt, Uradaption), Status des Erlernens der AGR-Adaption","STAT_0x5ACA_WERT;STAT_0x5ACB_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT4_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT4_WERT",1);
analogout(r_temp, 2, 0, 0, 1, 0.249, 0.752,"4.3");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT5_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT5_EINH",1,"");
text(1,40,vartext1);
INPAapiResultText(vartext2,"STAT_MESSWERT5_STRING",1,"");
text(2,40,vartext2);
}
}
// ********************************
// *** Status Ladedruckregelung ***
// ********************************
SCREEN s_ldr_ad()
{
ftextout("Ladedruckregelung",0,30,1,0);
INPAapiJob(sgbd,"MESSWERTBLOCK_LESEN","0x5AB0,0x5AAD,0x5A2C,0x5AAE,0x5AAB,0x5AAF,0x5AAC,","");
INPAapiCheckJobStatus("OKAY");
LINE("Solladedruck, Vorsteuerung Ladedruckregelung","STAT_0x5AB0_WERT, STAT_0x5AAD_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT0_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT0_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT0_WERT",1);
analogout(r_temp, 2, 0, 600, 2400, 600, 2400,"5.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT1_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT1_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT1_WERT",1);
analogout(r_temp, 2, 40, 0, 100, 0, 100,"4.1");
text(2,75,vartext2);
}
LINE("Druck vor Drosselklappe, Reglerausgang und Vorsteuerung","STAT_0x5A2C_WERT;STAT_0x5AAE_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT2_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT2_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT2_WERT",1);
analogout(r_temp, 2, 0, 600, 2400, 600, 2400,"5.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT3_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT3_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT3_WERT",1);
analogout(r_temp, 2, 40, 0, 100, 0, 100,"4.1");
text(2,75,vartext2);
}
LINE("Wastegate 1 PWM, Adaptionswert von der Ladedruckregelung","STAT_0x5AAB_WERT;STAT_0x5AAF_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT4_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT4_WERT",1);
analogout(r_temp, 2, 0, 0, 100, 0, 100,"3.1");
text(2,32,vartext2);
INPAapiResultText(vartext1,"STAT_MESSWERT5_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT5_EINH",1,"");
text(1,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT5_WERT",1);
analogout(r_temp, 2, 40, 0.8, 1.2, 0.8, 1.2,"3.2");
text(2,75,vartext2);
}
LINE("Wastegate 2 PWM","STAT_0x5AAC_WERT")
{
INPAapiResultText(vartext1,"STAT_MESSWERT4_TEXT",1,"");
INPAapiResultText(vartext2,"STAT_MESSWERT4_EINH",1,"");
text(1,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_MESSWERT4_WERT",1);
analogout(r_temp, 2, 0, 0, 100, 0, 100,"3.1");
text(2,32,vartext2);
}
}
// ******************************
// *** Status Neuronale Netze ***
// ******************************
SCREEN s_nn_ad()
{
ftextout("Neuronale Netze",1,0,1,0);
ftextout("< F1 > Saugrohrmodell im gedrosselten Betrieb" , 4, 5,0,1);
ftextout("< F2 > Saugrohrmodell mit Druckregelung (nur N54)" , 6, 5,0,1);
ftextout("< F3 > Klopfadaption" , 8, 5,0,1);
ftextout("< F4 > Kraftstoff-Luftgemisch-Adaption" ,10, 5,0,1);
ftextout("< F5 > Saugrohrmodell mit Abgasrückführung (nur N53)" ,12, 5,0,1);
ftextout("< F6 > Löschen der Adaptionswerte" ,14, 5,0,1);
ftextout("< F7 > Ausgabe der Adaptionswerte in Datei" ,16, 5,0,1);
ftextout("< F8 > Kommentar einfügen" ,18, 5,0,1);
ftextout("< F10> Zurück" ,22, 5,0,1);
ftextout("< Shift > + < F10> INPA beenden" ,22,45,0,1);
datei_nn = "";
stop();
}
// *********************
// *** Status EISYGD ***
// *********************
SCREEN s_eisy_gd()
{
int i, j, k, blockzaehler, durchlaufzaehler;
string help, result, s_temp;
blockzaehler = 0;
ftextout(dme_text + " Saugrohrmodell gedrosselt",0,15,1,0);
text(2,0,blank);
datei_nn = "";
LINE("Wertepaar 0 bis 11","STAT_MRNN_TEST_DK_0_WERT ==> STAT_MRNN_TEST_DK_11_WERT")
{
blockzaehler = 0;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 12 bis 23","STAT_MRNN_TEST_DK_12_WERT ==> STAT_MRNN_TEST_DK_23_WERT")
{
blockzaehler = 1;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 24 bis 35","STAT_MRNN_TEST_DK_24_WERT ==> STAT_MRNN_TEST_DK_35_WERT")
{
blockzaehler = 2;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 36 bis 47","STAT_MRNN_TEST_DK_36_WERT ==> STAT_MRNN_TEST_DK_47_WERT")
{
blockzaehler = 3;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 48 bis 59","STAT_MRNN_TEST_DK_48_WERT ==> STAT_MRNN_TEST_DK_59_WERT")
{
blockzaehler = 4;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 60 bis 71","STAT_MRNN_TEST_DK_60_WERT ==> STAT_MRNN_TEST_DK_71_WERT")
{
blockzaehler = 5;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 72 bis 83","STAT_MRNN_TEST_DK_72_WERT ==> STAT_MRNN_TEST_DK_83_WERT")
{
blockzaehler = 6;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 84 bis 95","STAT_MRNN_TEST_DK_84_WERT ==> STAT_MRNN_TEST_DK_95_WERT")
{
blockzaehler = 7;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 96 bis 107","STAT_MRNN_TEST_DK_96_WERT ==> STAT_MRNN_TEST_DK_107_WERT")
{
blockzaehler = 8;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 108 bis 119","STAT_MRNN_TEST_DK_108_WERT ==> STAT_MRNN_TEST_DK_119_WERT")
{
blockzaehler = 9;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 120 bis 131","STAT_MRNN_TEST_DK_120_WERT ==> STAT_MRNN_TEST_DK_131_WERT")
{
blockzaehler = 10;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
LINE("Wertepaar 132 bis 143","STAT_MRNN_TEST_DK_132_WERT ==> STAT_MRNN_TEST_DK_143_WERT")
{
blockzaehler = 11;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYGD","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_DK_","",0);
}
}
// *********************
// *** Status EISYDR ***
// *********************
SCREEN s_eisy_dr()
{
int i, j, k, blockzaehler, durchlaufzaehler;
string help, result, s_temp;
blockzaehler = 0;
ftextout(dme_text + " Saugrohrmodell mit Druckregelung",0,10,1,0);
text(2,0,blank);
datei_nn = "";
LINE("Wertepaar 0 bis 11","STAT_MRNN_TEST_PR_0_WERT ==> STAT_MRNN_TEST_PR_11_WERT")
{
blockzaehler = 0;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 12 bis 23","STAT_MRNN_TEST_PR_12_WERT ==> STAT_MRNN_TEST_PR_23_WERT")
{
blockzaehler = 1;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 24 bis 35","STAT_MRNN_TEST_PR_24_WERT ==> STAT_MRNN_TEST_PR_35_WERT")
{
blockzaehler = 2;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 36 bis 47","STAT_MRNN_TEST_PR_36_WERT ==> STAT_MRNN_TEST_PR_47_WERT")
{
blockzaehler = 3;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 48 bis 59","STAT_MRNN_TEST_PR_48_WERT ==> STAT_MRNN_TEST_PR_59_WERT")
{
blockzaehler = 4;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 60 bis 71","STAT_MRNN_TEST_PR_60_WERT ==> STAT_MRNN_TEST_PR_71_WERT")
{
blockzaehler = 5;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 72 bis 83","STAT_MRNN_TEST_PR_72_WERT ==> STAT_MRNN_TEST_PR_83_WERT")
{
blockzaehler = 6;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 84 bis 95","STAT_MRNN_TEST_PR_84_WERT ==> STAT_MRNN_TEST_PR_95_WERT")
{
blockzaehler = 7;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 96 bis 107","STAT_MRNN_TEST_PR_96_WERT ==> STAT_MRNN_TEST_PR_107_WERT")
{
blockzaehler = 8;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 108 bis 119","STAT_MRNN_TEST_PR_108_WERT ==> STAT_MRNN_TEST_PR_119_WERT")
{
blockzaehler = 9;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 120 bis 131","STAT_MRNN_TEST_PR_120_WERT ==> STAT_MRNN_TEST_PR_131_WERT")
{
blockzaehler = 10;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
LINE("Wertepaar 132 bis 143","STAT_MRNN_TEST_PR_132_WERT ==> STAT_MRNN_TEST_PR_143_WERT")
{
blockzaehler = 11;
Ausgabe_NN("NKW/WDK",blockzaehler,"_STATUS_EISYDR","STAT_NKW_","STAT_WDK_IST_","STAT_MRNN_TEST_PR_","",0);
}
}
// ********************
// *** Status KRANN ***
// ********************
SCREEN s_krann()
{
int i, j, k, blockzaehler, durchlaufzaehler;
string help, result, s_temp;
blockzaehler = 0;
ftextout(dme_text + " Klopfadaption",0,20,1,0);
text(2,0,blank);
datei_nn = "";
LINE("Wertepaar 0 bis 11","STAT_KRNN_TEST_0_WERT ==> STAT_KRNN_TEST_11_WERT")
{
blockzaehler = 0;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 12 bis 23","STAT_KRNN_TEST_12_WERT ==> STAT_KRNN_TEST_23_WERT")
{
blockzaehler = 1;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 24 bis 35","STAT_KRNN_TEST_24_WERT ==> STAT_KRNN_TEST_35_WERT")
{
blockzaehler = 2;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 36 bis 47","STAT_KRNN_TEST_36_WERT ==> STAT_KRNN_TEST_47_WERT")
{
blockzaehler = 3;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 48 bis 59","STAT_KRNN_TEST_48_WERT ==> STAT_KRNN_TEST_59_WERT")
{
blockzaehler = 4;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 60 bis 71","STAT_KRNN_TEST_60_WERT ==> STAT_KRNN_TEST_71_WERT")
{
blockzaehler = 5;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 72 bis 83","STAT_KRNN_TEST_72_WERT ==> STAT_KRNN_TEST_83_WERT")
{
blockzaehler = 6;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 84 bis 95","STAT_KRNN_TEST_84_WERT ==> STAT_KRNN_TEST_95_WERT")
{
blockzaehler = 7;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 96 bis 107","STAT_KRNN_TEST_96_WERT ==> STAT_KRNN_TEST_107_WERT")
{
blockzaehler = 8;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 108 bis 119","STAT_KRNN_TEST_108_WERT ==> STAT_KRNN_TEST_119_WERT")
{
blockzaehler = 9;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 120 bis 131","STAT_KRNN_TEST_120_WERT ==> STAT_KRNN_TEST_131_WERT")
{
blockzaehler = 10;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
LINE("Wertepaar 132 bis 143","STAT_KRNN_TEST_132_WERT ==> STAT_KRNN_TEST_143_WERT")
{
blockzaehler = 11;
Ausgabe_NN("NKW/RF",blockzaehler,"_STATUS_KRANN","STAT_NKW_","STAT_RF_","STAT_KRNN_TEST_","",0);
}
}
// ********************
// *** Status KLANN ***
// ********************
SCREEN s_klann()
{
int i, j, k, blockzaehler, durchlaufzaehler;
string help, result, s_temp;
blockzaehler = 0;
ftextout(dme_text + " Kraftstoff-Luftgemisch-Adaption",0,15,1,0);
text(2,0,blank);
datei_nn = "";
LINE("Wertepaar 0 bis 11","STAT_KLANN_TEST1_0_WERT ==> STAT_KLANN_TEST1_11_WERT;STAT_KLANN_TEST2_0_WERT ==> STAT_KLANN_TEST2_11_WERT")
{
blockzaehler = 0 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 12 bis 23","STAT_KLANN_TEST1_12_WERT ==> STAT_KLANN_TEST1_23_WERT;STAT_KLANN_TEST2_12_WERT ==> STAT_KLANN_TEST2_23_WERT")
{
blockzaehler = 1 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 24 bis 35","STAT_KLANN_TEST1_24_WERT ==> STAT_KLANN_TEST1_35_WERT;STAT_KLANN_TEST2_24_WERT ==> STAT_KLANN_TEST2_35_WERT")
{
blockzaehler = 2 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 36 bis 47","STAT_KLANN_TEST1_36_WERT ==> STAT_KLANN_TEST1_47_WERT;STAT_KLANN_TEST2_36_WERT ==> STAT_KLANN_TEST2_47_WERT")
{
blockzaehler = 3 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 48 bis 59","STAT_KLANN_TEST1_48_WERT ==> STAT_KLANN_TEST1_59_WERT;STAT_KLANN_TEST2_48_WERT ==> STAT_KLANN_TEST2_59_WERT")
{
blockzaehler = 4 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 60 bis 71","STAT_KLANN_TEST1_60_WERT ==> STAT_KLANN_TEST1_71_WERT;STAT_KLANN_TEST2_60_WERT ==> STAT_KLANN_TEST2_71_WERT")
{
blockzaehler = 5 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 72 bis 83","STAT_KLANN_TEST1_72_WERT ==> STAT_KLANN_TEST1_83_WERT;STAT_KLANN_TEST2_72_WERT ==> STAT_KLANN_TEST2_83_WERT")
{
blockzaehler = 6 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 84 bis 95","STAT_KLANN_TEST1_84_WERT ==> STAT_KLANN_TEST1_95_WERT;STAT_KLANN_TEST2_84_WERT ==> STAT_KLANN_TEST2_95_WERT")
{
blockzaehler = 7 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 96 bis 107","STAT_KLANN_TEST1_96_WERT ==> STAT_KLANN_TEST1_107_WERT;STAT_KLANN_TEST2_96_WERT ==> STAT_KLANN_TEST2_107_WERT")
{
blockzaehler = 8 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 108 bis 119","STAT_KLANN_TEST1_108_WERT ==> STAT_KLANN_TEST1_119_WERT;STAT_KLANN_TEST2_108_WERT ==> STAT_KLANN_TEST2_119_WERT")
{
blockzaehler = 9 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 120 bis 131","STAT_KLANN_TEST1_120_WERT ==> STAT_KLANN_TEST1_131_WERT;STAT_KLANN_TEST2_120_WERT ==> STAT_KLANN_TEST2_131_WERT")
{
blockzaehler = 10 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 132 bis 143","STAT_KLANN_TEST1_132_WERT ==> STAT_KLANN_TEST1_143_WERT;STAT_KLANN_TEST2_132_WERT ==> STAT_KLANN_TEST2_143_WERT")
{
blockzaehler = 11 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 144 bis 155","STAT_KLANN_TEST1_144_WERT ==> STAT_KLANN_TEST1_155_WERT;STAT_KLANN_TEST2_144_WERT ==> STAT_KLANN_TEST2_155_WERT")
{
blockzaehler = 12 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 156 bis 167","STAT_KLANN_TEST1_156_WERT ==> STAT_KLANN_TEST1_167_WERT;STAT_KLANN_TEST2_156_WERT ==> STAT_KLANN_TEST2_167_WERT")
{
blockzaehler = 13 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 168 bis 179","STAT_KLANN_TEST1_168_WERT ==> STAT_KLANN_TEST1_179_WERT;STAT_KLANN_TEST2_168_WERT ==> STAT_KLANN_TEST2_179_WERT")
{
blockzaehler = 14 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 180 bis 191","STAT_KLANN_TEST1_180_WERT ==> STAT_KLANN_TEST1_191_WERT;STAT_KLANN_TEST2_180_WERT ==> STAT_KLANN_TEST2_191_WERT")
{
blockzaehler = 15 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 192 bis 203","STAT_KLANN_TEST1_192_WERT ==> STAT_KLANN_TEST1_203_WERT;STAT_KLANN_TEST2_192_WERT ==> STAT_KLANN_TEST2_203_WERT")
{
blockzaehler = 16 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 204 bis 215","STAT_KLANN_TEST1_204_WERT ==> STAT_KLANN_TEST1_215_WERT;STAT_KLANN_TEST2_204_WERT ==> STAT_KLANN_TEST2_215_WERT")
{
blockzaehler = 17 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
LINE("Wertepaar 216 bis 227","STAT_KLANN_TEST1_216_WERT ==> STAT_KLANN_TEST1_227_WERT;STAT_KLANN_TEST2_216_WERT ==> STAT_KLANN_TEST2_227_WERT")
{
blockzaehler = 18 * 12;
Ausgabe_NN("NKW/RK",blockzaehler,"_STATUS_KLANN","STAT_NKW_LOC_","STAT_RK_LOC_","STAT_KLANN_TEST1_","STAT_KLANN_TEST2_",0);
}
}
// **********************
// *** Status EISYAGR ***
// **********************
SCREEN s_eisy_agr()
{
int i, j, k, blockzaehler, durchlaufzaehler;
string help, result, s_temp;
blockzaehler = 0;
ftextout(dme_text + " Saugrohrmodell mit Abgasrückführung",0,10,1,0);
text(2,0,blank);
datei_nn = "";
LINE("Wertepaar 0 bis 9","STAT_PRNN_TEST_AGR_0_WERT ==> STAT_PRNN_TEST_AGR_0_WERT")
{
blockzaehler = 0;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 10 bis 19","STAT_PRNN_TEST_AGR_10_WERT ==> STAT_PRNN_TEST_AGR_19_WERT")
{
blockzaehler = 1;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 20 bis 29","STAT_PRNN_TEST_AGR_20_WERT ==> STAT_PRNN_TEST_AGR_29_WERT")
{
blockzaehler = 2;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 30 bis 39","STAT_PRNN_TEST_AGR_30_WERT ==> STAT_PRNN_TEST_AGR_39_WERT")
{
blockzaehler = 3;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 40 bis 49","STAT_PRNN_TEST_AGR_40_WERT ==> STAT_PRNN_TEST_AGR_49_WERT")
{
blockzaehler = 4;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 50 bis 59","STAT_PRNN_TEST_AGR_50_WERT ==> STAT_PRNN_TEST_AGR_59_WERT")
{
blockzaehler = 5;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 60 bis 69","STAT_PRNN_TEST_AGR_60_WERT ==> STAT_PRNN_TEST_AGR_69_WERT")
{
blockzaehler = 6;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 70 bis 79","STAT_PRNN_TEST_AGR_70_WERT ==> STAT_PRNN_TEST_AGR_79_WERT")
{
blockzaehler = 7;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 80 bis 89","STAT_PRNN_TEST_AGR_80_WERT ==> STAT_PRNN_TEST_AGR_89_WERT")
{
blockzaehler = 8;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
LINE("Wertepaar 90 bis 99","STAT_PRNN_TEST_AGR_90_WERT ==> STAT_PRNN_TEST_AGR_99_WERT")
{
blockzaehler = 9;
Ausgabe_NN("NKW/VSE",blockzaehler,"_STATUS_EISYAGR","STAT_AGRPOS_","STAT_PRNN_TEST_AGR_","","",0);
}
}
// ****************************
// *** Status UeberDrehzahl ***
// ****************************
SCREEN s_ueberdreh()
{
ftextout(dme_text + " mit N53/N54 Überdrehzahl",1,0,1,0);
ftextout("",3,0,0,0);
INPAapiJob(sgbd,"_STATUS_UEBERDREHZAHL","","");
INPAapiCheckJobStatus("OKAY");
LINE("ÜberdrehZahl, BetriebsStunden","STAT_N_MAX_WERT, STAT_ZEIT_WERT")
{
vartext1 = "Überdrehzahl";
INPAapiResultText(vartext2,"STAT_N_MAX_EINH",1,"");
text(0,0,vartext1);
INPAapiResultInt(i_temp,"STAT_N_MAX_WERT",1);
inttoreal(i_temp,r_temp);
analogout(r_temp, 1, 0, 0, 8200, 0, 7200,"5.0");
text(1,32,vartext2);
vartext1 = "BetriebsStunden Zähler";
INPAapiResultText(vartext2,"STAT_ZEIT_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZEIT_WERT",1);
analogout(r_temp,1,40, 0, 10000, 0, 10000,"9.3");
text(1,78,vartext2);
}
LINE("Zähler Überdrehzahl, km Stand","STAT_ANZAHL_WERT, STAT_KM_STAND_WERT")
{
vartext1 = "Anzahl Überdrehzahl";
text(0,0,vartext1);
INPAapiResultInt(i_temp,"STAT_ANZAHL",1);
inttoreal(i_temp,r_temp);
analogout(r_temp, 1, 0, 0, 255, 0, 255,"5.0");
text(1,32,"-");
vartext1 = "Kilometerstand";
INPAapiResultText(vartext2,"STAT_KM_STAND_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_KM_STAND_WERT",1);
analogout(r_temp,1,40, 0, 700000, 0, 700000,"9.0");
text(1,75,vartext2);
}
LINE("Gradient, Geschwindigkeit","STAT_GRADIENT_N_WERT;LSHPWM_DOWN_1")
{
vartext1 = "Drehzahlgradient";
INPAapiResultText(vartext2,"STAT_GRADIENT_N_EINH",1,"");
text(0,0,vartext1);
INPAapiResultInt(i_temp,"STAT_GRADIENT_N_WERT",1);
inttoreal(i_temp,r_temp);
analogout(r_temp, 1, 0, -4100, 4100, -4100, 4100,"5.0");
text(1,32,vartext2);
vartext1 = "Geschwindigkeit";
INPAapiResultText(vartext2,"STAT_GESCHWINDIGKEIT_EINH",1,"");
text(0,40,vartext1);
INPAapiResultInt(i_temp,"STAT_GESCHWINDIGKEIT_WERT",1);
inttoreal(i_temp,r_temp);
analogout(r_temp,1,40, 0, 255, 0, 255,"5.0");
text(1,75,vartext2);
}
LINE("PedalWert, Untersetzung","STAT_PEDALWERT_MITTELWERT_WERT;LSHPWM_DOWN_2")
{
vartext1 = "Pedalwert Mittelwert";
INPAapiResultText(vartext2,"STAT_PEDALWERT_MITTELWERT_EINH",1,"");
text(0,0,vartext1);
INPAapiResultInt(i_temp,"STAT_PEDALWERT_MITTELWERT_WERT",1);
inttoreal(i_temp,r_temp);
analogout(r_temp, 1, 0, 0, 100, 0, 100,"5.0");
text(1,32,vartext2);
vartext1 = "Verhältnis Drehzahl/Geschwindigkeit";
text(0,40,vartext1);
INPAapiResultInt(i_temp,"STAT_UNTERSETZUNG",1);
inttoreal(i_temp,r_temp);
analogout(r_temp,1,40, 0, 255, 0, 255,"5.0");
text(1,75,"-");
}
LINE("Zeit, Summe Zeiten","STAT_ZEIT_MAX_WERT;STAT_ZEIT_SUMMIERT_WERT")
{
vartext1 = "Zeit bei maximaler Überdrehzahl";
INPAapiResultText(vartext2,"STAT_ZEIT_MAX_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZEIT_MAX_WERT",1);
analogout(r_temp, 1, 0, 0, 6500, 0, 6500,"6.1");
text(1,32,vartext2);
vartext1 = "Summe aller Überdrehzahlzeiten";
INPAapiResultText(vartext2,"STAT_ZEIT_SUMMIERT_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZEIT_SUMMIERT_WERT",1);
analogout(r_temp,1,40, 0, 6500, 0, 6500,"6.1");
text(1,75,vartext2);
}
LINE("Kupplung, Schubabschaltung","STAT_KUPPLUNG_WERT;STAT_ZEIT_SUMMIERT_WERT")
{
vartext1 = "KupplungsSchalter";
text(0,0,vartext1);
ergebnisDigitalAusgabe("STAT_KUPPLUNG" , 1, 15," EIN "," AUS ");
text(1,32,"-");
vartext1 = "Muster SchubAbschaltung";
text(0,40,vartext1);
INPAapiResultInt(i_temp,"STAT_SCHUB_ABSCHALTUNG",1);
inttoreal(i_temp,r_temp);
analogout(r_temp,1,40, 0, 255, 0, 255,"5.0");
text(1,75,"-");
}
}
// ******************************
// *** Status UeberTemperatur ***
// ******************************
SCREEN s_uebertemp()
{
ftextout(dme_text + " mit N53/N54 Übertemperatur",1,0,1,0);
ftextout("",3,0,0,0);
INPAapiJob(sgbd,"_STATUS_UEBERTEMPERATUR","","");
INPAapiCheckJobStatus("OKAY");
LINE("Oeltemperatur, Drehzahl","STAT_TOIL_MAX_WERT, STAT_N_WERT")
{
vartext1 = "Höchste Öltemperatur";
INPAapiResultText(vartext2,"STAT_TOIL_MAX_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_TOIL_MAX_WERT",1);
analogout(r_temp, 1, 0, 0, 200, 0, 120,"5.0");
text(1,32,vartext2);
vartext1 = "Drehzahl";
INPAapiResultText(vartext2,"STAT_N_EINH",1,"");
text(0,40,vartext1);
INPAapiResultInt(i_temp,"STAT_N_WERT",1);
inttoreal(i_temp,r_temp);
analogout(r_temp, 1, 40, 0, 8200, 0, 7200,"5.0");
text(1,75,vartext2);
}
LINE("Zähler Übertemperatur, km Stand","STAT_CTR_WERT, STAT_CTR_KM_WERT")
{
vartext1 = "Zähler Übertemperatur";
text(0,0,vartext1);
INPAapiResultInt(i_temp,"STAT_CTR",1);
inttoreal(i_temp,r_temp);
analogout(r_temp, 1, 0, 0, 255, 0, 255,"5.0");
text(1,32,"-");
vartext1 = "Kilometerstand";
INPAapiResultText(vartext2,"STAT_CTR_KM_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_CTR_KM_WERT",1);
analogout(r_temp,1,40, 0, 500000, 0, 500000,"7.0");
text(1,75,vartext2);
}
LINE("Drehmoment, Geschwindigkeit","STAT_TQI_AV_WERT;STAT_VS_WERT")
{
vartext1 = "Drehmoment";
INPAapiResultText(vartext2,"STAT_TQI_AV_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_TQI_AV_WERT",1);
analogout(r_temp, 1, 0, -500, 500, -350, 350,"6.1");
text(1,32,vartext2);
vartext1 = "Geschwindigkeit";
INPAapiResultText(vartext2,"STAT_VS_EINH",1,"");
text(0,40,vartext1);
INPAapiResultInt(i_temp,"STAT_VS_WERT",1);
inttoreal(i_temp,r_temp);
analogout(r_temp,1,40, 0, 255, 0, 255,"5.0");
text(1,75,vartext2);
}
LINE("PedalWert, Untersetzung","STAT_PV_AV_WERT;STAT_GEAR_WERT")
{
vartext1 = "Pedalwert";
INPAapiResultText(vartext2,"STAT_PV_AV_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_PV_AV_WERT",1);
analogout(r_temp, 1, 0, 0, 100, 0, 100,"5.0");
text(1,32,vartext2);
vartext1 = "Gang";
text(0,40,vartext1);
INPAapiResultInt(i_temp,"STAT_GEAR",1);
inttoreal(i_temp,r_temp);
analogout(r_temp,1,40, 0, 10, 0, 6,"5.0");
text(1,75,"-");
}
LINE("Umgebungstemperatur, Motortemperatur","STAT_TAM_WERT;STAT_TCO_WERT")
{
vartext1 = "Umgebungstemperatur";
INPAapiResultText(vartext2,"STAT_TAM_EINH",1,"");
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_TAM_WERT",1);
analogout(r_temp, 1, 0, -50, 150, -50, 150,"6.1");
text(1,32,vartext2);
vartext1 = "Motortemperatur";
INPAapiResultText(vartext2,"STAT_TCO_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_TCO_WERT",1);
analogout(r_temp,1,40, -50, 150, -50, 150,"6.1");
text(1,75,vartext2);
}
LINE("Kupplung, Warnschwelle","STAT_LV_CS_WERT;STAT_WARN_THD_WERT")
{
vartext1 = "Kupplungsschalter";
text(0,0,vartext1);
ergebnisDigitalAusgabe("STAT_LV_CS", 1, 15," EIN "," AUS ");
text(1,32,"-");
vartext1 = "Schwelle Übertemperatur";
INPAapiResultText(vartext2,"STAT_WARN_THD_EINH",1,"");
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_WARN_THD_WERT",1);
analogout(r_temp, 1, 40, -40, 215, 100, 160, "5.0");
text(1,75,vartext2);
}
}
// ****************************
// *** Laufunruhe gefiltert ***
// ****************************
SCREEN s_laufunruhe()
{
delay(500);
ftextout("Gefilterte Laufunruhe und Lambdasonden Spannung",1,5,1,0);
INPAapiJob(sgbd,"STATUS_MOTORLAUFUNRUHE","","");
INPAapiCheckJobStatus("OKAY");
LINE("gefilterte Laufunruhe Zylinder 1","STAT_ER_IS_1")
{
vartext1 = "Laufunruhe Zylinder 1";
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL1_WERT",1);
analogout(r_temp, 1, 0, -8.0, 8.0, -8.0, 3.0,"5.3");
vartext1 = "Laufunruhe Zylinder 2";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL2_WERT",1);
analogout(r_temp, 1, 40, -8.0, 8.0, -8.0, 3.0,"5.3");
}
LINE("gefilterte Laufunruhe Zylinder 3","STAT_ER_IS_3")
{
vartext1 = "Laufunruhe Zylinder 3";
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL3_WERT",1);
analogout(r_temp, 1, 0, -8.0, 8.0, -8.0, 3.0,"5.3");
vartext1 = "Laufunruhe Zylinder 4";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL4_WERT",1);
analogout(r_temp, 1, 40, -8.0, 8.0, -8.0, 3.0,"5.3");
}
LINE("gefilterte Laufunruhe Zylinder 5","STAT_ER_IS_5")
{
vartext1 = "Laufunruhe Zylinder 5";
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL5_WERT",1);
analogout(r_temp, 1, 0, -8.0, 8.0, -8.0, 3.0,"5.3");
vartext1 = "Laufunruhe Zylinder 6";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL6_WERT",1);
analogout(r_temp, 1, 40, -8.0, 8.0, -8.0, 3.0,"5.3");
}
LINE("gefilterte Laufunruhe Zylinder 5","STAT_ER_IS_5")
{
vartext1 = "Laufunruhe Zylinder 7";
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL7_WERT",1);
analogout(r_temp, 1, 0, -8.0, 8.0, -8.0, 3.0,"5.3");
vartext1 = "Laufunruhe Zylinder 8";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_ZYL8_WERT",1);
analogout(r_temp, 1, 40, -8.0, 8.0, -8.0, 3.0,"5.3");
}
LINE("Spannung Sonde VK1","STAT_VLS_UP_1")
{
vartext1 = "Spannung Lambdasonde Bank 1";
text(0,0,vartext1);
INPAapiResultAnalog(r_temp,"STAT_VLS_UP_1_WERT",1);
analogout(r_temp, 1, 0, 0.0, 5.0, 0.0, 5.0,"5.2");
vartext1 = "Spannung Lambdasonde Bank 2";
text(0,40,vartext1);
INPAapiResultAnalog(r_temp,"STAT_VLS_UP_2_WERT",1);
analogout(r_temp, 1, 40, 0.0, 5.0, 0.0, 5.0,"5.2");
}
LINE("Status Segmentadaption","STAT_GEBERRAD_ADAPTION")
{
text(0,1,"Status Segmentadaption");
ergebnisDigitalAusgabe("STAT_GEBERRAD_ADAPTION" , 1, 1," beendet "," läuft ");
delay(500);
}
}
// *******************
// *** EWS4-Screen ***
// *******************
SCREEN s_ews()
{
ftextout("EWS4-Startwertabgleich "+ SG_Verbund_text ,3,20,1,1);
ftextout("NUR FÜR ENTWICKLUNGSFAHRZEUGE!" ,5,27,0,1);
textout("< F1 > Status" ,12,5);
textout("< F2 > DME abgleichen" ,13,5);
textout("< F10> Zurück" ,15,5);
stop();
}
SCREEN s_ews_alt()
{
ftextout("EWS-Startwertabgleich alt "+ SG_Verbund_text ,3,20,1,1);
ftextout("NUR FÜR ENTWICKLUNGSFAHRZEUGE! Alter Code!!" ,5,27,0,1);
ftextout("Wenn PST CP16510 unterstützt, dann nicht mehr verwenden!" ,7,27,0,1);
textout("< F1 > Status" ,12,5);
textout("< F2 > DME abgleichen" ,13,5);
textout("< F10> Zurück" ,15,5);
stop();
}
// ********************
// *** SLEEP-Screen ***
//*********************
SCREEN s_sleep_funktional()
{
ftextout("Steuergeräte in SLEEP-MODE / DME Reset" ,3,20,1,1);
ftextout("Sleep Mode: Klemme 15 aus" ,9,20,1,1);
textout("< F1 > DME" ,12,5);
// textout("< F3 > Alle PowerTrain" ,14,5);
textout("< F5 > Alle Steuergeräte" ,16,5);
textout("< F8 > DME Reset" ,19,5);
textout("< F10> Zurück" ,21,5);
stop();
}
// *********************
// *** IBS Hauptmenu ***
// *********************
SCREEN s_main_pm()
{
ftextout(dme_text + " PM Hauptmenü",3,20,1,1);
textout("< F1 > IBS Identifikation", 9,5);
textout("< F2 > PM 1 Byte Feld" ,10,5);
textout("< F3 > PM 2 Byte Feld" ,11,5);
textout("< F4 > PM 3 Byte Feld" ,12,5);
textout("< F5 > Batterietausch registrieren" ,13,5);
textout("< F6 > Histogramm Reset" ,14,5);
textout("< F7 > Start PM MESSEMODE",15,5);
textout("< F8 > Stop PM MESSEMODE",16,5);
textout("< F10> Zurück" ,19,5);
textout("< Shift > + < F10> INPA beenden" ,19,45);
stop();
}
// ************************
// *** IBS Ident-Screen ***
// ************************
SCREEN s_ibs_ident()
{
string s1;
long l1;
INPAapiJob(sgbd,"IDENT_IBS","","");
ftextout("Identifikation Batteriesensor",0,20,1,1);
INPAapiResultText(s1, "JOB_STATUS", 1,"");
if (s1 != "OKAY")
{
messagebox("IDENT_IBS",s1);
}
else
{
textout("=============================================================================================",2,0);
ergebnisAusgabeTxt("BMWTeilenummer:" ,"ID_BMW_NR" ,3,0,0,30);
ergebnisAusgabeTxt("Seriennummer:" ,"SERIENNUMMER" ,4,0,0,30);
ergebnisAusgabeInt("Hardwareversion:" ,"HW_REF" ,5,0,0,30);
ergebnisAusgabeInt("Programmstand:" ,"ZIF_PROGRAMMSTAND" ,7,0,0,30);
ergebnisAusgabeInt("Programmversion:" ,"ZIF_STATUS" ,8,0,0,30);
}
}
// ************************
// *** PM 1 Byte-Feld ***
// ************************
SCREEN s_pm_feld1()
{
string s1;
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_PM_INFO_1","","");
INPAapiResultText(s1, "JOB_STATUS", 1,"");
if (s1 != "OKAY")
{
messagebox("PM_FELD1",s1);
}
else
{
ftextout(dme_text + " PM Infofeld 1",0,20,1,1);
ergebnisAusgabeAnalog("km Stand aktuell" , "STAT_KM_STAND_AKTUELL_WERT" , "7.2", 5, 0, 0,25);
ergebnisAusgabeAnalog("km Stand vor 1 Tag" , "STAT_KM_STAND_VOR_1_TAG_WERT", "7.2", 6, 0, 0,25);
ergebnisAusgabeAnalog("km Stand vor 2 Tagen", "STAT_KM_STAND_VOR_2_TAG_WERT", "7.2", 7, 0, 0,25);
ergebnisAusgabeAnalog("km Stand vor 3 Tagen", "STAT_KM_STAND_VOR_3_TAG_WERT", "7.2", 8, 0, 0,25);
ergebnisAusgabeAnalog("km Stand vor 4 Tagen", "STAT_KM_STAND_VOR_4_TAG_WERT", "7.2", 9, 0, 0,25);
ergebnisAusgabeAnalog("km Stand vor 5 Tagen", "STAT_KM_STAND_VOR_5_TAG_WERT", "7.2", 10, 0, 0,25);
ergebnisAusgabeAnalog(" letzter Batterietausch bei km", "STAT_BATTERIETAUSCH_LETZTER_WERT" , "7.2",6,35, 0,25);
ergebnisAusgabeAnalog("2letzter Batterietausch bei km", "STAT_BATTERIETAUSCH_ZWEITLETZTER_WERT", "7.2",7,35, 0,25);
ergebnisAusgabeAnalog("3letzter Batterietausch bei km", "STAT_BATTERIETAUSCH_DRITTLETZTER_WERT", "7.2",8,35, 0,25);
ergebnisAusgabeAnalog("4letzter Batterietausch bei km", "STAT_BATTERIETAUSCH_VIERTLETZTER_WERT", "7.2",9,35, 0,25);
//ergebnisAusgabeAnalog("5letzter Batterietausch bei km", "STAT_BATTERIETAUSCH_FUENFTLETZTER_WERT","7.2",8,35, 0,25);
ergebnisAusgabeAnalog("Stunden im Ladungsbereich 0 - 20", "STAT_ZEIT_IM_LADUNGSBEREICH_0_20_WERT" ,"7.2",13,35, 0,25);
ergebnisAusgabeAnalog("Stunden im Ladungsbereich 20 - 40", "STAT_ZEIT_IM_LADUNGSBEREICH_20_40_WERT" ,"7.2",14,35, 0,25);
ergebnisAusgabeAnalog("Stunden im Ladungsbereich 40 - 60", "STAT_ZEIT_IM_LADUNGSBEREICH_40_60_WERT" ,"7.2",15,35, 0,25);
ergebnisAusgabeAnalog("Stunden im Ladungsbereich 60 - 80", "STAT_ZEIT_IM_LADUNGSBEREICH_60_80_WERT" ,"7.2",16,35, 0,25);
ergebnisAusgabeAnalog("Stunden im Ladungsbereich 80 -100", "STAT_ZEIT_IM_LADUNGSBEREICH_80_100_WERT","7.2",17,35, 0,25);
ergebnisAusgabeAnalog("Minuten bei Temperatur bis 0" , "STAT_ZEIT_IM_TEMPERATURBEREICH_BIS_0_WERT","7.2",13, 0, 0,25);
ergebnisAusgabeAnalog("Minuten bei Temperatur 0 - 20" , "STAT_ZEIT_IM_TEMPERATURBEREICH_0_20_WERT" ,"7.2",14, 0, 0,25);
ergebnisAusgabeAnalog("Minuten bei Temperatur 20 - 40" , "STAT_ZEIT_IM_TEMPERATURBEREICH_20_40_WERT","7.2",15, 0, 0,25);
ergebnisAusgabeAnalog("Minuten bei Temperatur 40 - 60" , "STAT_ZEIT_IM_TEMPERATURBEREICH_40_60_WERT","7.2",16, 0, 0,25);
ergebnisAusgabeAnalog("Minuten bei Temperatur über 60" , "STAT_ZEIT_IM_TEMPERATURBEREICH_AB_60_WERT","7.2",17, 0, 0,25);
ergebnisAusgabeAnalog("Batterieladung gesamte Ah", "STAT_BATTERIELADUNG_GESAMT_WERT" ,"7.2",20, 0, 0,25);
ergebnisAusgabeAnalog("Batterieentladung gesamte Ah","STAT_BATTERIEENTLADUNG_GESAMT_WERT","7.2",20,35, 0,25);
ergebnisAusgabeAnalog("Batterieladung Bilanz Ah", "STAT_BATTERIELADUNG_BILANZ_WERT" ,"7.2",21, 0, 0,25);
ergebnisAusgabeAnalog("Batterieentladung während Motorlauf", "STAT_BATTENTLADUNG_GESAMT_BEI_MOTOR_LAEUFT_WERT" ,"7.2",21, 35, 0,25); // Von MSD87 L6 SGBD nicht unterstützt!
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges 0 - 80" , "STAT_RUHESTROM_0_80_GESAMT_WERT" ,"7.2",10, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges 80 - 200" , "STAT_RUHESTROM_80_200_GESAMT_WERT" ,"7.2",11, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges 200 - 1000", "STAT_RUHESTROM_200_1000_GESAMT_WERT" ,"7.2",12, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges über 1000" , "STAT_RUHESTROM_AB_1000_GESAMT_WERT" ,"7.2",13, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV 0 - 80" , "STAT_RUHESTROM_0_80_GESAMT_OHNE_SV_WERT" ,"7.2",10,35, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV 80 - 200" , "STAT_RUHESTROM_80_200_GESAMT_OHNE_SV_WERT" ,"7.2",11,35, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV 200 - 1000", "STAT_RUHESTROM_200_1000_GESAMT_OHNE_SV_WERT" ,"7.2",12,35, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV über 1000" , "STAT_RUHESTROM_AB_1000_GESAMT_OHNE_SV_WERT" ,"7.2",13,35, 0,25);
ergebnisAusgabeAnalog("IBS Fehler BSD Parity", "STAT_IBS_FEHLERZAEHLER_BSD_PARITY_WERT", "5.0",24, 0, 0,25);
ergebnisAusgabeAnalog("IBS Fehler Watchdog Reset", "STAT_IBS_FEHLERZAEHLER_WATCHDOG_RESET_WERT", "5.0",25, 0, 0,25);
ergebnisAusgabeAnalog("IBS Fehler Power on Reset", "STAT_IBS_FEHLERZAEHLER_POWER_ON_RESET_WERT", "5.0",26, 0, 0,25);
ergebnisAusgabeAnalog("KTBS Fehler BSD erweitert", "STAT_KTBS_FEHLERZAEHLER_BSD_ERWEITERT_WERT", "5.0",24,35, 0,25);
ergebnisAusgabeAnalog("KTIBS Fehler BSD", "STAT_KTIBS_FEHLERZAEHLER_BSD_WERT", "5.0",25,35, 0,25);
ergebnisAusgabeAnalog("KTIBS Fehler EBSD Checksumme","STAT_KTIBS_FEHLERZAEHLER_EBSD_CHECKSUMME_WERT","5.0",26,35, 0,25);
delay(1000);
}
}
// ************************
// *** PM 2 Byte-Feld ***
// ************************
SCREEN s_pm_feld2()
{
string s1;
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_PM_INFO_2","","");
INPAapiResultText(s1, "JOB_STATUS", 1,"");
if (s1 != "OKAY")
{
messagebox("PM_FELD2",s1);
}
else
{
ftextout(dme_text + " PM Infofeld 2",0,20,1,1);
ergebnisAusgabeAnalog("Ah Q SOC aktuell" , "STAT_Q_SOC_AKTUELL_WERT" , "7.2", 3, 0, 0,25);
ergebnisAusgabeAnalog("Ah Q SOC vor 1 Tag" , "STAT_Q_SOC_VOR_1_TAG_WERT", "7.2", 4, 0, 0,25);
ergebnisAusgabeAnalog("Ah Q SOC vor 2 Tagen", "STAT_Q_SOC_VOR_2_TAG_WERT", "7.2", 5, 0, 0,25);
ergebnisAusgabeAnalog("Ah Q SOC vor 3 Tagen", "STAT_Q_SOC_VOR_3_TAG_WERT", "7.2", 6, 0, 0,25);
ergebnisAusgabeAnalog("Ah Q SOC vor 4 Tagen", "STAT_Q_SOC_VOR_4_TAG_WERT", "7.2", 7, 0, 0,25);
ergebnisAusgabeAnalog("Ah Q SOC vor 5 Tagen", "STAT_Q_SOC_VOR_5_TAG_WERT", "7.2", 8, 0, 0,25);
ergebnisAusgabeAnalog("% Startfähigkeit aktuell" , "STAT_STARTFAEHIGKEITSGRENZE_AKTUELL_WERT" , "7.2", 3,35, 0,25);
ergebnisAusgabeAnalog("% Startfähigkeit vor 1 Tag" , "STAT_STARTFAEHIGKEITSGRENZE_VOR_1_TAG_WERT", "7.2", 4,35, 0,25);
ergebnisAusgabeAnalog("% Startfähigkeit vor 2 Tagen", "STAT_STARTFAEHIGKEITSGRENZE_VOR_2_TAG_WERT", "7.2", 5,35, 0,25);
ergebnisAusgabeAnalog("% Startfähigkeit vor 3 Tagen", "STAT_STARTFAEHIGKEITSGRENZE_VOR_3_TAG_WERT", "7.2", 6,35, 0,25);
ergebnisAusgabeAnalog("% Startfähigkeit vor 4 Tagen", "STAT_STARTFAEHIGKEITSGRENZE_VOR_4_TAG_WERT", "7.2", 7,35, 0,25);
ergebnisAusgabeAnalog("% Startfähigkeit vor 5 Tagen", "STAT_STARTFAEHIGKEITSGRENZE_VOR_5_TAG_WERT", "7.2", 8,35, 0,25);
ergebnisAusgabeAnalog("% Ladungszustand aktuell" , "STAT_LADUNGSZUSTAND_AKTUELL_WERT" , "7.2",10,35, 0,25);
ergebnisAusgabeAnalog("% Ladungszustand vor 1 Tag" , "STAT_LADUNGSZUSTAND_VOR_1_TAG_WERT", "7.2",11,35, 0,25);
ergebnisAusgabeAnalog("% Ladungszustand vor 2 Tagen", "STAT_LADUNGSZUSTAND_VOR_2_TAG_WERT", "7.2",12,35, 0,25);
ergebnisAusgabeAnalog("% Ladungszustand vor 3 Tagen", "STAT_LADUNGSZUSTAND_VOR_3_TAG_WERT", "7.2",13,35, 0,25);
ergebnisAusgabeAnalog("% Ladungszustand vor 4 Tagen", "STAT_LADUNGSZUSTAND_VOR_4_TAG_WERT", "7.2",14,35, 0,25);
ergebnisAusgabeAnalog("% Ladungszustand vor 5 Tagen", "STAT_LADUNGSZUSTAND_VOR_5_TAG_WERT", "7.2",15,35, 0,25);
ergebnisAusgabeAnalog("Batterie Kapazität in Ah", "STAT_BATTERIE_KAPAZITAET_WERT", "7.2",10, 0, 0,25);
ergebnisAusgabeAnalog("SOH", "STAT_SOH_WERT", "7.2",11, 0, 0,25);
ergebnisAusgabeAnalog("SOC-Fit", "STAT_SOC_FIT_WERT", "7.2",12, 0, 0,25);
ergebnisAusgabeAnalog("Saison Temperatur in C", "STAT_TEMP_SAISON_WERT", "7.2",13, 0, 0,25);
ergebnisAusgabeAnalog("Kalibrier Ereignisse", "STAT_KALIBRIER_EVENT_CNT_WERT", "4.0",14, 0, 0,25);
ergebnisAusgabeAnalog("IBS Fehler Download Checksumme", "STAT_IBS_FEHLERZAEHLER_DOWNLOAD_CHECKSUMME_WERT", "4.0",17, 0, 0,25);
ergebnisAusgabeAnalog("IBS Fehler EEPROM Diagnose", "STAT_IBS_FEHLERZAEHLER_EEPROM_DIAGNOSE_WERT", "4.0",18, 0, 0,25);
ergebnisAusgabeAnalog("IBS Fehler RAM Diagnose", "STAT_IBS_FEHLERZAEHLER_RAM_DIAGNOSE_WERT", "4.0",19, 0, 0,25);
ergebnisAusgabeAnalog("IBS Fehler PROM Diagnose", "STAT_IBS_FEHLERZAEHLER_PROM_DIAGNOSE_WERT", "4.0",17,35, 0,25);
ergebnisAusgabeAnalog("IBS Fehler I2C NAC Diagnose", "STAT_IBS_FEHLERZAEHLER_I2C_NAC_DIAGNOSE_WERT", "4.0",18,35, 0,25);
ergebnisAusgabeAnalog("IBS Fehler I2C Bus Collision", "STAT_IBS_FEHLERZAEHLER_I2C_BUS_COLLISION_WERT", "4.0",19,35, 0,25);
delay(1000);
}
}
// *******************************
// *** PM 3 Byte-Feld Seite 2 ***
// *******************************
SCREEN s_pm_feld3()
{
string s1;
INPAapiJob(sgbd,"STATUS_SYSTEMCHECK_PM_INFO_1","","");
INPAapiResultText(s1, "JOB_STATUS", 1,"");
if (s1 != "OKAY")
{
messagebox("PM_FELD3",s1);
}
else
{
ftextout(dme_text + " PM Infofeld 3",0,20,1,1);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges 0 - 80" , "STAT_RUHESTROM_0_80_GESAMT_WERT" ,"7.2", 5, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges 80 - 200" , "STAT_RUHESTROM_80_200_GESAMT_WERT" ,"7.2", 6, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges 200 - 1000", "STAT_RUHESTROM_200_1000_GESAMT_WERT" ,"7.2", 7, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom ges über 1000" , "STAT_RUHESTROM_AB_1000_GESAMT_WERT" ,"7.2", 8, 0, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV 0 - 80" , "STAT_RUHESTROM_0_80_GESAMT_OHNE_SV_WERT" ,"7.2", 5,35, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV 80 - 200" , "STAT_RUHESTROM_80_200_GESAMT_OHNE_SV_WERT" ,"7.2", 6,35, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV 200 - 1000", "STAT_RUHESTROM_200_1000_GESAMT_OHNE_SV_WERT" ,"7.2", 7,35, 0,25);
// ergebnisAusgabeAnalog("Minuten Ruhestrom oSV über 1000" , "STAT_RUHESTROM_AB_1000_GESAMT_OHNE_SV_WERT" ,"7.2", 8,35, 0,25);
text(3,0,"Status Ruhestrom aktuell:");
INPAapiResultText(vartext,"STAT_RUHESTROM_AKTUELL",1,"");
ftextout(vartext,3,25,0,0);
text(4,0,"Status Ruhestrom vor 1 Zyklus:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_1_ZYKLUS",1,"");
ftextout(vartext,4,25,0,0);
text(5,0,"Status Ruhestrom vor 2 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_2_ZYKLEN",1,"");
ftextout(vartext,5,25,0,0);
text(6,0,"Status Ruhestrom vor 3 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_3_ZYKLEN",1,"");
ftextout(vartext,6,25,0,0);
text(7,0,"Status Ruhestrom vor 4 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_4_ZYKLEN",1,"");
ftextout(vartext,7,25,0,0);
text(8,0,"Status Ruhestrom vor 5 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_5_ZYKLEN",1,"");
ftextout(vartext,8,25,0,0);
text(9,0,"Status Ruhestrom vor 6 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_6_ZYKLEN",1,"");
ftextout(vartext,9,25,0,0);
text(10,0,"Status Ruhestrom vor 7 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_7_ZYKLEN",1,"");
ftextout(vartext,10,25,0,0);
text(11,0,"Status Ruhestrom vor 8 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_8_ZYKLEN",1,"");
ftextout(vartext,11,25,0,0);
text(12,0,"Status Ruhestrom vor 9 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_9_ZYKLEN",1,"");
ftextout(vartext,12,25,0,0);
text(13,0,"Status Ruhestrom vor 10 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_10_ZYKLEN",1,"");
ftextout(vartext,13,25,0,0);
text(14,0,"Status Ruhestrom vor 11 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_11_ZYKLEN",1,"");
ftextout(vartext,14,25,0,0);
text(15,0,"Status Ruhestrom vor 12 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_12_ZYKLEN",1,"");
ftextout(vartext,15,25,0,0);
text(16,0,"Status Ruhestrom vor 13 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_13_ZYKLEN",1,"");
ftextout(vartext,16,25,0,0);
text(17,0,"Status Ruhestrom vor 14 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_14_ZYKLEN",1,"");
ftextout(vartext,17,25,0,0);
text(18,0,"Status Ruhestrom vor 15 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_15_ZYKLEN",1,"");
ftextout(vartext,18,25,0,0);
text(19,0,"Status Ruhestrom vor 16 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_16_ZYKLEN",1,"");
ftextout(vartext,19,25,0,0);
text(20,0,"Status Ruhestrom vor 17 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_17_ZYKLEN",1,"");
ftextout(vartext,20,25,0,0);
text(21,0,"Status Ruhestrom vor 18 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_18_ZYKLEN",1,"");
ftextout(vartext,21,25,0,0);
text(22,0,"Status Ruhestrom vor 19 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_19_ZYKLEN",1,"");
ftextout(vartext,22,25,0,0);
text(23,0,"Status Ruhestrom vor 20 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_20_ZYKLEN",1,"");
ftextout(vartext,23,25,0,0);
text(24,0,"Status Ruhestrom vor 21 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_21_ZYKLEN",1,"");
ftextout(vartext,24,25,0,0);
text(25,0,"Status Ruhestrom vor 22 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_22_ZYKLEN",1,"");
ftextout(vartext,25,25,0,0);
text(26,0,"Status Ruhestrom vor 23 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_23_ZYKLEN",1,"");
ftextout(vartext,26,25,0,0);
text(27,0,"Status Ruhestrom vor 24 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_24_ZYKLEN",1,"");
ftextout(vartext,27,25,0,0);
text(28,0,"Status Ruhestrom vor 25 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_25_ZYKLEN",1,"");
ftextout(vartext,28,25,0,0);
text(29,0,"Status Ruhestrom vor 26 Zyklen:");
INPAapiResultText(vartext,"STAT_RUHESTROM_VOR_26_ZYKLEN",1,"");
ftextout(vartext,29,25,0,0);
delay(1000);
}
}
//************************
//*** EWS4 Abgleich alt***
//************************
SCREEN s_ews_stell_alt()
{
string lock_status_wert_string_alt, lock_status_wert_string, lock_status_text_string_alt, lock_status_text_string;
string EKey, strData, strCmp, strTmp, strTmp2;
string s1, s2, s3;
int lock_status_wert_int, i, anzahl_zeichen, anzahl_bytes, intDataLen, zeile;
EKey = "0x63,0x47,0x15,0xA9,0x3B,0xE0,0x2A,0x74,0xFD,0x74,0x0E,0xDA,0xA1,0x9A,0x45,0x31";
zeile = 14;
ftextout("EWS4-Startwertabgleich " + dme_text,0,20,1,1);
ftextout("NUR FÜR ENTWICKLUNGSFAHRZEUGE!",2,27,0,1);
if(ews_para == 1) {
INPAapiJob(sgbd,"STATUS_EWS","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_EWS",s1); stop(); }
INPAapiResultText(lock_status_wert_string,"STAT_EWS4_CLIENT_SK_LOCKED",1,"");
stringtoint(lock_status_wert_string,i);
if(i == 1) {
textout(blank, zeile, 5);
textout(blank, zeile + 2, 5);
textout(blank, zeile + 4, 5);
textout(blank, zeile + 6, 5);
textout(blank, zeile + 8, 5);
textout("DME-Status:", zeile, 5);
textout("DME " + dme_text + "bereits abgeglichen!" , zeile, 25);
stop();
}
else {
textout(blank, zeile + 4, 5);
textout(blank, zeile + 6, 5);
textout(blank, zeile + 8, 5);
INPAapiJob(sgbd,"STEUERN_EWS4_SK","WRITE_CLIENT_SK"+";"+"0x63,0x47,0x15,0xA9,0x3B,0xE0,0x2A,0x74,0xFD,0x74,0x0E,0xDA,0xA1,0x9A,0x45,0x31","");
// Gegenlesen des Keys
textout("DME-Status:", zeile, 5);
textout("Entwickluns-Schlüssel von Client auslesen", zeile, 25); zeile = zeile + 2;
INPAapiJob(sgbd,"STATUS_EWS4_SK","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultBinary("STAT_EWS4_CLIENT_SK",1);
GetBinaryDataString(strData, intDataLen);
if (intDataLen!=32)
{
messagebox("EKey schreiben nicht möglich","Der Schlüssel hat nicht die erforderliche Länge");
}
else
{
textout("Entwickluns-Schlüssel von Client vergleichen", zeile, 25); zeile = zeile + 2;
strCmp = EKey;
instr(i, 0, strCmp, "0x"); // 0x entfernen
while (i>=0)
{
midstr(strTmp, strCmp,0,i);
midstr(strTmp2,strCmp,i+2,99);
strcat(strCmp, strTmp, strTmp2);
instr(i, 0, strCmp, "0x");
}
instr(i, 0, strCmp, ","); // Komma entfernen
while (i>=0)
{
midstr(strTmp, strCmp,0,i);
midstr(strTmp2,strCmp,i+1,99);
strcat(strCmp, strTmp, strTmp2);
instr(i, 0, strCmp, ",");
}
instr(i, 0, strCmp, " "); // Blank entfernen
while (i>=0)
{
midstr(strTmp, strCmp,0,i);
midstr(strTmp2,strCmp,i+1,99);
strcat(strCmp, strTmp, strTmp2);
instr(i, 0, strCmp, " ");
}
instr(i,0,strData,strCmp); // hier werden die beiden Strings verglichen
if (i!=0)
{
messagebox("EKey schreiben nicht möglich","Der zurückgelesene Schlüssel ist ungleich");
}
else
{
// Locken des Client
textout("DME " + dme_text + " locken", zeile, 25); zeile = zeile + 2;
INPAapiJob(sgbd,"STEUERN_EWS4_SK","LOCK_CLIENT_SK","");
INPAapiCheckJobStatus("OKAY");
delay(1000);
while (i != 1)
{
textout("Aktueller Lockzustand:", zeile, 5);
INPAapiJob(sgbd,"STATUS_EWS","","");
INPAapiResultText(lock_status_wert_string_alt,"STAT_EWS4_CLIENT_SK_LOCKED",1,"");
stringtoint(lock_status_wert_string_alt,i);
textout(lock_status_wert_string_alt, zeile, 25);
textout(blank, zeile + 2, 5);
INPAapiResultText(lock_status_text_string_alt,"STAT_CLIENT_AUTHENTICATED_TXT", 1,"");
textout(lock_status_text_string_alt, zeile + 2, 5);
}
delay(1000);
INPAapiJob(sgbd,"STATUS_EWS","","");
textout(blank, zeile, 5);
textout("Aktueller Lockzustand:", zeile, 5);
INPAapiResultText(lock_status_wert_string,"STAT_EWS4_CLIENT_SK_LOCKED",1,"");
textout(lock_status_wert_string, zeile, 25);zeile = zeile + 2;
delay(2000);
INPAapiResultText(lock_status_text_string,"STAT_CLIENT_AUTHENTICATED_TXT", 1,"");
textout(lock_status_text_string, zeile, 5);zeile = zeile + 2;
delay(1000);
textout("DME-Status:", zeile, 5);
textout("DME " + dme_text + "abgeglichen!" , zeile, 25);
stop();
}
}
}
}
if(ews_para == 0) {
textout("Aktueller Lockzustand:", zeile, 5);
INPAapiJob(sgbd,"STATUS_EWS","","");
INPAapiResultText(s1,"JOB_STATUS",1,"");
if (s1 != "OKAY") { messagebox("STATUS_EWS",s1); stop(); }
INPAapiResultText(lock_status_wert_string,"STAT_EWS4_CLIENT_SK_LOCKED",1,"");
textout(lock_status_wert_string, zeile, 25);zeile = zeile + 2;
INPAapiResultText(lock_status_text_string,"STAT_CLIENT_AUTHENTICATED_TXT", 1,"");
textout(lock_status_text_string, zeile, 5);zeile = zeile + 2;
textout(blank, zeile, 5);zeile = zeile + 2;
textout(blank, zeile, 5);zeile = zeile + 2;
textout(blank, zeile, 5);zeile = zeile + 2;
}
}
// ***********************************
// *** STATUS_EWS von DME und DME2 ***
// ***********************************
SCREEN s_status_ews_dme2() {
int zeile;
int spalte, spalte2;
int pos;
int api_state;
int zweimalWiederholt = 0;
int anzahlWiederholungen = 2;
string selected_sg;
string strResult;
string ewssgbd;
ewssgbd = sgbd ;
zeile = 1 ;
if (dme_text_r==dme_text_l) setmenutitle("STATUS_EWS von "+dme_text_r) ;
else setmenutitle("STATUS_EWS von "+dme_text_r + " und " + dme_text_l) ;
if (dme_l == dme_r) anzahlWiederholungen = 1;
while (zweimalWiederholt < anzahlWiederholungen) {
zweimalWiederholt = zweimalWiederholt + 1 ;
if (zweimalWiederholt == 1) {
// Zuweisung der anderen SGBD
ewssgbd = dme_r;
spalte = 0 ;
spalte2 = 15;
// hat keine Bedeutung mehr. Altlast aus dem Vorbildcode
// Dort wurde Parameter an SGBD-Job übergeben, jetzt wird SGBD umgeschalten
selected_sg = "MSD87 Master";
}
else if (zweimalWiederholt == 2) {
// Zuweisung der anderen SGBD
ewssgbd = dme_l ;
spalte = 30;
spalte2 = 45;
// hat keine Bedeutung mehr. Altlast aus dem Vorbildcode
selected_sg = "MSD87 Slave";
}
INP1apiJob(ewssgbd,"STATUS_EWS","","");
INP1apiState(api_state);
ftextout("Steuergeraet", zeile, spalte,0,1);
ftextout(selected_sg, zeile, spalte2,0,1);
zeile = zeile+2;
if (api_state == 1) {
INPAapiResultText(strResult,"STAT_EWS3_CAPABLE",1,"");
ftextout("EWS3 möglich", zeile, spalte,0,0);
ftextout(strResult, zeile, spalte2,0,0);
zeile = zeile + 1;
INPAapiResultText(strResult,"STAT_EWS4_CAPABLE",1,"");
ftextout("EWS4 möglich", zeile, spalte,0,0);
ftextout(strResult, zeile, spalte2,0,0);
zeile = zeile + 2;
INPAapiResultText(strResult,"STAT_EWS3_ACTIVE",1,"");
ftextout("EWS3 aktiv", zeile, spalte,0,0);
ftextout(strResult, zeile, spalte2,0,0);
zeile = zeile + 1;
INPAapiResultText(strResult,"STAT_EWS4_ACTIVE",1,"");
ftextout("EWS4 aktiv", zeile, spalte,0,0);
ftextout(strResult, zeile, spalte2,0,0);
zeile = zeile + 2;
INPAapiResultText(strResult,"STAT_EWS4_CLIENT_SK_LOCKED",1,"");
ftextout("Client locked", zeile, spalte,0,1);
ftextout(strResult, zeile, spalte2,0,1);
zeile = zeile + 2;
INPAapiResultText(strResult,"STAT_CLIENT_AUTHENTICATED",1,"");
ftextout("Freigabe Client", zeile, spalte,0,1);
ftextout(strResult, zeile, spalte2,0,1);
zeile = zeile + 2;
INPAapiResultText(strResult,"_STAT_FREE_SK0_TXT",1,"");
ftextout("Freie Plaetze SK0", zeile, spalte,0,0);
ftextout(strResult, zeile, spalte2,0,0);
zeile = zeile + 1;
INPAapiResultText(strResult,"_STAT_FREE_SK1_TXT",1,"");
ftextout("Freie Plaetze SK1", zeile, spalte,0,0);
ftextout(strResult, zeile, spalte2,0,0);
zeile = zeile + 1;
INPAapiResultText(strResult,"_STAT_VERSION_TXT",1,"");
ftextout("Version : ", zeile, spalte,0,0);
ftextout(" " + strResult, zeile+1, spalte,0,0);
zeile = zeile + 1;
}
delay(500); // Verzögerungszeit nur, damit Trace-Buffer sich nicht zu schnell füllt
zeile = 1;
}
zweimalWiederholt = 0 ;
}
//*****************************************************************
//**** SCREEN für EWS-Abgleich, Entwicklerschluessel_EWS *****
//*****************************************************************
SCREEN s_secretkey_dme2()
{
int zeile = 1 ;
int api_state;
int iDataClient;
int iDataServer;
int res, res2;
int ende = 0;
int intResult;
string sDataClient;
string sDataServer;
string sDiagSG;
string strOut;
string ewssgbd ;
string strInpClientSK ;
string Entwicklerschluessel_EWS = "0x63,0x47,0x15,0xA9,0x3B,0xE0,0x2A,0x74,0xFD,0x74,0x0E,0xDA,0xA1,0x9A,0x45,0x31";
// In der while-Schleife wird eingangs somit auf dme_l umgeschalten. Nach dem Locken der dme_r wird ein Reset ausgefuehrt, wobei nachtraeglich
// die Diagnosekommunikation abbrechen kann. Nach Locken der dme_l passiert das noch nicht, daher wird mit ihr begonnen.
ewssgbd = dme_r;
sDiagSG = dme_text_r;
if (dme_text_r==dme_text_l) strOut = "Entwicklungsschlüssel in " + dme_text_r + " schreiben" ;
else strOut = "Entwicklungsschlüssel in " + dme_text_r + " und " + dme_text_l + " schreiben" ;
setmenutitle(strOut);
textout(strOut,zeile,1);
inputtext(Entwicklerschluessel_EWS, strOut, "Bestätigen mit OK / Abbruch mit Abbruch");
getinputstate(intResult);
if (intResult == 0){
delay(100);
textout(strOut,zeile,1); zeile = zeile + 2;
while (ende==0) {
// Wenn 2 versch. DMEen beteiligt sind (12zyl.), dann laeuft Schleife 2x durch und SG wird gewechselt.
if (dme_r != dme_l) {
// Durchwechseln der SGBDen findet statt.
if (ewssgbd == dme_r) {
ewssgbd = dme_l ;
sDiagSG = dme_text_l;
}
else if (ewssgbd == dme_l) {
ewssgbd = dme_r ;
sDiagSG = dme_text_r;
}
}
// Wenn nur ein SG beteiligt ist, wird somit die Schleife nicht zweimal ausgefuehrt.
else ende = 1 ;
textout(sDiagSG+" Lock-Status lesen",zeile,1); zeile = zeile + 1;
INP1apiJob(ewssgbd,"STATUS_EWS","","");
INP1apiState(api_state);
if (api_state != 1) {
textout("ERROR "+sDiagSG+" Status kann nicht gelesen werden",zeile,1);
zeile = zeile + 2;
}
else {
intResult = 0; // damit bei unterbrochener Datenkommunikation nur einmal abgebrochen werden muß
INPAapiResultInt(intResult,"STAT_EWS4_CLIENT_SK_LOCKED",1);
if (intResult != 0) {
textout("ERROR "+sDiagSG+" Schlüssel schreiben nicht möglich, da bereits abgeglichen ist",zeile,1);
zeile = zeile + 2;
}
else
{
textout(sDiagSG+" Schreiben SecretKey Client",zeile,1);
zeile = zeile + 1;
INPAapiJob(ewssgbd, "STEUERN_EWS4_SK", "WRITE_CLIENT_SK;"+Entwicklerschluessel_EWS,"");
INPAapiCheckJobStatus("OKAY");
textout(sDiagSG+" Schreiben SecretKey Server",zeile,1);
zeile = zeile + 1;
// Bei einzelnen SGs wird nur der Client-Schluessel, nicht der Server-Schluessel geschrieben.
if (dme_r != dme_l) {
INPAapiJob(ewssgbd, "STEUERN_EWS4_SK", "WRITE_SERVER_SK;"+Entwicklerschluessel_EWS,"");
INPAapiCheckJobStatus("OKAY");
}
else ;
// Gegenlesen des Keys
textout(sDiagSG+" Auslesen SecretKey Client und Server",zeile,1);
zeile = zeile + 1;
INPAapiJob(ewssgbd,"STATUS_EWS4_SK","","");
INPAapiCheckJobStatus("OKAY");
INPAapiResultBinary("STAT_EWS4_CLIENT_SK",1);
GetBinaryDataString(sDataClient, iDataClient);
INPAapiResultBinary("STAT_EWS4_SERVER_SK",1);
GetBinaryDataString(sDataServer, iDataServer);
if ((iDataClient!=32) || (iDataServer!=32)) {
textout("ERROR "+sDiagSG+" Schlüssel schreiben nicht möglich, der Schlüssel hat nicht die erforderliche Länge",zeile,1);
zeile = zeile + 2;
}
else {
textout(sDiagSG+" Schlüssel von Client vergleichen",zeile,1); zeile = zeile + 1;
CompareInputWithSG(Entwicklerschluessel_EWS, sDataClient, res);
if (res!=0) {
textout("ERROR "+sDiagSG+" Schlüssel schreiben nicht möglich, der zurückgelesene Schlüssel ist ungleich",zeile,1);
zeile = zeile + 2;
}
textout(sDiagSG+" Schlüssel von Server vergleichen",zeile,1); zeile = zeile + 1;
CompareInputWithSG(Entwicklerschluessel_EWS, sDataServer, res2);
if ((res2!=0) && (dme_l != dme_r)) {
textout("ERROR "+sDiagSG+" Schlüssel schreiben nicht möglich, der zurückgelesene Schlüssel ist ungleich",zeile,1);
zeile = zeile + 2;
}
// Fuer 12-zyl.-Motoren.
if ( ((res==0) && (res2==0)) && (dme_r != dme_l) ) {
// Locken
textout(sDiagSG+" Locken",zeile,1); zeile = zeile + 2;
INPAapiJob(ewssgbd,"STEUERN_EWS4_SK","LOCK_CLIENT_SK;","");
INPAapiCheckJobStatus("OKAY");
strInpClientSK = Entwicklerschluessel_EWS;
}
// Fuer 6/8-zyl.-Motoren.
if ( (res==0) && (dme_r == dme_l) ) {
// Locken
textout(sDiagSG+" Locken",zeile,1); zeile = zeile + 2;
INPAapiJob(ewssgbd,"STEUERN_EWS4_SK","LOCK_CLIENT_SK;","");
INPAapiCheckJobStatus("OKAY");
strInpClientSK = Entwicklerschluessel_EWS;
}
}
}
}
if (sDiagSG == dme_text_l) {
sDiagSG = dme_text_r ;
delay(500); // delay ueberbrueckt Instabilitaet des Flexray durch Reset der ersten DME.
}
else ende = 1;
}
}
stop();
setscreen(s_status_ews_dme2,TRUE);
}
//*****************************************************************
//**** SCREEN für Fehlerbehandlung ***************************
//*****************************************************************
SCREEN s_fehlerbehandlung()
{
userboxclose(0);
viewclose();
fehlerbehandlung(stati,fehlercode);
stop();
}
// **************************
// *** inpainit, inpaexit ***
// **************************
inpainit() {
string s1;
INPAapiInit();
settitle(titel+" Version "+version);
aktivierungsbedingung(ab_0000,ab_0001,ab_0002,ab_0004,ab_0008,ab_0010,ab_0020,ab_0040,ab_0080,ab_0200,ab_0400,ab_0800,ab_1000,ab_2000);
zyklusbeschreibung(st01,st02,st03,st04,st05,x001,x002,x003,x004,x005,x101,x102,x103,x104,x105,t01,t02,t03,t04,t05,tv);
/* Über Identifikation wird der Programmstand abgefragt */
// Bei 6zyl.-Motoren mit nur einem Steuergeraet sind fuer dme_l und dme_r etc. jew. der gleiche Eintrag einzufuegen.
// Bei 12zyl.-Motoren entsprechend die Daten fuer das linke und rechte SG.
// Durch gleiche oder unterschiedliche Eintragungen bietet das Skript die Diagnosedienste fuer
// ein oder zwei SGs an.
titel = "MSD85L6";
sgbd = "MSD85L6" ; // Steuergerät
dme_r = "MSD85L6" ; // rechtes Master-SG
dme_l = "MSD85L6" ; // linkes Slave-SG
currentSGBD = sgbd;
zylinderZahl = 8;
dme_text_r = "MSD85L6" ; // Steuergerätname fuer lesbare Ausgabe
dme_text_l = "MSD85L6" ; // Steuergerätname fuer lesbare Ausgabe
dme_text = "MSD85L6" ; // aktuell benutzter Steuergerätname
SG_Verbund_text = "MSD85L6 8zyl." ;
// Backslash am Ende des Strings geht nicht, daher + Leerzeichen, was über midstr wieder entfernt wird
txtPfad_r = "c:\daten\MSD85L6\ ";
midstr (txtPfad_r, txtPfad_r, 0, 18) ;
txtPfad_l = "c:\daten\MSD85L6\ ";
midstr (txtPfad_l, txtPfad_l, 0, 18) ;
txtPfad = txtPfad_r ;
sg_adr=0x12;
sg_adr_r = 0x12; // Master-Adresse
sg_adr_l = 0x12; // Slave-Adresse
if (dme_r == dme_l) {
setscreen(s_main, FALSE) ;
setmenu(m_main) ;
}
else if (dme_r != dme_l) {
setscreen(s_sgbd_auswahl, FALSE) ;
setmenu(m_sgbd_auswahl) ;
}
stop();
}
inpaexit() {
INPAapiEnd();
}