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 (Diagnosi del dispositivo CAA biblioteca)

    Il metodo non restituisce uno stato CANopen, ma le informazioni 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 CANopen Manager dispone anche di proprietà per interrogare se tutti gli slave obbligatori e opzionali si trovano o meno nel file OPERATIONAL stato. Si noti che queste proprietà vengono impostate solo una volta dopo la fase di configurazione se la condizione si applica. 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 (Diagnosi del dispositivo CAA 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 per mezzo della 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 funzione 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 il SDO_READ4 e SDO_READ_DATA Blocchi funzione CiA405.

Diagnosi di sicurezza

Nel caso di Safety, i blocchi funzione creati implicitamente con il prefisso "S_" forniscono 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 sicuro.

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

Per ulteriori informazioni, vedere: CANopenManagerSIL2 e CANRemoteDeviceSafe (FB)