Kommunikation mit Kuka KRC 1

  • Hallo allerseits,


    Wie ich hier schon mal geschrieben habe, bastel' ich hier schon geraume Zeit daran rum einen KR 6/2 gesteuert mit einer KRC 1 (Software 4.1.5) mit einem Bildverarbeitungssystem (Cognex Insight Vision 5400) die Daten wo er denn bitte zugreifen soll zu übergeben. Dieses Problem weitet sich auf meiner Seite langsam zum Desaster aus.


    Ich wollte eigentlich die RS 232 nutzen und die KRC mit dem Cread-Cwrite ansprechen. Problem: Die Kuka KRC1 will gerne das Siemens 3964r Protokoll nutzen, zumindest habe ich das bis jetzt so verstanden.


    Blöderweise kann die Cognex das ganz einfach nicht und für die Handshaking verfahren fehlt mich ein In Out Modul von Cognex.. Also neuer Versuch mit OPC Server. Da stecke ich nun erneut in der Sackgasse, weil: Meine KRC1 hat noch den alten Windows95 kern. Die Cognex OPC Software läuft auf dem anderen Rechner aber NUR unter WinXP Sp2 oder Win2000 SP4. Und eine OPC Kommunikation zwischen Winxp SP2 und Windows 95 scheint einfach nicht möglich zu sein. Werde nun vermutlich wieder zur seriellen Schnittstelle zurückkehren müssen.
    Nur wie kann ich das machen?! Verliere so langsam den Überblick... :hilfe:


    Frage: Welche prinzipiellen Möglichkeiten bietet die KRC 1 zur Kommunikation. Muss nur einige Daten, wie abmessungen, Position und Verdrehwinkel des Guts übergeben. Also nicht viel.
    Das muss doch gehen!?!? Oder hat jemand eine Idee, wie ich die OPC Schnittstelle trotzdem zum laufen bekomme? Das die etwas zickig und vor allem nicht echtzeitfähig ist, ist mir bewusst.


    Rätselnde Grüße


    Andreas

  • Du kannst die serielle Schnittstele auch auf andere Protokolle umstellen, in der serial.ini gibt es den Parameter

    Code
    1. PROC=1 ; 3964R=1, SRVT=2, WTC=3, XONXOFF=4


    Vielleicht ist ja was passendes bei.

    If you and DEAD people can read Hex, how many people can read Hex?

  • auf alle Fälle mit der seriellen Schnittstelle arbeiten.
    Das muss gehen.
    Wenn Du das Protokoll mit Kai´s Methode umstellst - biste ja eh durch, oder ?

    Menschen brauchen Roboter, aber auch Roboter brauchen Menschen.

    Roboter sichern die Arbeitsplätze und den Fortschritt der Industrieländer, da sie kostengünstig und qualitativ hochwertig produzieren.

    Ohne Automatisierung mit Robotern werden unsere Produkte in Billiglohnländern hergestellt.

  • So, jetzt weiss ich den Trick wieder (musste nur eben in den Robbie schauen, hab ich gestern keine zeit zu gehabt)
    Bei der Definition der Schnittstelle

    Code
    1. Proc=4; XONXOFF


    dann etwas später

    Code
    1. [XONXOFF
    2. XONVAL=0
    3. XOFFVAL=0


    Daneben steht in nem Kommentar, dass das 0-Setzen dieser Parameter das XONXOFF-Protokoll disabled und ne pure serielle Kommunikation übrig bleibt.
    Das hätte KUKA auch einfacher lösen können, ist ein wenig von Hinten durch die Brust ins Auge...


    So, aber auf die Art sollte es wenigstens tun...

    If you and DEAD people can read Hex, how many people can read Hex?

  • Ach noch eins, auf das ich reingefallen bin: Um die geänderten Parameter zu übernehmen ist nen Kaltstart nötig. Klingt komisch, ist aber so.

    If you and DEAD people can read Hex, how many people can read Hex?

  • Ein Kaltstart ist halt ein wenig viel, für eine derart kleine Änderung wie die Baudrate. Ich kenne sonst kein System, dass das braucht, daher habe ich damals auch ne kleine Weile gebraucht um zu begreifen, warum meine Änderungen nicht angenommen werden.


    Aber Deine Erklärung macht natürlich trotzdem Sinn.

    If you and DEAD people can read Hex, how many people can read Hex?

  • Gibt es denn eine möglichkeit denn Datenverkehr zwischen dem externen Rechner un VX Works einzusehen? Mit Telnet siehtr man soweit ich das verstanden hab ja nur den Datenverkehr zwischen der Windows 95 Oberfläche und dem VX Works oder :?:

  • Auszug aus der Creat/cwrite-Doku:


    Danach sieht man die Zeichen wenn möglich ASCII-Kodiert, wenn das nicht geht als Hex- oder Dezimalzahl.

    If you and DEAD people can read Hex, how many people can read Hex?

  • Danke für die schnelle Antwort,
    habs versucht und siehe da, es funktioniert leider nicht. :wallbash:
    Hier meine Einstellungen:


    Windows XP Rechner (Hyperterminal):
    Bits pro Sekunde: 9600
    Datenbits: 8
    Parität: Gerade
    Stopbits: 1
    Flusssteuerung: XON / XOFF


    Hab bei Flusssteuerung auch schon alle anderen Möglichkeiten versucht.


    KRC 1 Einstellungen:
    hw_inf.ini:
    COM1=Disable
    COM2=Enable
    COM3=Disable


    serial.ini:
    [COM2]
    BAUD=9600
    CHAR_LEN=8
    STOP_BIT=1
    PARITY=2
    PROC=4 (XONXOFF)


    [XONXOFF]
    XONVAL=0
    XOFFVAL=0


    [TEST]
    TESTPRINT=1


    Eigentlich sollte also alles funktionieren, woran könnte es also noch liegen :nocheck:?

  • Was vielleicht noch hilfreich wäre:


    Robotersteuerung ist ne KRC 1 mit der Softwareversion 4.1.5

  • Was genau funktioniert denn nicht? Kannst Du keine Daten empfangen oder keine Senden? kannst Du die Daten im Telnet sehen?

    If you and DEAD people can read Hex, how many people can read Hex?

  • Nach dem Start von Telnet 192.0.1.1 auf der KRC 1und dem vom Hyperterminal auf dem xp Rechner, stellt Hyperterminal zwar eine Verbindung her, nur werden dort eingegebene Sachen nicht im Telnet angezeigt. Alerdings scheint es, als ob Hyperterminal nach der Eingabe irgend etwas tut, da es nicht mehr reagiert.
    Jetzt weiß ich nicht, ob eine verbindung wirklich zu stande kommt.

  • Hallo Ralle!


    Du siehst deswegen nichts auf dem Telnet, weil die Daten ja gar nicht bis zur Robotersteuerung durchkommen.


    Telnet 192.0.1.1 überwacht den Verkehr auf dem virtuellen Netzwerk zum Grundsystem. (192.0.1.1 ist die IP-Adresse der MFC-Karte in diesem virtuellen Netzwerk). Wenn Du schon entsprechende Roboterprogramm hast, die den seriellen Datenverkehr regeln, dann brauchst Du nur noch in der hw_inf.ini COM2=ENABLE zu schreiben und schon siehst Du auch was auf dem Telnet.

    Weniger als 100% wird nicht akzeptiert :-)

  • Ähem nochwas Ralle.


    Um erstmal überhaupt eine Kommunikation zu checken, solltest Du auch auf dem Roboter das Hypterterminal benutzen und nicht das Telnet.

    Weniger als 100% wird nicht akzeptiert :-)

  • Soweit ich verstanden habe, funktioniert Hypertermimal doch nur, wenn die COM 2 Schnittstelle Windows 95 zugeordnet ist. Das heit sie ist in der hw_inf.ini disablet.


    Gibt es keine einfachen Testprogramme, mit welchen ich eine funktionsprüfung durchführen kann? :hilfe:

    Edited once, last by Ralle ().

  • Du kannst mit Hyperterminal die Verbindung mehr auf hardware-Ebene überprüfen, wenn da alles tut, kannst Du Dich mit den parametern vom Robbie beschäftigen. Macht ja keinen Sinn da schon 1000 nen Kaltstart für die Änderungen zu machen, wenn die Hardware noch garnicht tut...

    If you and DEAD people can read Hex, how many people can read Hex?

  • Also, die Komunikation zwischen dm XP Rechner und Windows 95 funktioniert (hab die COM2 Schnittstelle vorher wieder windows zugeordnet), nur leider wird Hyperterminal auf der Windows 95 Seite ziemlich lahm gelegt (es dauert ewig, bis Zeichen ankommen und Hyperterminal ist in dieser Zeit nicht ansprechbar). Ist das normal, oder hab ich was falsch gemacht.

  • Klingt jetzt nicht angsteinflössend, weil ja die Windows-Hälfte des Systems eh kaum Rechenpower abbekommt. Das kann dann schon bremsen, stört aber nicht, da ja von VxWorks aus drauf zugegriffen werden soll.
    Klappt der Rest inzwischen auch?

    If you and DEAD people can read Hex, how many people can read Hex?

  • Was den Rest angeht, so war ich bisher damit beschäftigt, die Komunikation ans laufen zu bekommen. Was die Programmierung angeht, so liegt das noch vor mir. Ich hatte halt gehoft, das es eine Art Testprogramm gibt, mit welchem sich kontrolliren läst, ob Daten ohne weiteres zu Roboter geschickt werden können und sich dann in einem Programm weiterverarbieten lassen.


    Da die Komunikation inzwischen zu funktioniren scheint, habe ich jetzt angefangen mich in CREAD / CWRITE einzulesen um selbst erst mal ein Testprogramm zu schreiben, sollte ich dieses geschaft haben, geht es dann daran, das eigentlich Programm zu schreiben, welches es am ende ermöglichen soll, dem Roboter Koordinaten über die COM2 Schnittstelle zu geben, mit welchen er dann dynamisch Pakete nimmt und auf eine Palette stapelt.


    Sollte dieses dann alles funktioniren, :beerchug:
    hab ich meine Diplomarbeit hinter mir und bin 50 Jahre gealtert.