Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Results 1 to 6 of 6

Thread: zwei Integer wahlweise auf Analogausgang schreiben

  1. #1
    Join Date
    26.07.2005
    Posts
    488
    Danke
    22
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte mit TwinCAT PLC in ST folgendes realisieren:
    Wahlweise einen Analogwert (INT) auf einen Analogausgang schreiben:
    Wenn Variable (Bool) "vorwärts" TRUE ist soll der Wert (INT) "vorwärtsgeschwindigkeit" auf den Ausgang "ventil" geschrieben werden.

    Wenn Variable (Bool) "rückwärts" TRUE ist soll der Wert (INT) "rückwärtsgeschwindigkeit" auf den Ausgang "ventil" geschrieben werden.

    Wenn keine der beiden Varianten aktiv ist, soll der Ausgang '0' sein.

    Vielen Dank
    Oli
    Press "Play" on Tape
    -------------------------------
    TwinCAT
    Step7
    Barber-Colman MacoDS
    Schneider Momentum SPS
    Wonderware 8.0
    Concept 2.2 SR2
    Vipa
    Allen-Bradley
    Reply With Quote Reply With Quote zwei Integer wahlweise auf Analogausgang schreiben  

  2. #2
    Join Date
    20.08.2003
    Posts
    297
    Danke
    40
    Erhielt 33 Danke für 32 Beiträge

    Default

    Veruch es mal mit SEL,
    Auszug aus der Hilfe in Codesys:
    SEL Auswahl-IEC-Operator: Binäre Selektion.
    OUT := SEL(G, IN0, IN1) bedeutet:
    OUT := IN0 if G=FALSE;
    OUT := IN1 if G=TRUE.


    mfg. Rayk

  3. #3
    olitheis is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    26.07.2005
    Posts
    488
    Danke
    22
    Erhielt 2 Danke für 2 Beiträge

    Default

    Hallo Rayk,

    daran hatte ich auch schon gedacht, allerdings müsste ich dazu 3 x diesen SEL verwenden, damit ich auch die gew. Funktion habe. Wenn ich nur einen verwenden würde, biebe immer einer der beiden Werte am Ausgang anstehen. Ich dachte vielleicht an eine etwas elegantere Lösung in ST?

    Gruß
    Oli
    Press "Play" on Tape
    -------------------------------
    TwinCAT
    Step7
    Barber-Colman MacoDS
    Schneider Momentum SPS
    Wonderware 8.0
    Concept 2.2 SR2
    Vipa
    Allen-Bradley

  4. #4
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

    Code:
     (* Variante 1 *)
    IF Vorwaerts THEN
      Speed := VorwaertsSpeed;
    ELSIF Rueckwaert THEN
      Speed := RueckwaertsSpeed;
    ELSE
      Speed := 0;
    END_IF
    Dann musst Du aber noch verraten was gesehen soll wenn "aus einem dummen Zufall" vorwärts und rückwärts aktiv sind. (z.B. einfach stehen bleiben)

    Code:
     (* Variante 2 *)
    IF Vorwaerts AND NOT Rueckwaerts THEN
      Speed := VorwaertsSpeed;
    ELSIF Rueckwaerts AND NOT Vorwaerts THEN
      Speed := RueckwaertsSpeed;
    ELSE
      Speed := 0;
    END_IF
    Ich nutze für solche Fälle meistens eine bool Variable für an/aus und eine für positive/negative Drehrichtung.

    Code:
    (* Variante 3 *)
    IF MotorAn THEN
      IF DrehrichtungPositiv THEN
        Speed := VorwaertsSpeed;
      ELSE
        Speed := RueckwaertsSpeed;
      END_IF
    ELSE
      Speed := 0;
    END_IF;
    If you open your Mind too much, your Brain will fall out.

  5. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    olitheis (01.12.2008)

  6. #5
    Join Date
    15.01.2005
    Location
    In der Mitte zwischen Bayreuth/Weiden
    Posts
    7,038
    Danke
    337
    Erhielt 1,599 Danke für 1,341 Beiträge

    Default

    Warum brauch du 3x SEL?

    AOUT := 0 ;
    G := Vorw AND NOT Rueckw ;
    G := Rueckw AND NOT Vorw ;
    IF Vorw OR Rueckw
    AOUT := SEL(G, Wert_VW, Wert_RW) ;
    END_IF;
    Wobei ich persönlich hier SEL durch ein IF bzw. ELSIF ersetzen würden,
    aber das ist hier Geschmackssache.
    Edit: (in etwa wie es Zotos hier vormacht) ...

    Mfg
    Manuel
    Last edited by MSB; 01.12.2008 at 19:20.
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  7. #6
    olitheis is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    26.07.2005
    Posts
    488
    Danke
    22
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Super, vielen Dank.
    So hatte ich mir das vorgestellt.
    Press "Play" on Tape
    -------------------------------
    TwinCAT
    Step7
    Barber-Colman MacoDS
    Schneider Momentum SPS
    Wonderware 8.0
    Concept 2.2 SR2
    Vipa
    Allen-Bradley

Similar Threads

  1. Sonstiges TcHMI TE2000 Schreiben von Integer Wert an PLC
    By msauerpb in forum HMI
    Replies: 4
    Last Post: 27.06.2019, 13:44
  2. Analogausgang aus zwei Quellen beschreiben
    By Spagulli in forum Programmierstrategien
    Replies: 1
    Last Post: 17.09.2016, 19:41
  3. Replies: 7
    Last Post: 05.04.2011, 18:56
  4. EB in Integer schreiben
    By ottopaul in forum Simatic
    Replies: 2
    Last Post: 12.01.2007, 21:45
  5. Integer mit AGLink in MW schreiben
    By Reto in forum Simatic
    Replies: 1
    Last Post: 30.10.2006, 07:19

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •