Diagnosi nell'applicazione
Stato CANopen
Lo stato CANopen di un dispositivo può essere interrogato nell'applicazione in tre modi diversi:
GET_STATEblocco funzione (CAA CiA 405biblioteca)<name in device tree>.CANopenStateproprietà (3S CANopenStackbiblioteca)<name in device tree>.GetDeviceStatemetodo (CAA Device Diagnosisbiblioteca)Il metodo non restituisce uno stato CANopen , ma l'informazione se il dispositivo è in esecuzione o meno. Una tabella di mappatura tra
CANopenStateEDEVICE_STATEsi trova nella documentazione della biblioteca diCANopenStack.
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 busRECV_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)