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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Lichtreglung -> Tageslichtsimulation

  1. #11
    Registriert seit
    04.07.2010
    Beiträge
    66
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von SCM Beitrag anzeigen
    Okay jetzt weiß ich wie du es genau meinst!
    Somit wird die Rampe Auf/Ab errechnet!
    Sollen die Werte wann das Licht ein bzw. ausgeschaltet werden soll fix sein oder einstellbar?


    Mfg
    welche werte meinst genau?

  2. #12
    Registriert seit
    31.03.2010
    Beiträge
    335
    Danke
    3
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Zitat Zitat von multixy Beitrag anzeigen
    welche werte meinst genau?
    Wann das licht bei 100% Leistung bzw. wieder bei 0% sein soll!

    Mfg

  3. #13
    Registriert seit
    04.07.2010
    Beiträge
    66
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von SCM Beitrag anzeigen
    Wann das licht bei 100% Leistung bzw. wieder bei 0% sein soll!

    Mfg
    hatte ich eben geschrieben


    DO einschalten zb gen 0600 -> AO auf 0%
    DO immer noch an (zb 1200) -> AO auf 100%
    DO ausschalten zb gen 2000 -> AO auf 0%

    es handelt sich um EVG´s die eine 230V Spannungsversorgung bekommen, deswegen den DO und haben einen trimmbaren analogen Eingang von 0-10V.

  4. #14
    Registriert seit
    31.03.2010
    Beiträge
    335
    Danke
    3
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Hallo!
    Hast du möglichkeiten zum testen?

    Mfg

  5. #15
    Registriert seit
    04.07.2010
    Beiträge
    66
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    nur auf 4-20mA ausgängen.....
    die 0-10V Karten hab ich leider noch nicht

  6. #16
    Registriert seit
    31.03.2010
    Beiträge
    335
    Danke
    3
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Meinte SPS oder PLC sim!
    Hab jetzt mal schnell ein beispiel gemacht!Läuft soweit kann man aber sicher noch verbessen!!!

    Mfg

  7. #17
    Registriert seit
    31.03.2010
    Beiträge
    335
    Danke
    3
    Erhielt 33 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier mal die Quelle des Beispiels:

    Code:
    FUNCTION_BLOCK "SYS_SIM_TEGESLICHT"
    TITLE =SYS SYM TAGESLICHT
    VERSION : 0.1
    
    
    VAR_INPUT
      ENABLE : BOOL ;    //Freigabe Licht
      HAND : BOOL ;    //Licht Händisch ein
      EINSCHALTDAUER : REAL ;    //Dauer die das Licht leuchten soll in h(bei der hälfte ist 100% erreicht)
      CYCLE : INT ;    //Aktuelle Zykluszeit
    END_VAR
    VAR_OUTPUT
      ON_OFF : BOOL ;    //Ausgang Licht (Schütz odgl)
      VALUE : INT ;    //Ansteuerung Analogmodul
      IST : INT ;    //Istwert Licht in %
    END_VAR
    VAR_IN_OUT
      START : BOOL ;    //Start Automatik
    END_VAR
    VAR
      _flanke : ARRAY  [1 .. 8 ] OF BOOL ;    
      TEMP_SOLL : REAL ;    
      GAIN : REAL ;    
      TEMP_DAUER : REAL ;    
      AUS : BOOL ;    
    END_VAR
    VAR_TEMP
      _real : REAL ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =Keine Freigabe Sollwert abnullen Licht aus
    
          UN    #ENABLE; 
          UN    #HAND; 
          SPBN  _001; 
          L     0; 
          T     #VALUE; 
          T     #IST; 
          L     0.000000e+000; 
          T     #GAIN; 
          T     #TEMP_SOLL; 
          T     #TEMP_DAUER; 
          SET   ; 
          R     #ON_OFF; 
          R     #AUS; 
          R     #START; 
          SAVE  ; 
          BEB   ; 
    _001: NOP   0; 
    NETWORK
    TITLE =Licht Händisch ansteuerun aif 100%
    
          U     #HAND; 
          SPBN  _002; 
          L     27648; 
          T     #VALUE; 
          L     100; 
          T     #IST; 
          SET   ; 
          =     #ON_OFF; 
          SAVE  ; 
          BEB   ; 
    _002: NOP   0; 
    NETWORK
    TITLE =Platzhalter
    //--------------------------------------------------------------------------------
    //                             Ablauf Automatik
    //--------------------------------------------------------------------------------
    //
    
    
    NETWORK
    TITLE =Start Licht ein
    
          U     #START; 
          FP    #_flanke[1]; 
          =     L      4.0; 
          U     L      4.0; 
          SPBNB _003; 
          L     0.000000e+000; 
          T     #TEMP_SOLL; 
    _003: NOP   0; 
          U     L      4.0; 
          SPBNB _004; 
          L     0.000000e+000; 
          T     #GAIN; 
    _004: NOP   0; 
          U     L      4.0; 
          SPBNB _005; 
          L     0.000000e+000; 
          T     #TEMP_DAUER; 
    _005: NOP   0; 
          U     L      4.0; 
          SPBNB _006; 
          L     0.000000e+000; 
          T     #_real; 
    _006: NOP   0; 
          U     L      4.0; 
          BLD   102; 
          R     #AUS; 
    NETWORK
    TITLE =Leuchtdauer Halbe
    
          U(    ; 
          U     #START; 
          SPBNB _007; 
          L     #EINSCHALTDAUER; 
          L     2.000000e+000; 
          /R    ; 
          T     #TEMP_DAUER; 
          UN    OV; 
          SAVE  ; 
          CLR   ; 
    _007: U     BIE; 
          )     ; 
          SPBNB _008; 
          L     #TEMP_DAUER; 
          L     3.600000e+006; 
          *R    ; 
          T     #TEMP_DAUER; 
    _008: NOP   0; 
    NETWORK
    TITLE =Schrittweite
    
          U     #START; 
          SPBNB _009; 
          L     2.764800e+004; 
          L     #TEMP_DAUER; 
          /R    ; 
          T     #GAIN; 
    _009: NOP   0; 
    NETWORK
    TITLE =Aktuele Zykluszeit einbeziehen
    
          CLR   ; 
          L     #CYCLE; 
          ITD   ; 
          DTR   ; 
          L     #GAIN; 
          *R    ; 
          T     #_real; 
    NETWORK
    TITLE =Ausgang Aufsummieren Einschalten
    
          U     #START; 
          UN    #AUS; 
          SPBNB _00a; 
          L     #TEMP_SOLL; 
          L     #_real; 
          +R    ; 
          T     #TEMP_SOLL; 
    _00a: NOP   0; 
    NETWORK
    TITLE =Ausgang Subtrahieren Auschalten
    
          U     #START; 
          U     #AUS; 
          SPBNB _00b; 
          L     #TEMP_SOLL; 
          L     #_real; 
          -R    ; 
          T     #TEMP_SOLL; 
    _00b: NOP   0; 
    NETWORK
    TITLE =100% erreicht beginnen abrampen
    
          U     #START; 
          U(    ; 
          L     #TEMP_SOLL; 
          L     2.764800e+004; 
          >=R   ; 
          )     ; 
          S     #AUS; 
    NETWORK
    TITLE =0% erreicht Auschalten beenden
    
          U     #START; 
          U(    ; 
          L     #TEMP_SOLL; 
          L     0.000000e+000; 
          <=R   ; 
          )     ; 
          R     #AUS; 
          R     #START; 
    NETWORK
    TITLE =Sollwert Prüfen Überlauf
    
          U(    ; 
          L     #TEMP_SOLL; 
          L     2.764800e+004; 
          >=R   ; 
          )     ; 
          SPBNB _00c; 
          L     2.764800e+004; 
          T     #TEMP_SOLL; 
    _00c: NOP   0; 
    NETWORK
    TITLE =Sollwert Prüfen Unterlauf
    
          U(    ; 
          L     #TEMP_SOLL; 
          L     0.000000e+000; 
          <=R   ; 
          )     ; 
          SPBNB _00d; 
          L     0.000000e+000; 
          T     #TEMP_SOLL; 
    _00d: NOP   0; 
    NETWORK
    TITLE =Lampe Einschalten
    
          L     #TEMP_SOLL; 
          L     0.000000e+000; 
          <>R   ; 
          =     #ON_OFF; 
    NETWORK
    TITLE =Sollwert Ausgeben
    
          U(    ; 
          U(    ; 
          U     #START; 
          SPBNB _00e; 
          L     #TEMP_SOLL; 
          RND   ; 
          T     #VALUE; 
          UN    OV; 
          SAVE  ; 
          CLR   ; 
    _00e: U     BIE; 
          )     ; 
          NOT   ; 
          SPBNB _00f; 
          L     0; 
          T     #VALUE; 
          SET   ; 
          SAVE  ; 
          CLR   ; 
    _00f: U     BIE; 
          )     ; 
          SPBNB _010; 
          L     0.000000e+000; 
          T     #TEMP_SOLL; 
    _010: NOP   0; 
    NETWORK
    TITLE =Istwert in Prozent
    
          CLR   ; 
          L     #TEMP_SOLL; 
          L     1.000000e+002; 
          *R    ; 
          L     2.764800e+004; 
          /R    ; 
          RND   ; 
          T     #IST; 
          SET   ; 
          SAVE  ; 
    END_FUNCTION_BLOCK
    Soll aber nur als Beispiel dienen!
    Mfg
    Geändert von SCM (16.10.2011 um 14:31 Uhr)

Lesezeichen

Berechtigungen

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