Globale Flag für Initialisierung beendet

  • Guten morgen,


    ich habe eine KR C4, die ich in Automatik Extern betreibe und bei Anlagenanlauf einen Kaltstart durchführe. Mein PC als Hauptsteuerung läuft dann schon.
    Jetzt brauche ich ein Signal, was meinem PC sagt, wann die Startroutine nach Hochfahren der Robotersteuerung durchgeführt werden kann (Antriebe Einschalten, Fahrfreigabe, Quittung und Start), damit die KR C4 bereit für PGNO_VALID ist.


    Problem: Wenn ich z.B. $I_O_ACTCONF auf steigende Flanke auswerte, ist der Roboter noch nicht bereit. Das KCP ist dann auch noch im Hochfahrmodus. Wenn ich jetzt in regelmäßigen Abständen die Startroutine ausführe funktioniert es irgendwann, diese "kommende Bereitschaft" würde ich gerne mitbekommen.


    Auch andere Signale, die von der Automatik Extern Schnittstelle kommen ändern sich nicht, wenn der Roboter bereit wird. Ich würde also $I_O_ACTCONF nicht direkt als Ausgang ausgeben, sondern im Submit mit einer anderen globalen Systemvariablen mit AND verknüpfen. Was müsste ich da für eine Variable benutzen?


    Grüße,
    h_robot

  • Schritt für Schritt zum Roboterprofi!
  • Hallo h_robot,


    versuche es doch mal mit der Variable: $RC_RDY1. Die Variable steht in der $machine.dat im Verzeichnis STEU\MADA und wird dort dem jeweiligen Ausgang zugewisen.


    Wenn die Robotersteuerung diesen Ausgang setzt, ist sie betriebsbereit und
    das Programm kann von der übergeordneten Steuerung gestartet werden.


    Grüße
    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.

  • Hast du folgendes beachtet?


    3.3 Automatischer Anlagenanlauf
    Ist die E/A--Schnittstelle durch Setzen der Systemvariablen$I_O_ACTauf den WertTRUE
    aktiv geschaltet, wird der Ausgang$_I_O_ACTCONFals Rückmeldung ebenfalls aufTRUE
    geschaltet. Sind alle weiteren Startbedingungen erfüllt, so kann durch ein Signal auf der Lei-tung$EXT_STARTdas ProgrammCELL.SRCgestartet werden.
    Natürlich kann das ProgrammCELL.SRCzu jeder Zeit auch von der Bedienoberfläche aus
    gestartet werden.
    Für den automatischen Anlagenanlauf muß der Systemvariablen$PRO_I_Oin der Datei
    “C:\KRC\Roboter\KRC\Steu\MaDa\$CUSTOM.DAT” folgender Wert zugewiesen
    werden:
    CHAR $PRO_I_O[]=”/R1/SPS()”
    Nach dem Hochfahren der Steuerung wird immer versucht das Programm auszuführen,
    daß in$PRO_I_Obezeichnet wurde.
    Damit die E/A--Schnittstelle überhaupt aktiviert werden kann, muß der Eingang gesetzt
    werden, welcher durch Signalvereinbarung der Variablen $I_O_ACT zugewiesen wurde.


    MfG


  • Wenn die Robotersteuerung diesen Ausgang setzt, ist sie betriebsbereit und
    das Programm kann von der übergeordneten Steuerung gestartet werden.


    leider nicht. Wenn das Signal kommt kann ich auch noch nicht die Antriebe einschalten. Ist das bei dir wirklich so, dass du alles starten kannst, sobald $RC_RDY1 TRUE wird?


    Stethi: Die cell.src wird ja normal gestartet, aber nach Anlage einschalten muss ich ja trotzdem eine Folge abarbeiten, dass die Steuerung nur noch auf PGNO_VALID wartet um loszufahren.

  • Hast du schonmal auf das NHL (Lokaler Not-Halt) Signal geschaut?
    Dieses müsste erst dann weg gehen, wenn alles hochgefahren ist.


    Ist jetzt nur ein Versuch, kann jetzt nicht sicher sagen ob das passt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Hi,


    also wenn alle Signale passend anliegen und die Steuerung am Start ist läuft bei mir alles direkt los und ich warte nur auf die Rückmeldung Rob in Grundstellung! Schau Dir nochmal die extern Schnittstelle an, ist nur eine Frage der Signalauswertung! Läuft bei mir schon seit Jahren und benutze es nur noch und es läuft immer! Wenn das für die eine Seite so wichtig ist könntest Du im sps.sub vor dem LOOP ein Signal nach einer wait Anweisung setzen das die Steuerung lebt und im LOOP einen handshake machen mit der Übergeordneten Steuerung, Signal wieder wegnehmen und submit läuft, dann sollte auch der Rest passen! Was mir noch nicht so ganz klar ist, nach dem einschalten und hochlauf steht doch auch erst mal Schutztür, NOT-AUS quitt an und egal was der Bediener drückt sollte alles immer laufen!

  • Die Variable $RC_RDY1 meldet, dass die Steuerung bereit ist. Nachdem die Variable TRUE wird, solltest du die Meldungen quittieren, bevor du die Antriebe einschaltest.


    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,
    ich habe jetzt noch einmal alles ausprobiert, aber es funktioniert trotzdem noch nicht.


    Wenn ich hochfahre sind die Signale (PC --> KR C4) Antriebe Aus (invers) und Freigabe von mir gesetzt und später kommen dann irgendwann die Signale (KR C4 --> PC) Schnittstelle aktiv, Steuerung bereit ($RC_RDY1) und Home-Position.


    An dieser Stelle versuche ich durch einen Impuls die Antriebe einzuschalten, was nicht funktioniert. Wenn ich etwas warte (oder es ständig hintereinander probiere) funktioniert es irgendwann. Ich finde also nicht den Zeitpunkt ab wann dies funktioniert, weil keine weiteren Signale kommen (welche auch?). Ich könnte das natürlich mit einen Timer lösen und z.B. 10s nachdem $RC_RDY1 kommt die Antriebe einschalten, aber es ist doch schon schöner, wenn man wirklich auf die fertige Initialisierung wartet, oder?


    Bei euch ist es wirklich so, dass unmittelbar nach den genannten Signalen der Einschaltimpuls kommen kann?

  • Hallo h_robot,


    du könntest noch zusätzlich im sps.sub in der Loop-Schleife einen getakteten Ausgang setzen.


    z.B.:


    $OUT[10] = NOT $OUT[10]


    Somit könntest du auf deinem PC eine steigende Flanke auswerten, sobald der SPS.sub läuft.


    Zu diesem Zeiptunkt sollten sich dann auch die Antriebe einschalten lassen.


    Grüße
    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.

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