

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Casi d'uso dei codici di errore diagnostici
<a name="dtc-use-cases"></a>

**Importante**  
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta [AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise](fleetwise-regions.md).

I seguenti casi d'uso presuppongono che la `DTC_QUERY` funzione sia stata definita nello [script dimostrativo](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md).

## Recupero periodico
<a name="dtc-periodic-fetch"></a>

Recupera una raccolta DTC a intervalli configurati.

L'esempio seguente è una campagna con recupero periodico del segnale di for all DTCs con una maschera di stato `Vehicle.DTC_INFO` per tutti. ECUs Esiste una condizione per la raccolta dei dati per. `Vehicle.DTC_INFO`

```
{
  "compression": "SNAPPY",
  "spoolingMode": "TO_DISK",
  "signalsToFetch": [
    {
      "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
      "signalFetchConfig": {
        "timeBased": {
        // The FleetWise Edge Agent will query the UDS module for all DTCs every five seconds.
          "executionFrequencyMs": 5000
        }
      },
      "actions": [
      // Every five seconds, this action is called and its output is stored in the
      // signal history buffer of Vehicle.DTC_INFO
        "custom_function(\"DTC_QUERY\", -1, 2, -1)"
      ]
    }
  ],
  "signalsToCollect": [
    {
      "name": "Vehicle.ECU1.DTC_INFO"
    }
  ],
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      // Whenever a new DTC is filled into the signal, the data is ingested.
      "expression": "!isNull($variable.`Vehicle.ECU1.DTC_INFO`)",
      "minimumTriggerIntervalMs": 1000,
      // Make sure that data is ingested only when there are new DTCs.
      "triggerMode": "RISING_EDGE"
    }
  },
  "dataDestinationConfigs": [
    {
      "s3Config": 
        {
          "bucketArn": "bucket-arn",
          "dataFormat": "PARQUET",
          "prefix": "campaign-name",
          "storageCompressionFormat": "GZIP"
        }
    }
  ]
}
```

## Recupero basato sulle condizioni
<a name="dtc-condition-fetch"></a>

Recupera una raccolta DTC quando viene soddisfatta una condizione. Ad esempio, quando il segnale CAN è attivo`Vehicle.Ignition == 1`, recupera e carica i dati DTC.

Il seguente esempio di campagna utilizza il recupero del segnale basato sulle condizioni `Vehicle.ECU1.DTC_INFO` per verificare se il DTC (» AAA123 «) è in sospeso con RecordNumber 1 per ECU-1. Questa campagna prevede la raccolta e il caricamento dei dati in base al tempo.

```
{
  "compression": "SNAPPY",
  "spoolingMode": "TO_DISK",
  "signalsToFetch": [
    {
      "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
      "signalFetchConfig": {
        "conditionBased": {
        // The action will only run when the ignition is on.
          "conditionExpression": "$variable.`Vehicle.Ignition` == 1",
          "triggerMode": "ALWAYS"
        }
      },
      // The UDS module is only requested for the specific ECU address and the specific DTC Number/Status.
      "actions": ["custom_function(\"DTC_QUERY\", 1, 2, 8, \"0xAAA123\")"]
    }
  ],
  "signalsToCollect": [
    {
      "name": "Vehicle.ECU1.DTC_INFO"
    },
    {
      "name": "Vehicle.Ignition"
    }
  ],
  "collectionScheme": {
    "timeBasedCollectionScheme": {
      "periodMs": 10000
    }
  },
  "dataDestinationConfigs": [
    {
      "s3Config": 
        {
          "bucketArn": "bucket-arn",
          "dataFormat": "PARQUET",
          "prefix": "campaign-name",
          "storageCompressionFormat": "GZIP"
        }
    }
  ]
}
```

## Recupero su richiesta
<a name="fetch-dtc-for-fleet"></a>

Recupera un DTC specifico per una flotta.

Per un caso d'uso su richiesta, puoi utilizzare la stessa campagna definita nel recupero periodico. L'effetto on-demand si ottiene sospendendo la campagna poco dopo l'implementazione della campagna utilizzando la FleetWise console AWS IoT o eseguendo il seguente comando CLI.
+ Sostituisci *command-name* con il nome del comando.

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action APPROVE
```

Quindi, sospendi la campagna dopo l'arrivo dei dati DTC.

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action SUSPEND
```

Puoi riprendere nuovamente la campagna per il recupero dei dati DTC.

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action RESUME
```