L_ETC_GetMasterDiagnostic: Bit xNotAllSlavesOperational besitzt falschen Wert

Beschreibung des Verhaltens:
Der Funktionsbaustein L_ETC_GetMasterDiagnostic aus der Bibliothek L_IODrvEtherCAT gibt Diagnose-Informationen vom EtherCAT-Master aus.
Über das Strukturelement xNotAllSlavesOperational des Ausgangs oDiagnostic gibt der Funktionbaustein L_ETC_GetMasterDiagnostic einen falschen Wert aus.
 
Unter welchen Bedingungen tritt das Verhalten auf?
Wird im Projekt der Funktionsbaustein L_ETC_MMCController bzw. L_ETC_MMCControllerBus verwendet, dann gibt der Funktionsbaustein L_ETC_GetMasterDiagnosis über das Bit xNotAllSlavesOperational einen falschen Wert aus.
 
Betroffene Produkte:
Controller c300 ab V3.10
Controller 3200 C ab V3.10
Panel Controller p300 ab V3.10
Panel Controller p500 ab V3.10
 
Kurzfristige Maßnahmen/Empfehlungen?
Um festzustellen, ob sich alle EtherCAT-Slaves im State "Operational" befinden, prüfen Sie für jeden einzelnen EtherCAT-Slave über den Funktionsbaustein ETCSlave, ob der Slave am Bus vorhanden ist (Property IsPresent), und ob er sich im State "Operational" befindet (Ausgang wState), z.B.:
xSlaveIsOperational:= Slave.IsPresent AND Slave.pETCSlave^.wState=ETC_STATE_OPERATIONAL;

Bewertung:
Bei Verwendung der Modularen Machinenkonfiguration (MMC) kann über das Bit xNotAllSlavesOperational nicht geprüft werden, ob sich alle EtherCAT-Slaves im State "Operatinal" befinden. Im Abschnitt 'Kurzfristige Maßnahme' ist eine Abhilfe beschrieben.
 

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/201500704/0/
Kontaktformular