Skip to main content

Diagnosi nell'applicazione

Stato CANopen

Lo stato CANopen di un dispositivo può essere interrogato nell'applicazione in tre modi diversi:

  • GET_STATE blocco funzione (CAA CiA 405 biblioteca)

  • <name in device tree>.CANopenState proprietà (3S CANopenStack biblioteca)

  • <name in device tree>.GetDeviceState metodo (CAA Device Diagnosis biblioteca)

    Il metodo non restituisce uno stato CANopen , ma l'informazione se il dispositivo è in esecuzione o meno. Una tabella di mappatura tra CANopenState E DEVICE_STATE si trova nella documentazione della biblioteca di CANopenStack.

Il gestore CANopen ha anche proprietà per interrogare se tutti gli slave richiesti e facoltativi sono presenti nel OPERATIONAL stato. Si noti che queste proprietà vengono impostate solo una volta dopo la fase di configurazione, se la condizione è valida. Se uno slave si guasta in seguito, queste proprietà rimangono impostate di conseguenza.

Inoltre, lo stato CANopen può essere impostato anche tramite il blocco funzione NMT (biblioteca CAA CiA 405 ) o il metodo <name in device tree>.SetCommunicationState (CAA Device Diagnosis biblioteca).

Stato del kernel CANopen

Un'interrogazione dello stato del kernel CANopen può essere utilizzata per rilevare un errore del bus, un errore di configurazione o un errore di monitoraggio.

Lo stato può essere interrogato tramite la proprietà <name of CANopen Manager in device tree>.KernelState o il blocco funzione GET_CANOPEN_KERNEL_STATE (CAA CiA 405 biblioteca).

Emergenza

È possibile ricevere telegrammi di emergenza tramite i blocchi funzionali CIA405.

  • RECV_EMCY: Ricezione di tutte le emergenze di tutti i dispositivi della linea bus

  • RECV_EMCY_DEV: Ricezione delle emergenze di un dispositivo specifico

Campo di errore predefinito e registro degli errori

Gli oggetti della directory degli oggetti di uno slave possono essere letti con SDO_READ4 E SDO_READ_DATA Blocchi funzionali CiA405.

Diagnosi di sicurezza

Nel caso della sicurezza, i blocchi funzione creati implicitamente con il prefisso "S_" forniscono le uscite corrispondenti per la diagnosi. Con questi blocchi funzione, è possibile definire se la comunicazione SRDO con uno slave è attiva o se è stato raggiunto lo stato di sicurezza.

Inoltre, il blocco funzionale fornisce anche input per confermare gli errori di un singolo slave e per disattivare temporaneamente la comunicazione SRDO .

Per maggiori informazioni, vedere: CANopenManagerSIL2 E CANRemoteDeviceSafe (FB)