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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Wie programiere ich einen Dimmer mit S7

  1. #1
    Registriert seit
    13.11.2006
    Beiträge
    21
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Tach Leute und Frohes neues Jahr
    ich möchte gerne eine Lampe dimmen ( O-10 Volt analog output ) .
    Mein problemm ist ich möchte das der dimmvorgang ca 10 secunden dauert von 0 auf 100 %. Wie programiere ich das ?? Hab echt kein plan ...
    Zitieren Zitieren Wie programiere ich einen Dimmer mit S7  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    642
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Da gibt es mehrere Möglichkeiten:
    Entweder die Zeit abfragen und je nach Zeitwert bzw. Zeitdifferenz den Ausgabewert ermitteln
    Oder einfach OB 35 verwenden und alle x Millisekunden den Ausgabewert anpassen
    Beides natürlich in beide Richtungen und nur wenn gewünscht.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Registriert seit
    28.04.2005
    Beiträge
    85
    Danke
    11
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Hi,
    zum Skalieren kannst Du FC_Scale aus der Siemens Bibliothek verwenden.
    OB35 kann ich an dieser Stelle auch empfehlen.
    Der Baustein überwacht den Analogwert auf Gülltigkeit. Falls ich mich recht entsinne 0 - 10V entspricht einem Analogen Wert von 0 - 28672.
    Der Bereich von 28672-32768 ist Überlauf bzw. ein Wert über 10V.

    Was für ein Dimmer willst Du benutzen? Ich bin nämlich gerade auf der Suche nach einem Dimmer mit 0..10V(oder 0 bzw. 4..20mA) als Stellwert der nicht gerade in der gleichen Presklasse mit EIB-Geräten mitspielt.

    Gruß
    Alex

  4. #4
    Registriert seit
    20.08.2003
    Beiträge
    275
    Danke
    38
    Erhielt 32 Danke für 31 Beiträge

    Standard

    Hallo,
    der FC105 (SCALE, oder Wert skalieren) arbeitet bei einer Spannung von 0 bis 10V (unipolar) im Bereich von 0 bis 27648.
    Um den Wert von 0 bis 27648 hoch- oder runterzuzählen dafür gibt es viele Möglichkeiten.
    Eine einfache Möglichkeit ist die Verwendung des SFB 2 "CTUD". Den Zählbereich von 0 bis 27648 begrenzen und zum hoch- oder runterzählen einen Taktmerker (je nach Geschwindigkeit) verwenden.

    Gruß Rayk

  5. #5
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    dazu hat Siemens ein ähnliches kostenfreies Beispiel:
    http://support.automation.siemens.co...0hochlaufgeber
    mfg

    dietmar

    Nichts ist so beständig wie ein Provisorium.

  6. #6
    Registriert seit
    29.12.2006
    Ort
    41464 Neuss
    Beiträge
    231
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von ANo Beitrag anzeigen
    Ich bin nämlich gerade auf der Suche nach einem Dimmer mit 0..10V(oder 0 bzw. 4..20mA) als Stellwert der nicht gerade in der gleichen Presklasse mit EIB-Geräten mitspielt.

    Hast du schon mal im Bereich der Showtechnik gesucht? 0-10V war da lange Zeit Standard in der Lichtsteuerung, bis das DMX-Protokoll entwickelt wurde. Die meisten Dimmer arbeiten zwar mittlerweile mit DMX, aber viele kleine Single-Chanel-Geräte haben noch eine 0-10V-Schnittstelle für externe Steuerungen.


    Gruß Tobi
    Die Erfindung der Gasflasche gab die Kraft des Dynamits zurück in die Hände des kleinen Mannes!

  7. #7
    Rossi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.11.2006
    Beiträge
    21
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke Leute! Bei mir hats KLICK gemacht . Ist ja ganz einfach...
    Hier für die Leute die noch so einen Dimmer brauchen ein Link:

    19" Gehäuse und 6 x2000W Leistung für nur 170 €

    http://www.thomann.de/de/stairville_ddx_620i.htm
    Zitieren Zitieren Danke  

  8. #8
    Registriert seit
    29.12.2006
    Ort
    41464 Neuss
    Beiträge
    231
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Das 170€-Teil ist - hm, suboptimal Würde ich die Finger von lassen. Ich habe früher in der Veranstaltungstechnik gearbeitet und ein paar von diesen Billigheimern repariert. Die Entstörung taugte nicht wirklich was und die Leiterbahnen auf der Endstufenplatine waren etwas knapp bemessen. Da gibts schon bessere Geräte für das Geld.


    Gruß Tobi
    Die Erfindung der Gasflasche gab die Kraft des Dynamits zurück in die Hände des kleinen Mannes!

  9. #9
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Tobi P. Beitrag anzeigen
    Da gibts schon bessere Geräte für das Geld.
    Das ist ja schön. Jetzt hättest Du aber auch noch verraten können wo.
    If you open your Mind too much, your Brain will fall out.

  10. #10
    Registriert seit
    29.08.2006
    Beiträge
    195
    Danke
    0
    Erhielt 35 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    und hier noch ein code zum anschauen

    der code entstammt der freien lib unter www.oscat.de

    FUNCTION_BLOCK dimm_i
    VAR_INPUT
    set : BOOL;
    in : BOOL;
    rst : BOOL;
    END_VAR
    VAR_INPUT CONSTANT
    T_debounce : TIME := T#10ms;
    T_reconfig : TIME := T#10s;
    T_on_max : TIME := T#0h;
    T_dimm_start : TIME := T#1s;
    T_dimm: TIME := T#3s;
    END_VAR
    VAR_OUTPUT
    Q : BOOL := 0;
    out : BYTE := 0;
    END_VAR
    VAR
    tx : TIME := T#0s;
    last_edge : BOOL;
    state : BYTE := 0;
    edge : BOOL := 0;
    r_edge : BOOL := 0;
    T_on : TIME;
    dimm_up: BOOL;
    ramp : rmp_B;
    last_step : TIME;
    END_VAR

    (*
    version 1.0 4 aug 2006
    programmer hugo
    tested by tobias

    this is an intelligent dimmer interface with an autoset feature for "in" it will automatically detect the type of switch:
    low active pulses or high high active pulses are allowd for in.
    a configurable debounce timer will debounce input signals
    if t_on_max is set to anything other then 0 the output will be turned off after the max on time is reached.
    the times for debounce, dimming ramp, wait time before dimming and max on time are all programmable.

    the dimmer has outputs Q for on and off and also out with the analog dimm value.

    *)


    IF rst THEN
    state := 0;
    Q := 0;
    dimm_up := TRUE;
    ELSIF set THEN
    state := 0;
    Q := TRUE;
    out := 255;
    dimm_up := FALSE;
    T_on := TIME();
    ELSE
    CASE state OF
    (* state 0 wait for activity *)
    0 : IF (r_edge AND in AND NOT edge) OR (NOT r_edge AND NOT in AND edge) THEN
    state := 1;
    tx := TIME();
    last_edge := in;
    END_IF

    (* state 1 debouncing *)
    1: IF TIME() - T_debounce >= tx THEN
    state := 2;
    tx := TIME();
    END_IF;

    (* state 2 wait for second edge to toggle output *)
    2: IF TIME() - T_dimm_start >= tx THEN
    state := 3;
    tx := TIME();
    (* time to switch elapsed without switching if Q = 0 turn on output and start dimming at 1 *)
    IF NOT Q THEN
    Q := TRUE;
    t_on := tx;
    out := 1;
    dimm_up := TRUE;
    ELSE
    IF out =255 THEN dimm_up := FALSE; END_IF;
    END_IF;
    ELSIF in XOR edge THEN
    (* wait for edge to toggle output and stop all activity *)
    IF Q THEN
    Q := FALSE;
    state := 0;
    ELSE
    Q := TRUE;
    state := 3;
    IF out = 0 THEN out := 255; END_IF
    IF out = 255 THEN dimm_up := FALSE; END_IF;
    tx := TIME();
    t_on := tx;
    END_IF;
    END_IF;

    (* state 3 entered dimming phase *)
    3: IF in AND r_edge THEN
    (* generate ramp *)
    tx := TIME();
    IF tx >= last_step + T_dimm / 255 THEN
    last_step := tx;
    IF dimm_up AND out < 255 THEN
    out := out + 1;
    IF out = 255 THEN
    dimm_up := FALSE;
    state := 0;
    END_IF;
    ELSIF NOT dimm_up AND out > 0 THEN
    out := out -1;
    IF out = 0 THEN
    Q := FALSE;
    state := 0;
    dimm_up := TRUE;
    END_IF;
    END_IF;
    END_IF;
    ELSE
    dimm_up := NOT dimm_up;
    state := 0;
    END_IF;

    END_CASE;
    (* check for max t_on time and reset output if too long *)
    IF Q AND t_on_max > T#0s AND TIME() - t_on_max >= T_on THEN Q := 0; END_IF;

    (* check for reconfig and set R_edge to high for rising edge sensitivity *)
    IF TIME() - T_reconfig >= tx THEN R_edge := NOT in; END_IF;

    (* set edge to follow in for next edge detection *)
    edge := in;
    END_IF;
    Zitieren Zitieren dimmer  

Ähnliche Themen

  1. Dimmer Ansteuerung
    Von cas im Forum Elektronik
    Antworten: 26
    Letzter Beitrag: 22.02.2012, 21:32
  2. wie programiere ich eine PXC52
    Von MiMaBe im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 26.09.2008, 02:50
  3. programiere fehler
    Von Anonymous im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.11.2005, 15:52
  4. Wie programiere ich LOGO! AM2 Pt 100?
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 26.08.2005, 15:46

Lesezeichen

Berechtigungen

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