Gmoccapy

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Hallo,
      ich müsste in Gmoccapy das Signal was das Einschalten der Maschine abbildet invertieren. In meiner Hal ist das zugehörige Netz
      # --- MACHINE-IS-ENABLED ---
      net machine-is-enabled hm2_5i25.0.7i76.0.0.output-03
      D.h. wenn ich auf der Oberfläche den Einschaltknopf drücke, sollte output-03 Null werden und umgekehrt. Hat jemand eine Idee?
      LG Albert
      Nur Fliegen ist schöner.
    • Hallo Albert.

      Ich habe keine Mesa-Karte, daher kann ich nur grob helfen und benutze auch Axis anstelle von Gmoccapy:

      1. Evtl. gibt es hm2_5i25.0.7i76.0.0.output-03 schon in einer invertierten Version. Zumindest die Parallelport-Pins gibt es doppelt. Mein Pin für den Werkzeuglängensensor lautet z.B. parport.0.pin-11-in-not. Unter Axis kann man sich die HAL pins anzeigen lassen. Das müsste unter Gmoccapy auch gehen. Kannst ja mal schauen, ob es da schon eine invertierte Variante des Pins gibt.

      2. Falls es keinen invertierten Pin gibt, kannst Du den selber invertieren. Sollte ungefähr so gehen:

      Source Code

      1. loadrt not
      2. addf not.0 servo-thread
      3. net hm2_5i25.0.7i76.0.0.output-03 => not.0.in
      4. net machine-is-enabled <= not.0.out
      Viel Erfolg,
      Lars
    • Hallo Lars,
      dein Vorschlag hat nicht ganz funktioniert, aber hat mich auf den richtigen Weg gebracht, d.h. es funktioniert jetzt.
      Die Syntax für das not muss lauten:

      loadrt not
      addf not.0 servo-thread
      net machine-is-enabled not.0.in
      net 7i76-output-03 not.0.out
      net 7i76-output-03 hm2_5i25.0.7i76.0.0.output-03

      Laut Hal Tutorial lautet eine net Verbindung

      net signal-name pin-name <optional arrow> <optional second pin-name>

      z.B.net home-x axis.0.home-sw-in <= parport.0.pin-11-in

      D.h. ich brauche zuerst den Signalnamen und danach den Pin Namen, deshalb habe ich den Namen
      7i76-output-03 eingeführt.
      Man kann es aber auch kürzer schreiben mit

      net machine-is-enabled not.0.in
      net 7i76-output-03 not.0.out hm2_5i25.0.7i76.0.0.output-03
      LG Albert
      Nur Fliegen ist schöner.