ID 44001

FB-Fehler: Achsreferenz wurde geaendert, bevor der aktive Auftrag quittiert wurde.

Beschreibung

Über einen FB soll ein Auftrag an den Motion Controller abgesetzt werden. Der beauftragte FB setzt noch im gleichen SPS-Takt den Ausgang „Error“ auf TRUE und zeigt am Ausgang „ErrorID“ diese Fehlermeldung, weil über diese FB-Instanz bereits ein Auftrag für eine andere Achse abgesetzt wurde, der immer noch aktiv ist. Es wurde also am Eingang „Axis“ eine andere Variable vom Typ AXIS_REF zugewiesen und eine steigende Flanke am Eingang „Execute“ des FB angelegt.

 

Dies ist nicht zulässig, da ansonsten der FB die Quittierung des Auftrags für die zuvor beauftragte Achse nicht erhält und damit weiterhin aktiv bleibt.

Reaktion

Klasse

-

Der Auftrag wird vom FB verworfen und nicht an den Motion Controller weitergeleitet.

Abhilfe

Klasse

-

Generell gibt es 3 Möglichkeiten auf diesen Fehlercode zu reagieren:

  1. man wartet ab bis der bereits gestartet Auftrag beendet wird und startet dann den neuen Auftrag für die gewünschte Achse.
  2. man bricht über eine Instanz des MC_Halt oder MC_Stop den bereits gestarteten Auftrag ab. Wenn die Achse sich dann im Zustand Standstill befindet kann der Auftrag für die gewünschte Achse über den FB abgesetzt werden.
  3. die Implementierung wird so konzipiert, dass einer Achse immer eine konkrete FB-Instanz zugeordnet ist und so Änderungen an den Eingängen „Axis“ der FB nicht vorkommen.

Fehlertyp

-