//********************************************************************** //* //* Nacharbeitssource für INPA //* //* Sourcedatei DKG_90.SRC //* //********************************************************************** //* History : //* 06.04.2000 rd V0.01 Ersterstellung Grundumfang //* V0.01 Identifikation Lesen , //* V0.01 Anwender Infofeld Lesen , //* V0.01 Fehlerspeicher Lesen, Löschen, //* V0.01 Infospeicher (Shadowspeicher) Lesen, Löschen, //* V0.01 Speicher Lesen //* 23.06.2000 rd V0.02 Überarbeitung für E65 und E85 //* 19.12.2001 rd V0.03 Überarbeitung für E60, E81, E90 und RR01 //* 14.08.2002 rd V0.04 E81 wird E87 //* 16.02.2004 rd V0.05 Umstellung auf 32-Bit INPA //* 27.11.2007 PB V0.90 Pascal Bilang, Status, Steuern komplett //* 27.11.2007 GA V0.90 Statistikdaten löschen: aktiv auf nein gehen, um zu löschen //* 27.11.2007 GA V0.90 F5, F1: Speichern: Fahrgestellnummer wird aus CAS als Dateiname übernommen. //* 28.11.2007 PB V0.904 Rohwerte --> Paddel Spannung; Test und Einlern - Abfrage hinzugefügt //* 07.11.2007 PB V0.905 Anzeige Abspritzsonsor Widerstand Anzeige korrigiert //* 07.01.2008 PB V0.906 Schaltindex lt. LH Diagnoseschnittstelle 0.27 entfernt //* 10.01.2008 PB V0.920 Version-Anpassung zur SGBD Version 2.000 //********************************************************************** #include "inpa.h" #pragma winedit #include "..\sgdat\bmw_std.h" // Titel, Version, Verantwortung, Steuergerät string titel ="Doppelkupplungsgetriebe (DKG) für E9x, E89"; // Titel Nacharbeitsprogramm string version="0.920"; // Version Nacharbeitsprogramm string origin ="BMW EA-504 Senft, BMW EA-504 Bilang"; // Verantwortung Nacharbeitsprogramm string sgbd ="DKG_90"; // Steuergerät string gruppe ="D_EGS"; // Gruppendatei string speicher_lesen_parameter="LAR;FLASH;UIFM;-ROMI;-ROMX;-RAMIS;-RAMIL;-RAMXX;-NVRAM"; // Moegliche Speicher-Parameter: "LAR;FLASH;UIFM;ROMI;ROMX;RAMIS;RAMIL;RAMXX;NVRAM"; // Bei Leerstring erfolgt kein Menüpunkt Speicher Lesen // allgemeine globale Variable string text_var; string te_id; string te_job; real zahlen_var; real real_zahl; int ganz_zahl; bool logik_var; bool bool_var; bool digital,digital1; string job_state; // JOB_STATUS Variable int input_state; // Eingabestatus int input_ok=0; // Eingabe mit OK beendet int int_zahl; int int_id; // start of :#include "BMW_STD.SRC" //********************************************************************** //* //* INPA Library-Funktionen BMW_STD.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 05.05.2000 rd V0.01 Ersterstellung //* 23.06.2000 rd V0.02 Überarbeitung für E65 und E85 //* 04.07.2000 rd V0.03 Überarbeitung der Funktionen //* 08.11.2000 rd V0.04 AIF Lesen Results überarbeitet //* 01.03.2001 rd V0.05 m_status_flag neu hinzu //* 02.03.2001 rd V0.06 m_steuern_flag neu hinzu //* 18.05.2001 rd V0.07 AIF-Ausgabe verbessert //* 25.04.2002 rd V0.08 Erweiterung HS_LESEN //* 25.04.2002 rd V1.00 Freigabe //* 24.09.2002 rd V1.01 Erweiterung Ident für DS2 //* 19.11.2002 rd V1.02 FS_MODE erweitert um PCODEs //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* rd V2.00 Entfernung EldiAuftragLesen, EldiAuftragEingeben //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //* GA V3.00 Hinweis im Hauptfenster, wenn Simulationsmodus aktiv ist. //* 05.04.2007 GA V3.01 Abfrage auf IS_ und HS_LOESCHEN implementiert //********************************************************************** string package="3.01"; //********************************************************************** //* //* Globale Variablen //* //********************************************************************** // Umrechnungsfaktoren deutsch / englisch real m_c = 1.0; // Grad Celsius -> Fahrenheit z = x * m_c + a_c real a_c = 0.0; real m_km = 1.0; // km -> miles z = x * m_km real m_l = 1.0; // Liter -> Gallon US z = x * m_l // für Info string sgbd_ecu; string sgbd_origin; string sgbd_revision; string sgbd_package; string sgbd_sprache; string sgbd_comment; string gruppe_ecu; string gruppe_origin; string gruppe_revision; string gruppe_comment; // für Status-Menü bool m_status_flag=TRUE; // True Status-Menü wird angezeigt // für Steuern-Menü bool m_steuern_flag=TRUE; // True Steuern-Menü wird angezeigt // für FS_LESEN speichern bool fs_lesen_save_as_flag; // für IS_LESEN speichern bool is_lesen_save_as_flag; // für HS_LESEN speichern bool hs_lesen_save_as_flag; // für FS_LESEN bool fs_lesen_flag; // True wenn JOB vorhanden // für IS_LESEN bool is_lesen_flag; // True wenn JOB vorhanden // für HS_LESEN bool hs_lesen_flag; // True wenn JOB vorhanden // für IS_LOESCHEN bool is_loeschen_flag; // True wenn JOB vorhanden // für HS_LOESCHEN bool hs_loeschen_flag; // True wenn JOB vorhanden // Handle für FS_LESEN int f_ort_nr_buffer = 0; int f_ort_text_buffer = 0; // In INPA.INI wird festgelegt ob // nach FS- IS-, HS-Löschen automatisch wieder gelesen wird. bool deleteread_flag; // Wenn Ediabas im Simulationsmode läuft, dies im Hauptfenster anzeigen bool simulation_flag; // für Ident Screen, bzw. SVK Screen bei UDS (ISO 14229) int ident_typ; // 1= DS2 // 2= BMW Fast // 3= UDS (ISO 14229) // für SPEICHER_LESEN bool speicher_lesen_flag; // True wenn JOB vorhanden bool speicher_lesen_lar_flag; bool speicher_lesen_uifm_flag; bool speicher_lesen_romi_flag; bool speicher_lesen_romx_flag; bool speicher_lesen_nvram_flag; bool speicher_lesen_ramis_flag; bool speicher_lesen_ramxx_flag; bool speicher_lesen_flash_flag; bool speicher_lesen_ramil_flag; // für Speicher lesen Ausgabe string speicher_lesen_text = ""; string speicher_lesen_seg_adr_anz = ""; string speicher_lesen_adresse = "0x000000"; int speicher_lesen_anzahl = 64; //********************************************************************** //* //* Deklaration der Funktionen //* //********************************************************************** extern ScriptInit(); // befindet sich im Hauptprogramm // start of :#include "BATTERIE.SRC" //********************************************************************** //* //* INPA Library-Funktionen BATTERIE.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 04.07.2000 rd V0.03 Ersterstellung //* 25.04.2002 rd V1.00 Freigabe //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 01.04.2004 rd V2.01 Im Fehlerfalle delay eingebaut //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //********************************************************************** //********************************************************************** //* //* ShowBatteryIgnition //* //* Anzeige des Batterie- und Zündungs-Status //* //********************************************************************** ShowBatteryIgnition() { bool fehlerflag; // Fehler aufgetreten bool fehlerflag2; // Fehler aufgetreten bool zuendung; // Zündung ein/aus bool batterie; // Batterie ein/aus int wert; // allgemeine Variable ftextout("Batterie :", 0,5,1,0); ftextout("Zündung :", 0,45,1,0); INPAapiJob("UTILITY","STATUS_UBATT","",""); INP1apiResultInt(fehlerflag,wert,"STAT_UBATT",1); if ((fehlerflag!=TRUE) || (wert==0)) { batterie=FALSE; zuendung=FALSE; } else { batterie=TRUE; INPAapiJob("UTILITY","STATUS_ZUENDUNG","",""); INP1apiResultInt(fehlerflag2,wert,"STAT_ZUENDUNG",1); if ((fehlerflag2!=TRUE) || (wert==0)) zuendung=FALSE; else zuendung=TRUE; } digitalout(batterie, 0,20,"",""); if (batterie==TRUE) ftextout("ein ", 0,25,1,0); else { if (fehlerflag==TRUE) { ftextout("aus ", 0,25,1,0); } else { ftextout("--- ", 0,25,1,0); } } digitalout(zuendung, 0,62,"",""); if (zuendung==TRUE) ftextout("ein ", 0,67,1,0); else { if (fehlerflag2==TRUE) { ftextout("aus ", 0,67,1,0); } else { ftextout("--- ", 0,67,1,0); } } if ((fehlerflag!=TRUE) || (fehlerflag2!=TRUE)) { delay(2000); } } // -- EOF -- // end of :#include "BATTERIE.SRC" // start of :#include "GRP_INFO.SRC" //********************************************************************** //* //* INPA Library-Funktionen GRP_INFO.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 04.07.2000 rd V0.03 Ersterstellung //* 25.04.2002 rd V1.00 Freigabe //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 30.03.2006 GA V3.00 EDIABAS.INI-Abfrage ob Simulationsmode aktiv ist //* 18.10.2006 GA V3.01 Abfrage ob EDIABAS im Simulationsmodus läuft ist jetzt nicht mehr auf Pfad c:\windows\ediabas.ini beschränkt //********************************************************************** //********************************************************************** //* //* GruppenDateiInfo //* //* Versionsinformationen über Gruppendatei //* //********************************************************************** import32 "C" lib "api32.DLL::__apiGetConfig" ApiGetConfig(in:long Handle,in: string Name,out: string Buffer, returns: int ReturnedValue); GruppenDateiInfo( in: string grp, inout: string grp_ecu, inout: string grp_origin, inout: string grp_revision, inout: string grp_comment) { string CurDir; string Temp; string Puffer; int Size; long PufferSize; int ret_int; string BS; string CR; int pos1; int pos2; int simulation; int input; long Handle; int Returned; string ini_path= "??????????????????????";//Variable muß ausreichend lang vorbelegt sein! // C:\ec-apps\ediabas\bin chr( 92, BS ); // '\' chr( 13, CR ); // Pfad für EDIBAS.INI ermitteln // WERT 2 wurde durch Tests ermittelt Handle=2; ApiGetConfig(Handle,"EDIABASINIPATH",ini_path,Returned); //Abfrage, ob EDIABAS im Simulationsmodus betrieben wird. Hinweisfenster erfolgt im Hauptfenster s_main GetPrivateProfileInt("Configuration","Simulation",2,ini_path+BS+"ediabas.ini",simulation); if (simulation == 1) simulation_flag= TRUE; else simulation_flag= FALSE; Size=256; space(CurDir,Size); GetCurrentDirectory(256, CurDir, ret_int); SetCurrentDirectory("\EDIABAS\BIN", ret_int); Size=1024; space(Puffer,Size); inttolong(Size, PufferSize); XTRACT("\ediabas\ecu"+ BS + grp + ".grp", 1, Puffer, PufferSize, ret_int); grp_ecu=""; instr(pos1, 0, Puffer, "ECU:"); if (pos1 >= 0) { pos1 = pos1 + 4; instr(pos2, pos1, Puffer, CR ); if (pos2 > pos1) midstr(grp_ecu, Puffer, pos1, pos2 - pos1); } grp_origin=""; instr(pos1, 0, Puffer, "ORIGIN:"); if (pos1 >= 0) { pos1 = pos1 + 7; instr(pos2, pos1, Puffer, CR ); if (pos2 > pos1) midstr(grp_origin, Puffer, pos1, pos2 - pos1); } grp_revision=""; instr(pos1, 0, Puffer, "REVISION:"); if (pos1 >= 0) { pos1 = pos1 + 9; instr(pos2, pos1, Puffer, CR ); if (pos2 > pos1) midstr(grp_revision, Puffer, pos1, pos2 - pos1); } grp_comment=""; pos1=0; pos2=0; while ((pos1 >= 0) && (pos2 >= 0)) { instr(pos1, pos2, Puffer, "ECUCOMMENT:"); if (pos1 >= 0) { pos1 = pos1 + 11; instr(pos2, pos1, Puffer, CR ); if (pos2 > pos1) { midstr(Temp, Puffer, pos1, pos2 - pos1); grp_comment=grp_comment+Temp+","; } } } SetCurrentDirectory(CurDir, ret_int); } // -- EOF -- // end of :#include "GRP_INFO.SRC" // start of :#include "SGBDINFO.SRC" //********************************************************************** //* //* INPA Library-Funktionen SGBDINFO.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 04.07.2000 rd V0.03 Ersterstellung //* 25.04.2002 rd V1.00 Freigabe //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //********************************************************************** //********************************************************************** //* //* Deklaration der Funktionen //* //********************************************************************** extern SgbdInfo(in: string sg, inout: string sg_ecu, inout: string sg_origin, inout: string sg_revision, inout: string sg_package, inout: string sg_comment, inout: string sg_sprache); //********************************************************************** //* //* SgbdInfo //* //* Versionsinformationen über SGBD //* //********************************************************************** SgbdInfo( in: string sg, inout: string sg_ecu, inout: string sg_origin, inout: string sg_revision, inout: string sg_package, inout: string sg_comment, inout: string sg_sprache) { INPAapiJob(sg,"INFO","",""); INPAapiResultText(sg_ecu,"ECU",1,""); INPAapiResultText(sg_revision,"REVISION",1,""); INPAapiResultText(sg_package,"PACKAGE",1,""); INPAapiResultText(sg_origin,"ORIGIN",1,""); INPAapiResultText(sg_comment,"COMMENT",1,""); INPAapiResultText(sg_sprache,"SPRACHE",1,""); } // -- EOF -- // end of :#include "SGBDINFO.SRC" // start of :#include "SGBDINPA.SRC" //********************************************************************** //* //* INPA Library-Funktionen SgbdInpa.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* 12.03.2003 iS V1.05 Aufteilung der Funktionen(SgbdInpaCheck,GroupCheck) //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //* GA V3.00 Gezielte Ausgabe, wenn Gruppendatei oder SGBD nicht existiert //* GA V3.00 INPA.INI, [EXTRA], SRIPTS auslesen, ob "deleteread" gesetzt, //* GA V3.00 um nach FS- IS-, HS-Löschen automatisch wieder zu lesen. //* 18.10.2006 GA V3.01 Check bezüglich auf Gruppen-Simulationsdatei, sowie "Identification error" erweitert //* 24.10.2006 GA V3.02 Überprüfung ob T_GRTB.PRG vorhanden eingebaut //********************************************************************** //********************************************************************** //* //* SgbdInpaCheck //* //* Überprüfung ob SGBD zu INPA passt //* //********************************************************************** SgbdInpaCheck() { string sgbd_version; // für Versionskontrolle string inpa_version; // für Versionskontrolle string inpa_sprache="deutsch"; // für Sprachvariante string variante="???"; // für Variantenkontrolle string err_text; // Fehlertext int errorcode; // Errorcode bool fehlerflag; // Fehlerflag string temp; string temp1; string temp2; int i; int k; int kk; // für neue VersionsnummernKontrolle int ii; int a; int aa; int i1; int i2; int i3; // für neue VersionsnummernKontrolle string sgbd_String_Lang; string sgbd_von_inpa_version; string ver_temp; string ver_temp1; string ver_temp2; string ver_temp3="--"; real Version_SGBD; real Version_INPA; string CurDir; // Zur Prüfung ob Gruppendatei exisiert int ret_int; int Size; int filecheck; string hinweis_text; settitle(titel+" Version "+version); a=0; ii=0; i3=0; kk=0; aa=0; i=0; k=0; fehlerflag=FALSE; temp1=""; temp2=""; instr(i,k,","+gruppe+",",","); while ((i >= 0) && (fehlerflag == FALSE)) { k=i+1; instr(i,k,","+gruppe+",",","); if (i >= 0) { midstr(temp,","+gruppe+",",k,i-k); INPAapiJob(temp,"INITIALISIERUNG","",""); INP1apiResultText(fehlerflag,variante,"VARIANTE",0,""); if (fehlerflag == TRUE) gruppe=temp; else { INP1apiErrorCode(errorcode); if (errorcode == 36)//Fehlende oder fehlerhafte Simulationsdatei { Size=256; space(CurDir,Size); GetCurrentDirectory(256, CurDir, ret_int); SetCurrentDirectory("\EDIABAS\SIM", ret_int); fileexist(temp+".SIM",filecheck); SetCurrentDirectory(CurDir, ret_int); if (filecheck == 0) { temp1= temp1+", "+temp+".SIM";//Fehlerhafte Simulationsdatei } else { temp2= temp2+", "+temp+".SIM";//Fehlende Simulationsdatei } } } } } instr(i,0,gruppe,"d");//erstes Zeichen ein 'd'? instr(k,0,gruppe,"D");//erstes Zeichen ein 'D'? if ((i == 0) || (k == 0)) hinweis_text= "das Steuergerät liefert einen falschen Varianten- und / oder Diagnose-Index.";// bis F01: Gruppendateien fangen mit D_... an else hinweis_text= "das Steuergerät liefert einen falschen SGBD-Index.";//gilt ab F01, Gruppendateien fangen mit G_... an if (fehlerflag == FALSE) { //Fehlende oder fehlerhafte Gruppen-Simulationsdatei if (errorcode == 36) { //Fehlerhafte Simulationsdatei if (temp1 != "") { strlen(k,temp1); instr(i,k,temp1+",",",");//letztes Zeichen ein ','? if (i != -1) k= k-1; //Zeichenlänge um 1 kürzen instr(i,0,temp1+",",",");//erstes Zeichen ein ','? if (i == 0) midstr(temp1,temp1,1,k);//Kommata vor und hinter temp1 ausschneiden temp1= "Fehlerhafte Simulationsdatei: "+temp1+CRLF; } //Fehlende Simulationsdatei if (temp2 != "") { strlen(k,temp2); instr(i,k,temp2+",",",");//letztes Zeichen ein ','? if (i != -1) k= k-1; //Zeichenlänge um 1 kürzen instr(i,0,temp2+",",",");//erstes Zeichen ein ','? if (i == 0) midstr(temp2,temp2,1,k);//Kommata vor und hinter temp2 ausschneiden temp2= "Fehlende Simulationsdatei : "+temp2+CRLF; } messagebox("Variantenkontrolle", "Fehler!"+CRLF+ temp1+//Fehlerfafte Gruppen-Simulationsdateien temp2+//Fehlende -//- "Das Programm wird abgebrochen!"); exit(); } //Gruppendatei vorhanden? Size=256; space(CurDir,Size); GetCurrentDirectory(256, CurDir, ret_int); SetCurrentDirectory("\EDIABAS\ECU", ret_int); fileexist(gruppe+".GRP",filecheck); SetCurrentDirectory(CurDir, ret_int); if (filecheck == 0)//Gruppendatei vorhanden, SGBD-, Kommunikationsfehler hier ausgeben { INP1apiErrorText(err_text);//Fehler beim Aufruf der VARIANTE? if (errorcode == 92)//92=SYS-0002: SG-Variantenbeschreibungsdatei (SGBD) nicht gefunden { //T_GRTB.PRG vorhanden? Size=256; space(CurDir,Size); GetCurrentDirectory(256, CurDir, ret_int); SetCurrentDirectory("\EDIABAS\ECU", ret_int); fileexist("T_GRTB.PRG",filecheck); SetCurrentDirectory(CurDir, ret_int); if (filecheck == 0)//T_GRTB.PRG ist vorhanden, somit fehlt die SGBD. { messagebox("Variantenkontrolle", "Fehler!"+CRLF+ err_text+". "+CRLF+ " "+CRLF+ "Das Steuergerät läßt sich zwar über die Gruppendatei: "+gruppe+".GRP"+" ansprechen,"+CRLF+ "aber zur Diagnose fehlt eine entsprechende SGBD (*.PRG) im Verzeichnis ..\EDIABAS\ECU"+CRLF+ " "+CRLF+ "Aktualisieren Sie SGBDen, Gruppendateien und INPA Scripte regelmäßig!"+CRLF+ " "+CRLF+ "Das Programm wird abgebrochen!"); } else//T_GRT.PRG fehlt { messagebox("Variantenkontrolle", "Fehler!"+CRLF+ err_text+". "+CRLF+ " "+CRLF+ "Die Datei T_GRTB.PRG fehlt im Verzeichnis ..\EDIABAS\ECU"+CRLF+ " "+CRLF+ "Aktualisieren Sie SGBDen, Gruppendateien und INPA Scripte regelmäßig!"+CRLF+ " "+CRLF+ "Das Programm wird abgebrochen!"); } } else if (errorcode == 102)//102= Identification error { instr(i,0,gruppe,"d");//erstes Zeichen ein 'd'? instr(k,0,gruppe,"D");//erstes Zeichen ein 'D'? if ((i == 0) || (k == 0)) temp1= "das Steuergerät liefert einen falschen Varianten- und / oder Diagnose-Index.";// bis F01: Gruppendateien fangen mit D_... an else temp1= "das Steuergerät liefert einen falschen SGBD-Index.";//gilt ab F01, Gruppendateien fangen mit G_... an messagebox("Variantenkontrolle", "Fehler! Aufruf über Gruppendatei : "+gruppe+".GRP"+CRLF+ err_text+". "+CRLF+ " "+CRLF+ "Sie besitzen entweder eine veraltete ..\EDIABAS\ECU\T_GRTB.PRG Datei, und / oder"+CRLF+ hinweis_text+CRLF+ " "+CRLF+ "Das Programm wird abgebrochen!"); } else //alle anderen Fehler { messagebox("Variantenkontrolle", "Fehler! Aufruf über Gruppendatei : "+gruppe+".GRP"+CRLF+ " "+CRLF+ err_text+". "+CRLF+ " "+CRLF+ " "+CRLF+ "Das Programm wird abgebrochen!"); } } else//Gruppendatei nicht vorhanden { messagebox("Variantenkontrolle", "Fehler! Gruppendatei : "+gruppe+".GRP "+CRLF+ "existiert nicht im Verzeichnis ..\EDIABAS\ECU"+CRLF+ " "+CRLF+ "Aktualisieren Sie SGBDen, Gruppendateien und INPA Scripte regelmäßig!"+CRLF+ " "+CRLF+ "Das Programm wird abgebrochen!"); } exit(); } i1=0; i2=0; instr(i1,0,","+sgbd+",",","+variante+","); if (i1 < 0) { instr(i2,0,","+sgbd+",",","+variante+"/"); if (i2 < 0) { messagebox("Variantenkontrolle", "Gesuchtes Steuergerät: '"+sgbd+"' nicht gefunden. "+CRLF+ "Gefundenes Steuergerät: '"+variante+"'. "+CRLF+ " "+CRLF+ "Sie besitzen entweder eine veraltete ..\EDIABAS\ECU\T_GRTB.PRG Datei, und / oder"+CRLF+ hinweis_text+CRLF+ " "+CRLF+ "Das Programm wird abgebrochen!"); exit(); } ver_temp3 = "--"; instr(ii,i2,sgbd+",",","); if (ii >= 0) { midstr(ver_temp3,sgbd+",",i2,ii); instr(i3,0,ver_temp3,"/"); if (i3 >= 0) { a = i2+i3+1; aa = ii-i2+i3-1; midstr(ver_temp3,sgbd+",",a,aa); } } } sgbd_String_Lang = sgbd; sgbd=variante; // // Info: Informatinon bei aufruf ohne BMW_STD.SRC // // #################################################### // # //für Info # // # string sgbd_ecu; # // # string sgbd_origin; # // # string sgbd_revision; # // # string sgbd_package; # // # string sgbd_sprache; # // # string sgbd_comment; # // # string gruppe_ecu; # // # string gruppe_origin; # // # string gruppe_revision; # // # string gruppe_comment; # // # # // # #include "SgbdInfo.src" # // #################################################### // // SgbdInfo(sgbd, sgbd_ecu, sgbd_origin, sgbd_revision, sgbd_package, sgbd_comment, sgbd_sprache); // Bitte VARIABLEN als Globale variable aktivieren und Include (siehe Block //INFO) // // //Versionskontrolle Auf 3 stellen vor / hinter dem "." instr(i3,0,ver_temp3,"V"); if(i3>=0) { instr(i2,0,ver_temp3,","); midstr(ver_temp3,ver_temp3,i3+1,i2-1); stringtoreal(ver_temp3,Version_INPA); realtostring(Version_INPA,"3.3",ver_temp3); midstr(sgbd_von_inpa_version,ver_temp3,0,2); } stringtoreal(version,Version_INPA); realtostring(Version_INPA,"3.3",version); midstr(inpa_version,version,0,2); stringtoreal(sgbd_revision,Version_SGBD); realtostring(Version_SGBD,"3.3",sgbd_revision); midstr(sgbd_version,sgbd_revision,0,2); temp=inpa_version; temp1=sgbd_version; if (ver_temp3 == "--") { // Vergleichen mit Versionsnummer INPA & SGBD if (inpa_version != sgbd_version) { messagebox("Versionskontrolle", "Nicht zusammenpassende Versionen. "+CRLF+ "Fehlfunktion ist möglich!"); } else { if (temp == "0.") { if (temp1 == "0.") { messagebox("Versionskontrolle", "Programm noch in der Entwicklungsphase. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "SGBD Version: "+sgbd_revision+CRLF+ "INPA Version: "+version); } else { messagebox("Versionskontrolle", "Programm noch in der Entwicklungsphase. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "INPA Version: "+version); } } else { if (temp1 == "0.") { messagebox("Versionskontrolle", "Programm noch in der Entwicklungsphase. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "SGBD Version: "+sgbd_revision); } } } } else { // Vergleichen mit Versionsnummer INPA(SGBD Vorwahl) & SGBD if (sgbd_von_inpa_version != sgbd_version) { messagebox("Versionskontrolle", "Nicht zusammenpassende Versionen. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "SGBD Version: "+ ver_temp3 +" (in INPA) "+CRLF+ "SGBD Version: "+ sgbd_revision +CRLF+ "INPA Version: "+ version); } else { if (temp == "0.") { if (temp1 == "0.") { messagebox("Versionskontrolle", "Programm noch in der Entwicklungsphase. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "SGBD Version: "+sgbd_revision+CRLF+ "INPA Version: "+version); } else { messagebox("Versionskontrolle", "Programm noch in der Entwicklungsphase. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "INPA Version: "+version); } } else { if (temp1 == "0.") { messagebox("Versionskontrolle", "Programm noch in der Entwicklungsphase. "+CRLF+ "Fehlfunktion ist möglich!"+CRLF+CRLF+ "SGBD Version: "+sgbd_revision); } } } } if (inpa_sprache != sgbd_sprache) { messagebox("Sprachvariantenkontrolle", "Nicht zusammenpassende Sprachvariante. "+CRLF+ "Fehlfunktion ist möglich!"); } } // -- EOF -- // end of :#include "SGBDINPA.SRC" // start of :#include "GRPCHECK.SRC" //********************************************************************** //* //* INPA Library-Funktionen GrpCheck.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 12.03.2003 iS V1.05 Aufteilung der Funktionen(SgbdInpaCheck,GroupCheck) //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //* 05.04.2007 GA V3.01 Abfrage auf IS_ und HS_LOESCHEN implementiert //* 20.04.2007 GA V3.02 FS-, IS-, HS_LESEN werden in einzelnen Tempdateien in ..\EDIABAS\BIN abgelegt //********************************************************************** //********************************************************************** //* //* GroupCheck //* //* Überprüfung der Gruppen-Info //* //********************************************************************** GroupCheck() { string err_text; // Fehlertext bool fehlerflag; // Fehlerflag string temp; int sgbd_saetze; // für Funktionen-Suche in SGBD string job_name; // JOBNMAE in SGBD int i; fehlerflag=FALSE; i=0; GruppenDateiInfo(gruppe, gruppe_ecu, gruppe_origin, gruppe_revision, gruppe_comment); // Vorbelegung der Flags fs_lesen_flag = FALSE; is_lesen_flag = FALSE; speicher_lesen_flag = FALSE; is_loeschen_flag = FALSE; hs_loeschen_flag = FALSE; INPAapiJob(sgbd,"_JOBS","",""); INP1apiResultSets(fehlerflag, sgbd_saetze); if (fehlerflag == FALSE) { INP1apiErrorText(err_text); messagebox("Unerwarteter Fehler", // sollte nie kommen err_text+". "+CRLF+ "Das Programm wird abgebrochen!"); exit(); } i = 1; while ( i <= sgbd_saetze) { INPAapiResultText(job_name,"JOBNAME",i,""); if (job_name == "FS_LESEN" ) fs_lesen_flag=TRUE; if (job_name == "IS_LESEN" ) is_lesen_flag=TRUE; if (job_name == "HS_LESEN" ) hs_lesen_flag=TRUE; if (job_name == "IS_LOESCHEN" ) is_loeschen_flag=TRUE; if (job_name == "HS_LOESCHEN" ) hs_loeschen_flag=TRUE; if (job_name == "SPEICHER_LESEN" ) speicher_lesen_flag=TRUE; if ((fs_lesen_flag == TRUE) && (is_lesen_flag == TRUE) && (hs_lesen_flag == TRUE) && (is_loeschen_flag == TRUE) && (hs_loeschen_flag == TRUE) && (speicher_lesen_flag) == TRUE) i = sgbd_saetze; i = i + 1; } if (speicher_lesen_parameter == "") speicher_lesen_flag = FALSE; if (speicher_lesen_flag == TRUE) { instr(i, 0, ";"+speicher_lesen_parameter+";", ";LAR;"); if ( i == -1 ) speicher_lesen_lar_flag = FALSE; else speicher_lesen_lar_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";FLASH;"); if ( i == -1 ) speicher_lesen_flash_flag = FALSE; else speicher_lesen_flash_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";UIFM;"); if ( i == -1 ) speicher_lesen_uifm_flag = FALSE; else speicher_lesen_uifm_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";ROMI;"); if ( i == -1 ) speicher_lesen_romi_flag = FALSE; else speicher_lesen_romi_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";RAMIS;"); if ( i == -1 ) speicher_lesen_ramis_flag = FALSE; else speicher_lesen_ramis_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";RAMIL;"); if ( i == -1 ) speicher_lesen_ramil_flag = FALSE; else speicher_lesen_ramil_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";NVRAM;"); if ( i == -1 ) speicher_lesen_nvram_flag = FALSE; else speicher_lesen_nvram_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";ROMX;"); if ( i == -1 ) speicher_lesen_romx_flag = FALSE; else speicher_lesen_romx_flag = TRUE; instr(i, 0, ";"+speicher_lesen_parameter+";", ";RAMXX;"); if ( i == -1 ) speicher_lesen_ramxx_flag = FALSE; else speicher_lesen_ramxx_flag = TRUE; } //IDENT-Typ ermitteln: DS2, BMW Fast oder UDS? INP1apiJob(sgbd,"IDENT","",""); INP1apiResultText(fehlerflag,temp,"ID_DATUM_KW",1,"");//Hat nur DS2 if ((fehlerflag == TRUE) && (temp != "")) { ident_typ= 1;//DS2 } else//UDS, BMW Fast { INP1apiResultText(fehlerflag,temp,"ID_SGBD_INDEX",1,""); if ((fehlerflag == TRUE) && (temp != "")) ident_typ= 3; //Hat nur UDS (ISO 14229) else ident_typ= 2; //sonst BMW Fast } } // -- EOF -- // end of :#include "GRPCHECK.SRC" // start of :#include "FS_LESEN.SRC" //********************************************************************** //* //* INPA Library-Funktionen FS_LESEN.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 04.07.2000 rd V0.03 Ersterstellung //* 21.11.2000 rd V0.10 Umweltbedingungen als Zahl oder Text ( 0-n, Hex ) //* 02.03.2001 rd V0.11 Shadowspeicher umbenannt in Infospeicher //* 25.04.2002 rd V1.00 Erweiterung HS_LESEN //* 22.10.2002 rd V1.01 Erweiterung FS_LESEN //* V1.01 PCODE und PCODE7 Ausgabe neu //* V1.01 Fehlerbehandlung verbessert //* 19.11.2002 iS V1.02 Fehlerbehandlung F_ORT_TEXT, F_UW_ANZ, F_PCODE //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //* GA V3.00 Fehlerausgaben korrigiert und erweitert //* 28.06.2006 GA V3.01 Bei UDS: Ausgabe "F_UW_DATUM_ZEIT" durch "F_UW_ZEIT" ersetzt, da Result entfällt //* 19.10.2006 GA V3.02 Bei DS2: wurde nicht angezogen da if-Bedingung nicht korrekt gewesen ist. //* GA V3.02 Result: F_UW_ZEIT von Unterprg.: fs_protokoll_uwb in fs_protokoll_uwb_uds verschoben //* GA V3.02 Result: F_EREIGNIS_DTC: Text wurde inverse ausgegeben //* 07.02.2007 GA V3.03 Result: F_EREIGNIS_DTC: Erklärender Text, was ein Ereinis DTC ist, war falsch //********************************************************************** //********************************************************************** //* //* Globale Variablen //* //********************************************************************** int _FsMode = 0x7FF; // alles ein string _FsFileMode = "w"; string _PreInfoFile = ""; string _PostInfoFile = ""; string _ApiFsJobName = "FS_LESEN"; //********************************************************************** //* //* Deklaration der Funktionen //* //********************************************************************** extern INPAapiFsMode_neu ( in: int FsMode, in: string FsFileMode, in: string PreInfoFile, in: string PostInfoFile, in: string ApiFsJobName); extern INPAapiFsLesen_neu( in: string ecu, in: string FileName); extern fs_protokoll_ort(in: int nr); extern fs_protokoll_ort_uds(in: int nr); extern fs_protokoll_PCode(in: int nr); extern fs_protokoll_PCode7(in: int nr); extern fs_protokoll_SAECode(in: int nr); extern fs_protokoll_hfk(in: int nr); extern fs_protokoll_hfk_uds(in: int nr); extern fs_protokoll_art(in: int nr); extern fs_protokoll_art_uds(in: int nr); extern fs_protokoll_art_e(in: int nr); extern fs_protokoll_uwb(in: int nr); extern fs_protokoll_uwb_uds(in: int nr); extern fs_protokoll_hex(in: int nr); extern fs_protokoll_telantwort(in: int nr); //********************************************************************** //* //* INPAapiFsMode_neu kompatibel mit INPAapiFsMode //* //********************************************************************** INPAapiFsMode_neu( in: int FsMode, in: string FsFileMode, in: string PreInfoFile, in: string PostInfoFile, in: string ApiFsJobName) { _FsMode = FsMode; _FsFileMode = FsFileMode; _PreInfoFile = PreInfoFile; _PostInfoFile = PostInfoFile; _ApiFsJobName = ApiFsJobName; INPAapiFsMode(_FsMode, _FsFileMode, _PreInfoFile, _PostInfoFile, _ApiFsJobName); if (_ApiFsJobName=="") _ApiFsJobName="FS_LESEN"; } //********************************************************************** //* //* INPAapiFsLesen_neu kompatibel mit INPAapiFsLesen //* //********************************************************************** INPAapiFsLesen_neu( in: string ecu, in: string FileName) { string _ecu; string _FileName; bool rc; int i; int k; int len; int x1; long xL; string temp1; string temp2; string temp3; string temp11; string temp12; string temp21; string temp22; int F_VERSION; string JOB_STATUS; string JOB_MESSAGE; string VARIANTE; int SETS; int UW_SETS; string FS_CODE; string F_PCODE; string F_PCODE7; string F1_VERSION; int errorcode; // EDIABAS Fehlernummer string error_text; // EDIABAS Fehlertext string errorcode_text; // EDIABAS Fehlernummer als Text string sgbd_version; // aus INFO auslesen, um bei Fehlern die Version angeben zu können _ecu = ecu; _FileName = FileName; //SGBD-Version auslesen sgbd_version= "???"; INPAapiJob(_ecu,"INFO","",""); INP1apiResultText(rc, sgbd_version, "REVISION", 1, ""); INPAapiJob(_ecu, _ApiFsJobName,"",""); INP1apiResultInt(rc, F_VERSION, "F_VERSION",1 ); INP1apiErrorCode(errorcode); //UDS: if ((rc == TRUE) && ( F_VERSION == 3 )) { getdate(temp1); gettime(temp2); INPAapiResultSets(SETS); INPAapiResultText(VARIANTE, "VARIANTE", 0, ""); INPAapiResultText(JOB_STATUS, "JOB_STATUS", SETS, ""); fileopen ( _FileName, _FsFileMode); if (_ApiFsJobName == "IS_LESEN") { filewrite( " I N F O S P E I C H E R L E S E N"); filewrite( " -----------------------------------"); } else if (_ApiFsJobName == "HS_LESEN") { filewrite( " H I S T O R I E N S P E I C H E R L E S E N"); filewrite( " ---------------------------------------------"); } else { filewrite( " F E H L E R S P E I C H E R L E S E N"); filewrite( " ---------------------------------------"); } filewrite(""); filewrite("Datum : "+temp1+" "+temp2); if (_ecu != VARIANTE) filewrite("ECU : "+_ecu); filewrite("JobStatus: "+JOB_STATUS); filewrite("Variante : "+VARIANTE+".PRG"); filewrite("Version : "+sgbd_version); filewrite( "-------------------------------------------------------------------------------"); if ( JOB_STATUS == "OKAY") { filewrite( ""); if (SETS == 1) filewrite( " >>>>>>>>>> Kein Fehler gefunden <<<<<<<<<<<"); else { inttostring(SETS-1,temp1); if ((SETS-1) < 10) temp1= " "+temp1;//Formatierung der Fehleranzahl, wenn sie kleiner 10 ist filewrite( "ERGEBNIS : "+temp1+" Fehler im Fehlerspeicher!"); if ((_FsMode & 0x100) == 0) { i=1; while ( i < SETS ) { if (_FsMode != 0) filewrite( "-------------------------------------------------------------------------------"); if ((_FsMode & 0x01) != 0) fs_protokoll_ort_uds(i); if ((_FsMode & 0x04) != 0) fs_protokoll_art_uds(i); if ((_FsMode & 0x40) != 0) fs_protokoll_hex(i); i=i+1; } } else { // Detail lesen i=1; StrArrayDelete(f_ort_nr_buffer); StrArrayDelete(f_ort_text_buffer); while ( i < SETS ) { INP1apiResultText(rc,temp1, "F_ORT_TEXT", i, ""); if (rc != TRUE) temp1="??????"; StrArrayWrite(f_ort_text_buffer,i,temp1); INP1apiResultBinary(rc,"F_HEX_CODE",i);//Fehlerort Nr. bei UDS: 3 Bytes, daher mit long arbeiten. (kein INPAapiResultText(temp1, "F_ORT_NR", i, "");....!) ...ergibt diese Lösung if (rc == TRUE) { GetBinaryDataString (temp1,len); midstr(temp1,temp1,0,6); } else { temp1= "??????"; filewrite(""); filewrite("### Fehler beim Lesen des Results: F_HEX_CODE ###"); filewrite(""); INP1apiErrorCode(errorcode); if (errorcode != 0) { inttostring(errorcode, errorcode_text); INP1apiErrorText(error_text); error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text; ftextout(error_text ,2,0,0,0); } } StrArrayWrite(f_ort_nr_buffer,i,temp1); i=i+1; } i=1; while ( i < SETS ) { if (_FsMode != 0) filewrite( "-------------------------------------------------------------------------------"); StrArrayRead(f_ort_nr_buffer,i,FS_CODE); INPAapiJob(_ecu, _ApiFsJobName+"_DETAIL", "0x"+FS_CODE, ""); INP1apiResultSets(rc, UW_SETS); if (rc == TRUE) { INPAapiResultText(JOB_STATUS, "JOB_STATUS", UW_SETS, ""); if ( JOB_STATUS == "OKAY") { if ((_FsMode & 0x01) != 0) fs_protokoll_ort_uds(1); if ((_FsMode & 0x200) != 0) fs_protokoll_SAECode(1);//0x200 von BMW Fast für PCode genommen if ((_FsMode & 0x20) != 0) fs_protokoll_hfk_uds(1); k=1; while ( k < UW_SETS ) { filewrite( ""); if ( UW_SETS > 2 ) { inttostring(k,temp1); filewrite( temp1 + ". Umweltsatz"); } if ((_FsMode & 0x02) != 0) fs_protokoll_uwb_uds(k); k=k+1; } if ((_FsMode & 0x04) != 0) fs_protokoll_art_uds(1); if ((_FsMode & 0x04) != 0) fs_protokoll_art_e(1); if ((_FsMode & 0x40) != 0) fs_protokoll_hex(1); } else { if ((_FsMode & 0x01) != 0) { filewrite( ""); StrArrayRead(f_ort_text_buffer,i,temp2); filewrite("0x"+FS_CODE+" "+temp2); } INP1apiResultText(rc,JOB_MESSAGE, "JOB_MESSAGE", UW_SETS, ""); if (rc == TRUE) filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS+" --> "+JOB_MESSAGE) ; else filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS); fs_protokoll_telantwort(UW_SETS);//Telegrammantwort zur Fehleranalyse mit ausgeben } } else { if ((_FsMode & 0x01) != 0) { filewrite( ""); StrArrayRead(f_ort_text_buffer,i,temp2); filewrite("0x"+FS_CODE+" "+temp2); } INP1apiErrorText(temp1); filewrite( _ApiFsJobName+"_DETAIL: "+temp1); } i=i+1; } } } } filewrite( "==============================================================================="); fileclose(); } //BMW FAST: else if ((rc == TRUE) && ( F_VERSION == 2 )) { getdate(temp1); gettime(temp2); INPAapiResultSets(SETS); INPAapiResultText(VARIANTE, "VARIANTE", 0, ""); INPAapiResultText(JOB_STATUS, "JOB_STATUS", SETS, ""); fileopen ( _FileName, _FsFileMode); if (_ApiFsJobName == "IS_LESEN") { filewrite( " I N F O S P E I C H E R L E S E N"); filewrite( " -----------------------------------"); } else if (_ApiFsJobName == "HS_LESEN") { filewrite( " H I S T O R I E N S P E I C H E R L E S E N"); filewrite( " ---------------------------------------------"); } else { filewrite( " F E H L E R S P E I C H E R L E S E N"); filewrite( " ---------------------------------------"); } filewrite(""); filewrite("Datum : "+temp1+" "+temp2); if (_ecu != VARIANTE) filewrite("ECU : "+_ecu); filewrite("JobStatus: "+JOB_STATUS); filewrite("Variante : "+VARIANTE+".PRG"); filewrite("Version : "+sgbd_version); filewrite( "-------------------------------------------------------------------------------"); if ( JOB_STATUS == "OKAY") { filewrite( ""); if (SETS == 1) filewrite( " >>>>>>>>>> Kein Fehler gefunden <<<<<<<<<<<"); else { inttostring(SETS-1,temp1); if ((SETS-1) < 10) temp1= " "+temp1;//Formatierung der Fehleranzahl, wenn sie kleiner 10 ist filewrite( "ERGEBNIS : "+temp1+" Fehler im Fehlerspeicher!"); if ((_FsMode & 0x100) == 0) { i=1; while ( i < SETS ) { if (_FsMode != 0) filewrite( "-------------------------------------------------------------------------------"); if ((_FsMode & 0x01) != 0) fs_protokoll_ort(i); if ((_FsMode & 0x04) != 0) fs_protokoll_art(i); if ((_FsMode & 0x40) != 0) fs_protokoll_hex(i); i=i+1; } } else { // Detail lesen i=1; StrArrayDelete(f_ort_nr_buffer); StrArrayDelete(f_ort_text_buffer); while ( i < SETS ) { INP1apiResultText(rc,temp1, "F_ORT_TEXT", i, ""); if (rc != TRUE) temp1="????"; StrArrayWrite(f_ort_text_buffer,i,temp1); INPAapiResultInt(x1, "F_ORT_NR", i); inttohexstring(x1, 4, temp1); StrArrayWrite(f_ort_nr_buffer,i,temp1); i=i+1; } i=1; while ( i < SETS ) { if (_FsMode != 0) filewrite( "-------------------------------------------------------------------------------"); StrArrayRead(f_ort_nr_buffer,i,FS_CODE); INPAapiJob(_ecu, _ApiFsJobName+"_DETAIL", "0x"+FS_CODE, ""); INP1apiResultSets(rc, UW_SETS); if (rc == TRUE) { INPAapiResultText(JOB_STATUS, "JOB_STATUS", UW_SETS, ""); if ( JOB_STATUS == "OKAY") { if ((_FsMode & 0x01) != 0) fs_protokoll_ort(1); if ((_FsMode & 0x200) != 0) fs_protokoll_PCode(1); if ((_FsMode & 0x400) != 0) fs_protokoll_PCode7(1); if ((_FsMode & 0x20) != 0) fs_protokoll_hfk(1); k=1; while ( k < UW_SETS ) { filewrite( ""); if ( UW_SETS > 2 ) { inttostring(k,temp1); filewrite( temp1 + ". Umweltsatz"); } if ((_FsMode & 0x02) != 0) fs_protokoll_uwb(k); k=k+1; } if ((_FsMode & 0x04) != 0) fs_protokoll_art(1); if ((_FsMode & 0x04) != 0) fs_protokoll_art_e(1); if ((_FsMode & 0x40) != 0) fs_protokoll_hex(1); } else { if ((_FsMode & 0x01) != 0) { filewrite( ""); StrArrayRead(f_ort_text_buffer,i,temp2); filewrite( "0x"+FS_CODE+" "+temp2); } INP1apiResultText(rc,JOB_MESSAGE, "JOB_MESSAGE", UW_SETS, ""); if (rc == TRUE) { filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS+" --> "+JOB_MESSAGE) ; } else filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS); fs_protokoll_telantwort(UW_SETS);//Telegrammantwort zur Fehleranalyse mit ausgeben } } else { if ((_FsMode & 0x01) != 0) { filewrite( ""); StrArrayRead(f_ort_text_buffer,i,temp2); filewrite( "0x"+FS_CODE+" "+temp2); } INP1apiErrorText(temp1); filewrite( _ApiFsJobName+"_DETAIL: "+temp1); } i=i+1; } } } } filewrite( "==============================================================================="); fileclose(); } //DS2 else if (errorcode == 134)//134=SYS-0014: Result nicht gefunden: 'F_VERSION' { INPAapiFsLesen( _ecu, _FileName); } //Fehlerhafter Aufruf else { INPAapiCheckJobStatus("OKAY");//Damit der Bediener die Fehlermeldung bestätigen muß getdate(temp1); gettime(temp2); INP1apiErrorText(temp3); fileopen ( _FileName, _FsFileMode); if (_ApiFsJobName == "IS_LESEN") { filewrite( " I N F O S P E I C H E R L E S E N"); filewrite( " -----------------------------------"); } else if (_ApiFsJobName == "HS_LESEN") { filewrite( " H I S T O R I E N S P E I C H E R L E S E N"); filewrite( " ---------------------------------------------"); } else { filewrite( " F E H L E R S P E I C H E R L E S E N"); filewrite( " ---------------------------------------"); } filewrite( ""); filewrite( "Datum : "+temp1+" "+temp2); filewrite( "ECU : "+_ecu); filewrite( "JobStatus: "+JOB_STATUS+"-->"+temp3) ; filewrite( "-------------------------------------------------------------------------------"); fileclose(); } } //********************************************************************** //* //* Fehlerprotokollausgabe Fehlerort für DS2 und BMW Fast //* //********************************************************************** fs_protokoll_ort(in: int nr) { int i; int x1; bool rc; string temp1; string temp2; i=nr; filewrite( ""); INP1apiResultInt(rc,x1, "F_ORT_NR", i); if (rc == TRUE) { inttohexstring(x1, 4, temp1); } else { temp1="????"; } INP1apiResultText(rc,temp2, "F_ORT_TEXT", i, ""); if (rc == TRUE) { filewrite( "0x"+temp1+" "+temp2); } else { filewrite( "0x"+temp1+" "+"????"); } } //********************************************************************** //* //* Fehlerprotokollausgabe Fehlerort für UDS (ISO 14229) //* //********************************************************************** fs_protokoll_ort_uds(in: int nr) { int i; int len; bool rc; string temp1; string temp2; i=nr; filewrite( ""); INP1apiResultBinary(rc,"F_HEX_CODE",i);//Fehlerort Nr. bei UDS: 3 Bytes, daher mit long arbeiten. (kein INPAapiResultText(temp1, "F_ORT_NR", i, "");....!) ...ergibt diese Lösung if (rc == TRUE) { if (_ApiFsJobName == "FS_LESEN") { GetBinaryDataString (temp1,len); midstr(temp1,temp1,0,6); } else//IS_LESEN { GetBinaryDataString (temp1,len); midstr(temp1,temp1,2,6);//Byte 0, Zeichen 0 und 1 sind das severity Byte! } } else { temp1= "??????"; } INP1apiResultText(rc,temp2, "F_ORT_TEXT", i, ""); if (rc == TRUE) { filewrite( "0x"+temp1+" "+temp2); } else { filewrite( "0x"+temp1+" "+"??????"); } } //********************************************************************** //* //* Fehlerprotokollausgabe PCODE //* //********************************************************************** fs_protokoll_PCode(in: int nr) { int i; int x1; bool rc; string tempPcodeText; string tempPcodeString; string tempPcodeHex; i=nr; INP1apiResultText(rc,tempPcodeString, "F_PCODE_STRING", i,""); if (rc == TRUE) { INP1apiResultText(rc,tempPcodeText, "F_PCODE_TEXT", i, ""); if (rc == TRUE) { INP1apiResultInt(rc,x1, "F_PCODE", i); if (rc == TRUE) { inttohexstring(x1, 4, tempPcodeHex); tempPcodeHex= "0x"+tempPcodeHex; } else { tempPcodeHex = "????"; } } else { tempPcodeText = "????"; } if (tempPcodeString == "??") { filewrite( ""); filewrite( tempPcodeHex+" "+tempPcodeText); } else { if (tempPcodeString != "--") { filewrite( ""); filewrite( tempPcodeText); } } } } //********************************************************************** //* //* Fehlerprotokollausgabe PCODE7 //* //********************************************************************** fs_protokoll_PCode7(in: int nr) { int i; int x1; bool rc; string tempPcode7Text; string tempPcode7String; string tempPcode7Hex; i=nr; INP1apiResultText(rc,tempPcode7String, "F_PCODE7_STRING", i,""); if (rc == TRUE) { INP1apiResultText(rc,tempPcode7Text, "F_PCODE7_TEXT", i, ""); if (rc == TRUE) { INP1apiResultInt(rc,x1, "F_PCODE7", i); if (rc == TRUE) { inttohexstring(x1, 4, tempPcode7Hex); tempPcode7Hex= "0x"+tempPcode7Hex; } else { tempPcode7Hex = "????"; } } else { tempPcode7Text = "????"; } if (tempPcode7String == "??") { filewrite( ""); filewrite( tempPcode7Hex+" "+tempPcode7Text); } else { if (tempPcode7String != "--") { filewrite( ""); filewrite( tempPcode7Text); } } } } //********************************************************************** //* //* Fehlerprotokollausgabe SAE Code für UDS //* //********************************************************************** fs_protokoll_SAECode(in: int nr) { int i; int x1; bool rc; string tempSAECodeText; string tempSAECodeString; string tempSAECodeHex; i=nr; INP1apiResultText(rc,tempSAECodeString, "F_SAE_CODE_STRING", i,""); if (rc == TRUE) { INP1apiResultText(rc,tempSAECodeText, "F_SAE_CODE_TEXT", i, ""); if (rc == TRUE) { INP1apiResultInt(rc,x1, "F_SAE_CODE", i); if (rc == TRUE) { inttohexstring(x1, 4, tempSAECodeHex); tempSAECodeHex= "0x"+tempSAECodeHex; } else { tempSAECodeHex = "????"; } } else { tempSAECodeText = "????"; } if (tempSAECodeString == "??") { filewrite( ""); filewrite( tempSAECodeHex+" "+tempSAECodeText); } else { if (tempSAECodeString != "--") { filewrite( ""); filewrite( tempSAECodeText); } } } } //********************************************************************** //* //* Fehlerprotokollausgabe Fehlerhäufigkeit //* //********************************************************************** fs_protokoll_hfk(in: int nr) { int i; bool rc; string temp1; int f_hfk; int f_lz; i=nr; filewrite( ""); INP1apiResultInt(rc,f_hfk,"F_HFK",i); if (rc == FALSE) temp1 ="????"; if (temp1 !="-1") { inttostring(f_hfk,temp1); if (f_hfk < 10) temp1= " "+temp1;//Formatierung der Nr der Fehlerhäufigkeit, wenn sie kleiner 10 ist filewrite( "Fehlerhäufigkeit: "+ temp1); } INP1apiResultInt(rc,f_lz,"F_LZ",i); if (rc == FALSE) temp1 ="????"; if (temp1 !="-1") { inttostring(f_lz,temp1); if (f_lz < 10) temp1= " "+temp1;//Formatierung der Nr des Logistikzählers, wenn sie kleiner 10 ist filewrite( "Logistikzähler : "+ temp1); } } //********************************************************************** //* //* Fehlerprotokollausgabe Fehlerhäufigkeit für UDS //* //********************************************************************** fs_protokoll_hfk_uds(in: int nr) { int i; int x1; bool rc; string temp1; string temp2; i=nr; filewrite( ""); //FS Überlauf INP1apiResultInt(rc,x1, "F_UEBERLAUF", i); if ((rc == TRUE) && (x1==1)) { filewrite( "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); if (_ApiFsJobName == "IS_LESEN") filewrite("++++++++++++++++++++++++ Infospeicher ist übergelaufen! +++++++++++++++++++++++"); else filewrite("+++++++++++++++++++++++ Fehlerspeicher ist übergelaufen! ++++++++++++++++++++++"); filewrite( "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); filewrite( ""); } //Fehlerhäufigkeit INP1apiResultInt(rc,x1, "F_HFK", i); if (rc == FALSE) { temp1 ="????"; } else { if (x1 == -1) { temp1= "wird nicht unterstützt"; } else { inttostring(x1,temp1); if (x1 < 10) temp1= " "+temp1;//Formatierung der Nr der Fehlerhäufigkeit, wenn sie kleiner 10 ist } } filewrite( "Fehlerhäufigkeit: "+ temp1); //Heilungszähler INP1apiResultInt(rc,x1, "F_HLZ", i); if (rc == FALSE) { temp1 ="????"; } else { if (x1 == -1) { temp1= "wird nicht unterstützt"; } else { inttostring(x1,temp1); if (x1 < 10) temp1= " "+temp1;//Formatierung des Heilungszählers, wenn er kleiner 10 ist } } filewrite( "Heilungszähler : "+ temp1); } //********************************************************************** //* //* Fehlerprotokollausgabe Fehlerarten //* //********************************************************************** fs_protokoll_art(in: int nr) { int i; bool rc; string temp1; i=nr; filewrite( ""); INP1apiResultText(rc,temp1, "F_SYMPTOM_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); INP1apiResultText(rc,temp1, "F_READY_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); INP1apiResultText(rc,temp1, "F_VORHANDEN_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); INP1apiResultText(rc,temp1, "F_WARNUNG_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); } //********************************************************************** //* //* Fehlerprotokollausgabe erweiterte Fehlerarten //* //********************************************************************** fs_protokoll_art_e(in: int nr) { int i; int k; int F_ART_ANZ; bool rc; string temp1; string temp2; i=nr; INP1apiResultInt(rc,F_ART_ANZ, "F_ART_ANZ", i); if (rc == TRUE) { if ( F_ART_ANZ > 0 ) { k=0; while ( k < F_ART_ANZ ) { k = k + 1; inttostring(k,temp2); INP1apiResultText(rc,temp1, "F_ART"+temp2+"_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); } } } } //********************************************************************** //* //* Fehlerprotokollausgabe Fehlerarten für UDS //* //********************************************************************** fs_protokoll_art_uds(in: int nr) {//Symptome entfallen bei UDS! int i; int x1; bool rc; string temp1; i=nr; filewrite( ""); INP1apiResultText(rc,temp1, "F_READY_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); INP1apiResultText(rc,temp1, "F_VORHANDEN_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); INP1apiResultText(rc,temp1, "F_WARNUNG_TEXT", i, ""); if (rc == FALSE) temp1 ="????"; if (temp1 !="--") filewrite( " "+ temp1); //Neu bei UDS: INP1apiResultInt(rc,x1, "F_EREIGNIS_DTC", i); if (rc == TRUE) { if (x1==0) { filewrite(" Dies ist kein Ereignis DTC. Das SG ist für den Fehlerspeicheintrag (DTC) verantwortlich."); } else if (x1==1) { filewrite(" Dies ein Ereignis DTC. Das SG ist somit nicht für den Fehlereintrag (DTC) verantwortlich."); filewrite(" Z.B. falsche oder fehlende Netzwerkinformationen."); } else { filewrite(" Fehler in SGBD! In Tabelle FOrtTexte, Spalte EREIGNIS_DTC muß 0 oder 1 stehen!"); } } } //********************************************************************** //* //* Fehlerprotokollausgabe Umweltbedingungen //* //********************************************************************** fs_protokoll_uwb(in: int nr) { int i; int k; int len; int F_UW_ANZ; bool rc; string temp1; string temp2; string temp3; real realval; int pos; i=nr; /* INP1apiResultText(rc,temp1, "F_UW_ZEIT", i, "10T"); if (rc == FALSE) { temp1=" ????"; } filewrite( " Absolute Zeit " + temp1+ " s"); */ INP1apiResultText(rc,temp1, "F_UW_KM", i, "8L"); if (rc == FALSE) temp1=" ????"; if ((temp1 == "524280") && (ident_typ != 3)) temp1 = "-1";//Fehlerüberlauf für DS2 und BMW FAST, UDS liefert es von alleine temp2 = "Kilometerstand "; filewrite( " " + temp2 + temp1 + " km"); INP1apiResultInt(rc,F_UW_ANZ, "F_UW_ANZ", i); if (rc == TRUE) { if ( F_UW_ANZ > 0 ) { k=0; while ( k < F_UW_ANZ ) { k = k + 1; inttostring(k,temp2); INP1apiResultText(rc,temp3, "F_UW"+temp2+"_EINH", i, ""); if (rc == TRUE) { AnsiUpper(temp3,temp3); } else { temp3 = "????"; } if ((temp3 == "0-N") || (temp3 == "HEX")) { INP1apiResultText(rc,temp1, "F_UW"+temp2+"_TEXT", i, "-20T"); if (rc == FALSE) temp1="???? "; if (temp1 !="-- ") //"--" + 18 Zeichen { if ((_FsMode & 0x08) != 0) { INP1apiResultText(rc,temp3, "F_UW"+temp2+"_WERT", i, "28T"); if (rc == FALSE) temp3="???? "; temp1 = temp1 + " " + temp3; } if ((_FsMode & 0x10) != 0) { INP1apiResultText(rc,temp3, "F_UW"+temp2+"_EINH", i, ""); if (rc == FALSE) temp3="????"; temp1 = temp1 + " " + temp3; } filewrite( " "+ temp1); } } else { INP1apiResultText(rc,temp1, "F_UW"+temp2+"_TEXT", i, "-40T"); if (rc == FALSE) temp1="???? "; if (temp1 !="-- ") { if ((_FsMode & 0x08) != 0) { INP1apiResultText(rc,temp3, "F_UW"+temp2+"_WERT", i, "8.2R"); if (rc == FALSE) temp3=" ???? "; temp1 = temp1 + " " + temp3; } if ((_FsMode & 0x10) != 0) { INP1apiResultText(rc,temp3, "F_UW"+temp2+"_EINH", i, ""); if (rc == FALSE) temp3="????"; temp1 = temp1 + " " + temp3; } filewrite( " "+ temp1); } } } } } } //********************************************************************** //* //* Fehlerprotokollausgabe Umweltbedingungen //* //********************************************************************** fs_protokoll_uwb_uds(in: int nr) { int i; // int k; // int len; // int F_UW_ANZ; bool rc; string temp1; // string temp2; // string temp3; // real realval; // int pos; i=nr; INP1apiResultText(rc,temp1, "F_UW_ZEIT", i, "10T"); if (rc == FALSE) { temp1=" ????"; } filewrite( " Absolute Zeit " + temp1+ " s"); fs_protokoll_uwb(i); } //********************************************************************** //* //* Fehlerprotokollausgabe Hexcode //* //********************************************************************** fs_protokoll_hex(in: int nr) { string nl; int i; int x1; int x2; int x3; bool rc; string temp1; string temp2; string temp3; chr(10,nl); i=nr; filewrite( ""); INP1apiResultBinary(rc,"F_HEX_CODE", i); if (rc == TRUE) { GetBinaryDataString (temp1, x1); x2 = 0; x3 = 0; temp2=""; while ( x2 < x1 ) { midstr(temp3, temp1, x2, 2); temp2 = temp2 + temp3; x2 = x2 + 2; x3 = x3 + 1; if ( x2 < x1 ) { if ( x3 < 16 )//Leerzeichen zwischen den Bytes { if ( x3 == 8 ) temp2 = temp2 + " ";//Nach 8 Bytes zwei Leerz. dann wieder 8 Bytes schreiben else temp2 = temp2 + " "; } else { x3 = 0; temp2 = temp2 + nl + " "; } } } } else { temp2 = "????"; } filewrite( "Fehlercode: "+temp2); } //********************************************************************** //* //* Fehlerprotokollausgabe Telegrammantwort(en) //* Wird nur bei Fehlerhaften FS_LESEN_DETAIL ausgegeben //* //********************************************************************** fs_protokoll_telantwort(in: int nr) { string nl; int i; int x1; int x2; int x3; bool rc; string temp1; string temp2; string temp3; string temp4; string temp5; chr(10,nl); i=nr; filewrite( ""); if (ident_typ == 3)//3=UDS (ISO 14229) { if (_ApiFsJobName == "FS_LESEN") INP1apiResultBinary(rc,"_RESPONSE_SNAPSHOT", i); else INP1apiResultBinary(rc,"_RESPONSE_2000", i);//IS_LESEN } else//1=DS2, 2=BMW Fast { INP1apiResultBinary(rc,"_TEL_ANTWORT", i); } if (rc == TRUE) { GetBinaryDataString (temp1, x1); x2 = 0; x3 = 0; temp2=""; while ( x2 < x1 ) { midstr(temp3, temp1, x2, 2); temp2 = temp2 + temp3; x2 = x2 + 2; x3 = x3 + 1; if ( x2 < x1 ) { if ( x3 < 16 )//Leerzeichen zwischen den Bytes { if ( x3 == 8 ) temp2 = temp2 + " ";//Nach 8 Bytes zwei Leerz. dann wieder 8 Bytes schreiben else temp2 = temp2 + " "; } else { x3 = 0; temp2 = temp2 + nl + " "; } } } } else { temp2 = "????--> Zur Analyse IFH-Trace benutzen!"; } //2. Telegramm nur für UDS ausgeben if (ident_typ == 3)//3=UDS (ISO 14229) { if (_ApiFsJobName == "FS_LESEN") INP1apiResultBinary(rc,"_RESPONSE_EXTENDED_DATA", i); else INP1apiResultBinary(rc,"_RESPONSE_200X", i);//IS_LESEN if (rc == TRUE) { GetBinaryDataString (temp1, x1); x2 = 0; x3 = 0; temp4=""; while ( x2 < x1 ) { midstr(temp3, temp1, x2, 2); temp4 = temp4 + temp3; x2 = x2 + 2; x3 = x3 + 1; if ( x2 < x1 ) { if ( x3 < 16 )//Leerzeichen zwischen den Bytes { if ( x3 == 8 ) temp4 = temp4 + " ";//Nach 8 Bytes zwei Leerz. dann wieder 8 Bytes schreiben else temp4 = temp4 + " "; } else { x3 = 0; temp4 = temp4 + nl + " "; } } } } else { temp4 = "????--> Zur Analyse IFH-Trace benutzen!"; } filewrite("Telegramm-Antwort ab Service Identifier zur Analyse"); if (_ApiFsJobName == "FS_LESEN") { filewrite("Data : "+temp2); filewrite("Snapshot : "+temp4); } else//IS_LESEN { filewrite("2000 : "+temp2); filewrite("200X : "+temp4); } } else//DS2, BMW Fast { filewrite("Telegramm-"); filewrite("Antwort : "+temp2); } } // -- EOF -- // end of :#include "FS_LESEN.SRC" // start of :#include "INITEXIT.SRC" //********************************************************************** //* //* INPA Library-Funktionen INITEXIT.SRC //* //* mindestens INPA 5.0.1 //* //********************************************************************** //* Gall TI-430 //********************************************************************** //* History: //* 04.07.2000 rd V0.03 Ersterstellung //* 25.04.2002 rd V1.00 Freigabe //* 24.09.2002 rd V1.01 Scriptinit verlagert //* 12.03.2003 iS V1.01 Anpassung SgbdInpaCheck()GroupCheck(); //* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version //* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229) //* GA V3.00 INPA.INI, [EXTRA], SRIPTS auslesen, ob "deleteread" gesetzt, //* GA V3.00 um nach FS- IS-, HS-Löschen automatisch wieder zu lesen. //********************************************************************** // ************************** // *** inpainit, inpaexit *** // ************************** inpainit() { bool rc; string temp; int i; INPAapiInit(); chrinit(); // Handle für FS_LESEN StrArrayCreate(rc,f_ort_nr_buffer); if (rc == FALSE) { messagebox("Unerwarteter Fehler", // sollte nie kommen "StrArrayCreate(rc,f_ort_nr_buffer). "+CRLF+ "Das Programm wird abgebrochen!"); exit(); } StrArrayCreate(rc,f_ort_text_buffer); if (rc == FALSE) { messagebox("Unerwarteter Fehler", // sollte nie kommen "StrArrayCreate(rc,f_ort_text_buffer). "+CRLF+ "Das Programm wird abgebrochen!"); exit(); } SgbdInpaCheck(); GroupCheck(); setmenu(m_main); setscreen(s_main,TRUE); //INPA.INI einlesen, //um nach FS- IS-, HS-Löschen automatisch wieder zu lesen. //hinter "SCRIPTS" muß DeleteRead stehen, um die Funktion freizuschalten ExtraScript("DeleteRead", deleteread_flag); //m FS,IS,HS zu speichern ExtraScript("SaveAs", fs_lesen_save_as_flag); is_lesen_save_as_flag=fs_lesen_save_as_flag; hs_lesen_save_as_flag=fs_lesen_save_as_flag; //INPA.INI-Einstellung, falls Funktionen gewünscht: //[EXTRA] //SCRIPTS = DeleteRead,SaveAs //Wichtig: Nach dem Komma kein Leerzeichen benutzen! ScriptInit(); } inpaexit() { INPAapiEnd(); // Handle für FS_LESEN StrArrayDestroy(f_ort_nr_buffer); StrArrayDestroy(f_ort_text_buffer); } // -- EOF -- // end of :#include "INITEXIT.SRC" // ************************** // *** Hauptmenü *** // ************************** MENU m_main() { INIT { setmenutitle("Hauptmenü"); if ((ident_typ == 1)||(ident_typ == 2)) //DS2 oder BMW FAST { setitem(2, "Ident", TRUE); } else { setitem(2, "SVK", TRUE);//ISO 14229 } if ((fs_lesen_flag == TRUE) || (is_lesen_flag == TRUE) || (hs_lesen_flag == TRUE)) { setitem( 4 , "Fehler" , TRUE); } if (m_status_flag == TRUE) { setitem( 5 , "Status" , TRUE); } if (m_steuern_flag == TRUE) { setitem( 6 , "Steuern" , TRUE); } if (speicher_lesen_flag == TRUE) { setitem( 7 , "Speicher" , TRUE); } } ITEM( 1 ,"Info") { userboxclose(1); setscreen(s_info,TRUE); } ITEM( 2 ,"Ident") { userboxclose(1); if (ident_typ == 1) setscreen(s_ident_ds2,TRUE); else if (ident_typ == 2) setscreen(s_ident,TRUE); else setscreen(s_svk_lesen,TRUE); } ITEM( 3 ,"") { userboxclose(1); setscreen(s_main,TRUE); } ITEM( 4 ,"") { userboxclose(1); if ((fs_lesen_flag == TRUE) || (is_lesen_flag == TRUE) || (hs_lesen_flag == TRUE)) { setscreen( s_fehler ,TRUE); setmenu(m_fehler); } else setscreen( s_main ,TRUE); } ITEM( 5 ,"") { userboxclose(1); if (m_status_flag == TRUE) { setscreen(s_status,TRUE); setmenu(m_status); } else setscreen( s_main ,TRUE); } ITEM( 6 ,"") { userboxclose(1); if (m_steuern_flag == TRUE) { setscreen(s_steuern,TRUE); setmenu(m_steuern); } else setscreen( s_main ,TRUE); } ITEM( 7 ,"") { userboxclose(1); if (speicher_lesen_flag == TRUE) { setscreen(s_speicher,TRUE); setmenu(m_speicher); } else setscreen( s_main ,TRUE); } ITEM( 8 ,"Auswahl") { start(); select(TRUE); } ITEM(18 ,"Gesamt") { start(); deselect(); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Ende") { exit(); } ITEM( 11, "KVP") { setscreen(s_info,TRUE); callwin( "kvp_edit "+titel+";"+version+";"+sgbd+": "+sgbd_ecu+";"+sgbd_revision); } ITEM( 12 ,"") { setscreen( s_main ,TRUE); } ITEM( 13 ,"") { setscreen( s_main ,TRUE); } ITEM( 14 ,"") { setscreen( s_main ,TRUE); } ITEM( 15 ,"") { setscreen( s_main ,TRUE); } ITEM( 16 ,"") { setscreen( s_main ,TRUE); } ITEM( 17 ,"") { setscreen( s_main ,TRUE); } ITEM( 19 ,"") { setscreen( s_main ,TRUE); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Fehlermenü *** // ************************** MENU m_fehler() { int ErrorCode; int SpeicherUnterDateiNameLaenge=0; int ReturnedValue; string CurrentDirectory; string SpeichernKommentar1=""; string SpeichernKommentar2=""; string SpeicherUnterDateiName=""; string DateiLesenZeile=""; string DateiLesenPuffer=""; bool DateiLesenEOF; string DateiName=""; int aufrufIO; string JOB_STATUS; bool fehlerflag; INIT { setmenutitle("Fehlerspeicher"); if (fs_lesen_flag == TRUE) { setitem( 1 , "FS lesen" , TRUE); setitem( 2 , "FS löschen" , TRUE); setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 3 , "IS lesen" , TRUE); if (is_loeschen_flag == TRUE) setitem( 4 , "IS löschen" , TRUE); else setitem( 4 , "" , FALSE);//Nicht alle SGs haben IS_LOESCHEN. Z.B. EPS_90.PRG setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 5 , "HS lesen" , TRUE); if (hs_loeschen_flag == TRUE) setitem( 6 , "HS löschen" , TRUE); else setitem( 6 , "" , FALSE);//Nicht alle SGs haben HS_LOESCHEN. Z.B. EPS_90.PRG setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } } ITEM( 1 ,"") { userboxclose(0); viewclose(); if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } if (fs_lesen_flag == TRUE) { userboxopen(0,8,35,5,50,"Fehlerspeicher lesen",""); userboxftextout(0,"Der Fehlerspeicher wird gelesen! ... bitte warten",1,3,0,0); INPAapiFsMode_neu(0x7FF,"w","","",""); // alles Anzeigen INPAapiFsLesen_neu(sgbd,"na_fs.tmp"); userboxclose(0); DateiName="na_fs.tmp"; viewopen(DateiName,"Fehlerspeicher lesen"); setitem( 9 , "FS drucken" , TRUE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", TRUE); } } ITEM( 2 ,"") { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } if (fs_lesen_flag == TRUE) { INPAapiJob(sgbd,"FS_LOESCHEN","",""); INP1apiResultText(fehlerflag,JOB_STATUS, "JOB_STATUS", 1, ""); if (JOB_STATUS != "OKAY") { userboxopen(0,8,35,5,50,"Fehlerspeicher löschen",""); userboxftextout(0,"Der Fehlerspeicher konnte nicht gelöscht werden!",1,3,0,0); userboxsetcolor(0,1,4); INPAapiCheckJobStatus("OKAY"); } else { userboxopen(0,8,35,5,50,"Fehlerspeicher löschen",""); userboxftextout(0,"Der Fehlerspeicher wurde gelöscht!",1,3,0,0); if (deleteread_flag == TRUE) // Aktivierung über INPA.INI, SCRIPTS = DeleteRead { delay(2000); userboxclose(0); userboxopen(0,8,35,5,50,"Fehlerspeicher lesen",""); userboxftextout(0,"Der Fehlerspeicher wird gelesen! ... bitte warten",1,3,0,0); INPAapiFsMode_neu(0x7FF,"w","","",""); // alles Anzeigen INPAapiFsLesen_neu(sgbd,"na_fs.tmp"); userboxclose(0); DateiName="na_fs.tmp"; viewopen(DateiName,"Fehlerspeicher lesen"); setitem( 9 , "FS drucken" , TRUE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", TRUE); } } } } ITEM( 3 ,"") { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } if (is_lesen_flag == TRUE) { userboxopen(0,8,35,5,50,"Infospeicher lesen",""); userboxftextout(0,"Der Infospeicher wird gelesen! ... bitte warten",1,3,0,0); INPAapiFsMode_neu(0x7FF,"w","","","IS_LESEN"); // alles Anzeigen INPAapiFsLesen_neu(sgbd,"na_fs.tmp"); userboxclose(0); DateiName="na_fs.tmp"; viewopen(DateiName,"Infospeicher lesen"); setitem( 8 , "IS drucken" , TRUE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", TRUE); } } ITEM( 4 ,"") { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } if (is_loeschen_flag == TRUE) { INPAapiJob(sgbd,"IS_LOESCHEN","",""); INP1apiResultText(fehlerflag,JOB_STATUS, "JOB_STATUS", 1, ""); if (JOB_STATUS != "OKAY") { userboxopen(0,8,35,5,50,"Infospeicher löschen",""); userboxftextout(0,"Der Infospeicher konnte nicht gelöscht werden!",1,3,0,0); userboxsetcolor(0,1,4); INPAapiCheckJobStatus("OKAY"); } else { userboxopen(0,8,35,5,50,"Infospeicher löschen",""); userboxftextout(0,"Der Infospeicher wurde gelöscht!",1,3,0,0); if (deleteread_flag == TRUE) // Aktivierung über INPA.INI, SCRIPT = deleteread { delay(2000); userboxclose(0); userboxopen(0,8,35,5,50,"Infospeicher lesen",""); userboxftextout(0,"Der Infospeicher wird gelesen! ... bitte warten",1,3,0,0); INPAapiFsMode_neu(0x7FF,"w","","","IS_LESEN"); // alles Anzeigen INPAapiFsLesen_neu(sgbd,"na_fs.tmp"); userboxclose(0); DateiName="na_fs.tmp"; viewopen(DateiName,"Infospeicher lesen"); setitem( 8 , "IS drucken" , TRUE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", TRUE); } } } } ITEM( 5 ,"") { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { userboxopen(0,8,35,5,50,"Historienspeicher lesen",""); userboxftextout(0,"Der Historienspeicher wird gelesen! ... bitte warten",1,3,0,0); INPAapiFsMode_neu(0x7FF,"w","","","HS_LESEN"); // alles Anzeigen INPAapiFsLesen_neu(sgbd,"na_fs.tmp"); userboxclose(0); DateiName="na_fs.tmp"; viewopen(DateiName,"Historienspeicher lesen"); setitem( 7 , "HS drucken" , TRUE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", TRUE); } } ITEM( 6 ,"") { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } if (hs_loeschen_flag == TRUE) { INPAapiJob(sgbd,"HS_LOESCHEN","",""); INP1apiResultText(fehlerflag,JOB_STATUS, "JOB_STATUS", 1, ""); if (JOB_STATUS != "OKAY") { userboxopen(0,8,35,5,50,"Historienspeicher löschen",""); userboxftextout(0,"Der Historienspeicher konnte nicht gelöscht werden!",1,3,0,0); userboxsetcolor(0,1,4); INPAapiCheckJobStatus("OKAY"); } else { userboxopen(0,8,35,5,50,"Historienspeicher löschen",""); userboxftextout(0,"Der Historienspeicher wurde gelöscht!",1,3,0,0); if (deleteread_flag == TRUE) // Aktivierung über INPA.INI, SCRIPT = deleteread { delay(2000); userboxclose(0); userboxopen(0,8,35,5,50,"Historienspeicher lesen",""); userboxftextout(0,"Der Historienspeicher wird gelesen! ... bitte warten",1,3,0,0); INPAapiFsMode_neu(0x7FF,"w","","","HS_LESEN"); // alles Anzeigen INPAapiFsLesen_neu(sgbd,"na_fs.tmp"); userboxclose(0); DateiName="na_fs.tmp"; viewopen(DateiName,"Historienspeicher lesen"); setitem( 7 , "HS drucken" , TRUE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", TRUE); } } } } ITEM( 7 ,"") { if (hs_lesen_flag == TRUE) { printfile(ErrorCode, DateiName, "", "",TRUE); } else { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } } } ITEM( 8 ,"") { if (is_lesen_flag == TRUE) { printfile(ErrorCode, DateiName, "", "",TRUE); } else { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } } } ITEM( 9 ,"") { if (fs_lesen_flag == TRUE) { printfile(ErrorCode, DateiName, "", "",TRUE); } else { userboxclose(0); viewclose(); if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } } } ITEM(17 ,"") { if ((hs_lesen_flag == TRUE) && (hs_lesen_save_as_flag == TRUE)) { input2text(SpeichernKommentar1,SpeichernKommentar2, "Kommentar", "Geben Sie den zu speichernden Kommentar ein", "",""); getinputstate(input_state); if (input_state==input_ok) { space(SpeicherUnterDateiName,256); strlen(SpeicherUnterDateiNameLaenge,SpeicherUnterDateiName); GetCurrentDirectory(256,CurrentDirectory,ReturnedValue); SaveAsDialogBox("",SpeicherUnterDateiName,SpeicherUnterDateiNameLaenge,SpeicherUnterDateiNameLaenge); SetCurrentDirectory(CurrentDirectory,ReturnedValue); if (SpeicherUnterDateiNameLaenge > 0) { DateiLesenPuffer=""; fileopen("na_fs.tmp","r"); fileread(DateiLesenZeile, DateiLesenEOF ); while (DateiLesenEOF == FALSE) { DateiLesenPuffer=DateiLesenPuffer+DateiLesenZeile; fileread(DateiLesenZeile, DateiLesenEOF ); if (DateiLesenEOF == FALSE) DateiLesenPuffer=DateiLesenPuffer+LF; } fileclose(); DateiName=SpeicherUnterDateiName; fileopen(DateiName,"w"); if (SpeichernKommentar1 + SpeichernKommentar2 != "") { filewrite( " K O M M E N T A R"); filewrite( " -----------------"); filewrite( ""); if (SpeichernKommentar1 != "") filewrite(SpeichernKommentar1); if (SpeichernKommentar2 != "") filewrite(SpeichernKommentar2); filewrite( "-------------------------------------------------------------"); filewrite(""); } filewrite(DateiLesenPuffer); fileclose(); viewclose(); viewopen(DateiName,"Historienspeicher speichern: "+DateiName); } } } else { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); } } } ITEM(18 ,"") { if ((is_lesen_flag == TRUE) && (is_lesen_save_as_flag == TRUE)) { input2text(SpeichernKommentar1,SpeichernKommentar2, "Kommentar", "Geben Sie den zu speichernden Kommentar ein", "",""); getinputstate(input_state); if (input_state==input_ok) { space(SpeicherUnterDateiName,256); strlen(SpeicherUnterDateiNameLaenge,SpeicherUnterDateiName); GetCurrentDirectory(256,CurrentDirectory,ReturnedValue); SaveAsDialogBox("",SpeicherUnterDateiName,SpeicherUnterDateiNameLaenge,SpeicherUnterDateiNameLaenge); SetCurrentDirectory(CurrentDirectory,ReturnedValue); if (SpeicherUnterDateiNameLaenge > 0) { DateiLesenPuffer=""; fileopen("na_fs.tmp","r"); fileread(DateiLesenZeile, DateiLesenEOF ); while (DateiLesenEOF == FALSE) { DateiLesenPuffer=DateiLesenPuffer+DateiLesenZeile; fileread(DateiLesenZeile, DateiLesenEOF ); if (DateiLesenEOF == FALSE) DateiLesenPuffer=DateiLesenPuffer+LF; } fileclose(); DateiName=SpeicherUnterDateiName; fileopen(DateiName,"w"); if (SpeichernKommentar1 + SpeichernKommentar2 != "") { filewrite( " K O M M E N T A R"); filewrite( " -----------------"); filewrite( ""); if (SpeichernKommentar1 != "") filewrite(SpeichernKommentar1); if (SpeichernKommentar2 != "") filewrite(SpeichernKommentar2); filewrite( "-------------------------------------------------------------"); filewrite(""); } filewrite(DateiLesenPuffer); fileclose(); viewclose(); viewopen(DateiName,"Infospeicher speichern: "+DateiName); } } } else { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } } } ITEM(19 ,"") { if ((fs_lesen_flag == TRUE) && (fs_lesen_save_as_flag == TRUE)) { input2text(SpeichernKommentar1,SpeichernKommentar2, "Kommentar", "Geben Sie den zu speichernden Kommentar ein", "",""); getinputstate(input_state); if (input_state==input_ok) { space(SpeicherUnterDateiName,256); strlen(SpeicherUnterDateiNameLaenge,SpeicherUnterDateiName); GetCurrentDirectory(256,CurrentDirectory,ReturnedValue); SaveAsDialogBox("",SpeicherUnterDateiName,SpeicherUnterDateiNameLaenge,SpeicherUnterDateiNameLaenge); SetCurrentDirectory(CurrentDirectory,ReturnedValue); if (SpeicherUnterDateiNameLaenge > 0) { DateiLesenPuffer=""; fileopen("na_fs.tmp","r"); fileread(DateiLesenZeile, DateiLesenEOF ); while (DateiLesenEOF == FALSE) { DateiLesenPuffer=DateiLesenPuffer+DateiLesenZeile; fileread(DateiLesenZeile, DateiLesenEOF ); if (DateiLesenEOF == FALSE) DateiLesenPuffer=DateiLesenPuffer+LF; } fileclose(); DateiName=SpeicherUnterDateiName; fileopen(DateiName,"w"); if (SpeichernKommentar1 + SpeichernKommentar2 != "") { filewrite( " K O M M E N T A R"); filewrite( " -----------------"); filewrite( ""); if (SpeichernKommentar1 != "") filewrite(SpeichernKommentar1); if (SpeichernKommentar2 != "") filewrite(SpeichernKommentar2); filewrite( "-------------------------------------------------------------"); filewrite(""); } filewrite(DateiLesenPuffer); fileclose(); viewclose(); viewopen(DateiName,"Fehlerspeicher speichern: "+DateiName); } } } else { userboxclose(0); viewclose(); if (fs_lesen_flag == TRUE) { setitem( 9 , "FS drucken" , FALSE); } if (is_lesen_flag == TRUE) { setitem( 8 , "IS drucken" , FALSE); if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE); } if (hs_lesen_flag == TRUE) { setitem( 7 , "HS drucken" , FALSE); if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE); } } } ITEM( 10 ,"Zurück") { userboxclose(0); viewclose(); setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { userboxclose(0); viewclose(); exit(); } } // ************************** // *** Speichermenü *** // ************************** MENU m_speicher() { int input_ok=0; int input_state; string text_var; INIT { setmenutitle("Speicher lesen"); if (speicher_lesen_lar_flag==TRUE) setitem( 1 , "LAR" , TRUE); if (speicher_lesen_flash_flag==TRUE) setitem( 2 , "FLASH", TRUE); if (speicher_lesen_uifm_flag==TRUE) setitem( 3 , "UIFM" , TRUE); if (speicher_lesen_romi_flag==TRUE) setitem( 4 , "ROMI" , TRUE); if (speicher_lesen_ramis_flag==TRUE) setitem( 5 , "RAMIS", TRUE); if (speicher_lesen_ramil_flag==TRUE) setitem( 6 , "RAMIL", TRUE); if (speicher_lesen_nvram_flag==TRUE) setitem( 7 , "NVRAM", TRUE); if (speicher_lesen_romx_flag==TRUE) setitem(14 , "ROMX" , TRUE); if (speicher_lesen_ramxx_flag==TRUE) setitem(15 , "RAMXX", TRUE); } ITEM( 1 ,"") { if (speicher_lesen_lar_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"LAR lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="LAR lesen"; speicher_lesen_seg_adr_anz="LAR;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 2 ,"") { if (speicher_lesen_flash_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"FLASH lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="FLASH lesen"; speicher_lesen_seg_adr_anz="FLASH;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 3 ,"") { if (speicher_lesen_uifm_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"UIFM lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="UIFM lesen"; speicher_lesen_seg_adr_anz="UIFM;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 4 ,"") { if (speicher_lesen_romi_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"ROMI lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="ROMI lesen"; speicher_lesen_seg_adr_anz="ROMI;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 5 ,"") { if (speicher_lesen_ramis_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"RAMIS lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="RAMIS lesen"; speicher_lesen_seg_adr_anz="RAMIS;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 6 ,"") { if (speicher_lesen_ramil_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"RAMIL lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="RAMIL lesen"; speicher_lesen_seg_adr_anz="RAMIL;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 7 ,"") { if (speicher_lesen_nvram_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"NVRAM lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="NVRAM lesen"; speicher_lesen_seg_adr_anz="NVRAM;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 8 ,"") { setscreen( s_speicher,TRUE); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 11 ,"") { setscreen( s_speicher,TRUE); } ITEM( 12 ,"") { setscreen( s_speicher,TRUE); } ITEM( 13 ,"") { setscreen( s_speicher,TRUE); } ITEM( 14 ,"") { if (speicher_lesen_romx_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"ROMX lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="ROMX lesen"; speicher_lesen_seg_adr_anz="ROMX;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 15 ,"") { if (speicher_lesen_ramxx_flag==TRUE) { input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"RAMXX lesen", "Es ist darauf zu achten, "+ "daß die angegebene Adresse + Anzahl "+ "der zu lesenden Bytes die Obergrenze "+ "(FFFFFF) nicht überschreitet.", "Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200); getinputstate(input_state); if (input_state==input_ok) { speicher_lesen_text="RAMXX lesen"; speicher_lesen_seg_adr_anz="RAMXX;"+speicher_lesen_adresse; inttostring(speicher_lesen_anzahl,text_var); speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var; setscreen(s_speicher_ausgabe,TRUE); } } else setscreen(s_speicher,TRUE); } ITEM( 16 ,"") { setscreen( s_speicher,TRUE); } ITEM( 17 ,"") { setscreen( s_speicher,TRUE); } ITEM( 18 ,"") { setscreen( s_speicher,TRUE); } ITEM( 19 ,"") { setscreen( s_speicher,TRUE); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Hauptscreen *** // ************************** SCREEN s_main() { string text_var; userboxclose(0); ftextout("Hauptmenü",1,0,1,0); ftextout("",3,0,0,0); if (simulation_flag == TRUE) { userboxopen(1,14,30,5,48,"Hinweis",""); userboxftextout(1,"INPA bzw. EDIABAS läuft im Simulationsmodus!",1,3,0,24); userboxsetcolor(1,0,4); } if (ident_typ != 3) { INPAapiJob(sgbd,"IDENT","",""); INPAapiCheckJobStatus("OKAY"); } LINE("","") { if (ident_typ != 3)//Nur bei DS2 und BMW Fast vorhanden { ftextout("BMW Teilenummer",1,0,0,0); ftextout(":",1,19,0,0); INPAapiResultText(text_var,"ID_BMW_NR",1,""); ftextout(text_var,1,20,0,1); ftextout("Herstelldatum",1,43,0,0); ftextout(":",1,59,0,0); if (ident_typ == 1)//DS2 { ftextout("KW / Jahr",1,68,0,0); ftextout("/",1,63,0,1); INPAapiResultText(text_var,"ID_DATUM_KW",1,""); ftextout(text_var,1,60,0,1); INPAapiResultText(text_var,"ID_DATUM_JAHR",1,""); ftextout(text_var,1,65,0,1); } else if (ident_typ == 2)//BMW FAST { INPAapiResultText(text_var,"ID_DATUM",1,""); ftextout(text_var,1,60,0,1); } } ftextout("< F1 > Information" , 4,5,0,1); if ((ident_typ == 1)||(ident_typ == 2)) //DS2 oder BMW FAST { ftextout("< F2 > Identifikation" , 6,5,0,1); } else { ftextout("< F2 > Steuergeräteverbaukennung" , 6,5,0,1);//UDS (ISO 14229) } if ((fs_lesen_flag == TRUE) || (is_lesen_flag == TRUE) || (hs_lesen_flag == TRUE)) ftextout("< F4 > Fehlerspeicher" ,10,5,0,1); if (m_status_flag == TRUE) ftextout("< F5 > Status lesen" ,12,5,0,1); if (m_steuern_flag == TRUE) ftextout("< F6 > Ansteuern" ,14,5,0,1); if (speicher_lesen_flag == TRUE) ftextout("< F7 > Speicher lesen" ,16,5,0,1); ftextout("< F8 > Auswahl" ,18,5,0,1); ftextout("< F9 > Bildschirmdruck" ,20,5,0,1); ftextout("< F10> Ende" ,22,5,0,1); ftextout(" + < F1 > KVP-Editor" , 4,45,0,1); ftextout(" + < F8 > Gesamt" ,18,45,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** Infoscreen *** // ************************** SCREEN s_info () { int i; int slen; int pos; int pos2; int anzahl; string temp; ftextout("Information",1,0,1,0); ftextout("Nacharbeitsprogramm",4,0,0,0); ftextout(":", 4,33,0,1); ftextout(titel,4,35,0,1); ftextout("Version",5,1,0,0); ftextout(":", 5,33,0,1); ftextout(version,5,35,0,1); ftextout("Package",6,1,0,0); ftextout(":", 6,33,0,1); ftextout(package,6,35,0,1); ftextout("Verantwortung",7,1,0,0); ftextout(":", 7,33,0,1); ftextout(origin,7,35,0,1); ftextout("Gruppendatei",10,0,0,0); ftextout(":",10,33,0,1); ftextout(gruppe,10,35,0,1); ftextout("Bezeichnung",11,1,0,0); ftextout(":",11,33,0,1); ftextout(gruppe_ecu,11,35,0,1); ftextout("Version",12,1,0,0); ftextout(":",12,33,0,1); ftextout(gruppe_revision,12,35,0,1); ftextout("Verantwortung",13,1,0,0); ftextout(":",13,33,0,1); ftextout(gruppe_origin,13,35,0,1); ftextout("Identifizierbare SGBD'en",14,1,0,0); strlen(slen, gruppe_comment); anzahl=44; pos=0; if ( slen <= anzahl ) { ftextout(":",14,33,0,1); ftextout(gruppe_comment,14,35,0,1); } else { instr(pos2, anzahl, gruppe_comment, ","); if (pos2 > 0) anzahl=pos2+1; midstr(temp, gruppe_comment, pos, anzahl); ftextout(":",14,33,0,1); ftextout(temp,14,35,0,1); i=14; pos=pos+anzahl; while ( pos < slen ) { i=i+1; anzahl=75; instr(pos2, pos + anzahl, gruppe_comment, ","); if (pos2 > 0) anzahl=pos2+1-pos; midstr(temp, gruppe_comment, pos, anzahl); ftextout(temp,i,1,0,1); pos=pos+anzahl; if ( i >= 18 ) { if ( pos < slen ) ftextout(temp+" . . .",i,1,0,1); pos=slen; } } } ftextout("Steuergerätebeschreibungsdatei",21,0,0,0); ftextout(":",21,33,0,1); ftextout(sgbd,21,35,0,1); ftextout("Steuergerät",22,1,0,0); ftextout(":",22,33,0,1); ftextout(sgbd_ecu,22,35,0,1); ftextout("Version",23,1,0,0); ftextout(":",23,33,0,1); ftextout(sgbd_revision,23,35,0,1); ftextout("Package",24,1,0,0); ftextout(":",24,33,0,1); ftextout(sgbd_package,24,35,0,1); ftextout("Verantwortung",25,1,0,0); ftextout(":",25,33,0,1); ftextout(sgbd_origin,25,35,0,1); ftextout("Sprache",26,1,0,0); ftextout(":",26,33,0,1); ftextout(sgbd_sprache,26,35,0,1); if (sgbd_comment!="") { ftextout("Kommentar",27,1,0,0); ftextout(":",27,33,0,1); ftextout(sgbd_comment,27,35,0,1); } } // ************************** // *** Identscreen DS2 *** // ************************** SCREEN s_ident_ds2() { ftextout("Identifikation",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"IDENT","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("BMW Teilenummer",1,0,1,0); ftextout(":",1,33,1,0); INPAapiResultText(text_var,"ID_BMW_NR",1,""); ftextout(text_var,1,35,1,1); ftextout("Hardwarenummer",4,0,1,0); ftextout(":",4,33,1,0); INPAapiResultText(text_var,"ID_HW_NR",1,""); ftextout(text_var,4,35,1,1); ftextout("Softwarenummer",7,0,1,0); ftextout(":",7,33,1,0); INPAapiResultText(text_var,"ID_SW_NR",1,""); ftextout(text_var,7,35,1,1); ftextout("Lieferant",10,0,1,0); ftextout(":",10,33,1,0); INPAapiResultText(text_var,"ID_LIEF_TEXT",1,""); ftextout(text_var,10,35,1,1); ftextout("Codier-Index",13,0,1,0); ftextout(":",13,33,1,0); INPAapiResultText(text_var,"ID_COD_INDEX",1,""); ftextout(text_var,13,35,1,1); ftextout("Diagnose-Index",16,0,1,0); ftextout(":",16,33,1,0); INPAapiResultText(text_var,"ID_DIAG_INDEX",1,""); ftextout(text_var,16,35,1,1); ftextout("Bus-Index",19,0,1,0); ftextout(":",19,33,1,0); INPAapiResultText(text_var,"ID_BUS_INDEX",1,""); ftextout(text_var,19,35,1,1); ftextout("Herstelldatum",22,0,1,0); ftextout(":",22,33,1,0); ftextout("KW / Jahr",22,55,1,0); ftextout("/",22,41,1,1); INPAapiResultText(text_var,"ID_DATUM_KW",1,""); ftextout(text_var,22,35,1,1); INPAapiResultText(text_var,"ID_DATUM_JAHR",1,""); ftextout(text_var,22,45,1,1); } } // **************************** // *** Identscreen BMW Fast *** // **************************** SCREEN s_ident() { string text_var; int ganz_zahl; string job_status="???"; // für Job_Statuskontrolle bool fehlerflag; // Fehlerflag int errorcode; // EDIABAS Fehlernummer string errorcode_text; // EDIABAS Fehlernummer string error_text; // EDIABAS Fehlertext ftextout("Identifikation",1,0,1,0); ftextout("",3,0,0,1); LINE("Identifikation","") { INPAapiJob(sgbd,"IDENT","",""); INPAapiCheckJobStatus("OKAY"); ftextout("BMW Teilenummer",1,0,0,0); ftextout(":",1,43,0,0); INPAapiResultText(text_var,"ID_BMW_NR",1,""); ftextout(text_var,1,45,0,1); ftextout("Codier-Index",3,0,0,0); ftextout(":",3,43,0,0); INPAapiResultText(text_var,"ID_COD_INDEX",1,""); ftextout(text_var,3,45,0,1); ftextout("Varianten-Index",5,0,0,0); ftextout(":",5,43,0,0); INPAapiResultText(text_var,"ID_VAR_INDEX",1,""); ftextout(text_var,5,45,0,1); ftextout("Diagnose-Index",7,0,0,0); ftextout(":",7,43,0,0); INPAapiResultText(text_var,"ID_DIAG_INDEX",1,""); ftextout(text_var,7,45,0,1); ftextout("Hardwarenummer",9,0,0,0); ftextout(":",9,43,0,0); INPAapiResultText(text_var,"ID_HW_NR",1,""); ftextout(text_var,9,45,0,1); ftextout("Softwarenummer Funktionssoftware",11,0,0,0); ftextout(":",11,43,0,0); INPAapiResultText(text_var,"ID_SW_NR_FSV",1,""); ftextout(text_var,11,45,0,1); ftextout("Softwarenummer Betriebssystem",13,0,0,0); ftextout(":",13,43,0,0); INPAapiResultText(text_var,"ID_SW_NR_OSV",1,""); ftextout(text_var,13,45,0,1); ftextout("Softwarenummer Nachrichtenkatalog",15,0,0,0); ftextout(":",15,43,0,0); INPAapiResultText(text_var,"ID_SW_NR_MCV",1,""); ftextout(text_var,15,45,0,1); ftextout("Softwarenummer (Reserve) Zur Zeit nicht benutzt",17,0,0,0); ftextout(":",17,43,0,0); INPAapiResultText(text_var,"ID_SW_NR_RES",1,""); ftextout(text_var,17,45,0,1); ftextout("Herstelldatum",19,0,0,0); ftextout(":",19,43,0,0); INPAapiResultText(text_var,"ID_DATUM",1,""); ftextout(text_var,19,45,0,1); ftextout("Lieferant",21,0,0,0); ftextout(":",21,43,0,0); INPAapiResultText(text_var,"ID_LIEF_TEXT",1,""); ftextout(text_var,21,45,0,1); } // *** AIF, Anwender-Information // *** auf 2. Seite von IDENT LINE("Anwender-Information","") { INPAapiJob(sgbd,"AIF_LESEN","",""); INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,""); INP1apiErrorCode(errorcode); ftextout("",10,0,0,0); if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden { ftextout("Kein Anwenderinfofeld (AIF_LESEN) vorhanden" ,3,0,0,0); } else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY")) { ftextout("Fehler beim Lesen von Job: AIF_LESEN",1,0,0,0); if (errorcode != 0) { inttostring(errorcode, errorcode_text); INP1apiErrorText(error_text); error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text; } else { error_text= "Job-Status-Fehlermeldung: "+job_status; } ftextout(error_text ,2,0,0,0); ftextout("" ,3,0,0,0); INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben } 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("km-Stand",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); } 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); } } } LINE("CFG Lesen","") { INPAapiJob(sgbd,"C_FG_LESEN","",""); INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,""); INP1apiErrorCode(errorcode); ftextout("Codierdaten",0,0,0,1); ftextout("",10,0,0,0);// um auf einer neuen Seite darzustellen if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden { ftextout("Kein Fahrgestellnummer lesen (CFG_LESEN) vorhanden " ,3,0,0,0); } else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY")) { ftextout("Fehler beim Lesen von Job: C_FG_LESEN",1,0,0,0); if (errorcode != 0) { inttostring(errorcode, errorcode_text); INP1apiErrorText(error_text); error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text; } else { error_text= "Job-Status-Fehlermeldung: "+job_status; } ftextout(error_text ,2,0,0,0); ftextout("" ,3,0,0,0); INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben } else { ftextout("Fahrgestell Nr.",3,0,0,0); ftextout(":",3,43,0,0); INPAapiResultText(text_var,"FG_NR",1,""); ftextout(text_var,3,45,0,1); } INPAapiJob(sgbd,"C_AEI_LESEN","",""); INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,""); INP1apiErrorCode(errorcode); if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden { ftextout("Kein Codierdatenänderungsindex (C_AEI_LESEN) vorhanden" ,3,0,0,0); } else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY")) { INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben } else { ftextout("Codierdatenänderungsindex",6,0,0,0); ftextout(":",6,43,0,0); INPAapiResultText(text_var,"COD_AE_INDEX",1,""); ftextout(text_var,6,45,0,1); } } } // **************************************************************************** // *** Identinformationen werden über SVK_LESEN ermittelt *** // *** SVK: SteuergeräeVerbauKennung Soft- und Hardware für UDS (ISO 14229) *** // **************************************************************************** SCREEN s_svk_lesen() { string text_var; string text_var2; int ganz_zahl; string job_status="???"; // für Job_Statuskontrolle bool fehlerflag; // Fehlerflag int sets; // Anzahl sets int errorcode; // EDIABAS Fehlernummer string errorcode_text; // EDIABAS Fehlernummer string error_text; // EDIABAS Fehlertext als Text bool eingabeWeiter; int input_state; // Eingabestatus int input_ok=1; // Eingabe mit Nein beendet int i; int offset; int einheiten_anz; int pos; real realval; real realval2; long longval; long rest_long; long multiplik_long; ftextout("Steuergeräteverbaukennung Soft- und Hardware",1,0,1,0); ftextout("",2,0,0,1); LINE("Hersteller Information","") {//HERSTELLINFO_LESEN ist kein Pflichtjob! (Stand: 03.2006) INPAapiJob(sgbd,"HERSTELLINFO_LESEN","",""); INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,""); INP1apiErrorCode(errorcode); if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden { ftextout("Keine Herstellerinformationen vorhanden" ,1,0,0,0); ftextout("" ,2,0,0,0); } else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY")) { ftextout("Fehler beim Lesen von Job: HERSTELLINFO_LESEN",1,0,0,0); if (errorcode != 0) { inttostring(errorcode, errorcode_text); INP1apiErrorText(error_text); error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text; } else { error_text= "Job-Status-Fehlermeldung: "+job_status; } ftextout(error_text ,2,0,0,0); ftextout("" ,3,0,0,0); INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben } else { ftextout("Herstelldatum",1,0,0,0); ftextout(":",1,41,0,0); INPAapiResultText(text_var,"ID_DATUM",1,""); ftextout(text_var,1,45,0,1); ftextout("Lieferant",2,0,0,0); ftextout(":",2,41,0,0); INPAapiResultText(text_var,"ID_LIEF_TEXT",1,""); ftextout(text_var,2,45,0,1); ftextout("--------------------------------------------------------------------------------------------------------------------------------",3,0,0,0); ftextout("",4,0,0,0); } } LINE("Ident","") { INPAapiJob(sgbd,"IDENT","",""); INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,""); INP1apiErrorCode(errorcode); /* if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden { ftextout("Kein Ident vorhanden" ,1,0,0,0); ftextout("" ,2,0,0,0); } else */if (((fehlerflag == FALSE) /*&& (errorcode != 98)*/) || (job_status != "OKAY")) { ftextout("Fehler beim Lesen von Job: IDENT",1,0,0,0); if (errorcode != 0) { inttostring(errorcode, errorcode_text); INP1apiErrorText(error_text); error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text; } else { error_text= "Job-Status-Fehlermeldung: "+job_status; } ftextout(error_text ,2,0,0,0); ftextout("" ,3,0,0,0); INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben } else { ftextout("Steuergeräte-Adresse",1,0,0,0); ftextout(":",1,41,0,0); INPAapiResultInt(ganz_zahl,"ID_SG_ADR",1); inttohexstring(ganz_zahl,4,text_var); //Führende Nullen ausblenden if (ganz_zahl <= 255) midstr(text_var,text_var,2,2); ftextout("0x"+text_var,1,45,0,1); ftextout("SGBD-Index",2,0,0,0); ftextout(":",2,41,0,0); INPAapiResultBinary("_RESPONSE",1); GetBinaryDataString (text_var,i); midstr(text_var,text_var,6,11); ftextout("0x"+text_var,2,45,0,1); ftextout("--------------------------------------------------------------------------------------------------------------------------------",3,0,0,0); ftextout("",4,0,0,0); } } LINE("SVK","") { INPAapiJob(sgbd,"SVK_LESEN","",""); //INPAapiCheckJobStatus("OKAY"); //nicht anwendbar, da es mehrere Sets gibt und JOB_STATUS im letzten steht. Daher Fehlerausgabe manuell umsetzen sets=0; INP1apiResultSets(fehlerflag,sets); if ((fehlerflag == FALSE) || (sets <= 1)) { ftextout("Fehler beim Lesen von Job: SVK_LESEN",1,0,0,0); INP1apiErrorCode(errorcode); if (errorcode != 0) { inttostring(errorcode, errorcode_text); INP1apiErrorText(error_text); error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text; ftextout(error_text ,2,0,0,0); INPAapiResultSets(sets);//um Fehler auszugeben. Bsp.: IFH-0009: NO RESPONSE FROM CONTROLUNIT } else {//Nur möglich, da bei diesem Fehler der letzte Satz=1! INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",sets,""); error_text= "Job-Status-Fehlermeldung: "+job_status; ftextout(error_text,2,0,0,0); INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben. Bsp.: JOB_STATUS= ERROR_ECU_INCORRECT_LEN } ftextout("" ,3,0,0,0); } else { INPAapiResultText(text_var,"PROG_DATUM",sets,""); ftextout("Programm-Datum",0,0,0,0); ftextout(":",0,41,0,0); ftextout(text_var,0,45,0,1); INPAapiResultText(text_var,"PROG_KM",sets,""); if (text_var == "-1") text_var= "- - -"; ftextout("Programm-km",1,0,0,0); ftextout(":",1,41,0,0); ftextout(text_var,1,45,0,1); INPAapiResultText(text_var,"ANZAHL_EINHEITEN",sets,""); INPAapiResultInt(einheiten_anz,"ANZAHL_EINHEITEN",sets); ftextout("Anzahl Prozeßklassen",2,0,0,0); ftextout(":",2,41,0,0); ftextout(text_var,2,45,0,1); ftextout("Prozeßklasse",5,2,0,1); ftextout("SGBM Identifier ",5,43,0,1); ftextout("Version",5,62,0,1); i=1; offset=0; while(i<=einheiten_anz) { inttostring(i,text_var2); INPAapiResultText(text_var,"PROZESSKLASSE_TEXT",i,""); ftextout(text_var2+") "+text_var,6+offset,0,0,0); //SGBM Identifier ftextout(":",6+offset,41,0,0); INPAapiResultText(text_var,"SGBM_IDENTIFIER",i,""); ftextout(text_var,6+offset,45,0,1); //Version INPAapiResultText(text_var,"VERSION",i,""); ftextout(text_var,6+offset,62,0,1); i=i+1;//um nächsten Set zu laden offset=offset+1; } } } } // ************************** // *** Speicherscreen *** // ************************** SCREEN s_speicher() { ftextout("Speicher lesen",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { if (speicher_lesen_lar_flag==TRUE) ftextout("< F1 > LAR lesen" , 4,5,0,1); if (speicher_lesen_flash_flag==TRUE) ftextout("< F2 > FLASH lesen" , 6,5,0,1); if (speicher_lesen_uifm_flag==TRUE) ftextout("< F3 > UIFM lesen" , 8,5,0,1); if (speicher_lesen_romi_flag==TRUE) ftextout("< F4 > ROMI lesen" ,10,5,0,1); if (speicher_lesen_ramis_flag==TRUE) ftextout("< F5 > RAMIS lesen" ,12,5,0,1); if (speicher_lesen_ramil_flag==TRUE) ftextout("< F6 > RAMIL lesen" ,14,5,0,1); if (speicher_lesen_nvram_flag==TRUE) ftextout("< F7 > NVRAM lesen" ,16,5,0,1); if (speicher_lesen_romx_flag==TRUE) ftextout(" + < F4 > ROMX lesen" ,10,45,0,1); if (speicher_lesen_ramxx_flag==TRUE) ftextout(" + < F5 > RAMXX lesen" ,12,45,0,1); ftextout("< F9 > Bildschirmdruck" ,20,5,0,1); ftextout("< F10> Zurück" ,22,5,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** Speicherscreen *** // *** Ausgabe *** // ************************** SCREEN s_speicher_ausgabe() { string text_var; string job_state; ftextout(speicher_lesen_text,1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"SPEICHER_LESEN",speicher_lesen_seg_adr_anz,""); INPAapiResultText(job_state,"JOB_STATUS",1,""); LINE("","") { ftextout("Startadresse",1,0,0,0); ftextout(":",1,18,0,1); ftextout(speicher_lesen_adresse,1,20,0,1); ftextout("Anzahl",3,0,0,0); ftextout(":",3,18,0,1); inttostring(speicher_lesen_anzahl,text_var); ftextout(text_var,3,20,0,1); ftextout("Daten",5,0,0,0); ftextout(":",5,18,0,1); if(job_state != "OKAY") ftextout(job_state,5,20,0,1); else { INPAapiResultBinary("DATEN",1); hexdump(speicher_lesen_adresse,speicher_lesen_anzahl,5,20); } } } // ************************** // *** Fehlerscreen *** // ************************** SCREEN s_fehler() { ftextout("Fehlerspeicher",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { if (fs_lesen_flag == TRUE) { ftextout("< F1 > Fehlerspeicher lesen" , 4,5,0,1); ftextout("< F2 > Fehlerspeicher löschen" , 6,5,0,1); ftextout("< F9 > Fehlerspeicher drucken" ,20,5,0,1); if (fs_lesen_save_as_flag == TRUE) ftextout(" + < F9 > Fehlerspeicher speichern" ,20,45,0,1); } if (is_lesen_flag == TRUE) { ftextout("< F3 > Infospeicher lesen" , 8,5,0,1); if (is_loeschen_flag == TRUE) ftextout("< F4 > Infospeicher löschen" ,10,5,0,1); ftextout("< F8 > Infospeicher drucken" ,18,5,0,1); if (is_lesen_save_as_flag == TRUE) ftextout(" + < F8 > Infospeicher speichern" ,18,45,0,1); } if (hs_lesen_flag == TRUE) { ftextout("< F5 > Historienspeicher lesen" ,12,5,0,1); if (hs_loeschen_flag == TRUE) ftextout("< F6 > Historienspeicher löschen" ,14,5,0,1); ftextout("< F7 > Historienspeicher drucken" ,16,5,0,1); if (hs_lesen_save_as_flag == TRUE) ftextout(" + < F7 > Historienspeicher speichern",16,45,0,1); } ftextout("< F10> Zurück" ,22,5,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // -- EOF -- // end of :#include "BMW_STD.SRC" // **************************************************** // *** Funktionen *** // **************************************************** //**************************************************************** // Speicher Funktion wird NUR für DKG EA-504 Fehleranalyse verwendet //**************************************************************** speichern () { bool aufruf_io; string name,fahrzeug,date,time,file,text_var1,f_uw_text,f_uw_einh,f_uw_wert,einh_var,text_zahl,blank,blank1,blank2,text_var2,text1,text2; int i,j,sets,fehlercode,anzahl_uw,uw_bedingungen,zahl,platz,slaenge; input2text(name,fahrzeug,"Filetitel","Geben Sie die Daten"+ " zur Identifikation des Files ein!","Ihr Name","IEX/PPP Nr."); //Keine Werkerausgabe, wenn z.B. keine SGBD vorhanden ist. INPAapiJob("D_CAS","STATUS_FAHRGESTELLNUMMER","","FGNUMMER"); INP1apiResultText(aufruf_io,text_var,"FGNUMMER",1,""); if(aufruf_io == FALSE)//Fahrgestellnummer kann nicht aus CAS gelesen werden. { file="C:\\DKG.txt"; } else { file="C:\\"+text_var+".txt";//Dateiname ist Fahrgestellnummer } inputtext(file,"Filename","Gegen Sie das Verzeichnis mit Dateinamen ein! z.B. c:\\Temp\\DKG436_Daten.txt"); getinputstate(input_state); if(input_state==input_ok) { fileopen(file,"w"); filewrite("=============================================================================================="); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DKG436 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); getdate(date); gettime(time); filewrite("Datum/Zeit : "+date+" "+time); filewrite("Dateiname : "+file); filewrite("Bearbeiter : "+name); filewrite("Kommentar : "+fahrzeug); INPAapiJob(sgbd,"INFO","",""); INPAapiResultText(text_var,"REVISION",1,""); filewrite("Geladene SGBD-Version : "+text_var); //filewrite("Benötigte SGBD-Version : "+sgbd_version); filewrite("INPA-Version : "+version); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DKG IDENTIFIKATION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"IDENT","",""); INPAapiResultText(text_var,"ID_BMW_NR",1,""); filewrite("BMW Teilenummer : "+text_var); INPAapiResultText(text_var,"ID_HW_NR",1,""); filewrite("BMW Hardwarenummer : "+text_var); INPAapiResultInt(int_zahl,"ID_COD_INDEX",1); inttostring(int_zahl,text_var); filewrite("Codier-Index : "+text_var); INPAapiResultInt(int_zahl,"ID_DIAG_INDEX",1); inttostring(int_zahl,text_var); filewrite("Diagnose-Index : "+text_var); INPAapiResultInt(int_zahl,"ID_VAR_INDEX",1); inttostring(int_zahl,text_var); filewrite("Varianten-Index : "+text_var); INPAapiResultText(text_var,"ID_DATUM",1,""); filewrite("Herstelldatum : "+text_var); INPAapiResultText(text_var,"ID_LIEF_TEXT",1,""); filewrite("Lieferant : "+text_var); INPAapiResultText(text_var,"ID_SW_NR_MCV",1,""); filewrite("Nachrichtenkatalognummer MCV : "+text_var); INPAapiResultText(text_var,"ID_SW_NR_FSV",1,""); filewrite("Funktionssoftwarenummer FSV : "+text_var); INPAapiResultText(text_var,"ID_SW_NR_OSV",1,""); filewrite("Betriebssystemnummer OSV : "+text_var); INPAapiJob(sgbd,"AIF_LESEN","",""); INPAapiResultText(text_var,"AIF_DATUM",1,""); filewrite("AIF Datum : "+text_var); INPAapiJob(sgbd,"SERIENNUMMER_LESEN","",""); INPAapiResultText(text_var,"SERIENNUMMER",1,""); filewrite("SG Serienummer : " +text_var); INPAapiJob(sgbd,"STATUS_COMPILER_BOOTLOADER","",""); INPAapiResultText(text_var,"STAT_DATUM",1,""); filewrite("Temic Bootloader Datum : " +text_var); INPAapiJob(sgbd,"STATUS_COMPILER_APPLIKATION","",""); INPAapiResultText(text_var,"STAT_DATUM",1,""); filewrite("Temic Compiler-Programm Datum : "+text_var); INPAapiJob(sgbd,"STATUS_COMPILER_DAF","",""); INPAapiResultText(text_var,"STAT_DATUM",1,""); filewrite("Temic Compiler-Daten Datum : "+text_var); INPAapiJob(sgbd,"ZIF_LESEN","",""); INPAapiResultText(text_var,"ZIF_PROGRAMM_REFERENZ",1,""); filewrite("Programm Referenz(ZIF) : "+text_var); INPAapiResultText(text_var,"ZIF_SG_KENNUNG",1,""); filewrite("ZIF Hardwarelieferant(ZZZ) : "+text_var); INPAapiResultText(text_var,"ZIF_PROJEKT",1,""); filewrite("HW-Relevanz des PST(PPPx) : "+text_var); INPAapiResultText(text_var,"ZIF_PROGRAMM_STAND",1,""); filewrite("Programmstand : "+text_var); INPAapiJob(sgbd,"HARDWARE_REFERENZ_LESEN","",""); INPAapiResultText(text_var,"HARDWARE_REFERENZ",1,""); filewrite("Hardware Referenz : " +text_var); INPAapiResultText(text_var,"HW_REF_SG_KENNUNG",1,""); filewrite("HW Referenz SG Kennung : " +text_var); INPAapiResultText(text_var,"HW_REF_PROJEKT",1,""); filewrite("HW Referenz Projekt : " +text_var); INPAapiJob(sgbd,"DATEN_REFERENZ_LESEN","",""); INPAapiResultText(text_var,"DATEN_REFERENZ",1,""); filewrite("Daten Referen : " +text_var); INPAapiResultText(text_var,"DATEN_REF_SG_KENNUNG",1,""); filewrite("DAT Referenz SG Kennung : " +text_var); INPAapiResultText(text_var,"DATEN_REF_PROJEKT",1,""); filewrite("DAT Referenz Projekt : "+text_var); INPAapiResultText(text_var,"DATEN_REF_PROGRAMM_STAND",1,""); filewrite("DAT Referenz Programmstand : " +text_var); INPAapiResultText(text_var,"DATEN_REF_DATENSATZ",1,""); filewrite("DAT Referenz Datensatz : " +text_var); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ALLGEMEINE DATEN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiResultAnalog(real_zahl,"STAT_KILOMETERSTAND_WERT",1); realtostring(real_zahl,"6.0",text_var); filewrite("Kilometerstand: " +text_var+ " km"); filewrite(""); filewrite(""); i=1; j=3; filewrite("================================================================================================"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Fehler <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); if(sets==1) { filewrite(" >>>>>>>>>>> keine Fehler gefunden <<<<<<<<<<< "); } else { userboxopen(0,10,10,3,50,"SPEICHERN",""); userboxftextout(0,"Fehler werden gespeichert! Bitte warten....",1,0,0,0); INPAapiJob(sgbd,"FS_LESEN","",""); INPAapiResultInt(int_zahl,"SAETZE",0); int_zahl=int_zahl-1; sets=int_zahl; inttostring(int_zahl,text_var); filewrite ("Es sind " + text_var + " Fehler im Fehlerspeicher gespeichert:"); filewrite (""); INPAapiResultInt(int_zahl,"F_ORT_NR",sets); //abfagen der Scheinfehler if( int_zahl == 0x0001 || int_zahl == 0xFFFF ) sets = sets -1; INPAapiResultInt(int_zahl,"F_ORT_NR",sets); if( int_zahl == 0x0001 || int_zahl == 0xFFFF ) sets = sets -1; while(i <= sets) { inttostring(i,text_var); filewrite("Fehler Nr." +text_var); INPAapiJob(sgbd,"FS_LESEN","",""); INPAapiResultInt(fehlercode,"F_ORT_NR",i); inttostring(fehlercode,text_var); INPAapiJob(sgbd,"fs_lesen_detail",text_var,""); INPAapiResultText(text_var,"F_ORT_TEXT",1,""); filewrite ("Fehlerort Text : " + text_var); INPAapiResultInt(int_zahl,"F_ORT_NR",1); inttohexstring(int_zahl,4,text_var1); inttostring(int_zahl,text_var); filewrite("Fehlercode : 0x" + text_var1 ); INPAapiResultText(text_var,"F_SYMPTOM_TEXT",1,""); filewrite ("Fehlerart : " + text_var); INPAapiResultInt(anzahl_uw,"F_HFK",1); inttostring(anzahl_uw,text_var); filewrite ("Fehlerhäufigkeit : " + text_var); INPAapiResultInt(int_zahl,"F_LZ",1); inttostring(int_zahl,text_var); filewrite ("Fehlerlogistikzähler : " + text_var); INPAapiResultText(text_var,"F_WARNUNG_TEXT",1,""); filewrite ("CARB Fehler : " + text_var); INPAapiResultText(text_var,"F_VORHANDEN_TEXT",1,""); filewrite ("Fehler Status : " + text_var); INPAapiResultText(text_var,"F_READY_TEXT",1,""); filewrite ("Testbedingung : " + text_var); if(anzahl_uw >=1) { filewrite(""); filewrite ("Umweltbedingungen Satz 1 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",1); INPAapiResultAnalog(real_zahl,"F_UW_KM",1); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(einh_var,f_uw_einh,1,""); if(einh_var == "0-n") { INPAapiResultText(text_zahl,f_uw_wert,1,""); } else { INPAapiResultAnalog(real_zahl,f_uw_wert,1); } INPAapiResultText(text_var,f_uw_text,1,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } if(einh_var != "0-n") { realtostring(real_zahl,"6.2",text_zahl); } strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } } if(anzahl_uw>=2) { filewrite(""); filewrite ("Umweltbedingungen Satz 2 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",2); INPAapiResultAnalog(real_zahl,"F_UW_KM",2); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,2,""); INPAapiResultAnalog(real_zahl,f_uw_wert,2); INPAapiResultText(einh_var,f_uw_einh,2,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if if(anzahl_uw >=3) { filewrite(""); filewrite ("Umweltbedingungen Satz 3 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",3); INPAapiResultAnalog(real_zahl,"F_UW_KM",3); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,3,""); INPAapiResultAnalog(real_zahl,f_uw_wert,3); INPAapiResultText(einh_var,f_uw_einh,3,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } } filewrite("------------------------------------------------------------------------------------------------"); i=i+1; } } } userboxclose(0); i=1; j=3; filewrite("================================================================================================"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Infospeicher <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); if(sets==1) { filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> keine Fehler gefunden <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); } else { userboxopen(0,10,10,3,50,"SPEICHERN",""); userboxftextout(0,"Fehler werden gespeichert! Bitte warten....",1,0,0,0); INPAapiJob(sgbd,"IS_LESEN","",""); INPAapiResultInt(int_zahl,"SAETZE",0); int_zahl=int_zahl-1; sets=int_zahl; inttostring(int_zahl,text_var); filewrite ("Es sind " + text_var + " Fehler im Infospeicher gespeichert:"); filewrite (""); while(i <= sets) { inttostring(i,text_var); filewrite("Fehler Nr." +text_var); INPAapiJob(sgbd,"IS_LESEN","",""); INPAapiResultInt(fehlercode,"F_ORT_NR",i); inttostring(fehlercode,text_var); INPAapiJob(sgbd,"is_lesen_detail",text_var,""); INPAapiResultText(text_var,"F_ORT_TEXT",1,""); filewrite ("Fehlerort Text : " + text_var); INPAapiResultInt(int_zahl,"F_ORT_NR",1); inttohexstring(int_zahl,4,text_var1); inttostring(int_zahl,text_var); filewrite("Fehlercode : 0x" + text_var1 ); INPAapiResultText(text_var,"F_SYMPTOM_TEXT",1,""); filewrite ("Fehlerart : " + text_var); INPAapiResultInt(anzahl_uw,"F_HFK",1); inttostring(anzahl_uw,text_var); filewrite ("Fehlerhäufigkeit : " + text_var); INPAapiResultInt(int_zahl,"F_LZ",1); inttostring(int_zahl,text_var); filewrite ("Fehlerlogistikzähler : " + text_var); INPAapiResultText(text_var,"F_WARNUNG_TEXT",1,""); filewrite ("CARB Fehler : " + text_var); INPAapiResultText(text_var,"F_VORHANDEN_TEXT",1,""); filewrite ("Fehler Status : " + text_var); INPAapiResultText(text_var,"F_READY_TEXT",1,""); filewrite ("Testbedingung : " + text_var); if(anzahl_uw >=1) { filewrite(""); filewrite ("Umweltbedingungen Satz 1 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",1); INPAapiResultAnalog(real_zahl,"F_UW_KM",1); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,1,""); INPAapiResultAnalog(real_zahl,f_uw_wert,1); INPAapiResultText(einh_var,f_uw_einh,1,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if if(anzahl_uw>=2) { filewrite(""); filewrite ("Umweltbedingungen Satz 2 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",2); INPAapiResultAnalog(real_zahl,"F_UW_KM",2); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,2,""); INPAapiResultAnalog(real_zahl,f_uw_wert,2); INPAapiResultText(einh_var,f_uw_einh,2,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if if(anzahl_uw >=3) { filewrite(""); filewrite ("Umweltbedingungen Satz 3 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",3); INPAapiResultAnalog(real_zahl,"F_UW_KM",3); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,3,""); INPAapiResultAnalog(real_zahl,f_uw_wert,3); INPAapiResultText(einh_var,f_uw_einh,3,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if filewrite("------------------------------------------------------------------------------------------------"); i=i+1; } } userboxclose(0); i=1; j=3; filewrite("================================================================================================"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Historien Fehler <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); if(sets==1) { filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> keine Fehler gefunden <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); } else { userboxopen(0,10,10,3,50,"SPEICHERN",""); userboxftextout(0,"Fehler werden gespeichert! Bitte warten....",1,0,0,0); INPAapiJob(sgbd,"HS_LESEN","",""); INPAapiResultInt(int_zahl,"SAETZE",0); int_zahl=int_zahl-1; sets=int_zahl; inttostring(int_zahl,text_var); filewrite ("Es sind " + text_var + " Fehler im Historienspeicher gespeichert:"); filewrite (""); while(i <= sets) { inttostring(i,text_var); filewrite("Fehler Nr." +text_var); INPAapiJob(sgbd,"HS_LESEN","",""); INPAapiResultInt(fehlercode,"F_ORT_NR",i); inttostring(fehlercode,text_var); INPAapiJob(sgbd,"hs_lesen_detail",text_var,""); INPAapiResultText(text_var,"F_ORT_TEXT",1,""); filewrite ("Fehlerort Text : " + text_var); INPAapiResultInt(int_zahl,"F_ORT_NR",1); inttohexstring(int_zahl,4,text_var1); inttostring(int_zahl,text_var); filewrite("Fehlercode : 0x" + text_var1 ); INPAapiResultText(text_var,"F_SYMPTOM_TEXT",1,""); filewrite ("Fehlerart : " + text_var); INPAapiResultInt(anzahl_uw,"F_HFK",1); inttostring(anzahl_uw,text_var); filewrite ("Fehlerhäufigkeit : " + text_var); INPAapiResultInt(int_zahl,"F_LZ",1); inttostring(int_zahl,text_var); filewrite ("Fehlerlogistikzähler : " + text_var); INPAapiResultText(text_var,"F_WARNUNG_TEXT",1,""); filewrite ("CARB Fehler : " + text_var); INPAapiResultText(text_var,"F_VORHANDEN_TEXT",1,""); filewrite ("Fehler Status : " + text_var); INPAapiResultText(text_var,"F_READY_TEXT",1,""); filewrite ("Testbedingung : " + text_var); if(anzahl_uw >=1) { filewrite(""); filewrite ("Umweltbedingungen Satz 1 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",1); INPAapiResultAnalog(real_zahl,"F_UW_KM",1); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,1,""); INPAapiResultAnalog(real_zahl,f_uw_wert,1); INPAapiResultText(einh_var,f_uw_einh,1,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if if(anzahl_uw>=2) { filewrite(""); filewrite ("Umweltbedingungen Satz 2 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",2); INPAapiResultAnalog(real_zahl,"F_UW_KM",2); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,2,""); INPAapiResultAnalog(real_zahl,f_uw_wert,2); INPAapiResultText(einh_var,f_uw_einh,2,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if if(anzahl_uw >=3) { filewrite(""); filewrite ("Umweltbedingungen Satz 3 :"); INPAapiResultInt(uw_bedingungen,"F_UW_ANZ",3); INPAapiResultAnalog(real_zahl,"F_UW_KM",3); realtostring(real_zahl,"8.0",text_var); filewrite(""); filewrite ("Kilometerstand : " + text_var + " km"); filewrite(""); zahl=1; while (zahl <= uw_bedingungen) { inttostring(zahl,text_var); strcat(f_uw_text,"F_UW",text_var); strcat(f_uw_text,f_uw_text,"_TEXT"); inttostring(zahl,text_var); strcat(f_uw_wert,"F_UW",text_var); strcat(f_uw_wert,f_uw_wert,"_WERT"); inttostring(zahl,text_var); strcat(f_uw_einh,"F_UW",text_var); strcat(f_uw_einh,f_uw_einh,"_EINH"); INPAapiResultText(text_var,f_uw_text,3,""); INPAapiResultAnalog(real_zahl,f_uw_wert,3); INPAapiResultText(einh_var,f_uw_einh,3,""); strlen(slaenge,text_var); platz=1; blank1=" "; while(platz<=75-slaenge) { blank1=blank1+" "; platz=platz+1; } realtostring(real_zahl,"6.2",text_zahl); strlen(slaenge,text_zahl); platz=1; blank2=" "; while(platz<=10-slaenge) { blank2=blank2+" "; platz=platz+1; } filewrite (text_var+blank1+text_zahl+blank2+einh_var); zahl=zahl+1; } // end while } // end if filewrite("------------------------------------------------------------------------------------------------"); i=i+1; } } userboxclose(0); filewrite("================================================================================================"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Statistikdaten <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiResultText(text_var,"STAT_FAHRZEUGTYP_TEXT",1,""); filewrite("Fahrzeugtyp : "+ text_var); INPAapiResultAnalog(real_zahl,"ANZ_LOESCHUNGEN_WERT",1); realtostring(real_zahl,"6.0",text_var); filewrite("Anzahl der Löschungen : "+ text_var); INPAapiResultAnalog(real_zahl,"KM_STAND_LETZTER_LOESCHUNG_WERT",1); realtostring(real_zahl,"6.0",text_var); filewrite("Kilometerstand der letzten Löschung : " +text_var+" km"); INPAapiResultAnalog(real_zahl,"ANZ_RENNSTARTS_WERT",1); realtostring(real_zahl,"6.0",text_var); filewrite("Anzahl der Rennstarts : "+ text_var); filewrite(""); filewrite("Anzahl der ausgeführten Schaltungen Anzahl richtig prädizierten Schaltungen Anzahl falsch prädizierten Schaltungen"); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_1_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_1_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_1_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 1 : " +text_var+ " Gang 1 : " +text_var1+ " Gang 1 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_2_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_2_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_2_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 2 : " +text_var+ " Gang 2 : " +text_var1+ " Gang 2 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_3_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_3_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_3_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 3 : " +text_var+ " Gang 3 : " +text_var1+ " Gang 3 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_4_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_4_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_4_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 4 : " +text_var+ " Gang 4 : " +text_var1+ " Gang 4 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_5_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_5_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_5_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 5 : " +text_var+ " Gang 5 : " +text_var1+ " Gang 5 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_6_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_6_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_6_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 6 : " +text_var+ " Gang 6 : " +text_var1+ " Gang 6 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_7_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_7_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_7_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang 7 : " +text_var+ " Gang 7 : " +text_var1+ " Gang 7 : " +text_var2 ); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_N_WERT",1); realtostring(real_zahl,"10.0",text_var); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_N_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var1); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_N_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var2); filewrite("Gang N : " +text_var+ " Gang N : " +text_var1+ " Gang N : " +text_var2 ); filewrite(""); filewrite("Aufenthaltsdauer im jeweiligen Ölsumpf-Temperaturbereich"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_KLEINER_MINUS_30_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich <-30 °C :" +text_var + " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_MINUS_30_BIS_MINUS_20_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich -30 bis -20 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_MINUS_20_BIS_MINUS_10_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich -20 bis -10 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_MINUS_10_BIS_0_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich -10 bis 0 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_0_BIS_10_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 0 bis 10 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_10_BIS_20_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 10 bis 20 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_20_BIS_30_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 20 bis 30 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_30_BIS_40_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 30 bis 40 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_40_BIS_50_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 40 bis 50 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_50_BIS_60_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 50 bis 60 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_60_BIS_70_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 60 bis 70 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_70_BIS_80_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 70 bis 80 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_80_BIS_90_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 80 bis 90 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_90_BIS_100_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 90 bis 100 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_100_BIS_110_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 100 bis 110 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_110_BIS_120_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 110 bis 120 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_120_BIS_130_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 120 bis 130 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_130_BIS_140_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 130 bis 140 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_140_BIS_150_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 140 bis 150 °C :" +text_var+ " min"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_150_BIS_160_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); filewrite("Temperaturbereich 150 bis 160 °C :" +text_var+ " min"); filewrite(""); filewrite("Statistiken zur E-Schaltungen"); INPAapiResultInt(int_zahl,"ANZ_FAHRSTUFE_ANFORDERN_OHNE_BREMSE",1); inttostring(int_zahl,text_var); filewrite("Fahrstufe anfordern ohne Bremse : "+text_var); INPAapiResultInt(int_zahl,"ANZ_R_GANG_ANFORDERN_UEBER_V_SCHWELLE",1); inttostring(int_zahl,text_var); filewrite("R-Gang anfordern bei v > 5km/h : "+text_var); INPAapiResultInt(int_zahl,"ANZ_AUTO_P_FAHRZEUGVERLASSEN",1); inttostring(int_zahl,text_var); filewrite("Auto-P bei Fahrzeugverlassen : "+text_var); INPAapiResultInt(int_zahl,"ANZ_P_ANFORDERN_V_UEBER_SCHWELLE",1); inttostring(int_zahl,text_var); filewrite("P anfordern bei v > 3,5km/h : "+text_var); filewrite(""); filewrite("Statistik für K1/K2"); INPAapiResultInt(int_zahl,"STAT_KUPPLUNGSTEMPERATUR_K1_MAX_WERT",1); inttostring(int_zahl,text_var); filewrite("Max. Temperatur Kupplungstemperatur K1 : " +text_var+ "°C"); INPAapiResultAnalog(real_zahl,"ANZ_K1_MAX_TEMPERATUR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); filewrite("Aufenthaltsdauer max. Temperatur K1 : "+text_var+" min"); INPAapiResultInt(int_zahl,"STAT_KUPPLUNGSTEMPERATUR_K2_MAX_WERT",1); inttostring(int_zahl,text_var); filewrite("Max. Temperatur Kupplungstemperatur K2 : "+text_var+"°C"); INPAapiResultAnalog(real_zahl,"ANZ_K2_MAX_TEMPERATUR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); filewrite("Aufenthaltsdauer max. Temperatur K2 : "+text_var+" min"); INPAapiJob(sgbd,"STATISTIKDATENSATZ_2_LESEN","",""); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN",1); inttostring(int_zahl,text_var); filewrite("Anzahl durchgeführter Schleifpunktadaptionen K1 (Erfolgszähler) : "+text_var ); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN",1); inttostring(int_zahl,text_var); filewrite("Anzahl durchgeführter Schleifpunktadaptionen K2 (Erfolgszähler) : "+text_var ); INPAapiResultInt(int_zahl,"KILOMETERSTAND_LETZTER_K1_ADAPTION_WERT",1); inttostring(int_zahl,text_var); filewrite("Kilmeterstand der letzten erfolgreichen Adaption K1 : "+text_var+ " km"); INPAapiResultInt(int_zahl,"KILOMETERSTAND_LETZTER_K2_ADAPTION_WERT",1); inttostring(int_zahl,text_var); filewrite("Kilmeterstand der letzten erfolgreichen Adaption K2 : "+text_var+ " km"); INPAapiResultAnalog(real_zahl,"KISSPOINT_K1_MIN_WERT",1); realtostring(real_zahl,"2.2",text_var); filewrite("Min. adaptierter Schleifpunkt : "+text_var+" bar"); INPAapiResultAnalog(real_zahl,"KISSPOINT_K2_MIN_WERT",1); realtostring(real_zahl,"2.2",text_var); filewrite("Min. adaptierter Kisspoint K2 : "+text_var+" bar"); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K1_MIN_WERT",1); inttostring(int_zahl,text_var); filewrite("Kilometerstand der letzen Min. Adaption K1 : " +text_var+ " km"); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K2_MIN_WERT",1); inttostring(int_zahl,text_var); filewrite("Kilometerstand der letzen Min. Adaption K2 : " +text_var+ " km"); INPAapiResultAnalog(real_zahl,"KISSPOINT_K1_MAX_WERT",1); realtostring(real_zahl,"2.2",text_var); filewrite("Max. adaptierter Kisspoint K1 : " +text_var+ " bar"); INPAapiResultAnalog(real_zahl,"KISSPOINT_K2_MAX_WERT",1); realtostring(real_zahl,"2.2",text_var); filewrite("Max. adaptierter Kisspoint K2 : " +text_var+ " bar"); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K1_MAX_WERT",1); inttostring(int_zahl,text_var); filewrite("Kilometerstand der letzen Max. Adaption K1 : "+text_var+" km"); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K2_MAX_WERT",1); inttostring(int_zahl,text_var); filewrite("Kilometerstand der letzen Max. Adaption K2 : "+text_var+" km"); filewrite(""); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("Kupplungsadaptionskennlinie K1 Max 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 Min 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 Max 300Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 Min 300Nm : "+text_var); filewrite(""); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 Max 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 Min 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 Max 300Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 Min 300Nm : "+text_var); filewrite(""); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_300_BEI_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 akt.Wert 300Nm bei Max 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_300_BEI_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 akt.Wert 300Nm bei Min 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_50_BEI_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 akt.Wert 50Nm bei Max 300Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_50_BEI_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK1 akt.Wert 50Nm bei Min 300Nm : "+text_var); filewrite(""); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_300_BEI_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 akt.Wert 300Nm bei Max 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_300_BEI_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 akt.Wert 300Nm bei Min 50Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_50_BEI_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("KupplungsadaptionskennlinieK2 akt.Wert 50Nm bei Max 300Nm : "+text_var); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_50_BEI_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); filewrite("Kupplungsadaptionskennlinie K2 akt.Wert 50Nm bei Min 300Nm : "+text_var); filewrite(""); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_50NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K1 50Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_75NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K1 75Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_125NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K1 125Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_200NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K1 200Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_300NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K1 300Nm : "+text_var); filewrite(""); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_50NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K2 50Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_75NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K2 75Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_125NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K2 125Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_200NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K2 200Nm : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_300NM",1); inttostring(int_zahl,text_var); filewrite("Adaptionszähler K2 300Nm : "+text_var); filewrite(""); filewrite("Anzahl der durchgeführten Adaptionen für PV6"); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_0_PV6_ADAPTIONEN",1); inttostring(int_zahl,text_var); filewrite("Zähler für Stützstelle 0 : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_1_PV6_ADAPTIONEN",1); inttostring(int_zahl,text_var); filewrite("Zähler für Stützstelle 1 : "+text_var); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_2_PV6_ADAPTIONEN",1); inttostring(int_zahl,text_var); filewrite("Zähler für Stützstelle 2 : "+text_var); filewrite(""); filewrite("Aufenthaltsdauer der einzelnen Fahrmodi"); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiResultInt(int_zahl,"STAT_ABSPRITZSSENSORTEMPERATUR_MAX_WERT",1); inttostring(int_zahl,text_var); filewrite("Max. Temperatur Abspritzsensor : "+text_var+"°C"); INPAapiResultAnalog(real_zahl,"ANZ_MAX_TEMPERATUR_ABSPRITZSENSOR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); filewrite("Aufenthaltsdauer max. Temp. Abspritzsensor : "+text_var+" min"); filewrite(""); INPAapiResultInt(int_zahl,"STAT_FAHRZEUGTYP_WERT",1); if ( int_zahl == 0) { INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_3_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik Normal : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_4_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik Sportlich : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_5_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("S-Programm : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_6_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("S-Programm Sport : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_1_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell Normal : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_2_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell Sportlich : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_7_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("Kurzzeit Manuell Normal : " +text_var+ " Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_8_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); filewrite("Kurzzeit Manuell Sportlich : " +text_var+ " Stunden"); } if ( int_zahl ==1) { filewrite("Manuell 1 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_1_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell 2 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_2_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell 3 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_3_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell 4 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_4_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell 5 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_5_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Manuell 6 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_6_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik 1 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_7_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik 2 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_8_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik 3 : "+text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_9_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik 4 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_10_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik 5 : " +text_var+ "Stunden"); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_11_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"5.2",text_var); filewrite("Automatik 6 : " +text_var+ "Stunden"); } filewrite("==============================================================================================="); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte Kisspoint Kupplung 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTION_KUPPLUNGSSCHLEIFPUNKT_K1","",""); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_1_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Kupplungsschleifpunkt der im EOL : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_2_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Schleifpunkt der in der Werkstatt : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_3_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Schleifpunkt nach 10 Adaptionsschritten : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_4_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Für die Funktion relevante Kupplungsschleifpunkt : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_5_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Kleinster durch Adaption ermittelter Schleifpunkt : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_6_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Größter durch Adaption ermittelter Schleifpunkt : " + text_var+ " bar"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte Kisspoint Kupplung 2 <<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTION_KUPPLUNGSSCHLEIFPUNKT_K2","",""); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_1_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Kupplungsschleifpunkt der im EOL : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_2_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Schleifpunkt der in der Werkstatt : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_3_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Schleifpunkt nach 10 Adaptionsschritten : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_4_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Für die Funktion relevante Kupplungsschleifpunkt : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_5_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Kleinster durch Adaption ermittelter Schleifpunkt : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_6_WERT",1); realtostring(real_zahl,"3.3",text_var); filewrite("Größter durch Adaption ermittelter Schleifpunkt : " + text_var+ " bar"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte Kupplungsmomentenkennlinie Kupplung 1 <<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTION_MOMENTENKENNLINIE_K1","",""); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 1 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 2 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 3 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 4 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 5 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 6 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 7 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 8 : " + text_var); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte Kupplungsmomentenkennlinie Kupplung 2 <<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTION_MOMENTENKENNLINIE_K2","",""); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 1 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 2 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 3 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 4 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 5 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 6 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 7 : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Momentenkennlinie Faktor 8 : " + text_var); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ventilkennlinie PV1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_VENTILKENNLINIE_PV1","",""); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 1 : " + text_var+ " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 2 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 3 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 4 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 5 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 6 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 7 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 8 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_9_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 9 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_10_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 10 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_11_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 11 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_12_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 12 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_13_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 13 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_14_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 14 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_15_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 15 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_16_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 16 : " + text_var + " bar"); filewrite(""); INPAapiResultBinary("_TEL_ANTWORT",1); GetBinaryDataString(text_var,j); j=j-14; midstr(text_var1,text_var,12,j); strlen(j,text_var1); i=0; while (i <= j) { text_var2=""; text1="0x"; text_var=""; midstr(text_var2,text_var1,i,2); strcat(text_var,text1,text_var2); stringtoint(text_var,int_zahl); inttostring(int_zahl,text_var); text_var2=";"; text1="0x"; strcat(text1,text_var,text_var2); strcat(text2,text2,text1); text_var=""; text_var2=""; i=i+2; } strlen(j,text2); midstr(text_var,text2,0,j-2); filewrite("Dez. Werte : " +text_var); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ventilkennlinie PV2 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_VENTILKENNLINIE_PV2","",""); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 1 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 2 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 3 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 4 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 5 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 6 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 7 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 8 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_9_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 9 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_10_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 10 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_11_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 11 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_12_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 12 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_13_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 13 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_14_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 14 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_15_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 15 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_16_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 16 : " + text_var + " bar"); filewrite(""); filewrite(""); INPAapiResultBinary("_TEL_ANTWORT",1); GetBinaryDataString(text_var,j); j=j-14; midstr(text_var1,text_var,12,j); strlen(j,text_var1); i=0; text1=""; text2=""; while (i <= j) { text_var2=""; text1="0x"; text_var=""; midstr(text_var2,text_var1,i,2); //filewrite("Text_var " +text_var2); strcat(text_var,text1,text_var2); //filewrite(text_var); stringtoint(text_var,int_zahl); inttostring(int_zahl,text_var); //filewrite(text_var); text_var2=";"; text1="0x"; strcat(text1,text_var,text_var2); strcat(text2,text2,text1); text_var=""; text_var2=""; i=i+2; } strlen(j,text2); midstr(text_var,text2,0,j-2); filewrite("Dez. Werte : " +text_var); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ventilkennlinie PV6 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_VENTILKENNLINIE_PV6","",""); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 1 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 2 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 3 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 4 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.3",text_var);; filewrite("Ventilkennlinie Faktor 5 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 6 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 7 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 8 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_9_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 9 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_10_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 10 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_11_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 11 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_12_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 12 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_13_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 13 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_14_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 14 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_15_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 15 : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_16_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Ventilkennlinie Faktor 16 : " + text_var + " bar"); filewrite(""); filewrite(""); INPAapiResultBinary("_TEL_ANTWORT",1); GetBinaryDataString(text_var,j); j=j-14; midstr(text_var1,text_var,12,j); strlen(j,text_var1); i=0; text1=""; text2=""; while (i <= j) { text_var2=""; text1="0x"; text_var=""; midstr(text_var2,text_var1,i,2); strcat(text_var,text1,text_var2); stringtoint(text_var,int_zahl); inttostring(int_zahl,text_var); text_var2=";"; text1="0x"; strcat(text1,text_var,text_var2); strcat(text2,text2,text1); text_var=""; text_var2=""; i=i+2; } strlen(j,text2); midstr(text_var,text2,0,j-2); filewrite("Dez. Werte : " +text_var); filewrite(""); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte PV6 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_PV6","",""); INPAapiResultAnalog(real_zahl,"STAT_ADAPTIONSWERT_PV6_STUETZSTELLE_0_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Adaptionswerte für Ventilkennlinie PV6 ( Stützstelle 0) : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_ADAPTIONSWERT_PV6_STUETZSTELLE_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Adaptionswerte für Ventilkennlinie PV6 ( Stützstelle 1) : " + text_var + " bar"); INPAapiResultAnalog(real_zahl,"STAT_ADAPTIONSWERT_PV6_STUETZSTELLE_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Adaptionswerte für Ventilkennlinie PV6 ( Stützstelle 2) : " + text_var + " bar"); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sperrventil PV7 >><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_SPERRSTELLUNG_PV7","",""); INPAapiResultInt(int_zahl,"STAT_PV7_SPERRVENTIL_WERT",1); inttostring(int_zahl,text_var); filewrite("Sperrventil : " + text_var ); filewrite(""); INPAapiResultBinary("_TEL_ANTWORT",1); GetBinaryDataString(text_var,j); j=j-14; midstr(text_var1,text_var,12,j); strlen(j,text_var1); i=0; text1=""; text2=""; while (i <= j) { text_var2=""; text1="0x"; text_var=""; midstr(text_var2,text_var1,i,2); strcat(text_var,text1,text_var2); stringtoint(text_var,int_zahl); inttostring(int_zahl,text_var); text_var2=";"; text1="0x"; strcat(text1,text_var,text_var2); strcat(text2,text2,text1); text_var=""; text_var2=""; i=i+2; } strlen(j,text2); midstr(text_var,text2,0,j-2); filewrite("Dez. Werte : " +text_var); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adaptionswerte Getriebe Einlernen <<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_GETRIEBE_TEACHEN","",""); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_0_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Faktor der Amplitude tin_amp_[0] : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Faktor der Amplitude tin_amp_[1] : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Faktor der Amplitude tin_amp_[2] : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Faktor der Amplitude tin_amp_[3] : " + text_var); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P0_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Verschiebung der Kennlinie tin_p_[0] : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Verschiebung der Kennlinie tin_p_[1] : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Verschiebung der Kennlinie tin_p_[2] : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Verschiebung der Kennlinie tin_p_[3] : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_1_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 1. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_2_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 2. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 3. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 4. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_5_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 5. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_6_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 6. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert 7. Gang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_R_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert Rückwärtsgang : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_1_3_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert Schaltstange 1/3 : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_2_R_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert Schaltstange 2/R : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_5_7_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert Schaltstange 5/7 : " + text_var + " mm"); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_6_4_WERT",1); realtostring(real_zahl,"2.3",text_var); filewrite("Nachadaptionswert Schaltstange 6/4 : " + text_var + " mm"); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Allgemeine Adaptionswerte <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_GETRIEBECODE","",""); filewrite("Adaption Getriebecode"); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_1_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 1 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_2_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 2 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_3_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 3 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_4_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 4 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_5_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 5 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_6_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 6 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_7_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 7 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_8_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 8 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_9_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 9 : "+text_var); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_10_WERT",1); inttostring(int_zahl,text_var); filewrite("Wert 10 : "+text_var); INPAapiResultBinary("_TEL_ANTWORT",1); GetBinaryDataString(text_var,j); j=j-14; midstr(text_var1,text_var,12,j); strlen(j,text_var1); i=0; text1=""; text2=""; while (i <= j) { text_var2=""; text1="0x"; text_var=""; midstr(text_var2,text_var1,i,2); strcat(text_var,text1,text_var2); stringtoint(text_var,int_zahl); inttostring(int_zahl,text_var); text_var2=";"; text1="0x"; strcat(text1,text_var,text_var2); strcat(text2,text2,text1); text_var=""; text_var2=""; i=i+2; } strlen(j,text2); midstr(text_var,text2,0,j-2); filewrite("Dez. Werte : " +text_var); filewrite(""); filewrite(""); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_RADSATZVARIANTE","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_RADSATZVARIANTE_WERT",1); inttostring(int_zahl,text_var); filewrite("Adaptionswert Radsatzvariante : "+text_var); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_HYDRAULIKPUMPE","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_HYDRAULIKPUMPE_WERT",1); inttostring(int_zahl,text_var); filewrite("Adaptionswert Hydraulikpumpe : "+text_var); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_TEMPERATURSENSOR","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_TEMPERATURSENSOR_WERT",1); inttostring(int_zahl,text_var); filewrite("Adaptionswert Temperatursensor Abspritzöl : "+text_var); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_TEMPERATURSENSOR_WIDERSTAND","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_TEMPERATURSENSOR_WIDERSTAND_WERT",1); inttostring(int_zahl,text_var); filewrite("Adaptionswert Abspritzöl Pull-Up Widerstand : "+text_var+ " Ohm"); INPAapiResultBinary("_TEL_ANTWORT",1); GetBinaryDataString(text_var,j); j=j-14; midstr(text_var1,text_var,12,j); strlen(j,text_var1); i=0; text1=""; text2=""; while (i <= j) { text_var2=""; text1="0x"; text_var=""; midstr(text_var2,text_var1,i,2); strcat(text_var,text1,text_var2); stringtoint(text_var,int_zahl); inttostring(int_zahl,text_var); text_var2=";"; text1="0x"; strcat(text1,text_var,text_var2); strcat(text2,text2,text1); text_var=""; text_var2=""; i=i+2; } strlen(j,text2); midstr(text_var,text2,0,j-2); filewrite("Dez. Werte : " +text_var); filewrite(""); filewrite(""); //-------------------------------------------------------------------------------------------------------- // Debugging Information Speichern //-------------------------------------------------------------------------------------------------------- filewrite("============================================================================================="); filewrite(""); filewrite(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Debugging Information<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); filewrite(""); INPAapiJob(sgbd,"DEBUGGING_INFORMATION","",""); INPAapiResultBinary("DATEN_HEX",1); GetBinaryDataString(text_var1,j); strlen(slaenge,text_var1); if (slaenge>=70) { midstr(text_var,text_var1,0,70); filewrite(text_var); } else { midstr(text_var,text_var1,0,slaenge); filewrite(text_var); } if (slaenge>140) { midstr(text_var,text_var1,70,70); filewrite(text_var); } if ((slaenge>70) && (slaenge <=140)) { midstr(text_var,text_var1,70,slaenge-70); filewrite(text_var); } if (slaenge>210) { midstr(text_var,text_var1,210,70); filewrite(text_var); } if ((slaenge>140) && (slaenge <=210)) { midstr(text_var,text_var1,70,slaenge-70); filewrite(text_var); } if (slaenge>280) { midstr(text_var,text_var1,280,70); filewrite(text_var); } if ((slaenge>210) && (slaenge <=280)) { midstr(text_var,text_var1,70,slaenge-70); filewrite(text_var); } //filewrite(text_var); filewrite(""); } // **************************************************** // *** Initialisierungsfunktion *** // **************************************************** ScriptInit() { settitle(titel+" Version "+version); } // **************************************************** // *** M e n ü a u f b a u *** // **************************************************** // ************************** // *** Statusmenü *** // ************************** MENU m_status() { INIT { setmenutitle("Status lesen"); } ITEM( 1 ,"Analog") { setscreen( s_status_analog ,TRUE); setmenu(m_status_analog); } ITEM( 2 ,"Digital") { setscreen( s_status_digital ,TRUE); } ITEM( 3 ,"Sonstige") { setscreen( s_status_sonstige ,TRUE); setmenu(m_status_sonstige); } ITEM( 4 ,"Adationswerte") { setscreen( s_status_adaptionen ,TRUE); setmenu(m_status_adaptionen); } ITEM( 5 ,"Kennlinien") { setscreen( s_status_kennlinie ,TRUE); } ITEM( 6 ,"Statistik") { setscreen( s_status_statistik ,TRUE); setmenu(m_status_statistik); } ITEM( 7 ,"") { setscreen( s_status ,TRUE); } ITEM( 8 ,"Auswahl") { start(); select(TRUE); } ITEM( 11,"Speichern") { speichern(); setscreen(s_status,TRUE); setmenu(m_status); } ITEM(18 ,"Gesamt") { start(); deselect(); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Status Analog Menü *** // ************************** MENU m_status_analog() { INIT { setmenutitle("Status lesen"); } ITEM( 1 ,"Analog 1") { setscreen( s_status_analog1 ,TRUE); } ITEM( 2 ,"Analog 2") { setscreen( s_status_analog2 ,TRUE); } ITEM( 3 ,"Analog 3") { setscreen( s_status_analog3 ,TRUE); } ITEM( 4 ,"Analog 4") { setscreen( s_status_analog4 ,TRUE); } ITEM(18 ,"Gesamt") { start(); deselect(); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Status Sonstige Menü *** // ************************** MENU m_status_sonstige() { INIT { setmenutitle("Status lesen"); } ITEM( 1 ,"Sonstige 1") { setscreen( s_status_sonstige1 ,TRUE); } ITEM( 2 ,"Sonstige 2") { setscreen( s_status_sonstige2 ,TRUE); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Status Adapionen Menü *** // ************************** MENU m_status_adaptionen() { INIT { setmenutitle("Status lesen"); } ITEM( 1 ,"Adaptionen 1") { setscreen( s_status_adaptionen1 ,TRUE); } ITEM( 2 ,"Adaptionen 2") { setscreen( s_status_adaptionen2 ,TRUE); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Status Statistik Menü *** // ************************** MENU m_status_statistik() { INIT { setmenutitle("Status lesen"); } ITEM( 1 ,"Statistik 1") { setscreen( s_status_statistik1 ,TRUE); } ITEM( 2 ,"Statistik 2") { setscreen( s_status_statistik2 ,TRUE); } ITEM( 3 ,"Statistik 3") { setscreen( s_status_statistik3 ,TRUE); } ITEM( 4 ,"Statistik 4") { setscreen( s_status_statistik4 ,TRUE); } ITEM( 5 ,"Statistik 5") { setscreen( s_status_statistik3 ,TRUE); } ITEM(6,"Löschen") { userboxclose(0); viewclose(); inputdigital(bool_var,"Statistikdaten löschen", "Wollen Sie die Statistikdaten wirklich löschen?"+CRLF+ "Auswahl über Cursortasten", "Ja","Nein"); getinputstate(input_state); if((input_state==input_ok) && (!bool_var)) { userboxopen(0,8,20,3,50,"Statistikdaten löschen",""); userboxftextout(0,"Statistikdaten werden gelöscht!",1,0,0,1); INPAapiJob(sgbd,"STATISTIKDATEN_LOESCHEN","ja",""); delay(3000); userboxclose(0); } } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Steuernmenü *** // ************************** MENU m_steuern() { INIT { setmenutitle("Steuern"); } ITEM( 1 ,"Kupplung") { setscreen(s_steuern_kupplung,TRUE); setmenu(m_steuern_kupplung); } ITEM( 2 , "Getrebe") { setscreen(s_steuern_getriebe,TRUE); setmenu(m_steuern_getriebe); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Steuernmenü Kupplung *** // ************************** MENU m_steuern_kupplung() { INIT { setmenutitle("Steuern"); } ITEM(1,"Werkstatt") { userboxopen(1,10,10,3,50,"TESTPROGRAMM WIRD GESTARTET",""); userboxftextout(1,"Schleifpunkt 1 + 2 einlernen wird gestartet. Bitte warten ....",1,0,0,1); delay(2000); INPAapiJob(sgbd,"STEUERN_TESTPRG_STARTEN","0x30;0x01",""); userboxclose(1); te_id="0x30;"; int_id=0x30; te_job="Kupplungsschleifpunkt 1 + 2 einlernen"; setscreen(s_steuern_abfragen,TRUE); setmenu(m_steuern_abfragen); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Steuernmenü Getriebe *** // ************************** MENU m_steuern_getriebe() { INIT { setmenutitle("Steuern"); } ITEM(1,"Einlernen") { userboxopen(1,10,10,3,50,"GETRIEBE EINLERNEN",""); userboxftextout(1,"Getriebe einlernen wird gestartet. Bitte warten ....",1,0,0,1); delay(2000); INPAapiJob(sgbd,"STEUERN_TESTPRG_STARTEN","0x32;",""); userboxclose(1); te_id="0x32;"; int_id=0x32; te_job="Getriebe einlernen"; setscreen(s_steuern_abfragen,TRUE); setmenu(m_steuern_abfragen); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { setscreen( s_main ,TRUE); setmenu( m_main ); } ITEM( 20 ,"Exit") { exit(); } } // ************************** // *** Steuernmenü Abfragen *** // ************************** MENU m_steuern_abfragen() { INIT { setmenutitle("Steuern"); } ITEM( 9 ,"Druck") { printscreen(); } ITEM( 10 ,"Zurück") { if ( int_id == 0x30) { userboxclose(0); userboxclose(1); userboxopen(2,10,10,3,50,"TESTPROGRAMM WIRD BEENDET",""); userboxftextout(2,"Testprogramm wird beendet. Bitte warten ....",1,0,0,1); INPAapiJob(sgbd,"STEUERN_TESTPRG_STOP","0x30",""); delay(2000); userboxclose(2); viewclose(); setscreen(s_steuern_kupplung,TRUE); setmenu(m_steuern_kupplung); } if ( int_id == 0x32) { userboxclose(0); userboxclose(1); userboxopen(2,10,10,3,50,"TESTPROGRAMM WIRD BEENDET",""); userboxftextout(2,"Testprogramm wird beendet. Bitte warten ....",1,0,0,1); INPAapiJob(sgbd,"STEUERN_TESTPRG_STOP","0x32",""); delay(2000); userboxclose(2); viewclose(); setscreen(s_steuern_getriebe,TRUE); setmenu(m_steuern_getriebe); } } } // **************************************************** // *** S c r e e n a u f b a u *** // **************************************************** // ************************** // *** Statusscreen *** // ************************** SCREEN s_status() { ftextout("Status lesen",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("< F1 > Status Analog lesen" , 4,5,0,1); ftextout("< F2 > Status Digital lesen" , 6,5,0,1); ftextout("< F3 > Sonstige" , 8,5,0,1); ftextout("< F4 > Adaptionswerte" ,10,5,0,1); ftextout("< F5 > Kennlinien" ,12,5,0,1); ftextout("< F6 > Statistik" ,14,5,0,1); ftextout("< F8 > Auswahl" ,18,5,0,1); ftextout("< F9 > Bildschirmdruck" ,20,5,0,1); ftextout("< F10> Ende" ,22,5,0,1); ftextout(" + < F1 > Alles Speichern",16,45,0,1); ftextout(" + < F8 > Gesamt" ,18,45,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** StatusAnalogscreen *** // ************************** SCREEN s_status_analog() { ftextout("Status Analog lesen",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("< F1 > Analogwerte 1" , 4,5,0,1); ftextout("( Temperatur, Spannung, Sensorversorgung )",4,25,0,1); ftextout("< F2 > Analogwerte 2" , 6,5,0,1); ftextout("( Geschwindigkeit, Drehzahlen, Fahrpedal )",6,25,0,1); ftextout("< F3 > Analogwerte 3" , 8,5,0,1); ftextout("( Ist-Soll Vergleich Kupplung und PVxq, Systemdruck, OBD, MIL )",8,25,0,1); ftextout("< F4 > Analogwerte 4" ,10,5,0,1); ftextout("( Rohwerte )",10,25,0,1); ftextout(" + < F8 > Gesamt" ,18,45,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** StatusAnalog1screen *** // ************************** SCREEN s_status_analog1() { ftextout("Status Analogwerte 1 lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Motortemperatur [°C]",1,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_MOTORTEMPERATUR_WERT",1); analogout(real_zahl,2,0,-40,150,-40,150,""); ftextout("Motoröltemperatur [°C]",6,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_MOTOROELTEMPERATUR_WERT",1); analogout(real_zahl,7,0,-40,150,-40,150,""); ftextout("Kupplungsöltemperatur [°C]",12,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_KUPPLUNGSOELTEMPERATUR_WERT",1); analogout(real_zahl,13,0,-40,150,-40,150,""); ftextout("SG-Temperatur [°C]",18,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_SG_TEMPERATUR_WERT",1); analogout(real_zahl,19,0,-40,150,-40,150,""); ftextout("Umgebungstemperatur [°C]",24,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_UMGEBUNGSTEMPERATUR_WERT",1); analogout(real_zahl,25,0,-40,150,-40,150,""); ftextout("Batteriespannung [V]",1,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_UBAT_WERT",1); analogout(real_zahl,2,50,0,20,0,20,""); ftextout("Sensorspannungsversorgung 7V4_UH2 [V]",6,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_SPANNUNGSVERSORGUNG_7V4_WERT",1); analogout(real_zahl,7,50,0,12,6.6,8.2,""); ftextout("Versorgung für Drehzahl-, Parksperren-,",9,50,0,0); ftextout("Temperatursensoren und Schaltwippen",10,50,0,0); ftextout("Sensorspannungsversorgung VCC [V]",12,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNGSVERSORGUNG_VCC_WERT",1); analogout(real_zahl,13,50,0,12,4.75,5.25,""); ftextout("Versorgung für Drucksensoren der Kupplung",15,50,0,0); ftextout("Sensorspannungsversorgung SV1 [V]",18,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNGSVERSORGUNG_SV1_WERT",1); analogout(real_zahl,19,50,0,12,4.75,5.25,""); ftextout("Versorgung Positionssensor SST 1_3 und SST 5_7",21,50,0,0); ftextout("Sensorspannungsversorgung SV2 [V]",24,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNGSVERSORGUNG_SV2_WERT",1); analogout(real_zahl,25,50,0,12,4.75,5.25,""); ftextout("Versorgung Positionssensor SST 6_4 und SST 2_R",27,50,0,0); } } // ************************** // *** StatusAnalog2screen *** // ************************** SCREEN s_status_analog2() { ftextout("Status Analogwerte 2 lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Fzg Geschwindigkeit [km/h]",1,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_GESCHWINDIGKEIT_WERT",1); analogout(real_zahl,2,0,0,250,0,250,""); ftextout("Motordrehzahl [1/min]",5,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_MOTORDREHZAHL_WERT",1); analogout(real_zahl,6,0,0,10000,0,7000,""); ftextout("Getriebe Eingangsdrehzahl 1 [1/min]",9,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_EINGANGSDREHZAHL1_WERT",1); analogout(real_zahl,10,0,0,10000,0,10000,""); ftextout("Getriebe Eingangsdrehzahl 2 [1/min]",13,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_EINGANGSDREHZAHL2_WERT",1); analogout(real_zahl,14,0,0,10000,0,10000,""); ftextout("Getriebe Ausgangsdrehzahl [1/min]",17,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_AUSGANGSDREHZAHL_WERT",1); analogout(real_zahl,18,0,0,10000,0,10000,""); ftextout("Fahrpedal [%]",21,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_FAHRPEDAL_WERT",1); analogout(real_zahl,22,0,0,100,0,100,""); ftextout("Geschwindigkeit Hinterachse [km/h]",1,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_GESCHWINDIGKEIT_HINTERACHSE_WERT",1); analogout(real_zahl,2,50,0,250,0,250,""); ftextout("Radgeschwindigkeit VL [km/h]",5,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_RADGESCHWINDIGKEIT_VL_WERT",1); analogout(real_zahl,6,50,0,250,0,250,""); ftextout("Radgeschwindigkeit VR [km/h]",9,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_RADGESCHWINDIGKEIT_VR_WERT",1); analogout(real_zahl,10,50,0,250,0,250,""); ftextout("Radgeschwindigkeit HL [km/h]",13,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_RADGESCHWINDIGKEIT_HL_WERT",1); analogout(real_zahl,14,50,0,250,0,250,""); ftextout("Radgeschwindigkeit HR [km/h]",17,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_RADGESCHWINDIGKEIT_HR_WERT",1); analogout(real_zahl,18,50,0,250,0,250,""); ftextout("Querbeschleunigung von CAN [m/s2]",21,50,0,1); INPAapiResultAnalog(real_zahl,"STAT_AQUER_CAN_WERT",1); analogout(real_zahl,22,50,-51,51,-51,51,""); } } // ************************** // *** StatusAnalog3screen *** // ************************** SCREEN s_status_analog3() { ftextout("Status Analogwerte 3 lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("IST",1,20,1,1); ftextout("SOLL",1,48,1,1); ftextout("Moment : Motor",4,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_MOTORISTMOMENT_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " Nm ",4,20,0,1); ftextout("Moment : Kupplung 1",5,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTMOMENT_KUPPLUNG1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " Nm ",5,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLMOMENT_KUPPLUNG1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " Nm ",5,48,0,1); ftextout("Moment : Kupplung 2",6,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTMOMENT_KUPPLUNG2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " Nm ",6,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLMOMENT_KUPPLUNG2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " Nm ",6,48,0,1); ftextout("Druck : Kupplung 1",8,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTDRUCK_KUPPLUNG1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " bar ",8,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLDRUCK_KUPPLUNG1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " bar ",8,48,0,1); ftextout("Druck : Kupplung 2",9,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTDRUCK_KUPPLUNG2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " bar ",9,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLDRUCK_KUPPLUNG2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " bar ",9,48,0,1); ftextout("Strom : Magnetventil PV1",11,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTSTROM_MAGNETVENTIL_PV1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",11,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLSTROM_MAGNETVENTIL_PV1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",11,48,0,1); ftextout("Strom : Magnetventil PV2",12,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTSTROM_MAGNETVENTIL_PV2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",12,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLSTROM_MAGNETVENTIL_PV2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",12,48,0,1); ftextout("Strom : Magnetventil PV3",13,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTSTROM_MAGNETVENTIL_PV3_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",13,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLSTROM_MAGNETVENTIL_PV3_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " mA ",13,48,0,1); ftextout("Strom : Magnetventil PV4",14,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTSTROM_MAGNETVENTIL_PV4_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",14,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLSTROM_MAGNETVENTIL_PV4_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " mA ",14,48,0,1); ftextout("Strom : Magnetventil PV6",15,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTSTROM_MAGNETVENTIL_PV6_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",15,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLSTROM_MAGNETVENTIL_PV6_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",15,48,0,1); ftextout("Strom : Magnetventil PV7",16,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTSTROM_MAGNETVENTIL_PV7_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",16,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_SOLLSTROM_MAGNETVENTIL_PV7_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var + " A ",16,48,0,1); ftextout("_________________________________________________________________________________________________________________",17,0,1,1); ftextout("Hydraulikdruck",20,0,0,1); ftextout(":",20,20,0,1); INPAapiResultAnalog(real_zahl,"STAT_HYDRAULIKDRUCK_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout( text_var+ " bar ",20,22,0,1); ftextout("Anforderung MIL Getriebe",22,0,0,1); ftextout(":",22,20,0,1); INPAapiResultText(text_var,"STAT_MIL_TEXT",1,""); ftextout(text_var,22,22,0,1); ftextout("OBD-Steuerfunktion Getriebe",24,0,0,1); ftextout(":",24,20,0,1); INPAapiResultText(text_var,"STAT_OBD_STEUERFUNKTION_TEXT",1,""); ftextout(text_var+ " ",24,22,0,0); } } // ************************** // *** StatusAnalog4screen *** // ************************** SCREEN s_status_analog4() { ftextout("Status Analogwerte 4 lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ROHWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("ECU-Temperatur",1,0,0,0); ftextout(":",1,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_SG_TEMPERATUR_WERT",1); realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " °C ",1,26,0,0); ftextout("Versorgungsspannungsensor",3,0,0,0); ftextout(":",3,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_VERSORGUNGSSPANNUNGSSENSOR_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " " ,3,26,0,0); ftextout("Sensorversorgungsspannung 5V VCC",5,0,0,0); ftextout(":",5,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNGSVERSORGUNG_VCC_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " " ,5,26,0,0); ftextout("Sensorversorgungsspannung SV1",7,0,0,0); ftextout(":",7,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNGSVERSORGUNG_SV1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " " ,7,26,0,0); ftextout("Sensorversorgungsspannung SV2",9,0,0,0); ftextout(":",9,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNGSVERSORGUNG_SV2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " " ,9,26,0,0); ftextout("Sensorversorgungsspannung UH7V4",11,0,0,0); ftextout(":",11,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_SPANNUNGSVERSORGUNG_7SV4_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " " ,11,26,0,0); ftextout("Antriebsdrehzahlsensor",13,0,0,0); ftextout(":",13,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_ANTRIEBSDREHZAHLSENSOR_WERT",1); realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " " ,13,26,0,0); ftextout("Getriebeeingangsdrehzahlsensor 1",15,0,0,0); ftextout(":",15,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_EINGANGSDREHZAHLSENSOR_1_WERT",1); realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " " ,15,26,0,0); ftextout("Getriebeeingangsdrehzahlsensor 2",17,0,0,0); ftextout(":",17,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_EINGANGSDREHZAHLSENSOR_2_WERT",1); realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " " ,17,26,0,0); ftextout("Abspritztemperatursensor",19,0,0,0); ftextout(":",19,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_ABSPRITZTEMPERATURSENSOR_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " " ,19,26,0,0); ftextout("Temperatursensor 1",1,45,0,0); ftextout(":",1,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_TEMPERATURSENSOR_1_WERT",1); realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " °C ",1,65,0,0); ftextout("Temperatursensor 2",3,45,0,0); ftextout(":",3,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_TEMPERATURSENSOR_2_WERT",1); realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " °C ",3,65,0,0); ftextout("Drucksensor Kupplung 1",5,45,0,0); ftextout(":",5,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_DRUCKSENSOR_KUPPL_1_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar ",5,65,0,0); ftextout("Drucksensor Kupplung 2",7,45,0,0); ftextout(":",7,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_DRUCKSENSOR_KUPPL_2_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar ",7,65,0,0); ftextout("Wegsensor Schaltstange R/2",9,45,0,0); ftextout(":",9,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_WEGSENSOR_SST_R_2_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " V ",9,65,0,0); ftextout("Wegsensor Schaltstange 1/3",11,45,0,0); ftextout(":",11,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_WEGSENSOR_SST_1_3_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " V ",11,65,0,0); ftextout("Wegsensor Schaltstange 6/4",13,45,0,0); ftextout(":",13,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_WEGSENSOR_SST_6_4_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " V ",13,65,0,0); ftextout("Wegsensor Schaltstange 5/7",15,45,0,0); ftextout(":",15,64,0,0); INPAapiResultAnalog(real_zahl,"STAT_WEGSENSOR_SST_5_7_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " V ",15,65,0,0); ftextout("Parksperrensensor 1",17,45,0,0); ftextout(":",17,64,0,0); INPAapiResultText(text_var,"STAT_PARKSPERRENSENSOR_1_WERT",1,""); ftextout(text_var,17,65,0,0); ftextout("Parksperrensensor 2",19,45,0,0); ftextout(":",19,64,0,0); INPAapiResultText(text_var,"STAT_PARKSPERRENSENSOR_2_WERT",1,""); ftextout(text_var+ " ",19,65,0,0); ftextout("Sensorspannung Lenkradpaddel",21,0,0,0); ftextout(":",21,25,0,0); INPAapiResultAnalog(real_zahl,"STAT_SENSORSPANNUNG_PADDEL_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " V ",21,26,0,0); } } // ************************** // *** StatusDigitalscreen*** // ************************** SCREEN s_status_digital() { ftextout("Status Digital lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Klemme 15",1,0,0,0); INPAapiResultDigital(digital,"STAT_KL15_EIN",1); digitalout(digital,3,2,"EIN ","AUS "); ftextout("Klemme 15 CAN",1,20,0,0); INPAapiResultDigital(digital,"STAT_KL15_CAN_EIN",1); digitalout(digital,3,22,"EIN ","AUS "); ftextout("Fehler Endstufe",1,60,0,0); INPAapiResultDigital(digital,"STAT_ENDSTUFE_FEHLER",1); if(digital == 1) digital1=0; if(digital == 0) digital1=1; digitalout(digital1,3,62,"AKTIV","INAKTIV"); ftextout("Parksperre Sensor 1",10,0,0,0); INPAapiResultDigital(digital,"STAT_PARKSPERRE_SENSOR1_EIN",1); digitalout(digital,12,2,"EIN ","AUS "); ftextout("Parksperre Sensor 2",10,20,0,0); INPAapiResultDigital(digital,"STAT_PARKSPERRE_SENSOR2_EIN",1); digitalout(digital,12,22,"EIN ","AUS "); ftextout("Ansteuerung Parksperre",10,40,0,0); INPAapiResultDigital(digital,"STAT_PARKSPERRE_AKTIV",1); digitalout(digital,12,42,"AKTIVE ","INAKTIV"); ftextout("Bremslichtschalter",20,0,0,0); INPAapiResultDigital(digital,"STAT_BREMSLICHTSCHALTER_EIN",1); digitalout(digital,22,2,"EIN ","AUS "); ftextout("Feststellbremse",20,20,0,0); INPAapiResultDigital(digital,"STAT_FESTSTELLBREMSE_EIN",1); digitalout(digital,22,22,"EIN ","AUS "); ftextout("Sport-Taster",20,40,0,0); INPAapiResultDigital(digital,"STAT_SPORT_TASTER_EIN",1); digitalout(digital,22,42,"EIN ","AUS "); } } // ************************** // *** StatusSonstigescreen *** // ************************** SCREEN s_status_sonstige() { ftextout("Status Sonstige lesen",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("< F1 > Sonstige 1" , 4,5,0,1); ftextout("( Gänge, Anzeige, Teilgetriebe, Fahrprogramm )",4,25,0,1); ftextout("< F2 > Sonstige 2" , 6,5,0,1); ftextout("( Schaltstangen Ist- und Sollposition )",6,25,0,1); ftextout(" + < F8 > Gesamt" ,18,45,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** StatusSonstige1screen*** // ************************** SCREEN s_status_sonstige1() { ftextout("Status Sonstige lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Eingelegter Gang",1,0,0,1); ftextout(":",1,23,0,1); INPAapiResultText(text_var,"STAT_ISTGANG_TEXT",1,""); ftextout(text_var+ " ",1,25,0,1); ftextout("Eingelegter Gang - Teilgetriebe 1",3,0,0,1); ftextout(":",3,23,0,1); INPAapiResultText(text_var,"STAT_ISTGANG_TEILGETRIEBE1_TEXT",1,""); ftextout(text_var+ " ",3,25,0,1); ftextout("Eingelegter Gang - Teilgetriebe 2",5,0,0,1); ftextout(":",5,23,0,1); INPAapiResultText(text_var,"STAT_ISTGANG_TEILGETRIEBE2_TEXT",1,""); ftextout(text_var+ " ",5,25,0,1); ftextout("Getriebeposition",7,0,0,1); ftextout(":",7,23,0,1); INPAapiResultText(text_var,"STAT_GETRIEBEPOSITION_TEXT",1,""); ftextout(text_var+ " ",7,25,0,1); ftextout("Status Kupplung 1",9,0,0,1); ftextout(":",9,23,0,1); INPAapiResultText(text_var,"STAT_KUPPLUNG1_TEXT",1,""); ftextout(text_var+ " ",9,25,0,1); ftextout("Status Kupplung 2",11,0,0,1); ftextout(":",11,23,0,1); INPAapiResultText(text_var,"STAT_KUPPLUNG2_TEXT",1,""); ftextout(text_var+ " ",11,25,0,1); ftextout("Taster Schaltwippe",13,0,0,1); ftextout(":",13,23,0,1); INPAapiResultText(text_var,"STAT_TASTER_LENKRAD_SCHALTWIPPE_TEXT",1,""); ftextout(text_var+ " ",13,25,0,1); ftextout("Fahrprogramm",15,0,0,1); ftextout(":",15,23,0,1); INPAapiResultText(text_var ,"STAT_PROGRAMMINFO_TEXT",1,""); ftextout(text_var+ " ",15,25,0,1); /* ftextout("Schaltindex",17,0,0,1); ftextout(":",17,23,0,1); INPAapiResultText(text_var,"STAT_SCHALTINDEX_TEXT",1,""); ftextout(text_var+ " ",17,25,0,1); */ ftextout("AGS",17,0,0,1); ftextout(":",17,23,0,1); INPAapiResultText(text_var,"STAT_SCHALTDIAGRAMM_AGS_TEXT",1,""); ftextout(text_var + " ",17,25,0,1); ftextout("Ganganzeige im Kombi",19,0,0,1); ftextout(":",19,23,0,1); INPAapiResultText(text_var,"STAT_GANGANZEIGE_TEXT",1,""); ftextout(text_var+ " ",19,25,0,1); ftextout("Wählhebelposition im Kombi",21,0,0,1); ftextout(":",21,23,0,1); INPAapiResultText(text_var,"STAT_WAEHLHEBELANZEIGE_TEXT",1,""); ftextout(text_var+ " ",21,25,0,1); } } // ************************** // *** StatusSonstige2screen*** // ************************** SCREEN s_status_sonstige2() { ftextout("Status Sonstige lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Istposition",1,20,1,1); ftextout("Sollposition",1,55,1,1); ftextout("Schaltstange 6_4",4,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTPOSITION_SCHALTSTANGE_6_4_WERT",1); analogout(real_zahl,4,15,-12,12,-12,12,""); ftextout("mm",5,46,0,0); INPAapiResultText(text_var,"STAT_SOLLPOSITION_SCHALTSTANGE_6_4_TEXT",1,""); ftextout(text_var+" ",4,58,0,0); ftextout("Schaltstange 5_7",8,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTPOSITION_SCHALTSTANGE_5_7_WERT",1); analogout(real_zahl,8,15,-12,12,-12,12,""); ftextout("mm",9,46,0,0); INPAapiResultText(text_var,"STAT_SOLLPOSITION_SCHALTSTANGE_5_7_TEXT",1,""); ftextout(text_var+" ",8,58,0,0); ftextout("Schaltstange 2_R",12,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTPOSITION_SCHALTSTANGE_2_R_WERT",1); analogout(real_zahl,12,15,-12,12,-12,12,""); ftextout("mm",13,46,0,0); INPAapiResultText(text_var,"STAT_SOLLPOSITION_SCHALTSTANGE_2_R_TEXT",1,""); ftextout(text_var+" ",12,58,0,0); ftextout("Schaltstange 1_3",16,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_ISTPOSITION_SCHALTSTANGE_1_3_WERT",1); analogout(real_zahl,16,15,-12,12,-12,12,""); ftextout("mm",17,46,0,0); INPAapiResultText(text_var,"STAT_SOLLPOSITION_SCHALTSTANGE_1_3_TEXT",1,""); ftextout(text_var+" ",16,58,0,0); ftextout("Status Schaltstange 6_4",20,24,0,1); ftextout(":",20,40,0,1); INPAapiResultText(text_var,"STAT_SCHALTSTANGE_6_4_TEXT",1,""); ftextout(text_var+ " ",20,41,0,1); ftextout("Status Schaltstange 5_7",21,24,0,1); ftextout(":",21,40,0,1); INPAapiResultText(text_var,"STAT_SCHALTSTANGE_5_7_TEXT",1,""); ftextout(text_var+ " ",21,41,0,1); ftextout("Status Schaltstange 2_R",22,24,0,1); ftextout(":",22,40,0,1); INPAapiResultText(text_var,"STAT_SCHALTSTANGE_2_R_TEXT",1,""); ftextout(text_var+ " ",22,41,0,1); ftextout("Status Schaltstange 1_3",23,24,0,1); ftextout(":",23,40,0,1); INPAapiResultText(text_var,"STAT_SCHALTSTANGE_1_3_TEXT",1,""); ftextout(text_var+ " ",23,41,0,1); } } // ************************** // *** StatusAdaptionenscreen *** // ************************** SCREEN s_status_adaptionen() { ftextout("Status Adaptionswerte lesen",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("< F1 > Adaptionswerte 1" , 4,5,0,1); ftextout("( Kupplungen )" ,4,25,0,1); ftextout("< F2 > Adaptionswerte 2" , 6,5,0,1); ftextout("( Einlernwerte der Schaltstangen )",6,25,0,1); ftextout(" + < F8 > Gesamt" ,18,45,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** StatusAdaption1screen*** // ************************** SCREEN s_status_adaptionen1() { ftextout("Status Adaptionswerte lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_ADAPTION_KUPPLUNGSSCHLEIFPUNKT_K1","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Adaptionswerte und Momentenkennlinie der Kupplungen",1,0,0,1); ftextout("Kupplung 1",3,35,0,1); ftextout("Kupplung 2",3,65,0,1); ftextout("Schleifpunkt, der im EOL ermittelt wurde",5,0,0,0); ftextout(":",5,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_1_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",5,35,0,0); ftextout("Schleifpunkt, der in der Werstatt ermittelt wurde",6,0,0,0); ftextout(":",6,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_2_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",6,35,0,0); ftextout("Schleifpunkt nach 10 Adaptionsschritten",7,0,0,0); ftextout(":",7,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_3_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",7,35,0,0); ftextout("Aktueller gefahrener Schleifpunkt",8,0,0,0); ftextout(":",8,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_4_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",8,35,0,0); ftextout("Kleinster durch Adaption ermittelter Schleifpunkt",9,0,0,0); ftextout(":",9,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_5_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",9,35,0,0); ftextout("Größter durch Adaption ermittelter Schleifpunkt",10,0,0,0); ftextout(":",10,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_SCHLEIFPUNKT_FAKTOR_6_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",10,35,0,0); INPAapiJob(sgbd,"STATUS_ADAPTION_KUPPLUNGSSCHLEIFPUNKT_K2","",""); INPAapiCheckJobStatus("OKAY"); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_1_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",5,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_2_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",6,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_3_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",7,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_4_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",8,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_5_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",9,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_SCHLEIFPUNKT_FAKTOR_6_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var+ " bar",10,65,0,0); INPAapiJob(sgbd,"STATUS_ADAPTION_MOMENTENKENNLINIE_K1","",""); ftextout("Adaptionswert Momentenkennlinie Faktor 1",13,0,0,0); ftextout(":",13,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,13,35,0,0); ftextout("Adaptionswert Momentenkennlinie Faktor 2",14,0,0,0); ftextout(":",14,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,14,35,0,0); ftextout("Adaptionswert Momentenkennlinie Faktor 3",15,0,0,0); ftextout(":",15,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,15,35,0,0); ftextout("Adaptionswert Momentenkennlinie Faktor 4",16,0,0,0); ftextout(":",16,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,16,35,0,0); ftextout("Adaptionswert Momentenkennlinie Faktor 5",17,0,0,0); ftextout(":",17,34,0,0); INPAapiResultAnalog(real_zahl,"STAT_K1_MOMENTENKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,17,35,0,0); INPAapiJob(sgbd,"STATUS_ADAPTION_MOMENTENKENNLINIE_K2","",""); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,13,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,14,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,15,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,16,65,0,0); INPAapiResultAnalog(real_zahl,"STAT_K2_MOMENTENKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var,17,65,0,0); } } // ************************** // *** StatusAdaption1screen*** // ************************** SCREEN s_status_adaptionen2() { ftextout("Status Adaptionswerte lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_GETRIEBE_TEACHEN","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("Faktor der Amplitude tin_amp_[0]",1,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_0_WERT",1); analogout(real_zahl,2,0,0,8,0,0,""); ftextout("Verschiebung der Kennlinie tin_p_[0] [mm]",1,50,0,0); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P0_WERT",1); analogout(real_zahl,2,48,-4,4,0,0,""); //ftextout("mm",4,80,0,0); ftextout("Faktor der Amplitude tin_amp_[1]",6,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_1_WERT",1); analogout(real_zahl,7,0,0,8,0,0,""); ftextout("Verschiebung der Kennlinie tin_p_[1] [mm]",6,50,0,0); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P1_WERT",1); analogout(real_zahl,7,48,-4,4,0,0,""); //ftextout("mm",9,80,0,0); ftextout("Faktor der Amplitude tin_amp_[2]",11,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_2_WERT",1); analogout(real_zahl,12,0,0,8,0,0,""); ftextout("Verschiebung der Kennlinie tin_p_[2] [mm]",11,50,0,0); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P2_WERT",1); analogout(real_zahl,12,48,-4,4,0,0,""); //ftextout("mm",14,80,0,0); ftextout("Faktor der Amplitude tin_amp_[3]",16,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_FAKTOR_AMPLITUDE_TIN_AMP_3_WERT",1); analogout(real_zahl,17,0,0,8,0,0,""); ftextout("Verschiebung der Kennlinie tin_p_[3] [mm]",16,50,0,0); INPAapiResultAnalog(real_zahl,"STAT_VERSCHIEBUNG_KENNLINIE_TIN_P3_WERT",1); analogout(real_zahl,17,48,-4,4,0,0,""); ftextout("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",19,0,0,0); ftextout("Nachadaption Gang 1 :",20,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_1_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",20,15,0,0); ftextout("Nachadaption Gang 2 :",21,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_2_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",21,15,0,0); ftextout("Nachadaption Gang 3 :",22,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_3_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",22,15,0,0); ftextout("Nachadaption Gang 4 :",23,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_4_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",23,15,0,0); ftextout("Nachadaption Gang 5 :",24,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_5_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",24,15,0,0); ftextout("Nachadaption Gang 6 :",25,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_6_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",25,15,0,0); ftextout("Nachadaption Gang 7 :",26,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_7_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",26,15,0,0); ftextout("Nachadaption Gang R :",27,0,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_GANG_R_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",27,15,0,0); ftextout("Nachadaption Neutral SST 1/3 :",20,48,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_1_3_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",20,68,0,0); ftextout("Nachadaption Neutral SST 2/R :",21,48,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_2_R_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",21,68,0,0); ftextout("Nachadaption Neutral SST 5/7 :",22,48,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_5_7_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",22,68,0,0); ftextout("Nachadaption Neutral SST 6/4 :",23,48,0,0); INPAapiResultAnalog(real_zahl,"STAT_NACHADAPTION_NEUTRAL_SST_6_4_WERT",1); realtostring(real_zahl,"2.4",text_var); ftextout(text_var+ " mm",23,68,0,0); } } // ************************** // *** StatusKennlinienscreen*** // ************************** SCREEN s_status_kennlinie() { ftextout("Status Kennlinien lesen",1,0,1,0); ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATUS_VENTILKENNLINIE_PV1","",""); INPAapiCheckJobStatus("OKAY"); LINE("","") { ftextout("PV 1 Ventilkennlinie ",4,0,0,0); ftextout(":",4,15,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,21,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,28,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,36,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,44,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,52,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,60,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,68,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",4,76,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_9_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,21,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_10_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,28,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_11_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,36,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_12_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,44,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_13_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,52,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_14_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,60,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_15_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,68,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV1_VENTILKENNLINIE_FAKTOR_16_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",6,76,0,0); ftextout("PV 2 Ventilkennlinie",10,0,0,0); ftextout(":",10,15,0,0); INPAapiJob(sgbd,"STATUS_VENTILKENNLINIE_PV2","",""); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,21,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,28,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,36,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,44,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,52,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,60,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,68,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",10,76,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_9_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,21,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_10_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,28,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_11_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,36,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_12_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,44,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_13_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,52,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_14_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,60,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_15_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,68,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV2_VENTILKENNLINIE_FAKTOR_16_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",12,76,0,0); ftextout("PV 6 Ventilkennlinie",16,0,0,0); ftextout(":",16,15,0,0); INPAapiJob(sgbd,"STATUS_VENTILKENNLINIE_PV6","",""); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_1_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,21,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_2_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,28,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_3_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,36,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_4_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,44,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_5_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,52,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_6_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,60,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_7_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,68,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_8_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",16,76,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_9_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,21,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_10_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,28,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_11_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,36,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_12_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,44,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_13_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,52,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_14_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,60,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_15_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,68,0,0); INPAapiResultAnalog(real_zahl,"STAT_PV6_VENTILKENNLINIE_FAKTOR_16_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+" bar",18,76,0,0); ftextout("PV 7 Sperrstellung ",22,0,0,0); ftextout(":",22,15,0,0); INPAapiJob(sgbd,"STATUS_SPERRSTELLUNG_PV7","",""); INPAapiResultAnalog(real_zahl,"STAT_PV7_SPERRVENTIL_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var,22,21,0,0); } } // ************************** // *** StatusStatistikscreen *** // ************************** SCREEN s_status_statistik() { ftextout("Status Statistikdaten lesen",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("< F1 > Statistikwerte 1" , 4,5,0,1); ftextout("( Prädizierten Schaltungen und Fahrprogramm )",4,25,0,1); ftextout("< F2 > Statistikwerte 2" , 6,5,0,1); ftextout("( Temperatur )",6,25,0,1); ftextout("< F3 > Statistikwerte 3" , 8,5,0,1); ftextout("( E-Schaltung )",8,25,0,1); ftextout("< F4 > Statistikwerte 4" ,10,5,0,1); ftextout("( Kupplung K1 + K2 )",10,25,0,1); ftextout("< F5 > Statistikwerte 5" ,12,5,0,1); ftextout("( Allgemeine Adaptionswerte )",12,25,0,1); ftextout("< F6 > Statistikdaten löschen" ,14,5,0,1); ftextout(" + < F8 > Gesamt" ,18,45,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** StatusStatistik1screen*** // ************************** SCREEN s_status_statistik1() { //ftextout("Status Statistikdaten lesen",1,0,1,0); //ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiCheckJobStatus("OKAY"); ftextout("Statistikdaten - Prädizierte Schaltungen und Fahrprogramme",1,0,1,1); INPAapiResultText(text_var,"STAT_FAHRZEUGTYP_TEXT",1,""); ftextout("Fahrzeugtyp :",3,0,0,0); ftextout(text_var,3,10,0,0); INPAapiResultAnalog(real_zahl,"ANZ_LOESCHUNGEN_WERT",1); ftextout("Anzahl der Löschungen :",3,25,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var,3,42,0,0); INPAapiResultAnalog(real_zahl,"KM_STAND_LETZTER_LOESCHUNG_WERT",1); ftextout("Kilometerstand letzter Löschung :",3,50,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var+ "km",3,72,0,0); LINE("","") { ftextout("Anzahl der ausgeführten Schaltungen",3,0,0,4); ftextout("Anzahl richtig prädizierten Schaltungen",3,25,0,4); ftextout("Anzahl falsch prädizierten Schaltungen",3,51,0,4); ftextout("Gang 1 : ",4,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_1_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,4,6,0,0); ftextout("Gang 2 : ",5,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_2_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,5,6,0,0); ftextout("Gang 3 : ",6,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_3_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,6,6,0,0); ftextout("Gang 4 : ",7,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_4_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,7,6,0,0); ftextout("Gang 5 : ",8,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_5_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,8,6,0,0); ftextout("Gang 6 : ",9,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_6_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,9,6,0,0); ftextout("Gang 7 : ",10,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_7_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,10,6,0,0); ftextout("Gang N : ",11,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_N_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,11,6,0,0); ftextout("Gang R : ",12,0,0,0); INPAapiResultAnalog(real_zahl,"ANZ_SCHALTUNG_GANG_R_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,12,6,0,0); ftextout("Gang 1 : ",4,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_1_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,4,31,0,0); ftextout("Gang 2 : ",5,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_2_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,5,31,0,0); ftextout("Gang 3 : ",6,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_3_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,6,31,0,0); ftextout("Gang 4 : ",7,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_4_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,7,31,0,0); ftextout("Gang 5 : ",8,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_5_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,8,31,0,0); ftextout("Gang 6 : ",9,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_6_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,9,31,0,0); ftextout("Gang 7 : ",10,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_7_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,10,31,0,0); ftextout("Gang N : ",11,25,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_N_TRUE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,11,31,0,0); ftextout("Gang 1 : ",4,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_1_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,4,57,0,0); ftextout("Gang 2 : ",5,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_2_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,5,57,0,0); ftextout("Gang 3 : ",6,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_3_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,6,57,0,0); ftextout("Gang 4 : ",7,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_4_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,7,57,0,0); ftextout("Gang 5 : ",8,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_5_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,8,57,0,0); ftextout("Gang 6 : ",9,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_6_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,9,57,0,0); ftextout("Gang 7 : ",10,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_7_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,10,57,0,0); ftextout("Gang N : ",11,51,0,0); INPAapiResultAnalog(real_zahl,"ANZ_PRAED_SCHALTUNG_GANG_N_FALSE_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var,11,57,0,0); INPAapiResultInt(int_zahl,"STAT_FAHRZEUGTYP_WERT",1); if ( int_zahl == 0 || int_zahl > 1) { ftextout("Aufenthaltsdauer in den einzelnen Fahrmodi",15,0,0,4); ftextout("Automatik Normal",16,0,0,0); ftextout(":",16,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_3_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",16,28,0,0); ftextout("Automatik (Sporttaster betätigt)",17,0,0,0); ftextout(":",17,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_4_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",17,28,0,0); ftextout("Sportgasse Normal",18,0,0,0); ftextout(":",18,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_5_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",18,28,0,0); ftextout("Sportgasse (Sporttaster betätigt) ",19,0,0,0); ftextout(":",19,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_6_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",19,28,0,0); ftextout("Manuell Normal",20,0,0,0); ftextout(":",20,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_1_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",20,28,0,0); ftextout("Manuell (Sporttaster betätigt)",21,0,0,0); ftextout(":",21,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_2_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",21,28,0,0); ftextout("Kurzzeitmanuell Normal",22,0,0,0); ftextout(":",22,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_7_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",22,28,0,0); ftextout("Kurzzeitmanuell (Sporttaster betätigt)",23,0,0,0); ftextout(":",23,25,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_8_WERT",1); real_zahl= real_zahl /3600; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " Stunden",23,28,0,0); ftextout("< Shift > + < F9 > Zurück",25,65,0,1); ftextout("< Shift > + < F10 > Ende ",26,65,0,1); } if( int_zahl == 1 ) { ftextout("Aufenthaltsdauer in den einzelnen Fahrmodi",15,0,0,4); ftextout("Manuell 1",16,0,0,0); ftextout(":",16,15,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_1_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",16,19,0,0); ftextout("Manuell 2",17,0,0,0); ftextout(":",17,15,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_2_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",17,19,0,0); ftextout("Manuell 3",18,0,0,0); ftextout(":",18,15,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_3_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",18,19,0,0); ftextout("Manuell 4",19,0,0,0); ftextout(":",19,15,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_4_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",19,19,0,0); ftextout("Manuell 5",20,0,0,0); ftextout(":",20,15,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_5_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",20,19,0,0); ftextout("Manuell 6",21,0,0,0); ftextout(":",21,15,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_6_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",21,19,0,0); ftextout("Automatik 1",16,40,0,0); ftextout(":",9,55,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_7_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",16,59,0,0); ftextout("Automatik 2",17,40,0,0); ftextout(":",17,55,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_8_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",17,59,0,0); ftextout("Automatik 3",18,40,0,0); ftextout(":",18,55,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_9_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",18,59,0,0); ftextout("Automatik 4",19,40,0,0); ftextout(":",19,55,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_10_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",19,59,0,0); ftextout("Automatik 5",20,40,0,0); ftextout(":",20,55,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_FAHRMODUS_11_WERT",1); real_zahl= real_zahl/3600; realtostring(real_zahl,"8.2",text_var); ftextout(text_var+ " Stunden",20,59,0,0); } } } // ************************** // *** StatusStatistik2screen*** // ************************** SCREEN s_status_statistik2() { //ftextout("Status Statistikdaten lesen",1,0,1,0); //ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiCheckJobStatus("OKAY"); ftextout("Statistikdaten - Temperatur",1,0,1,1); INPAapiResultText(text_var,"STAT_FAHRZEUGTYP_TEXT",1,""); ftextout("Fahrzeugtyp :",3,0,0,0); ftextout(text_var,3,10,0,0); INPAapiResultAnalog(real_zahl,"ANZ_LOESCHUNGEN_WERT",1); ftextout("Anzahl der Löschungen :",3,25,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var,3,42,0,0); INPAapiResultAnalog(real_zahl,"KM_STAND_LETZTER_LOESCHUNG_WERT",1); ftextout("Kilometerstand letzter Löschung :",3,50,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var+ "km",3,72,0,0); LINE("","") { ftextout("Aufenthaltsdauer im jeweiligen Ölsumpf-Temperaturbereich",1,0,0,4); ftextout("Temperaturbereich <-30 °C : ",3,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_KLEINER_MINUS_30_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",3,23,0,0); ftextout("Temperaturbereich -30 bis -20 °C : ",4,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_MINUS_30_BIS_MINUS_20_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",4,23,0,0); ftextout("Temperaturbereich -20 bis -10 °C : ",5,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_MINUS_20_BIS_MINUS_10_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",5,23,0,0); ftextout("Temperaturbereich -10 bis 0 °C : ",6,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_MINUS_10_BIS_0_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",6,23,0,0); ftextout("Temperaturbereich 0 bis 10 °C : ",7,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_0_BIS_10_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",7,23,0,0); ftextout("Temperaturbereich 10 bis 20 °C : ",8,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_10_BIS_20_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",8,23,0,0); ftextout("Temperaturbereich 20 bis 30 °C : ",9,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_20_BIS_30_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",9,23,0,0); ftextout("Temperaturbereich 30 bis 40 °C : ",10,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_30_BIS_40_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",10,23,0,0); ftextout("Temperaturbereich 40 bis 50 °C : ",11,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_40_BIS_50_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",11,23,0,0); ftextout("Temperaturbereich 50 bis 60 °C : ",12,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_50_BIS_60_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",12,23,0,0); ftextout("Temperaturbereich 60 bis 70 °C : ",13,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_60_BIS_70_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",13,23,0,0); ftextout("Temperaturbereich 70 bis 80 °C : ",14,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_70_BIS_80_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",14,23,0,0); ftextout("Temperaturbereich 80 bis 90 °C : ",15,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_80_BIS_90_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",15,23,0,0); ftextout("Temperaturbereich 90 bis 100 °C : ",16,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_90_BIS_100_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",16,23,0,0); ftextout("Temperaturbereich 100 bis 110 °C : ",17,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_100_BIS_110_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",17,23,0,0); ftextout("Temperaturbereich 110 bis 120 °C : ",18,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_110_BIS_120_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",18,23,0,0); ftextout("Temperaturbereich 120 bis 130 °C : ",19,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_120_BIS_130_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",19,23,0,0); ftextout("Temperaturbereich 130 bis 140 °C : ",20,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_130_BIS_140_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",20,23,0,0); ftextout("Temperaturbereich 140 bis 150 °C : ",21,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_140_BIS_150_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",21,23,0,0); ftextout("Temperaturbereich 150 bis 160 °C : ",22,0,0,0); INPAapiResultAnalog(real_zahl,"AUFENTHALTSDAUER_OELSUMPF_150_BIS_160_GRAD_WERT",1); realtostring(real_zahl,"10.0",text_var); ftextout(text_var+ " min",22,23,0,0); ftextout("Statistiken zum Abspritzsensor",3,45,0,4); ftextout("Max. Temperatur Abspritzsensor",5,45,0,0); ftextout(":",5,65,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiResultInt(int_zahl,"STAT_ABSPRITZSSENSORTEMPERATUR_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " °C",5,70,0,0); ftextout("Aufenthaltsdauer max. Temp.",6,45,0,0); ftextout(":",6,65,0,0); INPAapiResultAnalog(real_zahl,"ANZ_MAX_TEMPERATUR_ABSPRITZSENSOR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " min",6,70,0,0); ftextout("Statistiken zu den Kupplungen",9,45,0,4); ftextout("Max. Temperatur Kupplung 1",11,45,0,0); ftextout(":",11,65,0,0); INPAapiResultInt(int_zahl,"STAT_KUPPLUNGSTEMPERATUR_K1_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " °C",11,70,0,0); ftextout("Aufenthaltsdauer max. Temp.",12,45,0,0); ftextout(":",12,65,0,0); INPAapiResultAnalog(real_zahl,"ANZ_K1_MAX_TEMPERATUR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " min",12,70,0,0); ftextout("Max. Temperatur Kupplung 2",14,45,0,0); ftextout(":",14,65,0,0); INPAapiResultInt(int_zahl,"STAT_KUPPLUNGSTEMPERATUR_K2_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " °C",14,70,0,0); ftextout("Aufenthaltsdauer max. Temp.",15,45,0,0); ftextout(":",15,65,0,0); INPAapiResultAnalog(real_zahl,"ANZ_K2_MAX_TEMPERATUR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " min",15,70,0,0); } } // ************************** // *** StatusStatistik3screen*** // ************************** SCREEN s_status_statistik3() { //ftextout("Status Statistikdaten lesen",1,0,1,0); //ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiCheckJobStatus("OKAY"); ftextout("Statistikdaten - E-Schaltung",1,0,1,1); INPAapiResultText(text_var,"STAT_FAHRZEUGTYP_TEXT",1,""); ftextout("Fahrzeugtyp :",3,0,0,0); ftextout(text_var,3,10,0,0); INPAapiResultAnalog(real_zahl,"ANZ_LOESCHUNGEN_WERT",1); ftextout("Anzahl der Löschungen :",3,25,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var,3,42,0,0); INPAapiResultAnalog(real_zahl,"KM_STAND_LETZTER_LOESCHUNG_WERT",1); ftextout("Kilometerstand letzter Löschung :",3,50,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var+ "km",3,72,0,0); LINE("","") { ftextout("Fahrstufe anfordern ohne Bremse",3,0,0,0); ftextout(":",3,23,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiResultInt(int_zahl,"ANZ_FAHRSTUFE_ANFORDERN_OHNE_BREMSE",1); inttostring(int_zahl,text_var); ftextout(text_var,3,25,0,0); ftextout("R-Gang anfordern bei v > 10km/h",5,0,0,0); ftextout(":",5,23,0,0); INPAapiResultInt(int_zahl,"ANZ_R_GANG_ANFORDERN_UEBER_V_SCHWELLE",1); inttostring(int_zahl,text_var); ftextout(text_var,5,25,0,0); ftextout("Auto-P bei Fahrzeugverlassen",7,0,0,0); ftextout(":",7,23,0,0); INPAapiResultInt(int_zahl,"ANZ_AUTO_P_FAHRZEUGVERLASSEN",1); inttostring(int_zahl,text_var); ftextout(text_var,7,25,0,0); ftextout("P anfordern bei v > 3,5km/h",9,0,0,0); ftextout(":",9,23,0,0); INPAapiResultInt(int_zahl,"ANZ_P_ANFORDERN_V_UEBER_SCHWELLE",1); inttostring(int_zahl,text_var); ftextout(text_var,9,25,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); ftextout("Anzahl der Rennstarts",11,0,0,0); ftextout(":",11,23,0,0); INPAapiResultAnalog(real_zahl,"ANZ_RENNSTARTS_WERT",1); realtostring(real_zahl,"2.0",text_var); ftextout(text_var,11,25,0,0); } } // ************************** // *** StatusStatistik4screen*** // ************************** SCREEN s_status_statistik4() { //ftextout("Status Statistikdaten lesen",1,0,1,0); //ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiCheckJobStatus("OKAY"); ftextout("Statistikdaten - Kupplung K1 + K2",1,0,1,1); INPAapiResultText(text_var,"STAT_FAHRZEUGTYP_TEXT",1,""); ftextout("Fahrzeugtyp :",3,0,0,0); ftextout(text_var,3,10,0,0); INPAapiResultAnalog(real_zahl,"ANZ_LOESCHUNGEN_WERT",1); ftextout("Anzahl der Löschungen :",3,25,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var,3,42,0,0); INPAapiResultAnalog(real_zahl,"KM_STAND_LETZTER_LOESCHUNG_WERT",1); ftextout("Kilometerstand letzter Löschung :",3,50,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var+ "km",3,72,0,0); LINE("","") { ftextout("Kupplungsstatistik",1,0,0,4); ftextout("Kupplung 1",1,45,0,4); ftextout("Kupplung 2",1,65,0,4); ftextout("Max. Kupplungstemperatur",3,0,0,0); ftextout(":",3,42,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiResultInt(int_zahl,"STAT_KUPPLUNGSTEMPERATUR_K1_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " °C",3,45,0,0); INPAapiResultInt(int_zahl,"STAT_KUPPLUNGSTEMPERATUR_K2_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " °C",3,65,0,0); ftextout("Aufenthaltsdauer max. Temperatur",4,0,0,0); ftextout(":",4,42,0,0); INPAapiResultAnalog(real_zahl,"ANZ_K1_MAX_TEMPERATUR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " min",4,45,0,0); INPAapiResultAnalog(real_zahl,"ANZ_K2_MAX_TEMPERATUR",1); real_zahl=real_zahl/187.5; realtostring(real_zahl,"5.2",text_var); ftextout(text_var+ " min",4,65,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_2_LESEN","",""); ftextout("Anzahl durchgeführter Kupplungsadaptionen (Erfolgszähler)",5,0,0,0); ftextout(":",5,42,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN",1); inttostring(int_zahl,text_var); ftextout(text_var,5,45,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN",1); inttostring(int_zahl,text_var); ftextout(text_var,5,65,0,0); ftextout("Kilometerstand der letzten erfolgreichen Adaption",6,0,0,0); ftextout(":",6,42,0,0); INPAapiResultInt(int_zahl,"KILOMETERSTAND_LETZTER_K1_ADAPTION_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " km",6,45,0,0); INPAapiResultInt(int_zahl,"KILOMETERSTAND_LETZTER_K2_ADAPTION_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " km",6,65,0,0); ftextout("Min. adaptierter Kupplungsschleifpunkt",7,0,0,0); ftextout(":",7,42,0,0); INPAapiResultAnalog(real_zahl,"KISSPOINT_K1_MIN_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " bar",7,45,0,0); INPAapiResultAnalog(real_zahl,"KISSPOINT_K2_MIN_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " bar",7,65,0,0); ftextout("Kilometerstand der letzen Min. Adaption",8,0,0,0); ftextout(":",8,42,0,0); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K1_MIN_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " km",8,45,0,0); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K2_MIN_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " km",8,65,0,0); ftextout("Max. adaptierter Kupplungsschleifpunkt",9,0,0,0); ftextout(":",9,42,0,0); INPAapiResultAnalog(real_zahl,"KISSPOINT_K1_MAX_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " bar",9,45,0,0); INPAapiResultAnalog(real_zahl,"KISSPOINT_K2_MAX_WERT",1); realtostring(real_zahl,"2.2",text_var); ftextout(text_var+ " bar",9,65,0,0); ftextout("Kilometerstand der letzen Max. Adaption",10,0,0,0); ftextout(":",10,42,0,0); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K1_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " km",10,45,0,0); INPAapiResultInt(int_zahl,"KILOMETERSTAND_K2_MAX_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " km",10,65,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_2_LESEN","",""); ftextout("Kupplungsadaptionskennlinie Max 50Nm",12,0,0,0); ftextout(":",12,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,12,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,12,65,0,0); ftextout("Kupplungsadaptionskennlinie Min 50Nm",13,0,0,0); ftextout(":",13,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,13,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,13,65,0,0); ftextout("Kupplungsadaptionskennlinie Max 300Nm",14,0,0,0); ftextout(":",14,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,14,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,14,65,0,0); ftextout("Kupplungsadaptionskennlinie Min 300Nm",15,0,0,0); ftextout(":",15,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,15,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,15,65,0,0); ftextout("Kupplungsadaptionskennlinie akt.Wert 300Nm bei Max 50Nm",17,0,0,0); ftextout(":",17,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_300_BEI_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,17,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_300_BEI_MAX50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,17,65,0,0); ftextout("Kupplungsadaptionskennlinie akt.Wert 300Nm bei Min 50Nm",18,0,0,0); ftextout(":",18,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_300_BEI_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,18,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_300_BEI_MIN50_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,18,65,0,0); ftextout("Kupplungsadaptionskennlinie akt.Wert 50Nm bei Max 300Nm",19,0,0,0); ftextout(":",19,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_50_BEI_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,19,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_50_BEI_MAX300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,19,65,0,0); ftextout("Kupplungsadaptionskennlinie akt.Wert 50Nm bei Min 300Nm",20,0,0,0); ftextout(":",20,42,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K1_50_BEI_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,20,45,0,0); INPAapiResultAnalog(real_zahl,"KUPPLUNGSADAPTIONSKENNLINIE_K2_50_BEI_MIN300_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout(text_var,20,65,0,0); ftextout("Adaptionszähler 50Nm",22,0,0,0); ftextout(":",22,42,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_50NM",1); inttostring(int_zahl,text_var); ftextout(text_var,22,45,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_50NM",1); inttostring(int_zahl,text_var); ftextout(text_var,22,65,0,0); ftextout("Adaptionszähler 70Nm",23,0,0,0); ftextout(":",23,42,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_75NM",1); inttostring(int_zahl,text_var); ftextout(text_var,23,45,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_75NM",1); inttostring(int_zahl,text_var); ftextout(text_var,23,65,0,0); ftextout("Adaptionszähler 125Nm",24,0,0,0); ftextout(":",24,42,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_125NM",1); inttostring(int_zahl,text_var); ftextout(text_var,24,45,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_125NM",1); inttostring(int_zahl,text_var); ftextout(text_var,24,65,0,0); ftextout("Adaptionszähler 200Nm",25,0,0,0); ftextout(":",25,42,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_200NM",1); inttostring(int_zahl,text_var); ftextout(text_var,25,45,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_200NM",1); inttostring(int_zahl,text_var); ftextout(text_var,25,65,0,0); ftextout("Adaptionszähler 300Nm",26,0,0,0); ftextout(":",26,42,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K1_ADAPTIONEN_300NM",1); inttostring(int_zahl,text_var); ftextout(text_var,26,45,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_K2_ADAPTIONEN_300NM",1); inttostring(int_zahl,text_var); ftextout(text_var,26,65,0,0); } } // ************************** // *** StatusStatistik5screen*** // ************************** SCREEN s_status_statistik5() { //ftextout("Status Statistikdaten lesen",1,0,1,0); //ftextout("",3,0,0,0); INPAapiJob(sgbd,"STATISTIKDATENSATZ_1_LESEN","",""); INPAapiCheckJobStatus("OKAY"); ftextout("Statistikdaten - Adaptionen",1,0,1,1); INPAapiResultText(text_var,"STAT_FAHRZEUGTYP_TEXT",1,""); ftextout("Fahrzeugtyp :",3,0,0,0); ftextout(text_var,3,10,0,0); INPAapiResultAnalog(real_zahl,"ANZ_LOESCHUNGEN_WERT",1); ftextout("Anzahl der Löschungen :",3,25,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var,3,42,0,0); INPAapiResultAnalog(real_zahl,"KM_STAND_LETZTER_LOESCHUNG_WERT",1); ftextout("Kilometerstand letzter Löschung :",3,50,0,0); realtostring(real_zahl,"6.0",text_var); ftextout(text_var+ "km",3,72,0,0); LINE("","") { INPAapiJob(sgbd,"STATISTIKDATENSATZ_2_LESEN","",""); ftextout("Anzahl der durchgeführten Adaptionen für PV6",1,0,0,4); ftextout("Zähler für Stützstelle 0",2,0,0,0); ftextout(":",2,20,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_0_PV6_ADAPTIONEN",1); inttostring(int_zahl,text_var); ftextout(text_var,2,22,0,0); ftextout("Zähler für Stützstelle 1",3,0,0,0); ftextout(":",3,20,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_1_PV6_ADAPTIONEN",1); inttostring(int_zahl,text_var); ftextout(text_var,3,22,0,0); ftextout("Zähler für Stützstelle 2",4,0,0,0); ftextout(":",4,20,0,0); INPAapiResultInt(int_zahl,"ANZ_ZAEHLER_2_PV6_ADAPTIONEN",1); inttostring(int_zahl,text_var); ftextout(text_var,4,22,0,0); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_GETRIEBECODE","",""); ftextout("Adaption Getriebecode",6,0,0,4); ftextout("Wert 1 :",7,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_1_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,7,7,0,0); ftextout("Wert 2 :",8,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_2_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,8,7,0,0); ftextout("Wert 3 :",9,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_3_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,9,7,0,0); ftextout("Wert 4 :",10,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_4_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,10,7,0,0); ftextout("Wert 5 :",11,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_5_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,11,7,0,0); ftextout("Wert 6 :",12,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_6_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,12,7,0,0); ftextout("Wert 7 :",13,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_7_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,13,7,0,0); ftextout("Wert 8 :",14,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_8_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,14,7,0,0); ftextout("Wert 9 :",15,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_9_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,15,7,0,0); ftextout("Wert 10 :",16,0,0,0); INPAapiResultInt(int_zahl,"STAT_ADAPTION_GETRIEBECODE_10_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,16,7,0,0); ftextout("Adaptionswert Radsatzvariante",1,40,0,0); ftextout(":",1,70,0,0); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_RADSATZVARIANTE","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_RADSATZVARIANTE_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,1,72,0,0); ftextout("Adaptionswert Hydraulikpumpe",3,40,0,0); ftextout(":",3,70,0,0); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_HYDRAULIKPUMPE","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_HYDRAULIKPUMPE_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,3,72,0,0); ftextout("Adaptionswert Temperatursensor Abspritzöl",5,40,0,0); ftextout(":",5,70,0,0); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_TEMPERATURSENSOR","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_TEMPERATURSENSOR_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var,5,72,0,0); ftextout("Adaptionswert Abspritzöl Pull-Up Wiederstand",7,40,0,0); ftextout(":",7,70,0,0); INPAapiJob(sgbd,"STATUS_ADAPTIONSWERT_TEMPERATURSENSOR_WIDERSTAND","",""); INPAapiResultInt(int_zahl,"STAT_ADAPTION_TEMPERATURSENSOR_WIDERSTAND_WERT",1); inttostring(int_zahl,text_var); ftextout(text_var+ " Ohm ",7,72,0,0); } } // ************************** // *** Steuernscreen *** // ************************** SCREEN s_steuern() { ftextout("Ansteuern",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { //ftextout("< F1 > Beliebigen Gang einlegen",1,0,0,1); //ftextout("< F2 > Spülfunktion starten",3,0,0,1); //ftextout("< F3 > Solldruckvorgabe Kupplung 1",5,0,0,1); //ftextout("< F4 > Solldruckvorgabe Kupplung 2",7,0,0,1); //ftextout("< F5 > Vorgabe des Systemdrucks",9,0,0,1); //ftextout("< F6 > Kupplungskühlung aktivieren",11,0,0,1); ftextout("< F1 > Kupplungsschleifpunkt 1 + 2 einlernen",6,0,0,1); ftextout("< F2 > Getriebe einlernen ( Schaltstangen )",8,0,0,1); //ftextout("< F9 > Adaptionswerte in NVRAM speichern",17,0,0,1); //ftextout("< F10 > Ventilkennlinien einlernen PV1/2",19,0,0,1); //ftextout("< Shift > + < F8 > Adaptionswerte schreiben ( passwortgeschützt )",21,0,0,1); ftextout("Warnung :",12,0,0,1); ftextout("Da die Diagnoseschnittstelle ein Event gesteuertes Modul in der Getriebesoftware darstellt,",13,0,0,0); ftextout("können Test- und Einlernprogramme nur durch den Bediener, in diesem Fall durch den Diagnosetester, ",14,0,0,0); ftextout("ein- und ausgeschaltet bzw. abgefragt werden. Anderenfalls sind Zustände möglich, die nur durch",15,0,0,0); ftextout("das Abschalten der Kl.15 und das anschließende Abwarten des Steuergerätenachlaufs verlassen werden können.",16,0,0,0); ftextout("< F9 > Bildschirmdruck" ,20,5,0,1); ftextout("< F10> Zurück" ,22,5,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** Steuernscreen Kupplung *** // ************************** SCREEN s_steuern_kupplung() { ftextout("Ansteuern",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("Kupplungsschleifpunkt 1 + 2 einlernen",1,0,1,1); ftextout("< F1 > Schleifpunkt in der Werkstatt einlernen",8,0,0,1); ftextout("Testbedingung: ",12,0,0,4); ftextout("Fahrzeug steht, Bremse getreten, Motor läuft, Fahrpedal nicht betätigt,",13,0,0,1); ftextout("Getriebeeingangsdrehzahl (abhängig vom einlernenden Getriebezweig) muss zu Beginn der Testroutine Null sein,",14,0,0,1); ftextout("Optimale Getriebetemperatur 80-90°C",15,0,0,1); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiResultAnalog(real_zahl,"STAT_GESCHWINDIGKEIT_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout("Fzg. Geschwindigkeit : "+text_var+" km ",18,0,0,1); INPAapiResultDigital(digital,"STAT_BREMSLICHTSCHALTER_EIN",1); if ( digital == 0 ) { text_var= "nicht aktiv"; } if (digital == 1 ) { text_var= "aktiv"; } ftextout("Bremse : "+text_var+" ",18,45,0,1); INPAapiResultAnalog(real_zahl,"STAT_MOTORDREHZAHL_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout("Motordrehzahl : "+text_var+" 1/min ",19,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_FAHRPEDAL_WERT",1); realtostring(real_zahl,"3.0",text_var); ftextout("Fahrpedal : "+text_var+" % ",19,45,0,1); INPAapiResultAnalog(real_zahl,"STAT_EINGANGSDREHZAHL1_WERT",1); realtostring(real_zahl,"4.0",text_var); ftextout("Drehzahl Teilgetriebe 1 : "+text_var+" 1/min ",20,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_SG_TEMPERATUR_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout("Getriebetemperatur : "+text_var+" °C ",20,45,0,1); INPAapiResultAnalog(real_zahl,"STAT_EINGANGSDREHZAHL2_WERT",1); realtostring(real_zahl,"4.0",text_var); ftextout("Drehzahl Teilgetriebe 2 : "+text_var+" 1/min ",21,0,0,1); INPAapiJob(sgbd,"STATUS_TESTPRG_ISTZUSTAND","0x30",""); ftextout("< F9 > Bildschirmdruck" ,24,5,0,1); ftextout("< F10> Zurück" ,26,5,0,1); ftextout(" + < F10> Exit" ,28,45,0,1); } } // ************************** // *** Steuernscreen Getriebe *** // ************************** SCREEN s_steuern_getriebe() { ftextout("Ansteuern",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("Getriebe einlernen ( Schaltstangen )",1,0,1,1); ftextout("< F1 > Getriebe einlernen",8,0,0,1); ftextout("Testbedingung: Fahrzeug steht, Bremse getreten, Motor läuft,",12,0,1,4); INPAapiJob(sgbd,"STATUS_ISTWERTE_LESEN","",""); INPAapiResultAnalog(real_zahl,"STAT_GESCHWINDIGKEIT_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout("Fzg. Geschwindigkeit : "+text_var+" km ",16,0,0,1); INPAapiResultAnalog(real_zahl,"STAT_MOTORDREHZAHL_WERT",1); realtostring(real_zahl,"3.2",text_var); ftextout("Motordrehzahl : "+text_var+" 1/min ",16,45,0,1); INPAapiJob(sgbd,"STATUS_TESTPRG_ISTZUSTAND","0x32",""); ftextout("< F9 > Bildschirmdruck" ,20,5,0,1); ftextout("< F10> Zurück" ,22,5,0,1); ftextout(" + < F10> Exit" ,22,45,0,1); } } // ************************** // *** Steuernscreen Abfragen *** // ************************** SCREEN s_steuern_abfragen() { ftextout("Ansteuern",1,0,1,0); ftextout("",3,0,0,0); LINE("","") { ftextout("Test- und Einlernprogramm abfragen : ",0,0,1,4); ftextout(te_job,5,0,1,1); INPAapiJob(sgbd,"STATUS_TESTPRG_ISTZUSTAND",te_id,""); delay(1000); INPAapiJob(sgbd,"STATUS_TESTPRG_ISTZUSTAND",te_id,""); INPAapiResultText(text_var,"STAT_STATUS_TESTPRG_TEXT",1,""); ftextout("Status Testprogramm : " +text_var+" ",10,0,0,1); if ( int_id == 0x30) { INPAapiResultText(text_var,"STAT_FEHLERMELDUNG_TEXT",1,""); ftextout("Fehlermeldung : "+text_var,17,0,0,1); } if (int_id == 0x32) { INPAapiResultText(text_var,"STAT_ZUSTAND_TESTPRG_TEXT",1,""); ftextout("Einlernzustand : "+text_var+ " ",15,0,0,1); INPAapiResultText(text_var,"STAT_FEHLERMELDUNG_TEXT",1,""); ftextout("Fehlermeldung : "+text_var+ " ",17,0,0,1); INPAapiResultInt(int_zahl,"STAT_ZUSTAND_TESTPRG_DEZIMAL",1); if (int_zahl == 0x0C ) { ftextout("Damit die Einlernwerte gespeichert werden, ",23,0,1,1); ftextout("muss das Steuergerät jetzt einschlafen!",26,0,1,1); } } ftextout("< F9 > Bildschirmdruck" ,20,5,0,1); ftextout("< F10> Zurück" ,22,5,0,1); //ftextout(" + < F10> Exit" ,22,45,0,1); } } // -- EOF --