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.