Six 300 Programmierung via COM

  • Hallo beisammen,


    ich hab einen kleinen Adept six 300 an dessen AWC Board die Ethernet-Schnittstelle defekt ist.
    Über die serielle Schnittstelle kann ich mir auf einem PC in einem Fenster die Daten der Steuerung anzeigen lassen und zum Teil kleine Veränderungen vornehmen.


    Nun möchte ich ganz gerne ein neues Programm schreiben, bei dem der Robi vier Positionen anfährt und stehe mit meiner bisherigen KUKA-Erfahrung wie ein Ochs vor dem Berg. Die Adept-Handbücher mit ihren vielen Verweisen habe ich nun mehrmals nicht ganz ergebnislos durchgearbeitet. Allerdings bis zum eigenen Programm hat es bisher nicht gereicht.


    Fragen, die ich habe sind:
    - Ist eine Programmierung über die serielle Schnittstelle überhaupt möglich?
    - Gibt es ein einfaches Tutorial, bei dem erklärt wird, wie man mit V+ auf der Steuerung ein Programm generiert, Locations erstellt und editiert?


    Wie schon erwähnt: Die Kommunikation ist nur seriell möglich.
    Ich bin für jede Hilfe dankbar.


    Beste Grüße aus Berlin
    Tobias

  • ANZEIGE
  • Hallo Tobi,


    welche Software benutzt du denn für die Kommunikation über die COM - Schnittstelle zum AWC? Adept Windows oder eine Terminal Emulation?


    Es gibt von der Sache her keine Unterschied, ob du für die Programmierung, zuminest bei diesen etwas in die Jahre gekommenen Systemen, über die EtherNet- oder die COM - Schnittstelle zugreifst. Der zu Grunde liegende SEE Editor und der Debugger lassen sich auf die gleiche Art und Weise bedienen. Schwirig wird es unter Umständen nur, wenn die Funktionstasten, wie z.B. F4 für das Verlassen des Editors, benötigst. Die sind bei AdeptWindows vorbelegt und du musst nur die jeweilige Funktionstaste drücken. Bei einer Terminal Emulation musst du dann die jeweilige Sequenz für die Funktionstate wissen, wie z.B. F4 = Esc+E.


    Warum denkst du eigentlich, dass die EtherNet-Schnittstelle am AWC defekt ist? Kannst du das AWC anpingen? Welche IP-Adresse hat das AWC? Welche V+ Version läuft auf deiner Steuerung und was für ein Windows System hast du auf deinem PC.


    Viele Grüße,


    Pitl

  • Hallo Pitl,


    zur Kommunikation nutze ich AdeptWindows. AdeptWindows funktioniert soweit inkl. der Funktionstasten und läuft auf einem Rechner mit Windows XP und SP2.


    Der Ethernetconnector hat am Anfang auf dem AWCII Board gefehlt. Teile vom alten Connector waren in einer kleinen Tüte beigelegt (XFATM2-COMBO1-4). Ich habe einen neuen Con. von der Fa. XFMRS bekommen und diesen auf das Board Löten lassen. Leider musste ich dann bei den ersten Versuchen die laufende Steuerung ins Netzwerk einzubinden feststellen, dass der Connector schon beim Anstecken des Kabels nicht reagiert. Erst habe ich die Verbindung direkt an den PC mit einem Crossover-Kabel und dann mit einem ungekreuztem Kabel probiert. Das selbe habe ich dann mit einem Router wiederholt. Leider mit dem selben Ergebnis, dass die Gegenstelle nicht hardwaretechnisch erkannt wird bzw reagiert.


    Anpingen ist also nicht möglich. Daher gehe ich davon aus, dass die Ethernetschnittstelle nicht funktioniert.
    Die IP-Adresse und die V+ Version kann ich Dir bei weiterem Bedarf morgen posten.



    Zum Programmieren hätte ich noch eine konkrete Frage.
    Ich hab ein Programm auf der Steuerung dessen Punkte (Locations) in einer Datei abgelegt sind. Diese lassen sich dann mit dem Befehl "listl" anzeigen. Auf dem HMT kann ich die Locations als Variablen anzeigen lassen und verändern.
    Nun möchte ich ein neues Programm und eigene neue Locations erzeugen. Wie komme ich zu einer neuen .lc Datei mit Location Variablen und kann ich diese auch direkt editieren?


    Vielen Dank für Deine Mühe.
    Tobias

  • Hallo Tobi,


    o.k., ich sehe ein dass deine Schnittstelle defekt ist.


    Jetzt zu deiner Frage. Mit Listl siehst du nur die Location die im RAM sind. Posotionsvariablen haben erstmal keinen Zusammenhang zu irgendeinem Programm, es sei denn die Variable wird in einem Programm benutzt. Du kannst jetzt folgendes machen. Du schreibst ein weiteres Programm, es muss nur einen anderen Namen als die schon vorhandenen haben. In diesem Programm kannst du andere Positionsvariablen verwenden. Wenn du jetzt mit STORE abspeicherst, werden alle Programme und alle Locations in die Datei abgespeichert. Die Datei ist allerdings nur ein Container für strukturierten Text. In einer Datei können hunderte von Programmen und Variablen abgespeichert werden.


    Alternativ kannst du neu beginnen. Mach zuvor den Arbeitsspeicher mit ZERO leer.


    Viele Grüße,


    -Pitl

  • Hi,


    nachdem du mit Zero den Arbeitsspeicher leer gemacht hast kannst du via SEE editor ein neues Programm erstellen. Gib einfach ein "see " gefolgt von deinem Programmnamen ein. Wenns das Programm noch nicht gibt fragt der Editor dich ob er es erstellen soll. Dann kannst schon munter drauf los programmieren (erst mit "i" in den insert mode wechseln, zum wieder verlassen F4 drücken). Im Downloadbereich von Adept findest eigentlich alle Unterlagen die du benötigst. Suche einfach mal nach see editor, da wird sicherlich was passendes dabei sein.


    Was du dringend brauchst ist eine Übersicht der wichtigsten Monitor Befehle um zum Beispiel Module zu speichern, zu kopieren usw.


    Zum Thema *lc file. Diese ist nicht zwingend nötig. Es besteht die Möglichkeit Variablen und Programme in entsprechenden Dateien zu speichern und bei Bedarf zu laden (*.pg,*.lc,*rv,...).
    Wenn du dein Programm aber mit store Programmname speicherst, speichert dir das System alles mit in ein Modul. Das erkennst du an der Endung *.v2. Darin sind dann Programme und Variablen enthalten. Wenn du eine V2 in einem normalen Editor betrachtest siehst du was ich meine.
    Wenn du dann diese V2 lädst sind alle angelegten Variablen darin enthalten. Die einfachste Möglichkeit eine Position zu lernen ist die Cobra auf die gewünschte Position zu stellen und dann das Kommando "Here" gefolgt vom Variablennamen einzugeben. Damit wird eine Transformation angelegt (x/y/z/y/p/r ähnlich KUKA - POS).
    Stellst du vor deinen Variablennamen ein "#" voran so wird ein so genannter Precision Punkt erzeugt (KUKA Axis).
    Programmatisch kannst über den Befehl SET name = TRANS(x,y,z,y,p,r) eine Transition und über
    SET #name = #PPOINT(a1,a2,a3,a4) einen Precision Point erzeugen.


    Ich hoffe ich konnte behilflich sein.

  • Vielen Dank für die Hilfestellungen.


    Zur Zeit lade ich mit leerem Speicher die Testdatei, verändere sie nach Wunsch.
    Lösche dann auf dem Laufwerk mit FDELETE die ursprügliche Datei und
    speichere anschließend mit STORE die editierte Testdatei aus dem Speicher wieder unter dem ursprügliche Namen.
    Ein direktes Zurückspeichern ist wohl nicht möglich?


    Der SET Befehl führ bei TRANS sowie bei PPOINT sofort zur Fehlermeldung "Ambiguous Command". Wobei mir nicht klar ist, was an der Zeile
    SET #home1 = #ppoint(0,-90,180,0,10,0)
    oder SET pos01 = trans(400,0,320,0,0,0)
    mehrdeutig sein kann.
    Über den Umweg HERE und anschließend POINT lassen sich die Punkte trotzdem erstellen und dann editieren.


    Die V2 Dateien in einem externen Editor betrachten und bei Bedarf zu verändern wäre Gold wert. Allerdings bräuchte ich dann eine Möglichkeit über die COM Schnittstelle Dateien zu verschieben. Mir wurde das Kermit Protokoll an Herz gelegt, allerdings fehlt mir da zur Zeit die Vorstellung, wie im einzelnen die Kommunikation an sich funktionieren soll.


    Zwei weitere Fragen die ich habe:
    - Gibt es Eingabebefehle für AdeptWindows, mit dem ich ein laufendes Programm stoppen oder nur anhalten und weiterlaufen lassen kann?
    - Im Handverfahr-Modus kommt die Fehlermeldung "S5" auf dem Statusdisplay der Antriebe. Und verschwindet auch erst wieder nach einem Neustart. Auf dem HMT erscheint Safety System Fault Code 5. Die Antwort, wie man das Problem beseitigt, steht bisher noch vom Adept Support aus. woran liegt es und wie kann man dies beseitigen?


    Die V+ Version ist 16.3. Die Steuerung eine MV10 mit AWC II Board.


    Viele Grüße
    Tobias

  • Hallo,


    - Nein, soweit ich das noch weiß darf beim speichern eine Datei selben Namens nicht schon vorhanden sein.
    - SET sollte eigentlich schon funktionieren, jedoch nicht als Monitor Kommando, nur in einem Programm z.B. SET pos = TRANS( 150.45 , -350, 250, 0, 180, -45.5) oder SET #position = #PPOINT(-35, 40.5, 150, -350). dann kannst du die Punkte mit Move (PTP) oder Moves (LIN) anfahren. Willst du präzise anfahren dann programmiere ein BREAK nach dem Move.


    Zum Beispiel:


    set point1 = TRANS(100,100,200,0,0,0)
    set point2 = TRANS(100,200,200,0,0,0)


    MOVE point1 <--- Point1 wird präzise angefahren, da ein BREAK folgt
    BREAK
    MOVE point2
    wait state(10)>80 <--- Punkt wird nach Distanzkriterium überschliffen



    - Ich hatte vor Jahren mal eine sCobra - mit ADW via Com Port da gabs eigentlich keine Probleme beim Dateien hin und her kopieren. Mit AdeskTop gehts natürlich komfortabler, benötigt aber eine Lizenz auf dem Controller.
    - Du kannst z.B. den Task auf dem deine Programme ausgeführt werden anhalten. Such mal nach den Monitorkommandos ABORT, RESUME, KILL, PROCEED. Natürlich kannst du auch in deinen Programmen Breakpoints setzen.
    - S5 - Keine Ahnung, hatte ich noch nie, sorry.


    Grüße

  • Erstmal Herzlichen Dank. :D


    Bin wohl doch sehr stark von dem Kuka-System verwöhnt. Und muss öfters einen Schritt zurück denken.


    Den Datentransfer über ADW werde ich mir mal anschauen. Da ich mir doch noch etwas mehr Aufschluss verspreche, wenn ich mir einen .V2 Container mal in einem exterenen Editor anschauen kann.


    - Welche Schritte und Einstellungen konkret notwendig sind, um eine Datei via ADW von der Steuerung auf den PC zuziehen und anderesherum auf der Steuerung wieder abzulegen hast Du nicht zufällig in Reichweite?


    - Sehe ich das richtig, dass kein Programmvorlauf exisitiert, der die Bahn zu einem Punkt auf Durchfahren einer Singularität überprüft?


    Viele Grüße
    Tobias

  • Hi,


    sorry, war ein paar Tage "unabkömmlich". Zu deinen Fragen:


    - Klar Vorlauf gibt es natürlich auch beim Adept - muss ja auch Überschleifen möglich sein (siehe z.B. Switch CPON ...)


    Handbuch habe ich keins ... hast bei Adept im Portal nichts gefunden ?


    Mein Tipp - besorge dir eine Lizenz für DeskTop. Das mach das ganze deutlich komfortabler und kostet nicht die Welt. Kontaktier einfach die Adept Hotline ... da wird dir geholfen.


    Gruß

  • Zitat

    Mein Tipp - besorge dir eine Lizenz für DeskTop. Das mach das ganze deutlich komfortabler und kostet nicht die Welt. Kontaktier einfach die Adept Hotline ... da wird dir geholfen.


    Leider hat mein System den wohl veralteten MV Controller und da sind die Support Mitarbeiter auch bei Adept nach Auskunft der Hotline sehr dünn gesät. Bisherige Auskunft: DeskTop läuft nur auf den CX und weitere Fragen kann nur der bereits im Winterurlaub befindliche Mitarbeiter klären.


    Handbücher habe ich jede Menge. Nur hatte ich gehofft das ich mit wenigen Worten das erklärt bekomme, was ich mir sonst aufwendig über verschiedene Handbücher hinweg anlesen müßte. :D


    Werde mich daher im neuen Jahr nochmal an der Hotline versuchen.


    Vielen Dank für die Hilfe.

  • Hi,


    stimmt so nicht. DeskTop läuft auch mit MV Controllern. Ein Kollege hat erst vor kurzer Zeit eine Lizenz auf einem MV installiert. Transfer hat funktioniert (über TCP), habe extra nochmal nachgefragt - dann wird es seriell ja wohl auch gehen.


    Gruß

  • Hallo,


    AdeptDesktop ist mit MV-Controllern möglich ab V+ Version 16.4D. Aber der Zugriff auf den MV-Controller ist nur über die Ethernet Schnittstelle möglich.


    Viele Grüße,


    Pitl

  • Ein frohes neues,


    nachdem unser Elektriker sich die AWC Platine nochmal angesehen und die bisher funktionslose Ethernet-Buchse nochmal eingelötet hat, läßt sich nun die Steuerung auch via LAN ansprechen. :D


    Nun hakt es noch etwas beim Mounten von Ordnern vom PC auf der Steuerung.
    Ich hab eigene feste IP Adressen vergeben. Ich kann von beiden Seite (PC/Steuerung) die jeweils andere Seite anpingen.


    PC: Name: Anhert, IP: 153.97.90.1, Subnet: 255.255.255.0
    Steuerung: IP: 153.97.90.212, Subnet 255.255.255.0


    Beim Start mit AdeptWindowsPC via Ethernet erscheint der DDT Bildschirm, bei dem ich 'D' auswähle. Anschließend wird geladen bis das DDT Fenster verschwindet und der V+ Ladebildschirm erscheint. Hier kommt eine Fehlermeldung 'connect() error 10060'. Nach 'Disconnect' und Neu-'Connect' startet V+ vollständig.


    Unter config_c wird mir bei CONTROLLER NVRAM angezeigt, dass der AdeptNFS Client vorhanden ist.
    Im CONTROLLER CONFIGURATION EDITOR habe ich unter
    .NETWORK
    MOUNT1 = "/MOUNT 'xc' /NODE 'ANHERT' /PATH 'c:/ADEPT/DISKS/DISK_C'"
    NODE 1 = "/NODE 'ANHERT' /ADDRESS 153 97 90 1"
    eingerichtet.


    Nur erscheint unter NET kein gemountetes Laufwerk.
    Und bei dem Status ist zusehen, dass NFS auf 'option installed' aber nicht auf 'up' steht.


    Bin für Hilfestellungen dankbar.


    Viele Grüße
    Tobias

  • Hallo,


    Auf dem Rechner läuft der OmniNFS Server V4.13. Das Problem war das die UID und die GID nicht gesetzt waren.
    Nach dem ich die und die Schreib- und Leserechte eingestellt habe, kann ich nun manuell die Laufwerke mounten, in dem ich die Befehle:


    fset tcp /node 'PC1' /address 153 97 90 1
    fset nfs /mount 'XD' /node 'PC1' /path 'C:\adept\disks\disk_c\'


    eingebe.


    Nun versuche ich automatisch mit dem Steuerungsstart zu mounten. Aber da hängt es nun etwas.
    In der 'config_c' habe ich unter NETWORK folgendes eingetragen/erzeugt:


    LOCAL ID = "/MACHINE 'SIX'" ;(mit UID und GID = "0")
    MOUNT 1 = "/MOUNT 'XD' /NODE 'PC1' /PATH 'C:\adept\disks\disk_c\'"
    MOUNT 2 = "/MOUNT 'XArchiv' /NODE 'PC1' /PATH 'C:\adept\disks\archiv\'"
    NODE 1 = "/NODE 'PC1' /ADDRESS 153 97 90 1"


    Aber nach Neustart werden die Laufwerke nicht gemountet.


    Weiterhin erscheint beim Start nach dem DDT Bildschirm das Ladefenster von V+ mit der Meldung 'Waiting for TCP connection to complete' und bricht dann die Verbindung mit der Fehlermeldung 'connect() error 10060' ab. Nach dem Neuverbinden funktioniert der Zugriff via AdeptWindowsPC.


    Grüße
    Tobias

  • Hi,


    also zu dem Fehler im DDT : Keine Ahnung - sorry.
    Automatisches Verbinden beim Systemstart :


    in der Auto startest du ja sicher deine Applikation. Einfach innerhalb deiner Applikation eine Routine auf einem Task platzieren welche die NFS Verbindung aufbaut.


    Gruß

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