Ausgang für die SPS nach Erreichen der Position

  • Schritt für Schritt zum Roboterprofi!
  • Distance kann 0 oder 1 sein

    ich meine

    0 = Zielpunkt

    1 = start der bewegung


    delay ist verzögerungszeit also 0


    bei do dein ausgangssignal


    prio ist Priorität


    -1 = Automatisch auswählen


    fertig dann so


    TRIGGER WHEN DISTANCE = 0 DELAY = 0 DO $OUT[10] PRIO = -1

  • ich meine

    0 = Zielpunkt

    1 = start der bewegung

    Genau andersrum. 0 is beim Verlassen der vorherigen Bewegung und 1 ist beim erreichen der nächsten Bewegung. Um es einfach auszudrücken.

    Also Prio musst du beim Setzen/Beschreiben eines Ausganges/Variable nicht zwangsläufig nutzen. Dies gibt nur die Priorität der Abarbeitung an, wenn für eine Bewegung mehrere Trigger-Befehle angegeben werden und wird normal bei Funktionen und UP's gebraucht.


    Grüße

  • Oh dann hab ich das wohl mit Onstart bei Trigger when path verwechselt

    Ja , super. Das hat ja schon mal geklappt.




    P1

    TRIGGER WHEN DISTANCE = 0 DELAY = 0 DO $OUT[10] PRIO = -1

    P2


    Sobald ich P2 erreicht habe bekommt die SPS jetzt das Signal.

    Muss ich es hinter P2 wieder manuell auf false schalten ?

  • Hallo Broker,

    Das Signal muss auch wieder zurückgesetzt werden, je nachdem wie lang du es gesetzt haben möchtest.

    Wenn ein Signal automatisch im Bereich von p2 gesetzt haben möchtest, kannst du es auch mal mit nem Workspace probieren.


    Grüße

  • Also wenn du ihn setzt musst du ihn auch wieder zurück nehmen würde bedeuten


    P1

    TRIGGER WHEN DISTANCE = 1 DELAY = 0 DO $OUT[10] PRIO = -1

    P2

    TRIGGER WHEN DISTANCE = 0 DELAY = 0 DO $OUT[10]=FALSE PRIO = -1

    P3


    Wenn du garnicht möchtest das das Signal dauerhaft an ist und es nur für kurze zeit beim erreichen des Punktes anstehen soll kannst du es auch so machen


    P1

    TRIGGER WHEN DISTANCE = 1 DELAY = 0 DO PULSE($OUT[10],TRUE,1) PRIO = -1

    P2


    Damit wird der Ausgang nur gepulsed und nach ablauf der Zeit also die Zahl nach True geht er selbst wieder aus...

  • Kannst auch einfach ein INT z.B.: iMerker_Position nutzen. Diesen setzt dann auch P1 = 1 ; P2 = 2 ; P3 = 3 usw. diesen legst dann auf einen Ausgangsbereich deiner Wahl und Größe. So mache ich es bei meinen Anlagen. Dann hat die SPS immer die aktuelle Position des Roboters. (nicht verwechseln mit $POS_ACT!)


    TRIGGER WHEN DISTANCE = 1 DELAY = 1 DO iMerker_Position=1

    P1

    TRIGGER WHEN DISTANCE = 1 DELAY = 1 DO iMerker_Position=2

    P2

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