SE510912C2 - Diagnostic system esp. for engine management system of vehicle - Google Patents

Diagnostic system esp. for engine management system of vehicle

Info

Publication number
SE510912C2
SE510912C2 SE9702038A SE9702038A SE510912C2 SE 510912 C2 SE510912 C2 SE 510912C2 SE 9702038 A SE9702038 A SE 9702038A SE 9702038 A SE9702038 A SE 9702038A SE 510912 C2 SE510912 C2 SE 510912C2
Authority
SE
Sweden
Prior art keywords
dtc
module
data
list
frzf
Prior art date
Application number
SE9702038A
Other languages
Swedish (sv)
Other versions
SE9702038L (en
SE9702038D0 (en
Inventor
Magnus Bergstroem
Jan Mueller
Peter Moeller
Peter Aalleving
Original Assignee
Volvo Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Volvo Ab filed Critical Volvo Ab
Priority to SE9702038A priority Critical patent/SE510912C2/en
Publication of SE9702038L publication Critical patent/SE9702038L/en
Publication of SE9702038D0 publication Critical patent/SE9702038D0/en
Publication of SE510912C2 publication Critical patent/SE510912C2/en

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/22Safety or indicating devices for abnormal conditions
    • F02D41/222Safety or indicating devices for abnormal conditions relating to the failure of sensors or parameter detection devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M15/00Testing of engines
    • G01M15/04Testing internal-combustion engines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Testing Of Engines (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

The diagnostic system (10) includes a diagnostic function module (DF Module 20,20',20") for each diagnostic trouble code (DTC) or gp. of DTCs associated with a component or sub-system. The DF Module includes circuitry (22) to determine the operational status of the component or sub-system. A ranking value is generated each time a routine is performed and circuitry (23) processes and stores the latest statistics. Evaluated data is transmitted (24) indicating a fault or no-fault condition to a DF scheduler (30).

Description

15 20 25 30 35 510 912 2 hantera förångat bränsle, ett sekundärluftsystem och utvärderingssystem för katalytisk omvandling. Ytterligare komponenter som kan kräva utvärdering är t ex sensor för motorkylmedel, sensor för luftflöde, motorhastighetssensor etc. Funktionen hos vissa komponenter kan kontrolleras i stort sett oberoende av motorns driftsförhållanden, næn vissa komponenter och system kan enbart kontrolleras vid vissa driftsparametrar, t ex motorbelastning, temperatur, motorhastighet etc. 15 20 25 30 35 510 912 2 handle vaporized fuel, a secondary air system and a catalytic conversion evaluation system. Additional components that may require evaluation are, for example, engine coolant sensor, air flow sensor, engine speed sensor, etc. The function of certain components can be checked largely independent of the engine operating conditions, while certain components and systems can only be checked at certain operating parameters, eg engine load temperature, engine speed etc.

Följaktligen har man tagit franxdiagnossystenxson\priorite- rar vissa diagnoskontroller framför andra, t ex beskrivs i US-A-5 331 560 ett prioriteringssystenx i vilket vissa diagnoskontroller kan avbrytas om«driftsförhållandena anger att en diagnoskontroll kan utföras på ett driftsystem för motorn vars nödvändiga driftsparametrar bara uppträder sällan. När den pågående diagnoskontrollen väl har av- brutits kan den prioriterade kontrollen sedan utföras.Consequently, certain diagnostic checks have been given priority over others, for example US-A-5 331 560 describes a priority system in which certain diagnostic checks can be interrupted if the operating conditions indicate that a diagnostic check can be performed on an operating system for the engine whose necessary operating parameters only rarely occurs. Once the ongoing diagnostic check has been interrupted, the priority check can then be performed.

P g a kopplingarna mellan många komponenter och delsystem som driftsystemet för motorer består, av är det nödvändigt att förbjuda diagnoskontroller på andra komponenter eller delsystem, vilka annars skulle kunna påverka giltigheten hos resultatet.hos diagnoskontrollen, om«driftsförhållande- na är sådana att en diagnoskontroll kan utföras på en komponent eller ett delsystem. Vid konventionella diagnos- system innebär detta att om en komponent eller ett delsys- tem läggs till eller tas bort måste diagnossystemet omprogrammeras för att se till att diagnossystemet tar till hänsyn till inverkan av den nya eller borttagna komponenten eller delsystemet på övriga delar av driftsystemet för motorer. Givetvis uppstår samma problem när man vill inplementera samma diagnossystem i en annan fordonsmodell.Due to the connections between many components and subsystems that make up the engine operating system, it is necessary to prohibit diagnostic checks on other components or subsystems, which could otherwise affect the validity of the result.in the diagnostic check, if «the operating conditions are such that a diagnostic check can performed on a component or subsystem. In conventional diagnostic systems, this means that if a component or subsystem is added or removed, the diagnostic system must be reprogrammed to ensure that the diagnostic system takes into account the impact of the new or removed component or subsystem on other parts of the engine operating system. . Of course, the same problem arises when you want to implement the same diagnostic system in another vehicle model.

Den ovan nämnda kopplingen mellan olika komponenter och delsystem innebär vidare att om man upptäcker ett fel i en 10 15 20 25 30 35 510 91M2 3 komponent så kan felet påverka diagnoskontroller som utförs på ett flertal komponenter eller delsystem. Det är därför önskvärt att det finns nfijlighet att korrekt avgöra var ursprungsorsaken till ett fel finns, och att inga falsklarm lagras.The above-mentioned connection between different components and subsystems further means that if a fault is detected in a component, the fault can affect diagnostic checks which are performed on a plurality of components or subsystems. It is therefore desirable that there is a possibility to correctly determine where the original cause of an error is, and that no false alarms are stored.

För att underlätta för verkstaden eller tillverkaren att fastslå varför ett visst fel har uppkommit vore det värdefullt att kunna få information om driftförhållandena hos fordonet från den tidpunkt när felet uppstod, fram till den tidpunkt som det detekterades. Någon sådan möjlighet har inte funnits förrän nu.To make it easier for the workshop or the manufacturer to determine why a particular fault has occurred, it would be valuable to be able to obtain information about the operating conditions of the vehicle from the time the fault occurred, to the time it was detected. No such possibility has existed until now.

REnocöRELsE FÖR UPPFINNINGEN: Det är ett ändamål med föreliggande uppfinning att redovisa en anordning som, när ett fel har detekterats, möjliggör att man kan lagra de rådande driftsförhållandena hos fordonet under en viss tid, före och fram till det att felet detekteras och att man sedan kan komma åt dessa lagrade data.OBJECT OF THE INVENTION: It is an object of the present invention to disclose a device which, when a fault has been detected, enables one to store the prevailing operating conditions of the vehicle for a certain time, before and until the fault is detected and then can access this stored data.

Detta ändamål uppnås med hjälp av en datainsamlingsutrust- ning enligt krav 1.This object is achieved by means of a data collection equipment according to claim 1.

Föredragna utföringsformer av föreliggande uppfinning beskrivs i underkraven.Preferred embodiments of the present invention are described in the subclaims.

RITNINGARNA: Uppfinningen kommer att beskrivas detaljerat nedan næd hjälp av ett exempel och med hänvisning till de bifogade ritningarna där ; Fig. 1 är ett blockdiagram av ett diagnossystem; 10 15 20 25 30 35 510 912 4 Fig. 2 är en schematisk redovisning av en diagnos- felkod som har genererats i diagnossystemet; Fig. 3 visar ett exempel på en tidsfördelningstabell för bruk i en tidsfördelningsfunktion i ett diagnossystem; Fig. 4 visar ett exempel på en tidsfördelningslista för bruk i diagnossystemet; Fig. 5 visar en möjlig tabell över "freeze frame" och en tabell för utökad "freeze frame" för bruk i en DTC-dataarea i ett diagnossystem; Fig. 6 visar ett exempel på ett DTC-block för bruk i diagnossystemet; Fig. 7 visar schematiskt en roterande buffert för bruk i en datainsamlingsutrustning i ett diagnossys- tem; Fig. 8 är ett exempel på en utökad "freeze frame"; Fig. 9 visar en utgångslista för en valideringsanord- ning och motsvarande kontrollista för valide- ringsanordningen; och Fig. 10 är ett flödesdiagram för initiering av en kontrollista för en valideringsanordning.THE DRAWINGS: The invention will be described in detail below by means of an example and with reference to the accompanying drawings therein; Fig. 1 is a block diagram of a diagnostic system; 10 15 20 25 30 35 510 912 4 Fig. 2 is a schematic representation of a diagnostic error code generated in the diagnostic system; Fig. 3 shows an example of a time distribution table for use in a time distribution function in a diagnostic system; Fig. 4 shows an example of a time distribution list for use in the diagnostic system; Fig. 5 shows a possible table of "freeze frame" and a table of extended "freeze frame" for use in a DTC data area in a diagnostic system; Fig. 6 shows an example of a DTC block for use in the diagnostic system; Fig. 7 schematically shows a rotating buffer for use in a data acquisition equipment in a diagnostic system; Fig. 8 is an example of an extended freeze frame; Fig. 9 shows an output list for a validation device and the corresponding checklist for the validation device; and Fig. 10 is a flow chart for initiating a checklist for a validation device.

FÖREDRAGNA uæFönmssFomax-zn: I fig. 1 betecknar hänvisningssiffran 10 allmänt ett diagnossystem. Systemet innefattar ett flertal diagnos- funktionsmoduler (hädanefter benämnda DF-moduler) 20, 20', 20", där varje DF-modul betjänar en komponent eller ett delsystem vars driftsstatus skall utvärderas. Exempel på 10 15 20 25 30 35 510 92122 5 sådana komponenter och delsystem är en syresensor i avgasröret, detektionskrets för luftläckage, bränslein- jektion,återcirkulationssystmnföravgaser,temperatursen- sor för motorkylmedel, luftflödessensor, reglerventil för tomgångskörning, sensor för absoluttrycki.insugningsröret, sensor för motorhastigheten, stängningsventil för kanister etc. På ett sätt som kommer att beskrivas senare är varje DF-modul 20, 20', 20", inrättad att utvärdera sin motsva- rande komponent eller delsystem och att generera en diagnosfelkod (hädanefter benämnd DTC) driftsfelstatus hos komponenten/delsystemet. vilken anger Ett föredraget DTC-format, allmänt betecknat 200 visas i fig. 2, och består av en sextonbitars kod delad i tre delar. En första del 201 består företrädesvis av åtta bitar, och används för att indikera i vilket delsystem av motorn, t ex tändsystem, bränsle- och luftmätsystem, etc, som ett fel finns i. En andra del 202 består företrädesvis av fyra bitar och används för att indikera i vilken komponent hos delsystemet som ett fel finns. Slutligen används en tredje del 203, som också består av fyra bitar för att indikera den typ av fel som inverkar på andra komponenter/delsystem t ex ett trögt svar i en Ofsensor, skada på en katalytisk omvandlare p g a feltändning, en ventil som har fastnat i öppet läge, etc.PREFERRED EMBODIMENTS: In Fig. 1, the reference numeral 10 generally denotes a diagnostic system. The system comprises a plurality of diagnostic function modules (hereinafter referred to as DF modules) 20, 20 ', 20 ", each DF module serving a component or subsystem whose operating status is to be evaluated. Examples of 10 15 20 25 30 35 510 92122 components and subsystems are an oxygen sensor in the exhaust pipe, detection circuit for air leakage, fuel injection, recirculation system for exhaust gases, temperature sensor for engine coolant, air flow sensor, control valve for idling, sensor for absolute pressure. will be described later, each DF module 20, 20 ', 20 ", is arranged to evaluate its corresponding component or subsystem and to generate a diagnostic error code (hereinafter referred to as DTC) operational error status of the component / subsystem. which indicates A preferred DTC format, generally designated 200, is shown in Fig. 2, and consists of a sixteen bit code divided into three parts. A first part 201 preferably consists of eight bits, and is used to indicate in which subsystem of the engine, eg ignition system, fuel and air measuring system, etc., a fault exists. A second part 202 preferably consists of four bits and is used for to indicate in which component of the subsystem a fault exists. Finally, a third part 203, which also consists of four bits, is used to indicate the type of fault affecting other components / subsystems, eg a sluggish response in an Offsensor, damage to a catalytic converter due to misfire, a valve stuck in open mode, etc.

P g; a att diagnossystemet för nwtorer är inrättat att utvärdera driftsstatus hos ett flertal komponenter och delsystem och då många av dessa komponenter/delsystem enbart kan utvärderas när vissa driftsförhållanden före- ligger, innefattar systemet 10 vidare en tidsfördelnings- funktion för diagnosfunktionen (hädanefter benämnd DF- tidsfördelningsfunktion) 30 . Syftet med DF-tidsfördelnings- funktionen är att koordinera prioriteten mellan de olika utvärderingsrutinerna som skall utföras av de respektive DF-modulerna, så att man ser till att fullfölja så många 10 15 20 25 30 35 510 912 6 utvärderingsrutiner som nfijligt inom ett visst tidsin- tervall, beroende på föreliggande driftsförhållande, samtidigt som två utvärderingsrutiner inte får utföras samtidigt om det föreligger risk för att detta resulterar i att man genererar en felaktig DTC. Exempel på två utvärderingsrutiner vilka inte bör utföras samtidigt är koll av läckagedetektion med hjälp av en purge-ventil för kanistern och utvärdering av det katalytiska omvandlings- förhållandet.P g; a that the diagnostic system for nwtors is set up to evaluate the operating status of a plurality of components and subsystems and since many of these components / subsystems can only be evaluated when certain operating conditions exist, the system 10 further comprises a time distribution function for the diagnostic function (hereinafter referred to as DF time distribution function ) 30. The purpose of the DF time allocation function is to coordinate the priority between the various evaluation routines to be performed by the respective DF modules, so as to ensure that as many evaluation routines as possible within a certain time frame are completed. interval, depending on the current operating conditions, at the same time as two evaluation routines may not be performed simultaneously if there is a risk that this will result in the generation of an incorrect DTC. Examples of two evaluation routines that should not be performed simultaneously are checking for leak detection using a purge valve for the canister and evaluating the catalytic conversion ratio.

När ett fel detekteras av en DF-modul stoppar DF-tidsför- delningsfunktionen'vidare de utvärderingsrutiner sonlannars skulle påverkas av felet, m a ca dessa stoppade utvär- deringsrutiner hade annars "lurats" att tro att ett fel existerar även i deras system, trots att det egentligen inte finns några fel i dessa system.When an error is detected by a DF module, the DF time allocation function stops' further the evaluation routines sonlannars would be affected by the error, but about these stopped evaluation routines would otherwise have been "tricked" into thinking that an error also exists in their system there really are no faults in these systems.

I det fall att en sålunda påverkad DF-modul utför sin utvärderingsrutin innan utvärderingsrutinen hos den kompo- nent/delsystem i vilket det egentliga felet finns hinner utföras, genererar den påverkade DF-modulen en DTC som anger ett fel i den komponent/delsystem som hör till den DF-modulen. Följaktligen är det nödvändigt att diagnossys- temet 10 har tillgång till tillräcklig information för att den skall kunna avgöra om DTC är giltigt eller inte. M a o måste systemet 10 kunna avgöra om det egentliga felet finns i den komponent/delsystem som utvärderas av den DF-modul som har gett det ursprungliga DTC, eller om denna DF-modul har "lurats" p g a ett föreliggande, men ännu ej upptäckt fel i en annan komponent/delsystem.In the event that a DF module thus affected performs its evaluation routine before the evaluation routine of the component / subsystem in which the actual fault exists has time to be executed, the affected DF module generates a DTC indicating a fault in the component / subsystem belonging to to that DF module. Consequently, it is necessary for the diagnostic system 10 to have access to sufficient information to be able to determine whether the DTC is valid or not. In other words, the system 10 must be able to determine whether the actual fault exists in the component / subsystem being evaluated by the DF module that gave the original DTC, or whether this DF module has been "cheated" due to a present but not yet detected fault. in another component / subsystem.

För att förse systemet 10 med information om driftsför- hållanden i fordonet innan den tidpunkt när DTC genererades innefattar systemet vidare en datainsamlingsmodul 40. På ett sätt som kommer att förklaras senare är datainsam- lingsmodulen inrättad att hantera uppkomsten av "freeze 10 15 20 25 30 35 510 912 7 frames" och utökade "freeze frames". En "freeze frame" är ett sampel av ett antal parametrar vilka är specifika för DTC i fråga, t ex den egentliga motortemperaturen, och motorhastigheten vid den tidpunkt som DTC genererades. En utökad "freeze frame" innefattar ett antal sampel på ett antal parametrar som är specifika för det aktuella DTC från den tidpunkt då DTC genererades, och bakåt i tiden.In order to provide the system 10 with information on operating conditions in the vehicle before the time when the DTC was generated, the system further comprises a data collection module 40. In a manner which will be explained later, the data collection module is arranged to handle the occurrence of "freeze 10 15 20 25 30 35 510 912 7 frames "and extended" freeze frames ". A "freeze frame" is a sample of a number of parameters which are specific to the DTC in question, such as the actual engine temperature, and the engine speed at the time the DTC was generated. An extended "freeze frame" includes a number of samples of a number of parameters specific to the current DTC from the time the DTC was generated, and back in time.

Utgående från.denna information genererar'datainsamlingsmo- dulen 40 ett DTC-block som innehåller DTC, och denna information.Based on this information, the data acquisition module 40 generates a DTC block containing DTC, and this information.

Systemet 10 är utrustat med en DTC-dataareamodul 50 för att kunna lagra alla DTC-block som genereras av datainsam- lingsmodulen 40. När DTC-dataareamodulen 50 mottar en begäran från datainsamlingsmodulen 40 om.att spara ett DTC- block så sparar den blocket och sänder “DTC saved" till datainsamlingsmodulen på ett sätt som kommer att beskrivas Senare .The system 10 is equipped with a DTC data area module 50 to be able to store all the DTC blocks generated by the data acquisition module 40. When the DTC data area module 50 receives a request from the data acquisition module 40 to save a DTC block, it saves the block and sends "DTC saved" to the data collection module in a way that will be described later.

För att avgöra om det sparade DTC-blocket är giltigt eller inte, m a o om ett fel egentligen föreligger eller inte, i den komponent eller delsystem som har kontrollerats av den DF-modul som genererade DTC:t så är systemet 10 försett med en valideringsanordning 60. Valideringsanordningen 60 mottar från DTC-dataareamodulen 50 information om att ett icke validerat DTC-block har sparats, och genom att upprätta en valideringskontrollista (vilken kommer att beskrivas senare) så kan den avgöra om DTC-blocket skall anses giltigt eller inte.To determine if the saved DTC block is valid or not, i.e. if an error actually exists or not, in the component or subsystem that has been checked by the DF module that generated the DTC, the system 10 is provided with a validation device 60. The validation device 60 receives from the DTC data area module 50 information that a non-validated DTC block has been saved, and by establishing a validation checklist (which will be described later) it can determine whether the DTC block is to be considered valid or not.

Om valideringsanordningen 60 beslutar att ett DTC-block är giltigt så visar detta på felfunktion hos en komponent eller ett system. Beroende på vilken komponent eller system det gäller kan det vara önskvärt att upplysa fordonets förare om felfunktionen. Följaktligen är systemet 10 försett med en hanteringsmodul 70 för felfunktionslampa 10 15 20 25 30 35 510 912 8 (händanefter benämnd MIL) vilken kan upplysa föraren om en felfunktion genom att visa felsignal eller felmeddelande på fordonets instrumentpanel.If the validation device 60 decides that a DTC block is valid, this indicates a malfunction of a component or system. Depending on the component or system in question, it may be desirable to inform the driver of the vehicle of the malfunction. Accordingly, the system 10 is provided with a malfunction lamp handling module 70 10 (hereinafter referred to as MIL) which can inform the driver of a malfunction by displaying an error signal or error message on the vehicle instrument panel.

För att diagnossystemet för motorer 10 ska kunna kommunice- ra med extern testutrustning som finns på verkstäder så innefattar systemet 10 företrädesvis en modul 80 för hantering av extern kommunikation (hädanefter benämnd.ECH).In order for the diagnostic system for motors 10 to be able to communicate with external test equipment available in workshops, the system 10 preferably comprises a module 80 for handling external communication (hereinafter referred to as "EC").

Slutligen är systemet 10 försett med en modul 90 för styrning av diagnossystemet (hädanefter benämnd DSM) vilken ansvarar för att diagnossystemet startas när fordonets tändning slås på, och för att stoppa systemet när driftsys- temet för motorer har avslutat alla andra operationer efter det att tändningen har stängts av. Detta uppnås genom en interaktion mellan diagnossystemet och driftsystemet för motorn, vilka bägge är belägna i modulen för styrning av fordonets motor.Finally, the system 10 is provided with a module 90 for controlling the diagnostic system (hereinafter referred to as DSM) which is responsible for starting the diagnostic system when the vehicle ignition is switched on, and for stopping the system when the engine operating system has completed all other operations after ignition has been turned off. This is achieved through an interaction between the diagnostic system and the operating system of the engine, both of which are located in the module for controlling the engine of the vehicle.

För att underlätta förståelsen av diagnossystemet 10 i den föreliggande uppfinningen så kommer varje modul eller enhet 20, 30, 40, 50 och 60 att nedan beskrivas detaljerat.To facilitate the understanding of the diagnostic system 10 of the present invention, each module or unit 20, 30, 40, 50 and 60 will be described in detail below.

DF-modulen 20 Som har nämnts tidigare så betjänar varje DF-modul 20, 20', 20", en komponent eller ett delsystem vars driftstatus skall utvärderas. Följaktligen är varje DF-modul 20, 20', 20", inrättad att utvärdera sin motsvarande komponent!- delsystem och att generera en diagnosfelkod (DTC) vilken antyder driftstatusen hos komponenten/systemet. För att åstadkomma detta så måste varje DF-modul kunna behandla all information sonlbehövs för utvärdering av en icke-fungeran- de komponent eller delsystenn son\ t ex en sensor, en komponent i avgassystemet, EVAP-system, etc. 10 15 20 25 30 35 510 912 9 I detta syfte och som framgår ur fig. 1 så innefattar varje DF-modul 20, 20' och 20", ett flertal submoduler inklusive ett DF-gränssnitt 21, en fysisk diagnos (hädanefter benämnd PD) 22, en DF-loggutrustning 23, DF-styrning 24 och DTC- hanterare 25.DF module 20 As mentioned earlier, each DF module 20, 20 ', 20 "serves a component or subsystem whose operating status is to be evaluated. Consequently, each DF module 20, 20', 20" is set up to evaluate its corresponding component! subsystem and to generate a diagnostic error code (DTC) which indicates the operating status of the component / system. To achieve this, each DF module must be able to process all the information needed to evaluate a non-functioning component or subsystem, such as a sensor, a component in the exhaust system, EVAP system, etc. 10 15 20 25 30 For this purpose and as shown in Fig. 1, each DF module 20, 20 'and 20 "comprises a plurality of submodules including a DF interface 21, a physical diagnosis (hereinafter referred to as PD) 22, a DF logging equipment 23, DF control 24 and DTC handler 25.

DF-gränssnittet 21 är en DF-submodul som hanterar överfö- ring av kommunikation från och till DF-submoduler till andra moduler i diagnossystemet. Eftersom en DTC som har genererats av en viss DF-modul är unik för den modulen så används DTC av andra moduler i systemet som identifierare vid kommunikation med just den DF-modulen. Följaktligen kan DF-gränssnittet 21 känna igen alla signaler som är adresse- rade till en DF-modul med den identifierare som är för- bunden med den DF-modul i vilken DF-gränssnittet sitter, och skickar dessa signaler till korrekt DF-submodul. Alla signaler som har skickats från en DF-submodul till DF- tidsfördelningsfunktionen 30, datainsamlaren 40, DTC- dataarean 50, valideringsanordningen 60, MIL-hanteraren 70 eller ECH-modulen 80 går via DF-gränssnittet 21.The DF interface 21 is a DF submodule that handles the transfer of communication from and to DF submodules to other modules in the diagnostic system. Since a DTC that has been generated by a certain DF module is unique to that module, DTC is used by other modules in the system as an identifier when communicating with that particular DF module. Consequently, the DF interface 21 can recognize all signals addressed to a DF module by the identifier connected to the DF module in which the DF interface is located, and sends these signals to the correct DF submodule. All signals sent from a DF submodule to the DF time allocation function 30, the data collector 40, the DTC data area 50, the validation device 60, the MIL handler 70 or the ECH module 80 go through the DF interface 21.

PD 22 är en DF-submodul vilken innehåller en utvärderings- rutin för varje DTC som är förbunden med just den DF- modulen. PD 22 kan avgöra när de motordriftförhållanden föreligger vilka tillåter DF-modulen 20 att utvärdera sitt motsvarande delsystem eller komponent. Varje gång dessa förhållanden föreligger så informerar PD 22 DF-kontrollern 24 om att det nu är möjligt att utföra utvärderingsrutinen.PD 22 is a DF submodule which contains an evaluation routine for each DTC associated with that particular DF module. PD 22 can determine when the engine operating conditions are present which allow the DF module 20 to evaluate its corresponding subsystem or component. Each time these conditions exist, the PD 22 informs the DF controller 24 that it is now possible to perform the evaluation routine.

PD väntar på tillstånd från DF-kontrollen innan den utför utvärderingsrutinen.PD waits for permission from the DF control before performing the evaluation routine.

On:motordriftförhållanden ändrar sig under en utvärderings- rutin, så att villkoren för att kunna utföra utvärderings- rutinen inte längre föreligger så avbryter PD rutinen. Och på samma sätt avbryter PD rutinen om DF-kontrollern 24 ger 10 15 20 25 30 35 510 912 10 besked om att tillstånd inte finns att utföra utvärderings- rutinen.On: engine operating conditions change during an evaluation routine, so that the conditions for being able to perform the evaluation routine no longer exist, the PD interrupts the routine. And in the same way, the PD interrupts the routine if the DF controller 24 informs 10 15 20 25 30 35 510 912 10 that there is no permit to perform the evaluation routine.

För att kunna avgöra om ett möjligt fel föreligger så avger PD 22 ett rankningsvärde som indikator på statusen hos det utvärderade delsystemet/komponenten varje gång en ut- värderingsrutin har genomlöpts. Företrädesvis ligger varje rankningsvärde mellan 1 och 255 där värdet 128 motsvarar en normal komponent eller delsystem, t ex att reglerventilen för luft vid tomgång motsvarar ett kalibrerat referensvär- de. Värdet 255 motsvarar en komponent eller delsystem som helt har upphört att fungera, t ex reglerventilen för luft vid tomgång vid maximum. Varje komponent/delsystem till- delas en övre felgräns, och under förutsättning att rankningsvärdet ligger under den övre felgränsen så kommer fel inte att indikeras, och en utvärderad datasignal med innebörden "icke-fel" genereras. Om rankningsvärdet överstiger den övre gränsen så genereras en utvärderad datasignal med innebörden "fel". Varje gång som utvär- deringsrutinen har avslutats så skickas den utvärderade datasignalen till DF-kontrollern 24 och rankningsvärdet skickas till DF-loggern 23.In order to be able to determine whether a possible error exists, PD 22 gives a ranking value as an indicator of the status of the evaluated subsystem / component each time an evaluation routine has been completed. Preferably, each ranking value is between 1 and 255 where the value 128 corresponds to a normal component or subsystem, for example that the control valve for air at idle corresponds to a calibrated reference value. The value 255 corresponds to a component or subsystem that has completely ceased to function, eg the control valve for air at idle at maximum. Each component / subsystem is assigned an upper error limit, and provided that the ranking value is below the upper error limit, errors will not be indicated, and an evaluated data signal with the meaning "non-error" is generated. If the ranking value exceeds the upper limit, an evaluated data signal is generated with the meaning "error". Each time the evaluation routine is completed, the evaluated data signal is sent to the DF controller 24 and the ranking value is sent to the DF logger 23.

DF-loggern 23 är en DF-submodul som tar emot ranknings- värdena och använder det högsta av ett visst antal rank- ningsvärden för statistisk behandling, och resultaten lagras som information för verkstaden.The DF logger 23 is a DF submodule that receives the ranking values and uses the highest of a certain number of ranking values for statistical processing, and the results are stored as information for the workshop.

DF-kontrollern 24 är en DF-submodul som styr PD 22. När PD informerar DF-kontrollern om att det är möjligt att utföra utvärderingsrutinen, så skickas ett svar till DF-tidsför- delningsfunktionen att utvärderingsrutinen avbryts. När DF- tidsfördelningsfunktionen 30 sänder ett svar att utvär- deringsrutinen får utföras så tillåter DF-kontrollern 24 PD att utföra rutinen. Onx DF-tidsfördelningsfunktionen 30 skickar en begäran om att stoppa utvärderingsrutinen så 10 15 20 25 30 35 s 10 å9å1w2 11 skickar DF-kontrollern meddelande om upphävt tillstånd att utföra utvärderingsrutinen, och när'utvärderingsrutinen har stoppats så skickar den ett "stopp"-svar till DF-tidsför- delningsfunktionen.The DF controller 24 is a DF submodule that controls the PD 22. When the PD informs the DF controller that it is possible to perform the evaluation routine, a response is sent to the DF time allocation function that the evaluation routine is interrupted. When the DF time allocation function 30 sends a response that the evaluation routine may be performed, the DF controller 24 allows the PD to perform the routine. The Onx DF time allocation function 30 sends a request to stop the evaluation routine so 10 15 20 25 30 35 s 10 å9å1w2 11 the DF controller sends a notification of revoked permission to perform the evaluation routine, and when the evaluation routine has been stopped it sends a "stop" response to the DF time distribution function.

DF-kontrollern.24 mottar även alla utvärderade datasignaler och upplyser DF-tidsfördelningsfunktionen 30 om föränd- ringar i status hos de utvärderade datasignaler, vilka definieras som de senast utvärderade datasignalerna. Innan DF-kontrollern ger ifrån sig en kontrollerad "fel"-datasig- nal så krävs att det genereras ett antal på 'varandra följande utvärderade "fel"-datasignaler. Antalet på varandra följande signaler som krävs för att åstadkomma denna förändring i tillstånd är specifik för varje DTC som skall genereras. Vid start av tändningen så sätts den styrda datasignalen till “icke utförd", och vid den första utvärderade "icke-fel"-datasignalen så sätts den styrda datasignalen till "icke-fel".The DF controller.24 also receives all evaluated data signals and informs the DF time division function 30 of changes in the status of the evaluated data signals, which are defined as the most recently evaluated data signals. Before the DF controller emits a controlled "error" data signal, a number of consecutive evaluated "error" data signals must be generated. The number of consecutive signals required to effect this change in state is specific to each DTC to be generated. At the start of the ignition, the controlled data signal is set to "not executed", and at the first evaluated "non-error" data signal, the controlled data signal is set to "non-error".

När DF-kontrollern 24 producerar en kontrollerad "fel"- datasignal så skickar den en begäran till datainsamlingsmo- dulen om att skapa DTC-data. När denna väl har satts så är det inte möjligt att ändra den styrda "fel"-datasignalen under återstoden av driftsperioden (tills tändningen har slagits av).When the DF controller 24 produces a controlled "error" data signal, it sends a request to the data acquisition module to create DTC data. Once this has been set, it is not possible to change the controlled "error" data signal for the remainder of the operating period (until the ignition has been switched off).

DTC-hanteraren 25 är en DF-submodul som ansvarar för att fatta beslut efter det att diagnossystemet 10 har validerat ett DTC-block och kommit fram till att det är giltigt. Dess funktioner innefattar beslut om när man skall lagra ett DTC-block permanent, att skicka begäran om att släcka eller tända felfunktionslampan i MIL-hanteringsmodulen 70, och beslut om när man skall radera ett DTC-block när fel inte längre detekteras. i u-»iiå- »u iiiflln m: 10 15 20 25 30 35 510 912 12 DF-tids förde lninqsmodu len 3_0 DF-tidsfördelningsmodulen 30 hanterar tidsfördelning av utvärderingsrutinerna. DF-tidsfördelningsmodulen 30 mottar begäran.on1att utföra utvärderingsrutiner från DF-modulerna 20, 20', 20", och beslutar i vilken ordning dessa ut- värderingsrutiner skall utföras, varvid den tar hänsyn till on1det föreligger några.utvärderade "fel"-datasignaler, hur lång tid det har gått sedan nmtorn startades, och den relativa prioriteten mellan de utvärderingsrutiner som det har kommit in begäran om.The DTC handler 25 is a DF submodule that is responsible for making decisions after the diagnostic system 10 has validated a DTC block and concluded that it is valid. Its functions include deciding when to permanently store a DTC block, sending the request to turn off or on the malfunction lamp in the MIL management module 70, and deciding when to delete a DTC block when errors are no longer detected. i u- »iiå-» u iii fl ln m: 10 15 20 25 30 35 510 912 12 DF time distribution module 3_0 The DF time distribution module 30 handles time distribution of the evaluation routines. The DF time allocation module 30 receives a request not to perform evaluation routines from the DF modules 20, 20 ', 20 ", and decides the order in which these evaluation routines are to be performed, taking into account the presence of any evaluated" error "data signals. how long it has been since the nmtor was started, and the relative priority between the evaluation routines that have been requested.

DF-tidsfördelningsmodulen 30 'tar hänsyn till de senast utvärderade data som den har mottagit från DF-modulerna, och avgör om dessa utvärderade data innebär att vissa ut- värderingsrutiner som påverkas av felet bör avbrytas. DF- tidsfördelningsfunktionen tar även hänsyn till huruvida en DF-modul har upplyst DF-tidsfördelningsmodulen om att en utvärderingsrutin har hejdats p g a att villkoren för att utföra utvärderingsrutinen inte längre föreligger eller har hejdats på begäran från DF-tidsfördelningsfunktionen eller p g a av att DF-tidsfördelningsfunktionen ännu ej har skickat begäran om att rutinen skall utföras.The DF time allocation module 30 'takes into account the most recently evaluated data it has received from the DF modules, and determines whether this evaluated data means that certain evaluation routines affected by the error should be interrupted. The DF time allocation function also takes into account whether a DF module has informed the DF time allocation module that an evaluation routine has been stopped because the conditions for performing the evaluation routine no longer exist or have been stopped at the request of the DF time allocation function or due to the DF time allocation function has not sent a request for the routine to be performed.

För att kunna utföra sin funktion kräver DF-tidsfördel- ningsmodulen 30 tillgång till information om vad varje utvärderingsrutin behöver utföra. Denna information kan finnas lagrad i en tidsfördelningsfunktionstabell. Ett exempel på en tidsfördelningsfunktionstabell visas i fig. 3. Tidsfördelningsfunktionstabellen innehåller alla utvär- deringsrutiner i diagnossystemet och specificerar före- trädesvis: fördröjningen innan man skall initiera den ut- värderingsrutin som.det har inkommit begäran om att utföra, där fördröjningen beror på senast utvärderade data som mottagits från respektive DF-modul; 10 15 20 25 30 35 51o 9{å 13 prioritetsnivån hos alla utvärderingsrutiner enligt vissa specificerade prioritetsgrupper så att DF-tidsför- delningsfunktionsmodulen kan avgöra vilken av de begärda rutinerna som har prioritet inom varje prioritetsgrupp, och vilka andra utvärderinsrutiner som bör stoppas om senast utvärderade data från en DF-modul indikerar ett fel.In order to perform its function, the DF time allocation module 30 requires access to information about what each evaluation routine needs to perform. This information can be stored in a time distribution function table. An example of a time distribution function table is shown in Fig. 3. The time distribution function table contains all evaluation routines in the diagnostic system and preferably specifies: the delay before initiating the evaluation routine that it has received a request to perform, where the delay is due to the last evaluated data received from the respective DF module; 10 15 20 25 30 35 51o 9 {å 13 the priority level of all evaluation routines according to certain specified priority groups so that the DF time allocation function module can determine which of the requested routines has priority within each priority group, and which other evaluation routines should be stopped if last evaluated data from a DF module indicates an error.

För effektiv funktion så kräver även DF-tidsfördelnings- modulen information om rådande status hos utvärderings- rutinerna i diagnossystemet. Denna information finns i en tidsfördelningslista. Enligt fig. 4 så innehåller tidsför- delningslistan fyra dellistor, nämligen en avbrottslista, en lista över rutiner under utförande, en lista över senast utvärderat data och en lista över rutiner som står på tur.For efficient operation, the DF time allocation module also requires information on the prevailing status of the evaluation routines in the diagnostic system. This information is in a time allocation list. According to Fig. 4, the time distribution list contains four sub-lists, namely an interrupt list, a list of routines in progress, a list of most recently evaluated data and a list of routines that are in turn.

Avbrottslistan anger vilka utvärderingsrutiner som. har begärt att få utföras men som ännu icke har getts tillstånd att utföras. Flaggor i denna lista sätts för de utvär- deringsrutiner som har rapporterat att de har avbrutits, och nollställs för de utvärderingsrutiner som har angivit att de har upphört p g a de fysiska förhållandena i DF- modulen, eller som har stängts av av DF-tidsfördelnings- modulen.The interrupt list indicates which evaluation routines. has requested to be performed but which has not yet been granted permission to perform. Flags in this list are set for the evaluation routines that have reported that they have been interrupted, and are reset for the evaluation routines that have indicated that they have ceased due to the physical conditions in the DF module, or that have been switched off by the DF time allocation module. .

Listan över rutiner under utförande anger vilka utvär- deringsrutiner som f 11 är under utförande, som namnet antyder. Flaggor i listan över rutiner under utförande sätts för de utvärderingsrutiner vilka DF-tidsfördelnings- modulen har tillåtit påbörjas och nollställs för de utvär- deringsrutiner som har stoppats, avbrutits eller stängts av av sin respektive DF-modul.The list of routines in progress indicates which evaluation routines f 11 are in progress, as the name suggests. Flags in the list of routines under execution are set for the evaluation routines that the DF time allocation module has allowed to be started and reset for the evaluation routines that have been stopped, interrupted or shut down by their respective DF module.

Listan över senast utvärderade data anger rådande status hos det utvärderade datat vid varje utvärdering. Flaggor i denna lista sätts för varje utvärderingsrutin son1 har 10 15 20 25 30 35 510 912 14 skickat en senast utvärderad datasignal med innebörden "fel"-datasigna1.och nollställs för varje utvärderingsrutin som har skickat en senast utvärderad datasignal med innebörden "icke-fel"-datasignal.The list of most recently evaluated data indicates the current status of the evaluated data at each evaluation. Flags in this list are set for each evaluation routine son1 has 10 15 20 25 30 35 510 912 14 sent a last evaluated data signal with the meaning "error" data sign1.and is reset for each evaluation routine that has sent a last evaluated data signal with the meaning "non-error "data signal.

Listan över rutiner som står på tur används av DF-tidsför- delningsmodulen som en arbetslista för att hålla reda på vilka utvärderingsrutiner som finns kvar att utföra p g a prioritet, tid, och utvärderade "fel"-datasignaler. Varje gång som DF-tidsfördelningsfunktionen har avslutat behand- ling av prioritetshanteraren 35 så är de flaggor som fortfarande är satta i listan över rutiner som står på tur indikationer om att motsvarande utvärdering bör vara under utförande, och flaggor som har nollställts är indikationer på att nmtsvarande utvärderingar bör stoppas eller av- brytas.The list of routines that are in turn is used by the DF time allocation module as a worklist to keep track of which evaluation routines remain to be performed due to priority, time, and evaluated "wrong" data signals. Each time the DF time allocation function has completed processing of the priority manager 35, the flags that are still in the list of routines that are in line are indications that a corresponding evaluation should be performed, and flags that have been reset are indications that the corresponding evaluations should be stopped or interrupted.

För att kunna utföra de funktioner som krävs, och som framgår av fig. 1, så består DF-tidshanteringsfunktionen av ett antal submoduler inkl ett DFS-gränssnitt 31, en DFS- kontrollfunktion 32, en avbrottshanterare 33, en tids- hanterare 34 och en prioritetshanterare 35.In order to be able to perform the functions required, and as shown in Fig. 1, the DF time management function consists of a number of submodules including a DFS interface 31, a DFS control function 32, an interrupt manager 33, a time manager 34 and a priority manager 35.

Alla signaler som skickas från DF-modulerna 20, 20', 20" och ECH-modulen 80 till DF-tidsfördelningsmodulen 30 identifieras i DFS-gränssnittet 31, och överförs till rätt DF-tidsfördelningssubmodul. Alla signaler som skickas från DF-tidsfördelningssubmodulen till DF-modulerna och ECH- modulen överförs via DFS-gränssnittet 31.All signals sent from the DF modules 20, 20 ', 20 "and the ECH module 80 to the DF time allocation module 30 are identified in the DFS interface 31, and transmitted to the correct DF time allocation submodule. All signals sent from the DF time allocation submodule to the DF modules and the ECH module are transmitted via the DFS interface 31.

Alla signaler som skickas till DF-tidsfördelningsmodulen 30 kontrolleras av DFS-kontrollfunktionen 32. DFS-kontroll- funktionen uppdaterar avbrottslistan, listan över funktio- ner under utförande och den senast utvärderade datalistan för signaler som skickats från DF-modulerna 20, 20', 20" till DF-tidsfördelningsmodulen 30. Omv någon av de tre 10 15 20 25 30 35 510 912 15 listorna har uppdaterats så gör DFS-kontrollfunktionen 32 enligt följande: Kopiera avbrottslistan och listan över funktioner under utförande till listan över funktioner som står på tur att utföras.All signals sent to the DF time allocation module 30 are controlled by the DFS control function 32. The DFS control function updates the interrupt list, the list of functions in progress and the last evaluated data list for signals sent from the DF modules 20, 20 ', 20 "to the DF time allocation module 30. If any of the three 10 15 20 25 30 35 510 912 15 lists have been updated, the DFS control function 32 does the following: Copy the interrupt list and the list of functions in progress to the list of functions in turn performed.

Starta avbrottshanteraren 33.Starting the interrupt manager 33.

När avbrottshanteraren har avslutat, starta tids- hanteraren 34.When the interrupt manager has finished, start the time manager 34.

När tidshanteraren har avslutat, starta prioritets- hanteraren 35.When the time manager has finished, start the priority manager 35.

När prioritetshanteraren är färdig utförs en "stopprutin", nl a o skickar DFS-kontrolleraren 32 av- brottsbegäran till de utvärderingsrutiner sonlutförs enligt listan över rutiner under utförande (satta flaggor), men som inte borde vara under utförande enligt listan över rutiner som står på tur (nollställda flaggor), och sätter flaggorna i avbrottslistan till tecken på att DF-tidsför- delningsfunktionen har begärt avbrott för dessa utvär- deringar.When the priority manager is complete, a "stop routine" is executed, ie the DFS controller sends 32 interrupt requests to the evaluation routines that are executed according to the list of routines under execution (set flags), but which should not be executed according to the list of routines (reset flags), and sets the flags in the interrupt list to indicate that the DF time allocation function has requested interrupts for these evaluations.

När stopprutinen är slutförd så utförs en startru- tin vilket innebär att DFS-kontrollern skickar ett start- kommando till var och en av de utvärderingar som bör vara under utförande enligt listan över rutiner som står på tur och som tillhör en prioritetsgrupp enligt tidsfördelnings- tabellen, i vilken inga andra utvärderingar utförs enligt listan över rutiner under utförande. För varje start- kommando som skickas så sätter DFS-kontrollern motsvarande flagga i listan över rutiner som är under utförande.When the stop routine is completed, a start routine is executed, which means that the DFS controller sends a start command to each of the evaluations that should be performed according to the list of routines that are in line and that belong to a priority group according to the time distribution table. , in which no other evaluations are performed according to the list of routines under execution. For each start command that is sent, the DFS controller sets the corresponding flag in the list of routines that are being executed.

När detta är slutfört, kontrollera om det finns någon signal sonx har skickats till DF-tidsfördelnings- funktionen, och om så är fallet börja om igen.When this is completed, check if there is any signal sonx has been sent to the DF time allocation function, and if so, start again.

När begäran om att stoppa alla utvärderingsrutiner sänds från ECH-modulen 80 så gör DFS-kontrollfunktionen 32 enligt följande: 510 912 16 Radera listan över funktioner som står på tur och sätt igång (begäran om avbrott kommer att skickas till alla utvärderingsrutiner som är under utförande).When the request to stop all evaluation routines is sent from the ECH module 80, the DFS control function 32 does the following: 510 912 16 Delete the list of functions that are in turn and start (request for interruptions will be sent to all evaluation routines that are being executed ).

Vid slut, uppdatera listan över senast utvärderade 5 data, listan över rutiner under utförande, och avbrottslis- tan enligt alla de signaler som har skickats till DF- tidsfördelningsfunktionen, men starta inte enligt normal drift.At the end, update the list of last evaluated 5 data, the list of routines in progress, and the interrupt list according to all the signals that have been sent to the DF time distribution function, but do not start according to normal operation.

När alla flaggor i listan över rutiner under 10 utförande har nollställts, skicka då meddelande om att alla utvärderingsrutiner har stoppats till ECH-modulen 80.When all flags in the list of routines under 10 have been reset, then send a message that all evaluation routines have been stopped to the ECH module 80.

Vänta på begäran att återuppta normal drift från ECH-modulen 80.Wait for the request to resume normal operation from the ECH module 80.

När begäran om att återuppta normal drift mottas, 15 kopiera listan över funktioner som står på tur, och börja fungera enligt normal drift. 20 När begäran om. att stänga av alla utvärderingsrutiner mottas från modulen för hantering av diagnossystemet (DSM) 90 så gör DFS-kontrolleraren 32 enligt följande: Skicka begäran om avstängning till alla utvär- deringsrutiner. 25 Uppdatera listan över senast utvärderade data, listan över rutiner under utförande och listan över rutiner som har begärt att få utföras enligt samtliga signaler som har skickats till DF-tidsfördelningsfunktionen.When the request to resume normal operation is received, copy the list of functions in turn, and start operating according to normal operation. 20 When requesting. to turn off all evaluation routines received from the module for managing the diagnostic system (DSM) 90, the DFS controller 32 does the following: Send a request for shutdown to all evaluation routines. 25 Update the list of last evaluated data, the list of routines in progress and the list of routines that have been requested to be executed according to all signals that have been sent to the DF time allocation function.

När alla flaggor i listan över funktioner under 30 utförande och i stopplistan har nollställts, sänds ett svar till DSM-modulen 90 att alla utvärderingsrutiner har stängts av.When all flags in the list of functions under execution and in the stop list have been reset, a response is sent to the DSM module 90 that all evaluation routines have been turned off.

Vänta på allmän svarssignal från DSM-modulen 90 att starta diagnossystemet 10, innan man startar enligt normal 35 drift igen. Inga åtgärder under vänteperioden. 10 15 20 25 30 35 510 93132 17 Stopphanteraren 33 fungerar enbart vid mottagen begäran om start från DFS-kontrollfunktionen 32. Stopphanteraren 33 kontrollerar först listan över senast utvärderade data för att avgöra vilka utvärderingsrutiner som har genererat de senast utvärderade "fel"-datasignalerna. För de utvär- deringsrutiner som har genererat sådana signaler så kontrollerar avbrottshanteraren 33 tidsfördelningstabellen (fig. 3) för att avgöra vilka utvärderingsrutiner som skall stoppas p g a rapporterade fel. Stopphanteraren 33 noll- ställer de flaggor i listan över utvärderingsrutiner som står på tur, och som motsvarar de utvärderingsrutiner som skall stoppas. Vid slut så skickar stopphanteraren en "klarsignal" till DFS-kontrollfunktionen 32.Wait for the general response signal from the DSM module 90 to start the diagnostic system 10 before starting normal operation again. No action during the waiting period. 10 15 20 25 30 35 510 93132 17 The stop manager 33 only functions when a request for start is received from the DFS control function 32. The stop manager 33 first checks the list of last evaluated data to determine which evaluation routines have generated the last evaluated "error" data signals. For the evaluation routines that have generated such signals, the interrupt manager 33 checks the time distribution table (Fig. 3) to determine which evaluation routines are to be stopped due to reported errors. Stop Manager 33 resets the flags in the list of evaluation routines that are in line, and which correspond to the evaluation routines to be stopped. At the end, the stop handler sends a "ready signal" to the DFS control function 32.

Tidshanteraren 34 fungerar bara vid begäran om start från DFS-kontrollfunktionen 32. Vidare behöver tidshanteraren 34 information om hur mycket tid som har gått sedan start av motorn, vilken information den får från en timer som anger hur lång tid som har gått sedan motorstart.The time manager 34 only functions when the start request is requested from the DFS control function 32. Furthermore, the time manager 34 needs information on how much time has elapsed since the start of the engine, what information it receives from a timer indicating how long has elapsed since the engine started.

Tidshanteraren 34 kontrollerar först listan över rutiner som står på tur, för att avgöra vilka utvärderingsrutiner som skall stoppas p g a förfluten tid från motorstart. För varje flagga som är satt i listan över rutiner som står på tur, så kontrollerar tidshanteraren listan över senast utvärderade data för att avgöra om. motsvarande utvär- deringsrutin har senast utvärderade data som "fel" eller "icke-fel".The time manager 34 first checks the list of routines that are in line, to determine which evaluation routines are to be stopped due to elapsed time from engine start. For each flag that is placed in the list of routines that are next in line, the time manager checks the list of most recently evaluated data to decide if. The corresponding evaluation routine has the most recently evaluated data as "error" or "non-error".

Om senast utvärderade data anger "icke-fel" så kontrollerar tidshanteraren 34 om den timer som anger förfluten tid från motorstart har överstigit tiden vid fel i tidsfördelnings- tabellen.If the last evaluated data indicates "non-error", the time manager 34 checks whether the timer indicating the elapsed time from engine start has exceeded the time in the event of an error in the time distribution table.

Tidshanteraren 34 nollställer flaggorna i listan över rutiner som står på tur för utvärderingsrutinerna om timern 510 912 10 15 20 25 30 35 18 som anger förfluten tid för motorstart inte har överstigit tillåten tid.The time manager 34 resets the flags in the list of routines that are in line for the evaluation routines if the timer 510 912 10 15 20 25 30 35 18 which indicates the elapsed time for engine start has not exceeded the permitted time.

Vid slut så skickar tidshanteraren 34 en "färdig"-signal till DFS-kontrollfunktionen 32.At the end, the time manager 34 sends a "done" signal to the DFS control function 32.

Prioritetshanteraren 35 fungerar vid begäran om start från DFS-kontrollern 32. Prioritetshanteraren kontrollerar listan över rutiner som står på tur, för att se vilka utvärderingsrutiner son1skall hanteras. Utgående från denna lista, och tidsfördelningsfunktionstabellen så kan priori- tetshanteraren 35 avgöra vilken av de utvärderingsrutiner som. skall hanteras soul finns i samma prioritetsgrupp, utgående från prioritetsgrupp nr 1 i tidsfördelnings- tabellen (t ex X) (fig. 3). Prioritetshanteraren nollstäl- ler motsvarande flagga i listan över rutiner som står på tur, för de utvärderingsrutiner sonxhar lägre prioritetsni- vå än den utvärderingsrutin som skall hanteras, och som har den högsta prioritetsnivån inom prioritetsgruppen. När den första prioritetsgruppen har avslutats så fortsätter prioritetshanteraren 35 med prioritetsgrupp nr 2 (t ex Y), o s v tills alla prioritetsgrupper har kontrollerats.The priority manager 35 operates at the request for start-up from the DFS controller 32. The priority manager checks the list of routines that are in line, to see which evaluation routines should be handled. Based on this list, and the time distribution function table, the priority manager 35 can determine which of the evaluation routines. to be handled soul is in the same priority group, based on priority group no. 1 in the time distribution table (eg X) (fig. 3). The priority manager resets the corresponding flag in the list of routines that are in line, because the evaluation routines have a lower priority level than the evaluation routine to be managed, and which has the highest priority level within the priority group. When the first priority group has been completed, the priority manager 35 continues with priority group no. 2 (eg Y), etc. until all priority groups have been checked.

Om en utvärderingsrutin har tilldelats mer än en priori- tetsgrupp så hanteras den sonudel av varje prioritetsgrupp.If an evaluation routine has been assigned to more than one priority group, that zone portion is handled by each priority group.

Prioritetsnivån används då individuellt inom varje priori- tetsgrupp.The priority level is then used individually within each priority group.

Den normala driften hos DF-tidsfördelningsmodulen 30, m a o utan begäran om ECH eller DSM, förklaras nedan som ett flödesdiagram.The normal operation of the DF time distribution module 30, i.e. without request for ECH or DSM, is explained below as a flow chart.

Alla svar som utvärderingsrutinerna har stoppat, avbrutit, eller stängt av, och svar om att senast utvärderade datasignal har ändrats till eller från "fel" hanteras av 10 15 20 25 30 35 510 912 19 DF-tidsfördelningsfunktionens submoduler i en definierad ordning: 10 Vid svarssignal om att en utvärdering har avbrutits så kontrollerar DFS-kontrollfunktionen 32 motsva- rande flagga i avbrottslistan och listan över rutiner under utförande. Om flaggan inte är satt i avbrottslistan, och inte satt i listan över rutiner under utförande, så sätter DFS-kontrollfunktionen biten i avbrottslistan.All responses that the evaluation routines have stopped, aborted, or turned off, and responses that the most recently evaluated data signal has been changed to or from "errors" are handled by the submodules of the DF time allocation function in a defined order: 10 At response signal that an evaluation has been interrupted, the DFS control function 32 checks the corresponding flag in the interrupt list and the list of routines in progress. If the flag is not set in the interrupt list, and not in the list of routines in progress, the DFS control function puts the bit in the interrupt list.

Om biten är satt i avbrottslistan och inte satt i listan över rutiner under utförande så nollställer DFS-kontrollfunktionen biten i listan över rutiner under utförande.If the bit is set in the interrupt list and not in the list of routines in progress, the DFS control function resets the bit in the list of routines in progress.

Vid svarssignal som visar att en utvärdering har stoppats eller stängts av så nollställer DFS- kontrollfunktionen motsvarande flagga i stopplistan och listan över rutiner under utförande.In the event of a response signal indicating that an evaluation has been stopped or switched off, the DFS control function resets the corresponding flag in the stop list and the list of routines in progress.

Vid svar om att senast utvärdera data har ändrats till eller från "fel", så uppdaterar DFS-kontroll- funktionen listan över senast utvärderade data.In the event that a response to the last evaluated data has been changed to or from "error", the DFS control function updates the list of last evaluated data.

Vid någon av de ovanstående signalerna så adderar DFS-kontrollfunktionen 32 innehållet i stopplistan till innehållet i listan över rutiner under utfö- rande och lagrar resultatet i listan över rutiner som står på tur.At any of the above signals, the DFS control function 32 adds the contents of the stop list to the contents of the list of routines during execution and stores the result in the list of routines in turn.

DFS-kontrollfunktionen 32 startar sedan stopphante- raren 33.The DFS control function 32 then starts the stop handler 33.

Avbrottshanteraren 33 använder listan över rutiner som står på tur, listan på senast utvärderade data och tidsfördelningstabellen för att avgöra vilka utvärderingsrutiner som skall stoppas p g a senast utvärderade "fel"-data.The interrupt manager 33 uses the list of routines in line, the list of most recently evaluated data and the time allocation table to determine which evaluation routines to stop due to most recently evaluated "errors" data.

Avbrottshanteraren 33 nollställer de flaggor i listan över rutiner som står på tur, som svarar mot de utvärderingsrutiner som skall stoppas. 10 15 20 25 30 35 510 912 10. ll. 12. 13. 14. 15. 16. 20 Stopphanteraren upplyser DFS-kontrollfunktionen 32 när den är klar med det ovanstående.The interrupt manager 33 resets the flags in the list of routines that are in line, which correspond to the evaluation routines to be stopped. 10 15 20 25 30 35 510 912 10. ll. 12. 13. 14. 15. 16. 20 The stop manager illuminates the DFS control function 32 when it has completed the above.

DFS-kontrollfunktionen startar nu tidshanteraren 34.The DFS control function now starts the time manager 34.

Tidshanteraren använder listan över rutiner som står på tur, listan över senast utvärderade data och tidsfördelningstabellen för att avgöra vilka utvärderingsrutiner som skall stoppas p g a för- fluten tid från motorstart.The time manager uses the list of routines that are in line, the list of most recently evaluated data and the time distribution table to determine which evaluation routines are to be stopped due to elapsed time from engine start.

Tidshanteraren 34 nollställer de flaggor i listan över rutiner som står på tur som svarar mot de utvärderingsrutiner som skall stoppas.Time Manager 34 resets the flags in the list of routines that are in line that correspond to the evaluation routines to be stopped.

Tidshanteraren34informerarDFS-kontrollfunktionen 32 när den är färdig med det ovanstående.The time manager 34 informs the DFS control function 32 when it has completed the above.

Efter detta så start DFS-kontrollfunktionen 32 prioritetshanteraren 35.After this, start the DFS control function 32 the priority manager 35.

Prioritetshanteraren använder listan över rutiner som står på tur och tidsfördelningstabellen för att avgöra vilka utvärderingsrutiner som skall stoppas p g a prioritet mellan utvärderingsrutinerna.The priority manager uses the list of routines that are in line and the time allocation table to determine which evaluation routines to stop due to priority between the evaluation routines.

Prioritetshanteraren 35 nollställer de flaggor i listan över rutiner som står på tur som svarar mot de utvärderingsrutiner som skall stoppas.The priority manager 35 resets the flags in the list of routines that are in line that correspond to the evaluation routines to be stopped.

Prioritetshanteraren informerar DFS-kontrollfunk- tionen 32 när den har slutfört det ovanstående.The priority manager informs the DFS control function 32 when it has completed the above.

Listan över rutiner som står på tur visar nu vilka utvärderingsrutiner som bör vara igång vid denna tidpunkt (satta flaggor), och vilka rutiner som inte bör vara igång (nollställda flaggor).The list of routines that are in line now shows which evaluation routines should be running at this time (set flags), and which routines should not be running (reset flags).

DFS-kontrollfunktionen jämför denna lista med listan över de rutiner som är under utförande.The DFS control function compares this list with the list of routines that are being executed.

DFS-kontrollfunktionen 32 stoppbegäran till de utvärderingsrutiner som är Stopprutin: skickar igång, enligt listan över rutiner under utförande (satta flaggor), men vilka inte bör vara igång enligt listan över rutiner som står på tur (noll- 10 15 20 25 30 35 510 9.12 21 ställda flaggor), och sätter flaggorna i avbrott- slistan som indikation på att DF-tidsfördelnings- funktionen har begärt att dessa utvärderingsrutiner skall stoppas. 17. Startrutin: DFS-kontrollfunktionen startbegäran till var och en av de utvärderings- skickar en rutiner som bör vara igång, enligt listan över rutiner som står på tur, där varje utvärderings- rutin som bör vara igång associeras med en priori- tetsgrupp enligt den tidsfördelningstabell i vilken ingen annan utvärdering är igång, enligt listan över utvärderingsfunktioner sonlär under utförande.The DFS control function 32 stop request for the evaluation routines that are Stop routine: sends in progress, according to the list of routines under execution (set flags), but which should not be running according to the list of routines that are in line (zero 10 15 20 25 30 35 510 9.12 21 set flags), and puts the flags in the interrupt list as an indication that the DF time allocation function has requested that these evaluation routines be stopped. 17. Startup routine: The DFS control function starts request to each of the evaluators sends a routine that should be running, according to the list of routines that are in turn, where each evaluation routine that should be running is associated with a priority group according to the time distribution table in which no other evaluation is running, according to the list of evaluation functions sonlär is performing.

För varje startbegäran som. skickas sätter DFS- kontrollfunktionen motsvarande flagga.i listan över rutiner som är under utförande.For each start request as. sent, the DFS control function puts the corresponding flag in the list of routines that are being executed.

Detta är den normala driften för DFS-tidsfördelningsmodulen 300 Datainsamlingsmodulen 4Q Vid begäran från en DF-modul 20, 20', 20" att skapa DTC- data så är datainsamlingsmodulen 40 inrättad att utföra följande funktioner: Skapa en “freeze frame" (i fortsättningen benämnd FRZF) med DTC-specifika data.This is the normal operation of the DFS time allocation module 300 The data acquisition module 4Q At the request of a DF module 20, 20 ', 20 "to create DTC data, the data acquisition module 40 is set up to perform the following functions: Create a" freeze frame "(hereinafter designated FRZF) with DTC-specific data.

Kombinera FRZF med viss information för att bilda ett DTC-block.Combine FRZF with certain information to form a DTC block.

Skapa en utökad FRZF (mätning över tid) med DTC- specifika data.Create an extended FRZF (measurement over time) with DTC-specific data.

Skicka DTC-datat (DTC-blocket och utökade FRZF) till DTC-dataareamodulen 50.Send the DTC data (DTC block and extended FRZF) to the DTC data area module 50.

Företrädesvis kan datainsamlingsmodulen också fungera som intern färdskrivare vid begäran från ECH-modulen 80. 10 15 20 25 30 35 510 912 22 För att kunna uppfylla dessa krav behöver datainsamlingsmo- dulen 40 information angående de specifika parametrarna i var och en av de utvärderingsrutiner som utförs i DF- modulerna 20, 20', 20". Denna information finns i en FRZF- tabell och en tabell över utökat FRZF. Exempel på en FRZF- tabell och en tabell över utökad FRZF visas i fig. 5. Varje nummer i tabellen motsvarar en viss parameter.Preferably, the data collection module can also function as an internal tachograph at the request of the ECH module 80. In order to meet these requirements, the data collection module 40 needs information regarding the specific parameters in each of the evaluation routines performed. in the DF modules 20, 20 ', 20 ". This information can be found in a FRZF table and an extended FRZF table. Examples of a FRZF table and an extended FRZF table are shown in Fig. 5. Each number in the table corresponds to a certain parameter.

Som har nämnts ovan genererar datainsamlingsmodulen 40 ett DTC-block. Ett DTC-block är ett datablock som innehåller information i form av parametrar som avser driftförhållan- dena vid den tidpunkt som DTC genererades. Ett exempel på ett möjligt DTC-block visas i fig. 6. Sålunda består DTC- blocket av viss DTC-specifik information (DTC, senaste och första DTC-subkod och FRZF-fördröjningstid) ihop med FRZF och slutligen en pekare till den utökade FRZF.As mentioned above, the data acquisition module 40 generates a DTC block. A DTC block is a data block that contains information in the form of parameters that refer to the operating conditions at the time the DTC was generated. An example of a possible DTC block is shown in Fig. 6. Thus, the DTC block consists of some DTC-specific information (DTC, last and first DTC subcode and FRZF delay time) together with FRZF and finally a pointer to the extended FRZF .

För att kunna skapa en utökad FRZF som är en mätning över tiden av DTC-relevanta data så är datainsamlingsmodulen 40 utrustad med ett cirkulärminne i form av en roterande buffert. Som visas i fig. 7 betecknas den roterande bufferten allmänt med hänvisningssiffran 110 och är utförd i form av en trumma 110 som har indelats i, i det visade exemplet, fyra olika tidsbaser 112, 113, 114 respektive 115.In order to be able to create an extended FRZF which is a measurement over time of DTC-relevant data, the data collection module 40 is equipped with a circular memory in the form of a rotating buffer. As shown in Fig. 7, the rotating buffer is generally designated by the reference numeral 110 and is formed in the form of a drum 110 which has been divided into, in the example shown, four different time bases 112, 113, 114 and 115, respectively.

Ett exempel på en utökad “freeze frame" visas i fig. 8. En global dataarea betecknad med referenssiffran 120 i fig. 1 är belägen utanför diagnossystemet 10 i systemdelen för motordrift.i motordriftmodulen, och innehåller gällande in- formation på värdena för alla parametrar för alla. ut- värderingsrutiner. Varje parameter identifieras med ett unikt identifikationsnummer i den globala dataarean 120 och allokeras till en av tidsbaserna 112, 113, 114, 115. Den roterande bufferten 110 uppdateras varje gång någon tidsbas går ut, med parametervärden som är associerade med den 10 15 20 25 30 35 510 912 23 tidsbas som har gått ut, och som kopieras från den globala dataarean 120, och dessa parametrar lagras i sin respektive tidsbas. En pekare 116, 117, 118, 119 vilken indikerar det senaste samplet som skall kopieras över, är placerad framför det senaste samplet i varje tidsbas. När en tidsbas i den roterande bufferten 110 blir full, skrivs det äldsta samplet i den tidsbasen över. På så vis bildar den roteran- de bufferten ett cirkulärminne med ett flertal tidsbaser, var och en med samma minnesdjup, men med specifikt tids- djup.An example of an extended "freeze frame" is shown in Fig. 8. A global data area denoted by the reference numeral 120 in Fig. 1 is located outside the diagnostic system 10 in the engine operating system part of the engine operating module, and contains current information on the values for all parameters. Each parameter is identified by a unique identification number in the global data area 120 and allocated to one of the time bases 112, 113, 114, 115. The rotating buffer 110 is updated each time a time base expires, with parameter values associated with the expired time base, which is copied from the global data area 120, and these parameters are stored in their respective time base. A pointer 116, 117, 118, 119 which indicates the most recent sample as to be copied over, is placed in front of the last sample in each time base.When a time base in the rotating buffer 110 becomes full, the oldest sample in that time base is overwritten. the rotating buffer is a circular memory with several time bases, each with the same memory depth, but with specific time depth.

För att kunna generera DTC-data som sedermera kommer att skickas vidare till DTD-dataareamodulen 50, och för att hantera signaler (begäran) som.skickas från ECH-modulen, är funktionen hos datainsamlingsmodulen 40 indelad :i sub- moduler, m a o ett DC-gränssnitt 41, en DC-kontroller 42, en FRZF-insamlare 43, utökad FRZF-insamlare 44 och en buf- ferthanterare 45.In order to be able to generate DTC data which will later be forwarded to the DTD data area module 50, and to handle signals (requests) sent from the ECH module, the function of the data acquisition module 40 is divided into: sub-modules, i.e. a DC interface 41, a DC controller 42, an FRZF collector 43, an extended FRZF collector 44 and a buffer manager 45.

Alla signaler som skickas från DF-modulerna 20, 20', 20" och ECH-modulen 80, till datainsamlingsmodulen 40 identifi- eras av DC-gränssnittet 41, och överförs till de korrekta datainsamlingssubmodulerna. Alla signaler som skickas från datainsamlingssubmodulerna till DTC-dataareamodulen 50 och ECH-modulen 80 överförs via DC-gränssnittet 41.All signals sent from the DF modules 20, 20 ', 20 "and the ECH module 80 to the data acquisition module 40 are identified by the DC interface 41, and transmitted to the correct data acquisition sub-modules. All signals sent from the data acquisition sub-modules to the DTC data area module 50 and the ECH module 80 are transmitted via the DC interface 41.

Vid mottagen begäran från en DF-modul 20, 20', 20" att skapa DTC-data, begär DC-kontrollern 42 att FRZF-insamlaren 43 skall skapa en FRZF. När denna begäran mottages kontrol- lerar FRZF-insamlaren 43 FRZF-tabellen (fig. 5), för att avgöra vilka parametrar som är specifika för denna DTC som skall kopieras över från den globala dataarean 120. FRZF- insamlaren kopierar därefter parametrarna från den globala dataarean och placerar dem i den ordning som är specifice- rad i FRZF-tabellen. När detta är utfört informerar FRZF- insamlaren DC-kontrollen 42 om att en FRZF har skapats. 10 15 20 25 30 35 510 912 24 När FRZF-insamlaren 43 har informerat DC-kontrollern 42 om att FRZF har skapats begär DC-kontrollern att den utökade FRZF-insamlaren 44 skall skapa en utökad FRZF.Upon receiving a request from a DF module 20, 20 ', 20 "to create DTC data, the DC controller 42 requests that the FRZF collector 43 create a FRZF. When this request is received, the FRZF collector 43 checks the FRZF table (Fig. 5), to determine which parameters are specific to this DTC to be copied from the global data area 120. The FRZF collector then copies the parameters from the global data area and places them in the order specified in the FRZF When this is done, the FRZF collector informs the DC controller 42 that a FRZF has been created.10 15 20 25 30 35 510 912 24 Once the FRZF collector 43 has informed the DC controller 42 that the FRZF has been created, the DC the controller that the extended FRZF collector 44 should create an extended FRZF.

När denna begäran mottages gör den utökade FRZF-insamlaren 44 följande: Stoppar den roterande bufferten genom att sända en stoppbegäran till bufferthanteraren 45.When this request is received, the extended FRZF collector 44 does the following: Stops the rotating buffer by sending a stop request to the buffer manager 45.

Skapar en tom utökad FRZF av rätt storlek där den tomma utökade FRZF inkluderar parameteridentifikationsnum- mer som specificeras av tabellen över utökat FRZF.Creates an empty extended FRZF of the correct size where the empty extended FRZF includes parameter identification numbers specified by the table of extended FRZF.

Vid mottagen bekräftelse på att den roterande bufferten har stoppats, kopiera över alla parametervärden som svarar mot identifikationsnumrena i den utökade FRZF som matchar identifikationsnumrerna som specificeras i den roterande bufferttabellen från den roterande bufferten.Upon receipt of confirmation that the rotating buffer has been stopped, copy over all parameter values corresponding to the identification numbers in the extended FRZF that match the identification numbers specified in the rotating buffer table from the rotating buffer.

Starta den roterande bufferten genom att skicka en startbegäran till bufferthanteraren 45.Start the rotating buffer by sending a start request to the buffer manager 45.

Skicka ett svar till DC-kontrollen 42 om att utökad FRZF har skapats.Send a response to DC control 42 that extended FRZF has been created.

Genom att använda bl a information som finns i FRZF och i den utökade FRZF skapar DC-kontrollern 42 DTC-data i form av ett DTC-block (se fig. 6) som har modifierats för att ta hänsyn till den utökade FRZF.Using, among other things, information contained in the FRZF and in the extended FRZF, the DC controller 42 creates DTC data in the form of a DTC block (see Fig. 6) which has been modified to take into account the extended FRZF.

När DTC-datat väl har skapats skickar DC-kontrollern 42 en begäran till DTC-dataareamodulen 50 om.att spara DTC-datat.Once the DTC data has been created, the DC controller 42 sends a request to the DTC data area module 50 to save the DTC data.

När denna begäran har skickats väntar DC-kontrollern 42 på bekräftelse från DTC-dataareamodulen att DTC-data har sparats innan den utför någon ny begäran om att skapa DTC- data.Once this request has been sent, the DC controller 42 waits for confirmation from the DTC data area module that DTC data has been saved before executing any new request to create DTC data.

DTC-dataareamodulen 50 10 15 20 25 30 35 51Û 912 25 DTC-dataareamodulen 50 är indelad i fyra submoduler, ett DA-gränssnitt 51, en DTC-blockarea 52, en area för utökat FRZF 53 och en DA-kontroller 54.The DTC data area module 50 10 15 20 25 30 35 51Û 912 The DTC data area module 50 is divided into four submodules, a DA interface 51, a DTC block area 52, an extended FRZF area 53 and a DA controller 54.

Alla signaler som skickas till DTC-dataareamodulen 50 från ECH-modulen 80, datainsamlingsmodulen 40, valideringsanord- ningen 60 och DF-modulerna 20, 20', 20" identifieras av DA-gränssnittet 51 och överförs till korrekt DTC-dataarea- submodul. Alla signaler som skickas från DTC-dataareasub- modulerna till valideringsanordningen 60 och datainsam- lingsmodulen 60 överförs via DA-gränssnittet 51.All signals sent to the DTC data area module 50 from the ECH module 80, the data acquisition module 40, the validator 60 and the DF modules 20, 20 ', 20 "are identified by the DA interface 51 and transmitted to the correct DTC data area submodule. All signals sent from the DTC data area sub-modules to the validator 60 and the data acquisition module 60 are transmitted via the DA interface 51.

DTC-blockarean 52 används för att lagra DTC-blocken.The DTC block area 52 is used to store the DTC blocks.

Antalet DTC-block som kan lagras i denna area varierar från tillämpning till tillämpning, men ett typiskt antal är 10.The number of DTC blocks that can be stored in this area varies from application to application, but a typical number is 10.

DTC-blockarena 52 klarar alltid av att lagra ett förutbe- stämt maximalt antal DTC-block plus ett. Sistnämnda ytterligare block utgör en temporär area som används för att buffra inkommande data från datainsamlingsmodulen 40.The DTC block arenas 52 are always capable of storing a predetermined maximum number of DTC blocks plus one. The latter additional block constitutes a temporary area used to buffer incoming data from the data acquisition module 40.

DTC-blockarean 52 använder en "frilista" för' att hålla ordning på de fria DTC-blocken, och en tillfällig pekare för att hålla ordning på den tillfälliga arean.The DTC block area 52 uses a "free list" to keep track of the free DTC blocks, and a temporary pointer to keep track of the temporary area.

Arean 53 för utökade FRZF används för att lagra de utökade FRZF. Den utökade FRZF-arean 53 kan alltid lagra ett förutbestämt maximalt antal FRZF plus ett. Sistnämnda ytterligare ett utgör en tillfällig area som används för att buffra inkommande data från datainsamlingsmodulen 40.The extended FRZF area 53 is used to store the extended FRZF. The extended FRZF area 53 can always store a predetermined maximum number of FRZF plus one. The latter further constitutes a temporary area used to buffer incoming data from the data acquisition module 40.

Den utökade FRZF-arean 53 använder en "frilista" för att hålla ordning på de fria utökade FRZF och en tillfällig pekare för att hålla ordning på den tillfälliga arean.The extended FRZF area 53 uses a "free list" to keep track of the free extended FRZFs and a temporary pointer to keep track of the temporary area.

DA-kontrollern 54 kontrollerar DTC-blocket 52 och den utökade FRZF-arean 53. Den mottager ett DTC-block en utökad FRZF via DA-gränssnittet från datainsamlingsmodulen 40 och 10 15 20 25 30 35 510 912 26 DTC-blocket och den utökade FRZF sparas i tillämpbara dataareor.The DA controller 54 controls the DTC block 52 and the extended FRZF area 53. It receives a DTC block an extended FRZF via the DA interface from the data acquisition module 40 and the DTC block and the extended FRZF saved in applicable data areas.

När DA-kontrollern 54 mottager en begäran från datainsam- lingsmodulen 40 om att spara DTC-data sparar DA-kontrollern DTC-blocket och tillhörande FRZF, och när detta är klart informerar den valideringsmodulen 60 om att ett icke validerat DTC-block har lagrats, och väntar på bekräftelse eller någon begäran från valideringsanordningen. Om valideringsanordningen skickar bekräftelse informerar DA- kontrollen datainsamlingsmodulen 40 om att DTC-data har lagrats.When the DA controller 54 receives a request from the data acquisition module 40 to save DTC data, the DA controller saves the DTC block and associated FRZF, and when this is done, it informs the validation module 60 that a non-validated DTC block has been stored. and awaiting confirmation or any request from the validator. If the validator sends confirmation, the DA control informs the data acquisition module 40 that DTC data has been stored.

Om den tillhörande DF-modulen skickar en bekräftelse informerar DA-kontrollern datainsamlingsmodulen 40 om att DTC-data har lagrats.If the associated DF module sends an acknowledgment, the DA controller informs the data acquisition module 40 that DTC data has been stored.

Vid begäran från valideringsmodulen 60 om att ändra status hos ett DTC-block från ickevaliderat till validerat eller att radera ett ickevaliderat eller validerat DTC-block, utför DA-kontrollern 54 detta, och informerar tillhörande DF-modul onx ett validerat DTC-block har raderats, och väntar på bekräftelse eller annan begäran från den till- hörande DF-modulen.Upon request from the validation module 60 to change the status of a DTC block from non-validated to validated or to delete a non-validated or validated DTC block, the DA controller 54 performs this, and informs the associated DF module that a validated DTC block has been deleted , and awaits confirmation or other request from the associated DF module.

Vid begäran från en DF-modul om att ändra status på ett DTC-block från giltigt till lagrat, eller om att radera ett giltigt eller lagrat DTC-block, utför DA-kontrollern detta och upplyser valideringsmodulen 60 om att ett giltigt eller lagrat DTC-block har lagrats eller raderats.Upon request from a DF module to change the status of a DTC block from valid to stored, or to delete a valid or stored DTC block, the DA controller performs this and informs the validation module 60 that a valid or stored DTC block blocks have been stored or deleted.

Om efter det att bekräftelse på att DTC-data har sparats, det tillgängliga utrymmet inte räcker för nästa DTC-block, m a o att det inte finns någon tillfällig area fri raderar DA-kontrollen 54 det DTC-block och tillhörande utökade FRZF som har lägts prioritet och informerar valideringsmodulen 10 15 20 25 30 35 510 91.2 27 60 och tillhörande DF-modul 20, 20', 20" om vilket DTC- block som har raderats. Onldet tillgängliga utrymmet enbart är otillräckligt för nästa utökade FRZF raderar DA-kontrol- lern den utökade FRZF som har lägst prioritet och raderar ut länken mellan det raderade utökade FRZF och dess tillhörande DTC-block, men skickar inte ut någon informa- tion om detta.If after confirmation that DTC data has been saved, the available space is not enough for the next DTC block, i.e. that there is no temporary area free, the DA control 54 deletes the DTC block and associated extended FRZF that has been given priority and informs the validation module 10 15 20 25 30 35 510 91.2 27 60 and associated DF module 20, 20 ', 20 "about which DTC block has been deleted. The space available alone is insufficient for the next extended FRZF deletes the DA controller the extended FRZF which has the lowest priority and deletes the link between the deleted extended FRZF and its associated DTC block, but does not send out any information about this.

Vid begäran från ECH-modulen 80 om att radera alla DTC raderar DA-kontrollern 54 alla DTC-block och för varje DTC- block som raderas upplyser den valideringsanordningen 60 och tillhörande DF-modul. valideringsmodulen 50 Syftet med valideringsmodulen 60 är att fastslå ursprungs- orsaken till ett fel. M a o kan det inträffa att t ex fyra DTC-block.med utökade FRZF genereras av datainsamlingsmodu- len 40 trots att endast ett av DTC-blocken är det som har ett fel. Detta beror på att felet lurar de andra påverkade utvärderingsrutinerna så att felaktigt genererade "felsig- naler" skickas från de påverkade DF-modulerna till datain- samlingsmodulen 40. Valideringsanordnignen undersöker därför vart och ett av de fyra DTC-blocken (med tillhörande FRZF) för att fastslå i vilken komponent eller system det egentliga felet finns.Upon request from the ECH module 80 to delete all DTCs, the DA controller 54 deletes all DTC blocks and for each DTC block that is deleted, it informs the validation device 60 and associated DF module. validation module 50 The purpose of the validation module 60 is to determine the root cause of an error. In other words, it may happen that, for example, four DTC blocks with extended FRZF are generated by the data collection module 40 even though only one of the DTC blocks is the one that has an error. This is because the error tricks the other affected evaluation routines so that incorrectly generated "error signals" are sent from the affected DF modules to the data acquisition module 40. The validation device therefore examines each of the four DTC blocks (with associated FRZF) for to determine in which component or system the actual fault is located.

På så vis, när valideringsmodulen 60 informeras av DTC- dataareamodulen 50 om att det finns ett sparat DTC-block, gör valideringsanordningen upp en checklista som.innehå1ler alla möjliga utvärderingsrutiner för ursprungsfel som1nåste utföras och rapporteras med data kontrollerat som “ickefel" innan man validerar rätt DTC, m a o att man pekar ut det DTC-block som är ursprungsorsaken till felet. Innehållet i valideringschecklistan sparas när tändningen stängs av, m a o är valideringen oberoende av om tändningen är på eller av. 10 15 20 25 30 510 912 28 Setup-listor för valideringsanordningen används för att göra upp och initiera checklistor. Varje setup-lista anger vilken DTC som skall valideras och anger vilka utvär- deringsrutiner som måste kontrolleras, innan man validerar den DTC som skall valideras. En valideringssetup-lista och motsvarande valideringschecklista visas i fig. 9.Thus, when the validation module 60 is informed by the DTC data area module 50 that there is a saved DTC block, the validation device compiles a checklist which contains all possible evaluation procedures for original errors which are next performed and reported with data checked as "non-errors" before validating the correct DTC, ie that you point out the DTC block that is the original cause of the error.The contents of the validation checklist are saved when the ignition is switched off, ie the validation is independent of whether the ignition is on or off 10 15 20 25 30 510 912 28 Setup lists each setup list indicates which DTC is to be validated and indicates which evaluation routines must be checked before validating the DTC to be validated.A validation setup list and the corresponding validation checklist are shown in fig. 9.

En checklista görs upp enligt sin setup-lista på följande vis.A checklist is compiled according to its setup list in the following way.

När valideringsmodulen 60 informeras av DTC-dataareamodulen 50 att ett DTC-block har sparats letar valideringsmodulen igenom setup-listorna efter en DTC att validera som motsvarar DTC i DTC-blocket. Om DTC inte hittas i någon av positionerna för DTC som skall valideras i någon av setup- listorna validerar valideringsanordningen omedelbart DTC- blocket genom att begära att DTC-dataareamodulen 50 ändrar status på DTC-blocket från ickevaliderat till validerat.When the validation module 60 is informed by the DTC data area module 50 that a DTC block has been saved, the validation module searches through the setup lists for a DTC to validate that corresponds to the DTC in the DTC block. If DTC is not found in any of the DTC positions to be validated in any of the setup lists, the validator immediately validates the DTC block by requesting that the DTC data area module 50 change the status of the DTC block from non-validated to validated.

Om DTC hittas så används den valideringssetup-lista som innehåller den matchande DTC som skall valideras för att göra upp en valideringschecklista som är specifik för denna DTC. Checklistan innefattar följande saker: En startetikett som anger vilken DTC som valideras (detta länkar checklistan till sin setup-lista).If DTC is found, the validation setup list containing the matching DTC to be validated is used to compile a validation checklist specific to that DTC. The checklist includes the following: A start label indicating which DTC is being validated (this links the checklist to its setup list).

En tidsstämpel (förfluten realtid som har lästs in från den globala dataarean 120).A timestamp (past real time that has been loaded from the global data area 120).

Flaggor som anger statusen hos varje utvärdering som skall kollas i valideringssetup-listan, där en flagga sätts vid kontrollerat ickefel och nollställs så länge som kontrollerat ickefel inte har rapporterats. Utvärderingen som skall kollas som är länkad till varje flagga definieras i setup-listan. 10 15 20 25 30 35 510 912 29 En valideringssetup-lista som har en valideringschecklista länkad till sig kallas nedan en aktiv valideringssetup- lista.Flags indicating the status of each evaluation to be checked in the validation setup list, where a flag is set at checked non-error and reset as long as checked non-error has not been reported. The evaluation to be checked that is linked to each flag is defined in the setup list. 10 15 20 25 30 35 510 912 29 A validation setup list that has a validation checklist linked to it is hereinafter referred to as an active validation setup list.

Valideringschecklistorna uppdateras enbart när begäran om detta sänds från DSM-modulen 90 vid slutet av varje driftsperiod. Vid uppdateringsproceduren begär valide- ringsmodulen kontrollerade data från varje DF-modul 20, 20', 20", definierat enligt den aktiva valideringssetup- listan. Varje DF-modul svarar med sitt rådande kontrollera- de datatillstând, m.ac>ickekontrollerat, kontrollerat fel, eller kontrollerat ickefel. Svaret "kontrollerat ickefel" sätter en motsvarande flagga. i valideringschecklistan.The validation checklists are updated only when the request for this is sent from the DSM module 90 at the end of each operating period. During the update procedure, the validation module requests checked data from each DF module 20, 20 ', 20 ", defined according to the active validation setup list. Each DF module responds with its current checked data state, m.ac> unchecked, checked error , or checked non-error The answer "checked non-error" puts a corresponding flag in the validation checklist.

Svaren ickekontrollerat och kontrollerat fel nollställer motsvarande flagga i checklistan orden "ickekontrollerat" och "kontrollerat fel".The answers unchecked and checked error resets the corresponding flag in the checklist the words "unchecked" and "checked error".

När alla flaggorna i valideringschecklistan har satts anses det DTC-block som hör ihop med DTC som skall valideras ha validerats, och valideringsmodulen 60 skickar en signal till DTC-dataareamodulen med begäran om byte av DTC- blocksstatus från ickevaliderat till validerat. DTC- dataareamodulen 50 ändrar statusen och skickar sedan en signal till den tillämpliga DF-modulen att status hos ett DTC-block har ändrats till validerat.Once all the flags in the validation checklist have been set, the DTC block associated with the DTC to be validated is considered validated, and the validation module 60 sends a signal to the DTC data area module requesting to change the DTC block status from non-validated to validated. The DTC data area module 50 changes the status and then sends a signal to the applicable DF module that the status of a DTC block has changed to validated.

Som visas i fig. 10, när valideringsmodulen 60 mottager en andra signal om att ett ickevaliderat DTC-block har sparats (checklista A) från DTC-dataareamodulen som motsvarar en utvärdering som skall kollas i en aktiv valideringssetup- lista med motsvarande valideringschecklista (checklista B) anses det DTC-block som genererade den aktiva validerings- checklistan inte vara ursprungsorsaken. Sådana DTC-block och valideringschecklistor (checklista B) raderas därför.As shown in Fig. 10, when the validation module 60 receives a second signal that a non-validated DTC block has been saved (checklist A) from the DTC data area module corresponding to an evaluation to be checked in an active validation setup list with the corresponding validation checklist (checklist B ), the DTC block that generated the active validation checklist is not considered to be the source of origin. Such DTC blocks and validation checklists (checklist B) are therefore deleted.

Detta åstadkoms genom att skicka en signal till DTC- dataareamodulen med begäran om att det DTC-block som avser 10 15 20 25 30 35 510 912 30 startetikettten:ivalideringschecklistan skall raderas. Vid bekräftelse på att DTC-blocket har raderats raderas valide- ringsanordningen tillhörande valideringschecklista. En ny valideringschecklista görs upp för det andra DTC-blocket som orsakade detta.This is accomplished by sending a signal to the DTC data area module requesting that the DTC block relating to the start label: the validation checklist be deleted. Upon confirmation that the DTC block has been deleted, the validation device associated with the validation checklist is deleted. A new validation checklist is created for the second DTC block that caused this.

När valideringsmodulen 60 nwttager en signal från DTC- dataareamodulen 50 att status hos ett DTC-block har ändrats från validerat till lagrat raderas motsvarande validerings- checklista.When the validation module 60 receives a signal from the DTC data area module 50 that the status of a DTC block has changed from validated to stored, the corresponding validation checklist is deleted.

För att se till att informationen i valideringsmodulen 60 är relevant inplementeras en nollställningsfunktion för valideringschecklistan. Nollställningsfunktionen nollstäl- ler alla flaggorna när valideringschecklistan är äldre än en viss förutbestämd tidsperiod, t ex minst 168 tim. Övergripande normal drift hos diaqnossvstemet 10 när inget fel föreligger Den allmänna normala driften för de olika utvärderingarna med ett korrekt system (m a o inget fel) beskrivs nedan: Vid signal från DSM-modulen 90 om att starta diagnossyste- met kommer varje DF-modul, så snart som driftvillkoren för att utföra utvärdering föreligger, att skicka information om att dess utvärdering har stoppats p g a prioritet, till DF-tidsfördelningsmodulen 30.To ensure that the information in the validation module 60 is relevant, a reset function for the validation checklist is implemented. The reset function resets all flags when the validation checklist is older than a certain predetermined time period, eg at least 168 hours. Overall normal operation of the diagnostic system 10 when there is no fault The general normal operation of the various evaluations with a correct system (ie no fault) is described below: When the DSM module 90 signals to start the diagnostic system, each DF module arrives, so as soon as the operating conditions for performing evaluation are available, to send information that its evaluation has been stopped due to priority, to the DF time allocation module 30.

När DF-tidsfördelningsmodulen mottager denna information upprättar den en prioritetsordning för de utvärderingar som har stoppats p g a prioritet utöver de utvärderingar som utförs för närvarande (inga hittills i det skildrade scenariot) och skickar startsignaler till motsvarande DF- moduler som innehåller utvärderingar sonxhar fått tillstånd att utföras. 10 15 20 25 30 35 510 912 31 De DF-moduler som får startsignaler från DF-tidsfördel- ningsmodulen kommer nu att utföra sina utvärderingar och därigenoulproducera utvärderade data. Det utvärderade datat används för att fastställa om det föreligger ett fel eller inte i den kontrollerade komponenten/delsystemet och också för att avgöra om DTC-data skall skapas eller inte.When the DF time allocation module receives this information, it establishes a priority order for the evaluations that have been stopped due to priority in addition to the evaluations currently performed (none so far in the scenario described) and sends start signals to corresponding DF modules containing evaluations sonx has been authorized to perform . 10 15 20 25 30 35 510 912 31 The DF modules that receive start signals from the DF time distribution module will now perform their evaluations and thereby produce evaluated data. The evaluated data is used to determine whether or not there is a fault in the controlled component / subsystem and also to determine whether or not to create DTC data.

Om. en utvärderingsrutin avbryts p g a förändringar i driftsförhållandena (t ex motorhastighet) eller avslutas för resten av driftsperioden, skickar motsvarande DF-modul en signal till DF-tidsfördelningsmodulen om att utvär- deringen har stoppats.If. an evaluation routine is interrupted due to changes in operating conditions (eg engine speed) or terminated for the rest of the operating period, the corresponding DF module sends a signal to the DF time allocation module that the evaluation has been stopped.

När DF-tidsfördelningsmodulen mottager en signal om att en utvärdering har stoppats upprättar DF-tidsfördelnings- modulen en prioritetsordning för de utvärderingar som har stoppats p g a prioritet utöver de utvärderingar som fortfarande utförs och om tillstånd föreligger skickar den startsignaler till de tillhörande DF-modulerna vilka in- nehåller utvärderingar som nu inte längre bör stoppas p g a prioritet. Detta upprepas tills dess att DSM-modulen 90 skickar en begäran om att stänga av alla utvärderingar, m a o att stoppa diagnossystemet.When the DF time allocation module receives a signal that an evaluation has been stopped, the DF time allocation module establishes a priority order for the evaluations that have been stopped due to priority in addition to the evaluations that are still performed and if permission exists, it sends start signals to the associated DF modules. - contains evaluations that should now no longer be stopped due to priority. This is repeated until the DSM module 90 sends a request to turn off all evaluations, i.e. to stop the diagnostic system.

Detta var den övergripande normala driften för diagnossys- temet när inget fel föreligger.This was the overall normal operation of the diagnostic system when there was no fault.

Allmän normal drift när det föreligger ett eller flera fel i diagnossystemet Den allmänna normala driften för att avbryta påverkade utvärderingar och för att lagra rätt DTC (ihop med tändning av MIL) i diagnossystmet 10 när det föreligger ett eller flera fel beskrivs nedan: 10 15 20 25 30 35 510 912 32 Om en utvärderingsrutin i en DF-modul detekterar ett fel och genererar utvärderat data som "fel" under den allmänna driften som har beskrivits ovan när fel inte föreligger, skickar den berörda DF-modulen det senast utvärderade datat som "fel" till DF-tidsfördelningsmodulen 30.General normal operation when there is one or more faults in the diagnostic system The general normal operation to interrupt affected evaluations and to store the correct DTC (together with the ignition of the MIL) in the diagnostic system 10 when there is one or more faults is described below: 25 30 35 510 912 32 If an evaluation routine in a DF module detects an error and generates evaluated data as "errors" during the general operation described above when no errors exist, the affected DF module sends the last evaluated data as " error "to the DF time allocation module 30.

När DF-tidsfördelningsmodulen mottager ett senast ut- värderat data som "fel" avbryter den först de utvärderingar som påverkas av detta fel, och upprättar sedan en priori- tetsordning mellan de återstående utvärderingarna som inte påverkas av felet, m a o de utvärderingar som har avbrutits p g a prioritet samt de utvärderingar som fortfarande är under utförande.When the DF time allocation module receives a last evaluated data as "error", it first interrupts the evaluations that are affected by this error, and then establishes a priority order between the remaining evaluations that are not affected by the error, ie the evaluations that have been interrupted due to priority and the evaluations that are still being carried out.

Om en annan utvärdering mottager senast utvärderad data som "fel" avbryter DF-tidsfördelningsmodulen 30 de utvärde- ringar som påverkas av denna utvärdering, och så vidare för varje utvärdering som rapporterar ett senast utvärderat data som "fel".If another evaluation receives the last evaluated data as "error", the DF time allocation module 30 interrupts the evaluations affected by this evaluation, and so on for each evaluation that reports a last evaluated data as "error".

När en specifik filtrering av det utvärderade datat som "fel" har genomförts sätts det kontrollerade datat till "fel" i den motsvarande DF-modulen för återstoden av driftsperioden. Omedelbart när det kontrollerade datat har satts till "fel" skickar den nwtsvarande DF-modulen en begäran om att skapa DTC-data till datainsamlingsmodulen 40.When a specific filtering of the evaluated data as "error" has been performed, the checked data is set to "error" in the corresponding DF module for the remainder of the operating period. As soon as the checked data has been set to "error", the corresponding DF module sends a request to create DTC data to the data acquisition module 40.

Vid begäran om att skapa DTC-data skapar datainsamlingsmo- dulen 40 ett DTC-block ihop med ett utökat FRZF, och när detta genomförts skickar den en begäran om att spara detta DTC-data (med status “ickevaliderat") till DTC-dataareamo- dulen 50.Upon request to create DTC data, the data acquisition module 40 creates a DTC block together with an extended FRZF, and when done, it sends a request to save this DTC data (with the status "not validated") to the DTC data area dulen 50.

Vid begäran om att spara DTC-data sparar DTC-dataareamodu- len DTC-blocket ihop med det utökade FRZF, och när detta är 10 15 20 25 30 35 510 912 33 gjort skickar den information till valideringsmodulen 60 att ett ickevaliderat DTC-block har lagrats, och skickar sedan meddelande om att DTC-blocket har sparats till datainsamlingsmodulen 40.Upon requesting to save DTC data, the DTC data area module saves the DTC block together with the extended FRZF, and when this is done, it sends information to the validation module 60 that a non-validated DTC block has stored, and then sends a message that the DTC block has been saved to the data acquisition module 40.

När valideringsmodulen 60 mottager informationen angående det sparade DTC-blocket från DTC-dataareamodulen 50 gör den upp en valideringschecklista som innehåller alla de utvärderingar som vid begäran behöver svara att de har sina kontrollerade data som ickefel till valideringsmodulen innan valideringsmodulen avgör att DTC-blocket är valide- rat.When the validation module 60 receives the information about the saved DTC block from the DTC data area module 50, it compiles a validation checklist containing all the evaluations that need to answer on request that they have their checked data as non-valid for the validation module before the validation module determines that the DTC block is valid. - rat.

Valideringschecklistan uppdateras vid slutet av varje driftsperiod vid en begäran som sänds från DSM-modulen.The validation checklist is updated at the end of each operating period on a request sent from the DSM module.

När checklistan är klar och man har avgjort att DTC-blocket är'validerat.validerar valideringsmodulen.det ickevalidera- de DTC-blocket genom att skicka en begäran om att ändra DTC-blockets status från ickevaliderat till validerat till DTC-dataareamodulen 50.When the checklist is complete and it has been determined that the DTC block is 'validated', the validation module validates the non-validated DTC block by sending a request to change the status of the DTC block from non-validated to validated to the DTC data area module 50.

Vid begäran från valideringsmodulen 60 om att ändra DTC- blockets status från ickevaliderat till validerat ändrar DTC-dataareamodulen 50 DTC-blockets status från ickevalide- rat till validerat och när detta är gjort skickar den information om att DTC-blocket är validerat till motsvaran- de DF-modul.Upon request from the validation module 60 to change the status of the DTC block from non-validated to validated, the DTC data area module 50 changes the status of the DTC block from non-validated to validated and when this is done it sends information that the DTC block has been validated accordingly DF module.

När DF-modulen mottager informationen att ett motsvarande DTC-block har statusen "validerat", initierar och genomför DF-modulen en process för att lagra DTC och när detta är gjort skickar den en begäran om att ändra DTC-blockets status från validerat till lagrat till DTC-dataareamodulen 50. 10 15 20 25 30 35 510 912 34 När DTC-dataareamodulen mottager begäran om att ändra DTC- blockets status frân Validerad till lagrad från motsvarande DF-modul så ändrar DTC-dataareamodulen DTC-blockets status från validerat till lagrat, och skickar sedan till valide- ringsmodulen 60 en informationssignal om att DTC-blocket har ändrat status.When the DF module receives the information that a corresponding DTC block has the status "validated", the DF module initiates and executes a process for storing the DTC and when this is done it sends a request to change the status of the DTC block from validated to stored to the DTC data area module 50. 10 15 20 25 30 35 510 912 34 When the DTC data area module receives the request to change the status of the DTC block from Validated to stored from the corresponding DF module, the DTC data area module changes the status of the DTC block from validated to stored , and then sends to the validation module 60 an information signal that the DTC block has changed status.

När valideringsmodulenxmottager information om att ett DTC- block har ändrat status till lagrad raderar den den motsva- rande checklistan.When the validation modulex receives information that a DTC block has changed status to stored, it deletes the corresponding checklist.

När DF-modulen mottager informationen om att det motsvaran- de DTC-blocket har statusen "lagrad" i DTC-dataareamodulen kommer den i tillämpbara fall att skicka en begäran till MIL-hanteringsmodulen 70 om att tända MIL.When the DF module receives the information that the corresponding DTC block has the status "stored" in the DTC data area module, it will, where applicable, send a request to the MIL management module 70 to turn on the MIL.

När MIL-hanteringsmodulen.mottager begäran om att tända MIL från DF-modulen tänder den MIL.When the MIL management module receives the request to turn on MIL from the DF module, it turns on MIL.

Det ovan beskrivna skapandet, sparandet och statusändrandet på DTC-data kommer också att utföras om en annan DF-modul sänder en annan begäran om att skapa DTC-data. Hantering av gällande DTC-data slutförs dock innan. man tar itu med nästa, och så vidare för varje DF-modul i diagnossystemet.The creation, saving and status change of DTC data described above will also be performed if another DF module sends another request to create DTC data. However, handling of current DTC data is completed before. one deals with the next, and so on for each DF module in the diagnostic system.

M a o, när DTC-dataareamodulen har mottagit en bekräftel- sesignal från valideringsmodulen, eller om rådande DTC- blockstatus har ändrats till "validerad", en bekräftelse- signal från rådande DF-modul, kommer DTC-dataareamodulen att hantera varje ny begäran om att spara DTC-data.That is, when the DTC data area module has received a confirmation signal from the validation module, or if the current DTC block status has been changed to "validated", a confirmation signal from the current DF module, the DTC data area module will handle each new request to save DTC data.

On1DTC-dataareamodulen rapporterar att ytterligare ett nytt ickevaliderat DTC-block har sparats, kontrollerar valide- ringsmodulen 60 om den utvärdering som svarar mot detta nya DTC-block finns bland de utvärderingar som skall kontrolle- ras i rådande checklista. Om så är fallet är den rådande checklistan och dess motsvarande DTC-block uteslutna som 10 15 510 912 35 möjliga ursprungsorsaker till felet, och valideringsmodulen skickar en begäran till dataareamodulen om. att radera rådande DTC-block, och gör sedan upp en annan checklista för det nya DTC-blocket, och fortsätter på så vis till dess att det finns någon DTC-blockstatus som har ändrats till lagrad i DTC-dataareamodulen 50.The On1DTC data area module reports that an additional new non-validated DTC block has been saved, the validation module 60 checks if the evaluation corresponding to this new DTC block is among the evaluations to be checked in the current checklist. If so, the current checklist and its corresponding DTC blocks are excluded as possible causes of the error, and the validation module forwards a request to the data area module. to delete the current DTC block, and then make another checklist for the new DTC block, and so on until there is some DTC block status that has been changed to stored in the DTC data area module 50.

Om status för ett DTC-block har ändrats till lagrad raderar valideringsmodulen dess motsvarande checklista.If the status of a DTC block has been changed to stored, the validation module deletes its corresponding checklist.

Detta beskriver den övergripande normala driften för att avbryta påverkade utvärderingar, och för att lagra rätt DTC tillsammans med tändning av MIL i diagnossystemet 10 när det föreligger ett eller flera fel.This describes the overall normal operation to interrupt affected evaluations, and to store the correct DTC along with the ignition of the MIL in the diagnostic system 10 when one or more errors are present.

Föreliggande uppfinning begränsas inte av de utförings- former som har visats ovan och i ritningarna, utan kan fritt varieras inom ramen för de följande patentkraven.The present invention is not limited by the embodiments shown above and in the drawings, but can be freely varied within the scope of the following claims.

Claims (3)

10 15 20 25 30 35 40 510 912 36 PATENTKRAV:10 15 20 25 30 35 40 510 912 36 CLAIMS: 1. l. En datainsamlingsutrustning (40) för bruk i ett diagnos- system (10) i ett driftsystem för motorer för att samla in och lagra data i det fall att ett fel uppstår i en kompo- nent eller delsystem som utvärderas av nämnda diagnos- system, där nämnda datainsamlingsutrustning (40) innefat- tar: anordning för att mottaga en diagnosfelkod (DTC) son\ har genererats under en utvärderingsrutin där DTC indikerar ett möjligt fel i en viss komponent eller delsystem som har utvärderats under nämnda utvärderings- rutin; anordning för att skapa en “freeze frame" (FRZF) vilken innehåller driftsparametrar som är specifika för nämnda DTC genom att jämföra nämnda DTC med en FRZF-tabell för att erhålla en lista över vilka parametrar som bör ingå i nämnda FRZF; anordning för att skapa en utökad “freeze frame" (FRZF) i form av en historia över parametrar som är specifika för nämnda DTC, genom att jämföra nämnda DTC med en tabell över utökad FRZF för att erhålla en lista över vilka parametrar som bör ingå i nämnda utökade FRZF där nämnda anordning för att skapa en utökad “freeze frame" innefattar anordning för att inhämta nämnda historia över parametrar från ett cirkulärminne i vilket nämnda parametrar kontinuerligt lagras, och anordning för att kombinera parametrar från nämnda “freeze frame" och nämnda utökade “freeze frame" för att producera DTC-data.A data acquisition equipment (40) for use in a diagnostic system (10) in an engine operating system for collecting and storing data in the event of a fault in a component or subsystem evaluated by said diagnostic system. system, wherein said data acquisition equipment (40) comprises: means for receiving a diagnostic error code (DTC) son \ has been generated during an evaluation routine where DTC indicates a possible fault in a particular component or subsystem that has been evaluated during said evaluation routine; means for creating a "freeze frame" (FRZF) which contains operating parameters specific to said DTC by comparing said DTC with a FRZF table to obtain a list of which parameters should be included in said FRZF; means for creating an extended freeze frame (FRZF) in the form of a history of parameters specific to said DTC, by comparing said DTC with a table of extended FRZF to obtain a list of which parameters should be included in said extended FRZF where said device for creating an extended "freeze frame" comprises means for retrieving said history of parameters from a circular memory in which said parameters are continuously stored, and means for combining parameters from said "freeze frame" and said extended "freeze frame" for to produce DTC data. 2. Datainsamlingsanordning enligt krav 1, där nämnda cirkulärminne är utfört i forn\ av' en roterande trumma (lll) på vilken nämnda parametrar kontinuerligt lagras.The data collection device according to claim 1, wherein said circular memory is formed in the form of a rotating drum (III) on which said parameters are continuously stored. 3. Datainsamlingsutrustning enligt krav 2, där 510 912 37 nämnda roterande trumma (111) har delats upp i ett flertal olika tidsbaser (l12; 113; 114; 115).The data collection equipment of claim 2, wherein said rotating drum (111) is divided into a plurality of different time bases (112; 113; 114; 115).
SE9702038A 1997-05-30 1997-05-30 Diagnostic system esp. for engine management system of vehicle SE510912C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SE9702038A SE510912C2 (en) 1997-05-30 1997-05-30 Diagnostic system esp. for engine management system of vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9702038A SE510912C2 (en) 1997-05-30 1997-05-30 Diagnostic system esp. for engine management system of vehicle

Publications (3)

Publication Number Publication Date
SE9702038L SE9702038L (en) 1997-05-30
SE9702038D0 SE9702038D0 (en) 1997-05-30
SE510912C2 true SE510912C2 (en) 1999-07-05

Family

ID=20407160

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9702038A SE510912C2 (en) 1997-05-30 1997-05-30 Diagnostic system esp. for engine management system of vehicle

Country Status (1)

Country Link
SE (1) SE510912C2 (en)

Also Published As

Publication number Publication date
SE9702038L (en) 1997-05-30
SE9702038D0 (en) 1997-05-30

Similar Documents

Publication Publication Date Title
SE510029C2 (en) Diagnostic system in a motor operating system as well as a diagnostic function module (DF module) in a motor operating system
SE512140C2 (en) Diagnostic system and diagnostic function module in a motor control system
US4532594A (en) Multiple microcomputer system with comonitoring/back-up for an automotive vehicle
JP4763109B2 (en) Control device for system and driving method of control device
US6195602B1 (en) Vehicle communication system and method for vehicles capable of automatic storing of vehicle identification code
US7962258B2 (en) Operator-side system and mode file identifying method
EP1223490B1 (en) Controller for vehicle with self-diagnostic function and recording medium
US5157610A (en) System and method of load sharing control for automobile
US6678606B2 (en) Tamper detection for vehicle controller
JP2003019931A (en) Failure diagnosis system, vehicle control device, server, and inspection and diagnosis program
ES2268817T3 (en) VEHICLE CONTROLLER DIAGNOSTIC DEVICE.
KR940009540B1 (en) Failure diagnosis device for automotive engine
JP6432356B2 (en) Electronic control unit
EP0084610A2 (en) Method for the acquisition of input data for motorcar equipment control
JP2007168463A (en) Vehicular electronic control system and data conversion system
JP2010173494A (en) Control device and control method
US6507918B1 (en) Method for the implementation of a fault diagnostic system and in-vehicle fault diagnostic system
SE510912C2 (en) Diagnostic system esp. for engine management system of vehicle
US7757018B2 (en) Sequencing control of simultaneously executed forbidden pairs of first and second functions on at least two interacting devices based on priority
SE510913C2 (en) Diagnostic system esp. for engine management system of vehicle
SE510911C2 (en) Diagnostic system esp. for engine management system of vehicle
JPH05270251A (en) Control device for heating device
JP2016135634A (en) Electronic control device
CA2119142C (en) System controller and remote fault annunciator with cooperative storage, sharing, and presentation of fault data
JP2816312B2 (en) Fault diagnosis device

Legal Events

Date Code Title Description
NUG Patent has lapsed