KUKA Neuling - Systemvariablen und reservierte Signale

  • Hallo zusammen,
    als frischgebackener KUKA-Absolvent darf ich mich aktuell an meinem ersten Projekt austoben und kämpfe mich im Moment durch die zahlreichen Dokumentationen die KUKA einem zur Verfügung stellt :denk:
    Bei dem Schulungsroboter habe ich gesehen, dass es reservierte Systemvariablen und Signale gibt - Gibt es irgendwo eine Übersicht, wo man sich das nachlesen kann? Muss ich die in der EA-Verwaltung anlegen, oder sind diese von vornherein entsprechend belegt?
    Bin für jeden Hinweis dankbar! :mrgreen:

  • Schritt für Schritt zum Roboterprofi!
  • Mit WorkVisual freunde ich mich gerade etwas an.. In der Schulung haben wir nur relativ wenig mit WoV gearbeitet, daher sind die Kenntnisse "ausbaufähig". :huh:
    Ich habe schon die Zelle soweit zusammengestellt (Steuerung und Arm) und die Profinetschnittstelle hinzugefügt.
    Mein Ziel ist es, eine Schnittstelle für meinen Kollegen, der das SPS Programm schreibt zu definieren und dabei muss ich natürlich die Systemvariablen mit berücksichtigen (z.B. $IN_HOME, $DRIVES_ON, $EXT_START etc.)
    Die Übersicht mit den Erklärungen habe ich mittlerweile in den Schulungsunterlagen gefunden (Wer lesen kann ist klar im Vorteil..)
    Wobei mir nicht klar ist, wie ich damit bei KUKA umgehen muss. Von anderen Robotersystemen kenne ich das so, dass diese Variablen direkt mit entsprechend Adressbereichen im EA Bereich verknüpft sind. Bei KUKA habe ich leider noch nichts gefunden, was mich da weiterbringt.. :hilfe:
    Vielleicht auch noch interessant: Die SPS soll Master werden und der Robbi Slave

  • Die Auto Extern Schnittstelle ist standardmäßig belegt. Das steht ebenfalls in der Doku drin. Du kannst die Signale natürlich auf deine Bedürfnisse anpassen, aber wir lassen sie immer auf den Standard Werten.
    guck mal hier https://www.roboterforum.de/ro…en/3230/msg13280#msg13280
    Da ist eine Beschreibung der Signale mit entsprechender Beschaltung durch die SPS als Anhang.
    Vielleicht hilft dir das weiter!?
    Gruss
    Pat

  • Erstmal vielen Dank für Deine Hilfe! Das hilft mir schon ein ganzes Stück weiter :) :blumen::danke:
    Leider ist in diesem Handbuch das dort anhängt nur die Konfiguration am SmartPad beschrieben und nicht in WoV.
    Lässt sich die Automatik Extern Schnittstelle auch im WoV konfigurieren?
    Eine Datei iosys.dat gibt es in meinem Projekt gar nicht.. eine $config.dat übrigens auch nicht :denk: Werden diese Dateien nicht automatisch beim erstellen einer neuen Zelle erzeugt? Habe ich hier vielleicht schon etwas grundsätzliches falsch gemacht?
    Sorry für die vielen dummen Fragen... :oops:

  • Kein Thema. :)
    Im WoV gibt es bei aktiver Steuerung oben in der Leiste den Verschaltungseditor (zwei in sich verschlungene Pfeile). Mit diesem Kannst du die Signale so konfigurieren, wie du es benötigst.
    Wenn du die EA Namen zugewiesen hast, ist es noch leichter damit zu arbeiten.

  • Zu dem Verschaltungseditor habe ich auch 2 Fragen:
    1. Muss ich alle KRC Signale die ich nutze mit einem Profinetsignal verknüpfen? (Wie auf dem angehängten Screenshot)
    2. Wenn ich links den Reiter KRC Variablen -> Systemvariablen öffne, habe ich rechts nur noch den Reiter SPS, der allerdings leer ist?

  • Moin,
    zu 1. Du musst nicht alle Signale aufs Profinet verschalten. Wozu, wenn Du diese dort nicht brauchst? Durchaus kannst Du aber dennoch einen nichtverschalteten Ausgang im Programm setzen und auch dessen Status im Programm abfragen.
    zu 2. Diese Übersicht ermöglicht das schnelle Auffinden der Definitionen in den Konfigurationsdateien. ($config...) . Eine Verschaltung von Statussignalen findet aber nur in diesen Dateien statt. Ist aus meiner Sicht auch ein bisschen Wirrwarr, aber offensichtlich historisch gewachsen. (Wer KRC1/2 kennt, weiss was ich meine)

    never touch a running system

  • Moin Otte Sieben!
    Danke! Ich bin mir aber nicht sicher ob ich das Prinzip ganz verstehe:
    Wenn ich einen Eingang am Profinet abfragen möchte, muss ich doch den entsprechenden Eingang des Profinet mit dem Eingang der KRC verknüpfen, oder?
    Und in meinem Programm habe ich dann etwas wie
    MeinSignal = $IN[1]
    Oder geht das auch einfacher? :nocheck:
    Wo genau kann ich denn nun den Systemvariablen einen konkreten EA Bereich zuweisen im WoV? :denk:

  • Moin,
    es ist durchaus nicht gleich verständlich mit der Verschaltung, da wir es ja nicht immer mit phys. vorhandenen Ein/Ausgängen zu tun haben.
    Ich versuchs mal so:
    Also die Robotersteuerung hat zB. 4096 E/A. Diese werden, solange diese einzeln von der Steuerung angesprochen werden, so verwendet -> z.B. Setzen eines Ausganges : $OUT[1]=TRUE
    Dieser Ausgang 1 muss aber nicht "verdrahtet" sein, der Status des Signals wird im Arbeitspeicher der Systemsoftware gespeichert und gut. Möchte man jetzt diesen Status auf ein nach aussen gehendes Signal übertragen, muss man diesen Ausgang verschalten. Genauso verhält es sich mit den Eingängen.
    Um die Verwirrung zu exponieren kommt jetzt noch was.
    Bei der Kopplung an eine SPS über den Devicestack , sind die Eingänge des Roboters mit den Ausgängen der SPS verbunden und umgekehrt. Das sollte einleuchten. Im WorkVisual erscheinen die Ausgänge der SPS aber als Eingänge. Eine externe E/A Baugruppe verhält sich aber wiederum "normal". Ein dort physikalischer Eingang erscheint auch als Eingang im WorkVisual Verschaltungseditor.
    Was die Systemsignale betrifft, findest Du die Deklarionsstellen über die von Dir schon beschriebene Ansicht. Benutze mal die rechte Mousetaste, im Kontextmenü erscheint dann der Befehl "Sprung".

    never touch a running system

  • Stück für Stück komme ich dahinter - Danke dafür! :D :danke:



    Bei der Kopplung an eine SPS über den Devicestack , sind die Eingänge des Roboters mit den Ausgängen der SPS verbunden und umgekehrt. Das sollte einleuchten. Im WorkVisual erscheinen die Ausgänge der SPS aber als Eingänge. Eine externe E/A Baugruppe verhält sich aber wiederum "normal". Ein dort physikalischer Eingang erscheint auch als Eingang im WorkVisual Verschaltungseditor.


    Wie koppel ich eine SPS über den Devicestack? Habe ich dann auch die SPS im Verschaltungseditor? :denk:



    Was die Systemsignale betrifft, findest Du die Deklarionsstellen über die von Dir schon beschriebene Ansicht. Benutze mal die rechte Mousetaste, im Kontextmenü erscheint dann der Befehl "Sprung".


    Das ist ein guter Tipp! Manche Variablen (z.B. $PERI_RDY) sind dort aber gar nicht bei - Heißt das, dass diese noch nicht deklariert sind? Sind Systemvariablen nicht von Haus aus deklariert? :denk:

  • Moin,
    die Systemsignale sind natürlich nicht in der E/A Ebene verschaltet. Die Bitzuweisungen sind doch von der Konfiguration auf SPS Seite abhängig. Die SPS wird nicht mit WorkVisual konfiguriert.
    Zur Verschaltung der Signale im Devicestack:
    Linke Seite zB. die "KRC E/A // digitalen Eingänge" auswählen, rechte Seite "Feldbusse // Profinet auswählen" und schon siehst Du die beiden Seiten, welche sich verschalten lassen.
    Jede Einzelheit kann ich Dir jetzt aber nicht erklären, benutze bitte die "Hilfe Funktion" im WorkVisual.

    never touch a running system

  • 2. Wenn ich links den Reiter KRC Variablen -> Systemvariablen öffne, habe ich rechts nur noch den Reiter SPS, der allerdings leer ist?


    Mit Reiter "SPS" im Verschaltungseditor ist hier die "KUKA-eigene" SoftPLC Proconos gemeint, die man optional auf der Steuerung installieren kann. Muss dann zusätzlich Multiproc(Entwicklungsumgebung) auf PC installiert haben. (Moneten ohne Ende)
    Dito Reiter KRC-Variablen/…/. Die kann man hier direkt Proconos zuweisen zwecks Datenaustausch.


    AlexJobo. Für dich sind diese Reiter, wenn Du diese Optionen nicht hast, also nicht relevant.


    otto


    Ist aus meiner Sicht auch ein bisschen Wirrwarr, aber offensichtlich historisch gewachsen. (Wer KRC1/2 kennt, weiss was ich meine)


    Vieles ist bei KUKA historisch, definitiv. Die Integration von Proconos/Multiprog in WoV jedoch nicht. :beerchug:


    Gruss SJX

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


  • Vieles ist bei KUKA historisch, definitiv. Die Integration von Proconos/Multiprog in WoV jedoch nicht. :beerchug:


    Gruss SJX


    Moin, vollkommen richtig. Den historischen Hintergrund bezog ich auf die "Verschaltung" der SYS-Signale in den $*.dat. Das war etwas missverständlich ausgedrückt.
    Grüße

    never touch a running system

  • Nochmal vielen Dank Euch beiden! Vielleicht habe ich hier einen Knoten im Kopf der gar nicht sein muss. Ich habe mich noch nie bei einem Robotersystem so schwer mit so etwas grundsätzlichem getan.. Versteh das Prinzip bei Kuka einfach noch nicht so ganz. Bei anderen finde ich das einfacher, wobei es bei KUKA vermutlich auch nicht so schwierig ist, wenn man es erst mal verstanden hat. :huh: :)



    Zur Verschaltung der Signale im Devicestack:
    Linke Seite zB. die "KRC E/A // digitalen Eingänge" auswählen, rechte Seite "Feldbusse // Profinet auswählen" und schon siehst Du die beiden Seiten, welche sich verschalten lassen.
    Jede Einzelheit kann ich Dir jetzt aber nicht erklären, benutze bitte die "Hilfe Funktion" im WorkVisual.


    Das habe ich schon verstanden und auch schon fertig zwischen den KRC E/A und den Profinet E/A :mrgreen: Das ist für mich soweit auch nachvollziehbar, bzw. bei anderen Roboterherstellern fast das Gleiche.
    2 Dinge sind für mich aber noch nicht klar und auch mit Hilfe und (mittlerweile zahlreichen..) Handbüchern habe ich hier kein Licht ins Dunkel gebracht:


    1. Wo sehe ich, auf welchen E/A die Systemvariablen liegen?


    Hier? (Auszug aus der $configsys.dat)


    ; Variables for External
    ; Communication: I/O-Interface
    ;----------------------------------
    INT PGNO_FBIT=1;first bit of ext. pgno input $IN[]
    INT PGNO_FBIT_REFL=999;first bit of ext. pgno reflection output $OUT[]
    INT PGNO_LENGTH=4;length of ext. pgno (max. 16)
    INT PGNO_PARITY=5;parity bit of ext. pgno
    INT PGNO_REQ=3;request ext. pgno input
    INT PGNO_VALID=6;validate ext. pgno input
    INT APPL_RUN=5;application program is running output
    INT ERR_TO_PLC=35;error output to PLC
    INT P01_STEP
    INT CHK_STEP
    INT PGNO_FLAG


    Wenn ja, muss das auch hier geändert werden? Oder gibt's das auch "hübsch" in WoV?


    2. Wenn ich eine neue Zelle erstelle mit einer Steuerung und einem Roboter fehlen mir Dateien wir z.B. $configsys.dat
    Mache ich da was falsch? Bekomme ich die erst wenn ich die reale Steuerung etc. vor mir habe? Würde ja Sinn machen, da die Maschinendaten etc. ja sicher bei jedem Arm anders sind?! (Wie das bei anderen Herstellern auch ist)


    Also ich habe den Umsteigerkurs (Programmieren 1 und 2) bei KUKA gemacht und die Aufgaben in der Schulung waren auch alle recht simpel... Ich glaube sobald ich die Zelle soweit konfiguriert habe und die Schnittstelle definiert ist der Rest "schnell" gemacht, ABER: Die Unterlagen geben nur wenig her was WoV angeht und in der Hilfe wird zwar beschrieben, wie ein neues Projekt angelegt wird, aber warum die Dateien bei mir fehlen habe ich nicht herausfinden können.. So geht es leider aktuell nur schleppend voran :???:

  • Moin.
    Du hast da schon die richtige Datei gefunden. Ja, Du kannst das ändern. Die verwendeten E/A müssen zu der Verschaltung auf SPS Seite passen. Es gibt quasi kein Standard. Viele lassen das so und arbeiten eben auf der SPS Seite passend, spart Konfigurationsarbeit. In WV kannst Du die Sytemsignale nicht bearbeiten, Du mußt allerdings die OUT entsprechend auf den Bus verschalten.
    Zu WV: Wenn Du ein Projekt aus der Vorlage erstellst , mußt Du in jedem Fall das Projekt einmal speichern und anschliessend einmal den Code erzeugen. (Shift - F6 oder der nette Button aus der Werkzeugleiste) . Danach findest Du auch die $config.dat an der erwarteten Stelle.
    Zur Trockenübung ist das alles gut. Real solltest Du Dir aber das laufende (und funktionierende) Projekt von der Steuerung laden und dieses bearbeiten.

    never touch a running system

    Einmal editiert, zuletzt von Otto Sieben ()

  • Moin!
    Ah.. Ok, dann versuche ich das mal! :danke: :mrgreen:
    Es handelt sich um eine komplett neue Anlage, daher wird der Roboter wohl "nackig" sein, wenn er in ein paar Wochen geliefert wird und es gibt noch kein Projekt auf der Steuerung.
    Möchte gerne nur das Programm soweit vorbereiten, dass ich nicht noch parallel zur IBN mit den Basics beim KUKA kämpfen muss. :)

  • Moin,
    im Auslieferungszustand hat der Roboter ein funktionierendes Projekt aktiv.
    Habt ihr die Erstinbetriebnahme mit gekauft?
    Tipp zur IBN:
    1) Archiv ziehen.
    2) Testen ob der Roboter funktioniert (im Inbetriebnahmemodus). Wenn ja weiter mit 3) , wenn nein -> KUKA kontaktieren
    3) Erstinbetriebnahme durchführen.
    4) Das aktive Projekt von der Steuerung herunterladen (schon angesprochen) , dann unter neuem Projektnamen speichern.
    5) Projekt bearbeiten und auf die Steuerung übertragen/aktivieren. Durch den neuen Namen wird das Auslieferungsprojekt nicht überschrieben...

    never touch a running system

  • Moin,
    vielen Dank! Das ist gut zu wissen. :goodpost: Da ich das bei einem KUKA zum ersten Mal machen darf, bin ich schon sehr gespannt.
    Muss bei einem KUKA die Profinetkarte noch initialisiert werden o.ä. oder ist das ab Werk schon fertig, wenn man die Profinet-Option direkt mitbestellt hat?

  • Profinet ist eine Softwareoption und läuft hardwaretechnisch über die KLI Schnittstelle.
    Gibt 2 Versionen, Controller/Device und nur Device
    Bei Bestellung mit Roboter ist die entsprechende installiert.
    Konfiguration der KLI-Schnittstelle musst Du für ProfiNet noch einrichten. (separates oder zusammen mit Windows,VirtualLan 5, 6)


    Gruss SJX

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

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