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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: Bewegungsmelder

  1. #11
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Viel zu kompliziert gedacht.

    Wenn BWM1, 2 oder 3 was erfassen, wird der Blinkgeber aktiviert.
    Jede Leuchte geht an, wenn ihr BWM ein ist oder der Blinkgeber.
    Der BWM übersteuert also einfach den Blinkgeber für seine Leuchte:



    Fertsch.


    PS: Falls die BWMs nur Impulse liefern, einfach 'ne Ausschaltverzögerung den Eingängen nachschalten.

  2. Folgende 2 Benutzer sagen Danke zu hucki für den nützlichen Beitrag:

    Sprengel (04.12.2014),Zersch (04.12.2014)

  3. #12
    Sprengel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.12.2014
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das war der anfangBWM.jpg

  4. #13
    Sprengel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.12.2014
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke dir hucki

  5. #14
    Registriert seit
    25.10.2013
    Ort
    Castrop-Rauxel
    Beiträge
    177
    Danke
    36
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier ist eine mögliche Lösung in SCL:

    Code:
    FUNCTION_BLOCK "Bewegungsmelder"
    { S7_Optimized_Access := 'TRUE' }
    VERSION : 0.1
       VAR_INPUT 
          Bew_1 : Bool;
          Bew_2 : Bool;
          Bew_3 : Bool;
       END_VAR
    
       VAR_OUTPUT 
          Lampe_1 : Bool;
          Lampe_2 : Bool;
          Lampe_3 : Bool;
       END_VAR
    
       VAR 
          Timer1 {OriginalPartName := 'IEC_TIMER'; LibVersion := '1.0'} : TON_TIME;
          Timer2 {OriginalPartName := 'IEC_TIMER'; LibVersion := '1.0'} : TON_TIME;
          Blinker : Bool;
       END_VAR
    
    
    BEGIN
        
        
        #Timer1(IN :=NOT #Timer2.Q,PT := T#1s);
        #Timer2(IN := #Timer1.Q,PT := T#1s);
        
        #Lampe_1 := #Timer1.Q;
        #Lampe_2 := #Timer1.Q;
        #Lampe_3 := #Timer1.Q;
        
        
        IF #Bew_1 THEN
            #Lampe_1 := 1;
        END_IF;
        
        IF #Bew_2 THEN
            #Lampe_2 := 1;
        END_IF;
        
        IF #Bew_3 THEN
            #Lampe_3 := 1;
        END_IF;
        
        
    END_FUNCTION_BLOCK

  6. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von SanjaDO Beitrag anzeigen
    Hier ist eine mögliche Lösung in SCL:

    Code:
    FUNCTION_BLOCK "Bewegungsmelder"
    { S7_Optimized_Access := 'TRUE' }
    VERSION : 0.1
       VAR_INPUT 
          Bew_1 : Bool;
          Bew_2 : Bool;
          Bew_3 : Bool;
       END_VAR
    
       VAR_OUTPUT 
          Lampe_1 : Bool;
          Lampe_2 : Bool;
          Lampe_3 : Bool;
       END_VAR
    
       VAR 
          Timer1 {OriginalPartName := 'IEC_TIMER'; LibVersion := '1.0'} : TON_TIME;
          Timer2 {OriginalPartName := 'IEC_TIMER'; LibVersion := '1.0'} : TON_TIME;
          Blinker : Bool;
       END_VAR
    
    
    BEGIN
        
        
        #Timer1(IN :=NOT #Timer2.Q,PT := T#1s);
        #Timer2(IN := #Timer1.Q,PT := T#1s);
        
        #Lampe_1 := #Timer1.Q;
        #Lampe_2 := #Timer1.Q;
        #Lampe_3 := #Timer1.Q;
        
        
        IF #Bew_1 THEN
            #Lampe_1 := 1;
        END_IF;
        
        IF #Bew_2 THEN
            #Lampe_2 := 1;
        END_IF;
        
        IF #Bew_3 THEN
            #Lampe_3 := 1;
        END_IF;
        
        
    END_FUNCTION_BLOCK
    Auf diese Art programmiertes SCL oder ST ist sowieso der letzte Dreck Ich würde KOP oder FUP nehmen. Passt auch besser zur vorhandenen LOGO.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #16
    Registriert seit
    25.10.2013
    Ort
    Castrop-Rauxel
    Beiträge
    177
    Danke
    36
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Was gefällt die denn an dieser Art nicht?

  8. #17
    Registriert seit
    01.10.2014
    Beiträge
    14
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Da muss ich Harald recht geben. Ist auch etwas übersichtlicher und leichter verständlich, gerade wenn man sich mit SCL nicht wirklich auskennt
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg BWM.jpg (117,9 KB, 31x aufgerufen)
    Mehr as´n Dithmarscher kann de Mensch nie warn!

  9. #18
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Außerdem ... @Sanja:
    Der Code könnte dann übersichtlicher auch so aussehen :
    Code:
        #Lampe_1 := #Timer1.Q or #Bew_1 ;
        #Lampe_2 := #Timer1.Q or #Bew_2 ;
        #Lampe_3 := #Timer1.Q or #Bew_3 ;
    Gruß
    Larry

  10. #19
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Auf diese Art programmiertes SCL oder ST ist sowieso der letzte Dreck
    Zitat Zitat von SanjaDO Beitrag anzeigen
    Was gefällt die denn an dieser Art nicht?
    Hast Du mal auf Haralds Link geklickt?
    Und dann geschaut, worauf ich da geantwortet habe?
    Und hast Du Dir dann die gerade zitierte Frage noch mal gestellt?


    Ansonsten genau das:
    Zitat Zitat von SanjaDO Beitrag anzeigen
    Code:
        #Lampe_1 := #Timer1.Q;
        #Lampe_2 := #Timer1.Q;
        #Lampe_3 := #Timer1.Q;
        
        
        IF #Bew_1 THEN
            #Lampe_1 := 1;
        END_IF;
        
        IF #Bew_2 THEN
            #Lampe_2 := 1;
        END_IF;
        
        IF #Bew_3 THEN
            #Lampe_3 := 1;
        END_IF;
    Warum kann man da nicht einfach:
    Code:
        #Lampe_1 := #Timer1.Q OR #Bew_1;
        #Lampe_2 := #Timer1.Q OR #Bew_2;
        #Lampe_3 := #Timer1.Q OR #Bew_3;
    schreiben?

    PS: Da bin ich wohl nicht allein mit meiner Meinung.



    PPS: Keine Ahnung, warum die Forumssoftware Haralds Zitat immer von selbst auftrennt?
    Scheinbar ist 'ne Schriftart die Ursache für die Trennung, obwohl ich da einfach nur zitiert habe.
    Im Standard-Editor konnte ich das dann rausnehmen.
    Geändert von hucki (05.12.2014 um 15:00 Uhr) Grund: Noch mal am Zitat von Harald versucht.

  11. #20
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... ich finde es übrigens interessant, wie ihr fleissig die Logik für den TE gebaut habt. Ich hätte es besser gefunden, dem TE beizubringen, das selbst zu können ...
    na vielleicht beim nächsten Mal ...

  12. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    de vliegende hollander (05.12.2014)

Ähnliche Themen

  1. Bewegungsmelder als Überwachung
    Von Portisch im Forum Sensorik
    Antworten: 2
    Letzter Beitrag: 12.05.2016, 11:42
  2. Bewegungsmelder 24V
    Von Wu Fu im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 07.04.2015, 00:14
  3. Bewegungsmelder als Not- Halt
    Von Mathias im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 20
    Letzter Beitrag: 30.01.2010, 11:25
  4. Hausinstallation / Sensoren / Bewegungsmelder
    Von JandeFun im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 11.11.2009, 23:04
  5. Bewegungsmelder, wo anbringen?
    Von Josef Scholz im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 19.06.2003, 08:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •