Beruflich Dokumente
Kultur Dokumente
Stand: 17.06.2009
© Copyright 2009
KUKA Roboter GmbH
Zugspitzstraße 140
D-86165 Augsburg
Deutschland
Diese Dokumentation darf – auch auszugsweise – nur mit ausdrücklicher Genehmigung der KUKA
Roboter GmbH vervielfältigt oder Dritten zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffä-
hig sein. Es besteht jedoch kein Anspruch auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Soft-
ware geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die voll-
ständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden
jedoch regelmäßig überprüft und notwendige Korrekturen sind in der nachfolgenden Auflage enthal-
ten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
Originalbetriebsanleitung
KIM-PS5-DOC
Inhaltsverzeichnis
1 Einleitung ..................................................................................................... 5
1.1 Zielgruppe .................................................................................................................. 5
1.2 Darstellung von Hinweisen ........................................................................................ 5
1.3 Warenzeichen ............................................................................................................ 5
1.4 Verwendete Begriffe .................................................................................................. 5
2 Produktbeschreibung ................................................................................. 7
3 Kommunikation ........................................................................................... 9
3.1 Geändert: IP-Adressen und Port-Nummern ............................................................... 9
4 Konfiguration ............................................................................................... 11
4.1 INI-Dateien in XML-Dateien umgewandelt ................................................................. 11
4.2 Geändert: IO-Manager ............................................................................................... 12
7 Systemvariablen .......................................................................................... 25
7.1 Geändert: $PRO_IP ................................................................................................... 25
7.2 Entfernt: $BIOS_VERSION ........................................................................................ 26
7.3 Entfernt: MSG_T ........................................................................................................ 26
7.4 Entfernt: $DIGIN und zugehörige Elemente .............................................................. 26
7.5 Entfernt: Systemvariablen für Bahnplanung .............................................................. 26
7.6 Geändert: Maschinendaten ........................................................................................ 27
8 Meldungen .................................................................................................... 31
8.1 Geändert: $STOPNOAPROX .................................................................................... 31
8.2 Geändert: Meldungsverhalten bei "Überschleifen nicht möglich" .............................. 31
8.3 Geändert: Meldungen unterdrücken .......................................................................... 33
Index ............................................................................................................. 43
1 Einleitung
1.1 Zielgruppe
Sicherheit Hinweise, die mit diesem Piktogramm gekennzeichnet sind, dienen der Si-
cherheit und müssen beachtet werden.
Gefahr!
Dieser Warnhinweis bedeutet, dass Tod, schwere Körperverletzungen oder
erheblicher Sachschaden eintreten werden, wenn keine Vorsichtsmaßnah-
men getroffen werden.
Warnung!
Dieser Warnhinweis bedeutet, dass Tod, schwere Körperverletzungen oder
erheblicher Sachschaden eintreten können, wenn keine Vorsichtsmaßnah-
men getroffen werden.
Achtung!
Dieser Warnhinweis bedeutet, dass leichte Körperverletzungen oder leichter
Sachschaden eintreten können, wenn keine Vorsichtsmaßnahmen getrof-
fen werden.
Hinweise Hinweise, die mit diesem Piktogramm gekennzeichnet sind, dienen entweder
der Arbeitserleichterung oder enthalten Verweise auf weiterführende Informa-
tionen.
1.3 Warenzeichen
Begriff Beschreibung
HMI Die Human-Machine Interface (HMI) ist eine
Schnittstelle, über die ein Mensch mit einer
Maschine kommuniziert.
KSS KUKA System Software
Begriff Beschreibung
SmartHMI Benutzeroberfläche der KSS 8.x und VSS 8.x
VSS VW System Software
2 Produktbeschreibung
Diese Dokumentation beschreibt Neuerungen in KSS 8.x und VSS 8.x, die
sich auf die Aufwärts-Kompatibilität von 5.x auf 8.x auswirken.
Dazu gehören hauptsächlich:
Elemente, die in 8.x nicht mehr existieren.
Zum Bsp. bestimmte KRL-Anweisungen oder INI-Dateien.
Elemente, die in 8.x anders verwendet werden als in 5.x.
Zum Bsp. Systemvariablen mit veränderter Bedeutung
Veränderungen im Systemverhalten, die Veränderungen im Programmab-
lauf nach sich ziehen können
3 Kommunikation
In 8.x werden bei IP-Adressen und Port-Nummern die Vorgaben der IANA (In-
ternet Assigned Numbers Authority) eingehalten.
IP-Adressen Die RFC 1918 von IANA wird eingehalten. Die IP-Adressen für das Shared-
Memory-Netzwerk werden aus dem IP-Adresspool für private Netzwerke ver-
geben.
SharedMemory IP-Adressen:
5.x 8.x
VxWorks 192.0.1.1 192.168.0.1
Ports Die RFC 1700 von IANA wird eingehalten. Die Port-Nummern werden aus
dem Bereich für private Ports von 49152 … 65535 vergeben.
Wichtige Port-Nummern:
5.x 8.x
SharedMemory 4148 54100
Datenport
SharedMemory KCP 5100 54101
Port
SharedMemory LTC 6000 54102
4 Konfiguration
Übersicht Die meisten INI-Dateien aus 5.x wurden für 8.x in XML-Dateien umgewan-
delt.
Einstellungen, die sich für KSS und VSS unterscheiden, sind in 8.x in den-
selben Dateien enthalten, aber in verschiedene Abschnitte speziell für
KSS oder VSS aufgeteilt.
Alle Einstellungen im neuen Pfad C:\KRC\ROBOTER\Config\User bleiben
bei einem Update erhalten.
5.x 8.x
backward.ini KrcBackward.xml
in C:\KRC\ROBOTER\Config\User\Common
$VW_BACKWARD ist jetzt schreibgeschützt, d. h. die Datei kann nicht
mehr über $VW_BACKWARD beschrieben werden. Abschnitte für KSS
und VSS vorhanden.
IoDryRun.ini KrcDryRun.xml
in C:\KRC\ROBOTER\Config\User\Common
Enthält nur benutzerspezifische Einstellungen. Abschnitte für KSS und
VSS vorhanden.
ext_conf.ini KrcExtConfMsg.xml
in C:\KRC\ROBOTER\Config\User\Common
Enthält nur benutzerspezifische Einstellungen. In der Datei kann jetzt für
alle Quittierungsmeldungen der Robotersteuerung konfiguriert werden,
ob sie von extern quittierbar sein sollen.
memconfig.ini Abschnitt <MemConfig> in KrcConfig.xml
in C:\KRC\ROBOTER\Config\User\Common
progress.ini Benutzerspezifische Einstellungen: KrcConfig.xml
in C:\KRC\ROBOTER\Config\User\Common
Für manche Einstellungen Abschnitte für KSS und VSS vorhanden.
Systemeinstellungen: KRC.xml
in C:\KRC\ROBOTER\Config\System\Common
Einstellungen zum Trockenlauf: KrcDryRun.xml
in C:\KRC\ROBOTER\Config\User\Common
Abschnitte für KSS und VSS vorhanden.
wsrestore.ini Bleibt wsrestore.ini, jetzt im Verzeichnis C:\KRC\ROBOTER\IR_SPEC.
Die Datei exisitiert nur unter folgenden Voraussetzungen:
KUKA.CR ProgramCooperation oder KUKA.CR MotionCooperation
ist installiert.
Die Robotersteuerung wurde mit einem Kaltstart neu gestartet.
modsize.ini Bleibt modsize.ini, jetzt im Verzeichnis C:\KRC\ROBOTER\IR_SPEC.
Die Robotersteuerung legt die Datei in folgenden Fällen an:
Der Hauptschalter an der Robotersteuerung wird auf OFF gestellt.
Die Robotersteuerung wird über die Menüfolge Datei > KRC Been-
den heruntergefahren.
serial.ini Existiert nicht mehr. Nicht notwendig, weil 8.x serienmäßig keine konfi-
gurierbare serielle Schnittstelle hat.
5.x 8.x
motiondrv.ini Bleibt motiondrv.ini im Verzeichnis C:\KRC\ROBOTER\INIT.
pl_driver.ini Bleibt pl_driver.ini im Verzeichnis C:\KRC\ROBOTER\INIT.
iosys.ini (>>> 4.2 "Geändert: IO-Manager" Seite 12)
Beispiel Auszug aus KrcBackward.xml, mit Abschnitten für KSS und VSS:
<Version Label="">
<Info Version="KRC V8.0"/>
<Schema Version="1"/>
</Version>
iosys.ini In 8.x existiert die Datei iosys.ini nicht mehr. Auch der zugehörige Menüpunkt
E/A Treiber > E/A Konfiguration bearbeiten existiert nicht mehr. Der Inhalt
der früheren iosys.ini wird über XML-Dateien verwaltet.
iosys.ini iosys.ini
5.x Sektion [DRIVERS] mit den zu ladenden Trei- Sektionen für die einzelnen Treiber mit
bern Verschaltung der Ein-/Ausgänge
Modules.xml KRC_IO.xml
In C:\KRC\ROBOTER\Config\User\Cabinet In C:\KRC\ROBOTER\Con-
8.0
fig\User\Common
(Nur relevant für KUKA-Mitarbeiter: Für Office-
PCs in C:\KRC\ROBOTER\Config\User\Office)
Modules_DevIO.xml: Treiber für DevIO KRC_IO.xml
Modules_Interbus.xml: Treiber für Interbus In C:\KRC\ROBOTER\Con-
fig\User\Common
Modules_PNIODriver.xml: Treiber für Profinet
8.1
Modules_ProConOS.xml: Treiber für ProCo-
nos
Alle in C:\KRC\ROBOTER\Config\User\Com-
mon
Registry In 8.x gibt es keine fixe Zuordnung der IO-Treibernummer zu einem IO-Trei-
bernamen mehr. Die in der Registry gespeicherten Treibernamen mit Treiber-
nummer entfallen.
Systemvariablen $DATA_INTEGRITY:
$DATA_INTEGRITY wurde für 8.x von der $Option.dat in die $Operate.src
verschoben. Damit ist der Wert von $DATA_INTEGRITY in den Interpretern
noch lesbar, die Konfiguration erfolgt jedoch nicht über die $Option.dat son-
dern über KRC_IO.xml.
$SET_IO_SIZE:
$SET_IO_SIZE wurde für 8.x von der $Option.dat in die $Operate.src ver-
schoben. Damit ist der Wert von $SET_IO_SIZE in den Interpretern noch les-
bar, die Konfiguration erfolgt jedoch nicht über die $Option.dat sondern über
KRC_IO.xml.
$BUS_STATE und $BUS_USED:
$BUS_STATE und $BUS_USED entfallen in 8.x. (Grund ist die fixe Zuord-
nung der IO-Treibernummer aus der iosys.ini zum Treibernamen in der Regi-
stry.)
$IOBUS_INFO:
$BUS_STATE und $BUS_USED werden ersetzt durch $IOBUS_INFO.
Definition:
STRUCT IOBUS_INFO_T CHAR NAME[32], BOOL BUS_OK
Deklaration:
DECL IOBUS_INFO_T $IOBUS_INFO[32]
IOCtl Die KRL-Funktion IOCtl wurde für 8.x dahingehend geändert, dass statt einer
Treibernummer nun ein Bus-Name übergeben wird. Die restlichen Parameter
sind identisch zum bisherigen IOCtl()-Aufruf.
Eingänge lesen Das Lesen von Eingängen ist in 8.x nur noch vom Buszyklus und nicht mehr
vom Interpolationstakt abhängig.
Achtung!
Wenn die hier genannten Inkompatibilitäten und Einschränkungen nicht be-
rücksichtigt werden, können als Folgen auftreten:
Fehlermeldungen
Robotersteuerung ist nicht lauffähig.
Personen- und Sachschäden
Programme KRL-Programme aus 5.x können in 8.x geladen werden. Wenn die Program-
me Elemente enthalten, die mit 8.x nicht mehr kompatibel sind, gibt die Robo-
tersteuerung Fehlermeldungen aus.
CAL-Datei In 8.x dürfen CAL-Dateien aus 5.x nicht verwendet werden, da die Einheit "In-
kremente" in "Motorwinkel" geändert wurde.
Der Roboter muss für alle Werkzeuge neu justiert werden.
Archive In 8.x dürfen ausschließlich Archive aus der gleichen Version wiederherge-
stellt werden:
In KSS 8.0 nur Archive aus KSS 8.0
In VSS 8.0 nur Archive aus VSS 8.0
In KSS 8.1 nur Archive aus KSS 8.1
In VSS 8.1 nur Archive aus VSS 8.1 etc.
6 Programmierung
5.x Wenn in einem Programm eine nicht deklarierte Variable verwendet wird, wird
ihr automatisch der Default-Datentyp POS zugewiesen.
Die KRL-Anweisung IMPORT … IS existiert in 8.x nicht mehr. Wenn sie ver-
wendet wird, führt dies zu einem Systemfehler.
Die Anweisung konnte in 5.x verwendet werden, um Variablen aus externen
Datenlisten zu importieren. Dies ist jedoch nicht notwendig, da man Variablen
mit dem Schlüsselwort GLOBAL global verfügbar machen kann.
8.x In der $CONFIG.DAT dürfen keine Datentypen verwendet werden, die mit
dem Schlüsselwort GLOBAL definiert wurden.
Wenn dieser Datentyp in der $CONFIG.DAT verwendet wird, meldet der Com-
piler den Fehler "Typ unbekannt: *** DECL SWITCH_TYP MY_VAR".
DEFDAT $CONFIG
Beispiel Unterprogramm:
DEF UP (J)
DECL INT J
…
END
Oder:
DEF UP (J: OUT)
DECL INT J
…
END
5.x In 5.x können Konstanten und alle Arten von Ausdrücken als OUT-Parameter
übergeben werden. Ausdrücke sind z. B. Vergleiche, Funktionsaufrufe, arith-
metische Ausdrücke, logische Ausdrücke etc.
Beispiel Hauptprogramm:
DEFDAT Main
DECL INT i
…
UP(13)
UP(i+20)
TRIGGER WHEN DISTANCE=0 DELAY=0 DO UP(FCT())
INTERRUPT DECL 5 WHEN … DO UP(3)
…
END
Beispiel Unterprogramm:
Beispiel Funktion:
DEFFCT INT FCT()
RETURN 23
ENDFCT
8.x In 8.x müssen Konstanten und alle Arten von Ausdrücken als IN-Parameter
übergeben werden. Wenn sie als OUT-Parameter übergeben werden, löst
dies beim Speichern des Programms die Fehlermeldung 2367 aus: "Ausdruck
als OUT Parameter unzulässig".
5.x In 5.x können nur Felder vom Typ CHAR als IN-Parameter übergeben werden.
Alle anderen Felder müssen als OUT-Parameter übergeben werden.
Wenn jedoch ein anderes Feld als IN-Parameter übergeben wird, gibt die Ro-
botersteuerung beim Speichern des Programms keine Fehlermeldung aus.
Erst beim Programmablauf liefert der Interpreter die Fehlermeldung 1536 "Un-
zulässiger Feldparameter", sobald er die entsprechende Zeile erreicht.
Beispiel Hauptprogramm:
DEF Main ()
…
DECL INT my_array[3]
…
UP(my_array[ ])
…
END
Beispiel Unterprogramm:
DEF UP (par: IN)
DECL INT par[ ]
…
END
Das Beispiel kann zwar ohne Fehlermeldung gespeichert werden, ist jedoch
nicht ausführbar. Sobald der Interpreter die Zeile UP(my_array[ ]) erreicht,
kommt die Fehlermeldung 1536.
8.x In 8.x können wie in 5.x nur Felder vom Typ CHAR als IN-Parameter überge-
ben werden. Alle anderen Felder müssen als OUT-Parameter übergeben wer-
den.
Wenn ein anderes Feld als IN-Parameter übergeben wird, zeigt die Roboter-
steuerung bereits beim Speichern des Programms den Fehler an und nicht
erst beim Programmablauf. Die Fehlermeldung ist 2369 und lautet: "Felder als
IN-Parameter nur vom Typ CHAR erlaubt".
5.x Wenn das Höhere Fahrprofil aktiv ist, wird beim CP-PTP Überschleifen der
Überschleifradius von linearen Zusatzachsen falsch berechnet.
Bei der Berechnung werden die linearen Zusatzachsen als rotatorische Ach-
sen betrachtet. Dadurch ergibt sich ein zu großer Überschleifradius. Der tat-
sächlich verwendete Überschleifradius ergibt sich aus dem Minimum der
Überschleifradien von Roboterachsen und Zusatzachsen. Dadurch kommt der
falsch berechnete, große Überschleifradius der Zusatzachsen nicht zum Tra-
gen.
8.x Wenn das Höhere Fahrprofil aktiv ist, wird beim CP-PTP Überschleifen der
Überschleifradius von linearen Zusatzachsen korrekt berechnet.
Die Überschleifkontur kann sich dadurch im Vergleich zu 5.x ändern.
6.7.1 Grundlagen
Wenn für einen Trigger PRIO=-1 programmiert ist, vergibt die Robotersteue-
rung die Priorität automatisch. Zur Verfügung stehen dafür die Prioritäten
40 … 80. Aus diesem Bereich vergibt die Robotersteuerung die niedrigste
freie Nummer. Je niedriger die Nummer, desto höher die Priorität (1 = höchste
Priorität.). Trigger mit höherer Priorität werden vorrangig bearbeitet.
Beispiel:
LIN P1
TRIGGER WHEN DISTANCE=1 DELAY=-30 DO SUBPROG_1() PRIO=-1
TRIGGER WHEN DISTANCE=1 DELAY=-40 DO SUBPROG_2() PRIO=-1
TRIGGER WHEN DISTANCE=1 DELAY=-50 DO SUBPROG_3() PRIO=-1
LIN P2
Verhalten 5.x Trigger mit PRIO=-1 und Unterprogramm-Aufrufen können sich gegenseitig
unterbrechen.
Beschreibung Die Robotersteuerung vergibt die Priorität, wenn der Vorlaufzeiger die Zeile
mit dem Trigger erreicht hat. Der im Programm am weitesten oben stehende
Trigger erhält also die niedrigste Nummer, d. h. die höchste Priorität. (Sofern
es nicht zu einem Überlauf der Prioritäten kommt. (>>> 6.7.3 "Reihenfolge
der Trigger" Seite 22))
Die Trigger aus dem Beispiel könnten folgende Prioritäten erhalten:
SUBPROG_1: Priorität 40
SUBPROG_2: Priorität 41
SUBPROG_3: Priorität 42
Die Reihenfolge, in der die Trigger ausgelöst werden, hängt von den Trigger-
parametern ab. Sie entspricht also nicht unbedingt der Reihenfolge der Priori-
täten. Wenn Trigger Unterprogramme aufrufen, kann es deshalb dazu
kommen, dass sich die Unterprogramme unterbrechen.
Unterprogramme aus dem Grundlagen-Beispiel, mit den Beispiel-Prioriäten:
SUBPROG_3 wird wegen DELAY=-50 als erstes aufgerufen.
SUBPROG_2 wird wegen DELAY=-40 als zweites aufgerufen. Der Trigger
hat eine höhere Priorität als der von SUBPROG_3 und unterbricht daher
SUBPROG_3.
SUBPROG_3 wird erst weiter abgearbeitet, wenn SUBPROG_2 beendet
ist.
SUBPROG_1 wird wegen DELAY=-30 als letztes aufgerufen. Der Trigger
hat eine höhere Priorität als der von SUBPROG_2 und unterbricht daher
SUBPROG_2.
SUBPROG_2 wird erst weiter abgearbeitet, wenn SUBPROG_1 beendet
ist.
Abb. 6-1: Trigger unterbrechen sich während der Abarbeitung der Unter-
programme
Verhalten 8.x Trigger mit PRIO=-1 und Unterprogramm-Aufrufen können sich gegenseitig
nicht unterbrechen.
Beschreibung Die Robotersteuerung vergibt die Priorität, wenn das Triggerereignis ausge-
löst wird. Das zuerst eintretende Triggerereignis erhält dadurch die niedrigste
noch freie Nummer und damit die höchste noch freie Priorität.
Unterprogramme, die von Triggern mit PRIO=-1 aufgerufen werden, können
sich deshalb nicht mehr unterbrechen.
Verhalten 5.x Trigger mit PRIO=-1 werden nicht immer in der gleichen Reihenfolge abgear-
beitet. Ursache: Überlauf der Prioritäten-Nummern.
Beschreibung Die Trigger aus dem Grundlagen-Beispiel könnten folgende Prioritäten erhal-
ten:
SUBPROG_1: Priorität 40
SUBPROG_2: Priorität 41
SUBPROG_3: Priorität 42
Wenn die Robotersteuerung die Priorität 80 vergeben hat, vergibt sie als näch-
stes wieder die Priorität 40. Die Trigger aus dem Grundlagen-Beispiel könnten
also auch folgende Prioritäten erhalten:
SUBPROG_1() = Priorität 79
SUBPROG_2() = Priorität 80
SUBPROG_3() = Priorität 40
Die Hierarchie der Prioritäten ist in diesem Fall anders. Dadurch werden die
Unterprogramme in einer anderen Reihenfolge abgearbeitet.
Der Benutzer kann nur sehr schwer erkennen, wann die Prioritäten-Nummern
überlaufen und wann sich demzufolge das Verhalten ändert.
Unterprogramme aus dem Grundlagen-Beispiel, mit den veränderten Prioriä-
ten:
Das Unterprogramm SUBPROG_3 wird wegen DELAY=-50 als erstes
aufgerufen. Da der Trigger die höchste Priorität hat, wird es beendet, be-
vor SUBPROG_2 aufgerufen werden kann.
SUBPROG_2 wird wegen DELAY=-40 als zweites aufgerufen.
SUBPROG_1 wird wegen DELAY=-30 als letztes aufgerufen. Der Trigger
hat eine höhere Priorität als der von SUBPROG_2 und unterbricht daher
SUBPROG_2.
SUBPROG_2 wird erst weiter abgearbeitet, wenn SUBPROG_1 beendet
ist.
Verhalten 8.x Trigger mit PRIO=-1 werden immer in der gleichen Reihenfolge abgearbeitet.
Beschreibung Wenn die Robotersteuerung die Priorität 80 vergeben hat, kann sie die Priori-
tät 40 erst wieder vergeben, wenn kein Trigger-Unterprogramm abgearbeitet
wird.
Wenn gerade ein Trigger-Unterprogramm mit Priorität 80 abgearbeitet wird,
und ein weiterer Trigger mit PRIO=-1 soll ausgelöst werden, dann erscheint
die Fehlermeldung 1432: Maximale Anzahl Interrupts definiert. (Wenn ein Trigger
ein Unterprogramm aufruft, zählt er solange als aktiver Interrupt, solange das
Unterprogramm abgearbeitet wird.)
Abhilfe: KRL-Programm optimieren.
8.x In 8.x können in Triggern Laufzeit-Variablen verwendet werden, wenn sie sich
auf der rechten Seite der Zuweisung befinden.
Auf der linken Seite einer Zuweisung können nach wie vor keine Laufzeit-Va-
riablen verwendet werden. Wenn dort eine Laufzeit-Variable verwendet wird,
führt dies zur Fehlermeldung 1316: Laufzeitdaten bei Trigger in UP unzulässig.
Dies ist auch dann der Fall, wenn die Laufzeit-Variable als IN- oder OUT-Pa-
rameter (auch über mehrere Aufrufebenen hinweg) an das Unterprogramm
übergeben wurde.
Verhalten 5.x:
Das Beispiel führt zur Fehlermeldung 1316: Laufzeitdaten bei Trigger in UP unzu-
lässig.
Verhalten 8.x:
Keine Fehlermeldung.
Die Robotersteuerung wandelt die Laufzeit-Variable in eine Konstante um.
Zu dem Zeitpunkt, an dem der Trigger ausgelöst wird, wird die Konstante
der Variablen auf der linken Seite zugewiesen.
Auch IN- und OUT-Parameter werden in Konstanten umgewandelt, wenn die
zugrunde liegende Variable eine Laufzeit-Variable ist.
7 Systemvariablen
5.x In 5.x lieferte der Zugriff auf die Gesamtstruktur von $PRO_IP andere Ergeb-
nisse als der Zugriff auf eine Komponente.
Im folgenden Beispiel ergaben sich unterschiedliche Ergebnisse für
mPArrived1 und mPArrived2. Das Beispiel stellt ein Submit-Programm dar:
1 Decl PRO_IO mProIP
2 Decl INT mPArrived1, mPArrived2
3 mProIP=$Pro_IP
4 mPArrived1=mProIP.P_Arrived
5 mPArrived2=$Pro_IP.P_Arrived
Zeile Beschreibung
4 Liest P_Arrived vom Submit-Interpreter (immer 0)
5 Liest P_Arrived vom Roboterinterpreter
8.x In 8.x liefern der Zugriff auf die Gesamtstruktur von $PRO_IP und der Zugriff
auf eine Komponente das gleiche Ergebnis.
Expliziter Zugriff auf den Interpreter-Zustand:
In 8.x existieren neu folgende Variablen:
$PRO_IP0
Mit $PRO_IP0 kann auf den Zustand des Submit-Interpreters zugegriffen
werden.
$PRO_IP1
Mit $PRO_IP1 kann auf den Zustand des Roboterinterpreters zugegriffen
werden.
$PRO_IP0 und $PRO_IP1 können über ein Programm gelesen werden. Über
die Variablenkorrektur können sie auch beschrieben werden.
Impliziter Zugriff auf den Interpreter-Zustand:
Für $PRO_IP ist der Zugriff je nach Interpreter wie folgt geregelt:
Lesen der Variable in einem Roboterprogramm bezieht sich auf den Zu-
stand des Roboterinterpreters.
Lesen der Variable in einem Submit-Programm bezieht sich auf den Zu-
stand des Submit-Interpreters.
Lesen/Beschreiben der Variable über die Variablenkorrektur bezieht sich
auf den aktuellen Wert von $INTERPRETER.
$INTERPRETER = 0: Der Submit-Interpreter ist angewählt.
$INTERPRETER = 1: Der Roboterinterpreter ist angewählt.
Zugriff auf P_Arrived in Submit-Programm:
$PRO_IP enthält im Submit-Interpreter folgende initialisierte Komponenten:
$PRO_IP.SNR
$PRO_IP.Name[]
$PRO_IP.I_Executed
Dies bedeutet: P_Arrived ist im Submit-Interpreter nicht initialisiert. Lesen von
P_Arrived in einem Submit-Programm löst die Fehlermeldung 1422 "… Wert
ungültig". aus.
Die folgenden Elemente existieren in 8.x nicht mehr. Wenn sie verwendet wer-
den, führt dies zu einem Systemfehler.
Name Beschreibung
$DIGIN1 … $DIGIN6 Systemvariable
$DIGIN1CODE … $DIGIN6CODE Systemvariable
$STROBE1 … $STROBE6 Systemvariable
$STROBE1LEV … $STROBE6LEV Systemvariable
$DIGIN_FILT Systemvariable
DIGIN ON KRL-Anweisung
DIGIN OFF KRL-Anweisung
DIGINCODE Aufzählungstyp
Die folgenden Systemvariablen aus 5.x existieren in 8.x nicht mehr. Das Sy-
stemverhalten in 8.x entspricht der Default-Einstellung in 5.x, ausgenommen
bei $ASYNC_OPT und $TECH_CONT.
Beschreibung Zahlreiche Maschinendaten für die Antriebstechnik existieren in 8.x nicht mehr
wie in 5.x als Systemvariablen. Sie wurden z. B. in XML-Dateien verschoben
oder entfallen ganz.
Systemvariablen, die in XML-Dateien verschoben wurden, können nicht
mehr aus KRL gelesen werden.
Nur für Reglerparameter ($I_LG_PTP usw.) wird das Lesen/Schreiben
über GET_SYSTEM_DATA() bzw. SET_SYSTEM_DATA() möglich sein.
Die Einheiten haben sich gegenüber 5.x teilweise geändert.
Systemvariablen in 5.x, die sich auf Achsen beziehen und Felder mit ei-
nem Feldelement pro Achse sind, werden in 8.x ersetzt durch achsspezi-
fische Dateien, z. B. CtrlA<Antriebsnr>.xml.
5.x: Eine Systemvariable umfasst 1 Maschinendatum, bezogen auf die
verschiedenen Achsen.
8.x: Eine XML-Datei enthält mehrere Maschinendaten, bezogen auf 1
Achse.
Wenn im System Zusatzachsen vorhanden sind, existieren hierfür zusätz-
liche achsspezifische Dateien, z. B. CtrlE<Antriebsnr>.xml.
Angaben mit Schrägstrich in der Spalte Name 8.x geben die Position in-
nerhalb der XML-Datei an.
Beispiel: ToolMotor/Monitoring/PositionLag = Abschnitt ToolMotor, Un-
terabschnitt Monitoring, Parameter PositionLag
Übersicht Die Übersicht zeigt wichtige Maschinendaten (Antriebstechnik) aus 5.x und ih-
ren Status in 8.x.
Warnung!
Die Maschinendaten dürfen nur von KUKA Mitarbeitern bearbeitet werden.
Maschinendaten, bei denen in der Spalte Name 5.x keine Datei angege-
ben ist, befinden sich in der Datei $machine.dat.
Maschinendaten, bei denen in der Spalte Status 8.x "Noch offen" ange-
geben ist, befinden sich noch in der Überarbeitung.
8 Meldungen
$STOPNOAPROX == Meldungstyp
FALSE Betriebsart T1 oder T2: Hinweismeldung
Betriebsart AUT oder AUT EXT: Keine Meldung
TRUE Betriebsart T1 oder T2: stoppende Quittierungs-
meldung
Betriebsart AUT oder AUT EXT: Hinweismel-
dung
$STOPNOAPROX == Meldungstyp
FALSE Alle Betriebsarten: Hinweismeldung
TRUE Betriebsart T1 oder T2: Quittierungsmeldung
Betriebsart AUT oder AUT EXT: Hinweismel-
dung
AUT / AUT EXT In 8.x hat $STOPNOAPROX in den Betriebsarten AUT und AUT EXT keine
Auswirkung.
In 8.x werden in den Betriebsarten AUT und AUT EXT folgende Hinweismel-
dungen defaultmäßig unterdrückt:
Nr. Meldung
1123 Überschleifen nicht möglich (Modul <Modulname>, Satz <Satznum-
mer>)
1155 Überschleifen nicht möglich wegen Momentenüberschreitung
1442 Nicht überschleiffähige Anweisungsfolge (Modul <Modulname>, Satz
<Satznummer Bewegung>)
2920 Überschleifen im Interruptprogramm nicht möglich (Modul <Modul-
name>, Satz <Satznummer>)
Beispiel 1 Das Beispiel gilt für Betriebsart T1 oder T2 und $STOPNOAPROX == TRUE.
...
7 LIN P4 C_DIS
8 WAIT FOR $IN[27]= TRUE
9 LIN P5
...
Zeile Beschreibung
7 Der Satzzeiger bleibt stehen, weil aus Punkt P4 nicht über-
schliffen werden kann. Die Quittierungsmeldung 1123 Über-
schleifen nicht möglich (Modul XY, Satz 7) (=> M1442) wird
angezeigt.
Solange nicht quittiert wird, bleibt der Satzzeiger stehen.
8 Der Satzzeiger bleibt stehen, weil WAIT FOR den Vorlauf
stoppt und somit nicht überschliffen werden kann.
Die Quittierungsmeldung 1442 Nicht überschleiffähige Anwei-
sungsfolge (Modul XY, Satz 8 ) wird angezeigt.
Nr. Beispiel
1123 Überschleifen nicht möglich (Modul X, Satz 5)
1123 Überschleifen nicht möglich (Modul Y, Satz 25) (=> 1155)
1123 Überschleifen nicht möglich (Modul Z, Satz 15) (=> 1442)
1155 Überschleifen nicht möglich wegen Momentenüberschreitung
1155 Überschleifen nicht möglich wegen Momentenüberschreitung +
1442 Nicht überschleiffähige Anweisungsfolge (Modul Z, Satz 16)
1442 Nicht überschleiffähige Anweisungsfolge (Modul Z, Satz 16) +
2920 Überschleifen im Interruptprogramm nicht möglich (Modul N, Satz 59)
Beschreibung 5.x: Um Hinweismeldungen in den Betriebsarten AUT und AUT EXT zu unter-
drücken, setzte man $STOPNOAPROX == FALSE.
8.x: Wenn Meldungen in AUT und AUT EXT unterdrückt werden sollen, muss
dies in der Datei C:\KRC\USER\SmartHMI.User.config konfiguriert werden.
($STOPNOAPROX unterdrückt Meldungen nicht mehr, sondern bestimmt nur
noch den Meldungstyp.)
(>>> 8.1 "Geändert: $STOPNOAPROX" Seite 31)
Voraussetzung Windows-Ebene
Nr. Meldung
470 Overridereduktion für sichere Roboter aktiv
1053 Geschwindigkeitsabsenkung Punkt %1 %2 um %3
1123 Überschleifen nicht möglich
1155 Überschleifen nicht möglich wegen Momentenüberschreitung
1442 Nicht überschleiffähige Anweisungsfolge (Modul %1, Satz %2)
2920 Überschleifen im Interruptprogramm nicht möglich
3078 Geschwindigkeit 0 m/sec im Spline Punkt %1, Zeile %2, Ursache
%3
3087 Trigger: %1-Wert %2 geändert zu: %3
3131 KRL Systemdiagnose wurde noch nicht gestartet
3132 KRL Systemdiagnose wurde noch nicht beendet
<MessageSet /> Ein MessageSet definiert eine Menge von Meldungen. Die Anzahl der Messa-
geSets kann beliebig erweitert werden.
Attribut Beschreibung
Name Typ: String
Name des MessageSets. Wird intern für Ausgaben im
SmartHMI.log verwendet. Falls ein Name vergeben
wird, muss er eindeutig sein.
Optional
MergeOrder Typ: INT ≥ 100
Eine Meldung kann Bestandteil mehrerer MessageSets
sein. Daher ist die Reihenfolge relevant, in der die
MessageSets ausgewertet werden. Die MessageSets
werden vor ihrer Ausführung entsprechend MergeOr-
der sortiert.
(Der Bereich 0 … 99 ist für systeminterne Zwecke
reserviert.)
<Rule /> <Rule /> definiert, welche Meldungen zu einem MessageSet gehören. Eine
Meldung kann Bestandteil mehrerer MessageSets sein.
Ein MessageSet ohne das Element <Rule /> definiert die Menge aller
Meldungen.
Alle für <Rule /> zulässigen Attribute sind optional. Wenn <Rule />
verwendet wird, muss es jedoch mindestens ein Attribut enthalten.
Attribut Beschreibung
Type Typ: String
Meldungstyp: Info, State, Quitt, Wait oder Dialog
Source Typ: String
Sprachdatenbank-Schlüssel des Absenders der Mel-
dung
Module Typ: String
Modulname des Absenders der Meldung
Number Typ: String
Meldungsnummer
Die Attribute vom Typ String sind Reguläre Ausdrücke und werden gemäß
der Syntax für Reguläre Ausdrücke von Microsoft verwendet. Die Beschrei-
bung dieser Syntax ist nicht Gegenstand dieser Dokumentation.
9 KUKA Service
9.1 Support-Anfrage
Einleitung Die Dokumentation der KUKA Roboter GmbH bietet Informationen zu Betrieb
und Bedienung und unterstützt Sie bei der Behebung von Störungen. Für wei-
tere Anfragen steht Ihnen die lokale Niederlassung zur Verfügung.
Verfügbarkeit Der KUKA Customer Support ist in vielen Ländern verfügbar. Bei Fragen ste-
hen wir gerne zur Verfügung!
Argentinien Ruben Costantini S.A. (Agentur)
Luis Angel Huergo 13 20
Parque Industrial
2400 San Francisco (CBA)
Argentinien
Tel. +54 3564 421033
Fax +54 3564 428877
ventas@costantini-sa.com
Index
Symbole $LOOP_DIRECTION 29
$ SEt_IO_SIZE 13 $LOOP_G_VEL_PTP 29
$ANA_DEL_FLT 26 $LOOP_I_LG_PTP 29
$ASR_ERROR 28 $LOOP_I_VEL_PTP 29
$ASYNC_OPT 26 $LOOP_LG_PTP 29
$AX_ENERGY_MAX 28 $LOOP_RAT_EXTPOS_AX 29
$AX_SIM_ON 28 $LOOP_RAT_MOT_AX 29
$AXIS_RESO 28 $LOOP_TYPE 29
$BIOS_VERSION 26 $MOTOR_POLE_NUMBER 29
$BOUNCE_TIME 28 $MS_DA 29
$BRK_COOL_OFF_COEFF 28 $MSG_T 26
$BRK_ENERGY_MAX 28 $NINPUT_SENSORCHANNEL 30
$BRK_OPENTM 28 $NINPUT_SENSORTYPE 30
$BRK_TORQUE 28 $NINPUT_SUBCHANNEL 30
$BUS_STATE 13 $PHASE_MONITORING 30
$BUS_USED 13 $PMCHANNEL 30
$CABLE2_MON 28 $POSINPUT_SENSORCHANNEL 30
$CONFIG.DAT 17 $POSINPUT_SENSORTYPE 30
$CPVELREDMELD 26 $POSINPUT_SUBCHANNEL 30
$CURR_CAL 28 $PRO_IP 25
$CURR_LIM 28 $PRO_IP0 25
$CURR_MAX 28 $PRO_IP1 25
$CURR_MON 28 $RAISE_T_MOT 30
$DATA_INTEGRITY 13 $RAISE_TIME 30
$DECEL_MB 28 $RAT_EXT_ENC 30
$DIGIN 26 $RAT_MOT_ENC 30
$DIGIN(Nr)CODE 26 $RDC2_PHASE_SHIFT_1 30
$DIGIN_FILT 26 $RDC2_PHASE_SHIFT_2 30
$DRIVE_CART 27 $SEN_DEL 30
$DRIVE_CP 27 $SERV_OFF_TM 30
$DSECHANNEL 28 $SERVOFILE 30
$EMSTOP_MOTTORQ 29 $SERVOFILE_CONFIG 30
$ENDLESS 27 $SERVOFILEKPS 30
$EXT_ACCU_MON 29 $SERVOMODE 30
$EXT_AXIS 27 $SLAVE_LOOP_PMCHANNEL 30
$FFC_TORQ 29 $STOPNOAPROX 31
$FFC_TORQ_AXIS 29 $STROBE 26
$FFC_VEL 29 $STROBE(Nr)LEV 26
$FOL_ERR_MA 29 $TECH_CONT 27
$G_COE_CUR 29 $VEL_AXIS_MA 30
$G_VEL_CAL 29 $VEL_FLT_OFF 27
$G_VEL_CP 29
$G_VEL_PTP 29 A
$I_LG_CP 29 Archive 15
$I_LG_PTP 29
$I_VEL_CP 29 B
$I_VEL_PTP 29 backward.ini 11
$IMPROVEDCPBLENDING 27 Begriffe, verwendete 5
$IMPROVEDMIXEDBLENDING 27 Bewegungsanweisungen 15, 17
$IN_POS_MA 29
$INTERPRETER 25 C
$IOBUS_INFO 13 CAL-Dateien 15
$KPS_CURR_MAX 29
$KPS_CURR_RATED 29 D
$KT_MOT 29 Datentypen, global 17
$KT0_MOT 29 DIGIN OFF 26
$LG_CP 29 DIGIN ON 26
$LG_PTP 29 DIGINCODE 26
E Support-Anfrage 37
Einleitung 5 Systemvariablen 25
ext_conf.ini 11
T
H telnet 9
Hinweise 5 Trigger, mit Laufzeitvariablen 23
HMI 5 Trigger, Priorität -1 20
I Ü
IANA 9 Übergabeparameter 18
IMPORT 17 Überschleifen, CP-PTP 20
INI-Dateien 11 Überschleifen, Meldungen 31
Inline-Formulare 15, 17
Internet Assigned Numbers Authority 9 V
IO-Manager 12 Variablen, undeklariert 17
IOCtl 13 VSS 6
IoDryRun.ini 11
iosys.ini 12 W
IP-Adressen 9 Warenzeichen 5
Wiederherstellen, Archive 15
J wsrestore.ini 11
Justage 15
Justieren 15 Z
Zielgruppe 5
K
Kommunikation 9
Konfiguration 11
KRC.xml 11
KRC_IO.xml 12
KrcBackward.xml 11, 12
KrcConfig.xml 11
KrcDryRun.xml 11
KrcExtConfMsg.xml 11
KSS 5
KUKA Customer Support 37
M
Maschinendaten 27
Meldungen 31
Meldungen, unterdrücken 33
Meldungen, Überschleifen nicht möglich 31
memconfig.ini 11
modsize.ini 11
Modules.xml 12
motiondrv.ini 12
MSG_T 26
P
pl_driver.ini 12
Port-Nummern 9
POS, Default-Datentyp 17
Produktbeschreibung 7
Programmierung 17
progress.ini 11
S
Schulungen 5
serial.ini 11
Service, KUKA Roboter 37
Sicherheitshinweise 5
SmartHM 6