//********************************************************************** //* 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 ",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 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(); }