Fehlermeldung an SPS

  • Schritt für Schritt zum Roboterprofi!
  • Moin,

    für etliche relevante Zustände (welche auch Meldungen absetzen können) gibt es Systemsignale. Diese können auch auf dem Bus in Richtung SPS abgebildet werden.

    Die Frage Deinerseits ist etwas ungenau. Was genau möchtest Du der SPS senden?

    never touch a running system

  • So als Bsp.:

    Muss halt noch richtig eingepflegt werden


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo Robotman,


    schau mal in die Doku hier:

    https://kuka.sharefile.eu/d-sc4e8890ecb44f9e8


    Dort suchst Du nach "Automatik Extern".


    Gruß K(A)RL

    Im Real Life sind wir Mitarbeiter im Customer Support der KUKA Deutschland GmbH, haben also viel Erfahrung mit den hier besprochenen Produkten. Wir posten hier i.d.R. während unserer Arbeitszeit (wenn es die sonstige Arbeitsbelastung zulässt) und auch im Wissen von KUKA. Unsere hier getroffenen Aussagen sind Hilfestellungen für euch, allerdings keine offiziellen KUKA Stellungnahmen. Für tiefergehende und umfangreiche Problemstellungen, gibt der KUKA Support offizielle Aussagen.

  • Hallo Robotman,


    mit der ERR_TO_PLC über die P00() kannst Du Ausgänge auf Fehlermeldungen setzen:


    hier die Beschreibung zur ERR_TO_PLC.




    Mittels des P00 Paketes kann eine Fehlernummer an eine überlagerte SPS ausgegeben werden,


    hierfür muss die Datenliste P00.dat angepasst werden.



    Diese Funktion stellt nur das Gerüst für eine Fehlerausgabe dar und muss vom Kunden komplett


    ausgefüllt und parametriert werden.



    Für die Ausgabe der Applikationsfehler des P00 Paketes (Fehler beim Programmnummer Handshake) ist das Feld P[] bereits bis zur Nummer 28 vordefiniert.


    Ebenso ist die Nummer 128 vordefiniert, als Ausgabe der Nummer 1 bei einem NOT-AUS,


    da die Funktion im IR_STOPM.SRC bei einem Standardinterrupt aufgerufen wird.



    Sollen weitere Steuerungsfehler ausgegeben werden, müssen diese manuell ergänzt werden.



    Vorgehen zum Nutzen der Funktion:


    1) Schritt: aktivieren der Funktion mit der Variable


    BOOL PLC_ENABLE=TRUE ; Enable error-code transmission to plc



    2) Schritt: Definieren des Ausgabebereiches (Fehler wird als Binärwert übertragen)


    SIGNAL ERR $OUT[33] TO $OUT[40]



    3) Schritt: Einstellen der maximalen Fehlernummer die später deklariert wird für die eine


    Feldvariable existiert.


    INT MAXERR_C=234 ; maximum messages for $STOPMESS


    => Systemmeldungen werden von 128 - 255 deklariert (Aufruf über IR_STOPM.SRC)



    INT MAXERR_A=20 ; maximum messages for APPLICATION


    => Applikationsmeldungen können bis 127 deklariert werden.



    4) Definieren der Meldungsnummern, die ausgegeben werden sollen.


    Es werden vom System nicht automatisch die Fehlernummer die im Display steht ausgegeben, dies muss über das Feld P[] alles manuell eingestellt werden.



    Es besteht die Möglichkeit sich eigene Fehler zu generieren, hierfür ist das Feld


    DECL PRESET P[255] mit max. 255 einträgen deklariert. (= max. 8Bit Ausgabe auf Ausgänge)



    Beispiel:


    P[1]={OUT 14,PKG[] "XYZ",ERR 88}


    hierbei gilt:



    P[1] = fortlaufende Zahl des Feldes


    OUT 14 = Wert auf den die Ausgangssignal gesetzt wird SPS bekommt eine 1 als Anzeige


    PKG[] "YXZ" = Name des Programms der im Meldungsfenster angezeigt wird, das die Meldung


    sendet. ( muss beim Meldungs senden im Wert MSG_T: MODUL[] = "YXZ"


    angegeben sein)


    ERR 88 = Meldungnummer die vom Programm gesendet wurde bzw. aus dem Meldungsfenster ausgelesen wurde.




    Beispiel 1:


    Der Fehler "Stellgrösse soll mit der Nummer 153 angezeigt werden


    ; CTL:126


    ; STELLGROESSE XXXX


    P[129]={OUT 153,PKG[] "CTL",ERR 126}



    Beispiel 2:


    Eine Applikationsfehler 5 im Programm TEST soll mit 18 angezeigt werden


    P[5]={OUT 18,PKG[] "MEL",ERR 5}



    Der Aufruf der Funktion aus einem anderen Applikationsprogramm dann:


    Im Deklarationsteil muss folgendes deklariert sein:


    DECL CHAR ID[3]




    Setzen der Fehlerausgänge auf den Wert 18 für die Meldung 5


    ID[]="MEL"


    P00 (#EXT_ERR,#PGNO_GET,ID[], 5 )


    HALT



    Zum Löschen der Ausgänge nach Restart:


    P00 (#EXT_ERR,#PGNO_GET,ID[],0 )



    Grüße Mammut

  • Hallo zusammen,


    unsere Anlage wird später mit nur 4 Smartpads ausgeliefert. Wir haben allerdings 12 Roboter verbaut.


    Besteht die Möglichkeit alle Systemfehler, welche am Smartpad angezeigt werden 1 zu 1 an die SPS weiterzuschleifen??? Damit man eben kein Smartpad anstecken muss um zu sehen welcher Fehler anliegt....


    Vielen Dank euch schon mal :)

  • oder so was...


    Beachte... KUKA hat Speicher fuer 100 Meldungen reserviert.

    100x32bit = 3200bit ist viel.... da meiste Fehler Meldungen unter 30000 liegen

    habe ich jede NR auf 16-bit beschraenkt (0-32767 soll ganz schoen reichen)

    1600bits ist immernoch 200 bytes.


    Andere Option ist zB nur 20 Meldungen uebertragen. Naja...


    MELDERZ.SRC

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden