-> Hier kostenlos registrieren
Hier ein beispielprogramm TIA V12
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: This feature may not be available in some browsers.
Diese Möglichkeit würde ich aber trotzdem vorsehen, da sie ...Also die Zeiten gehen nicht über 0 Uhr hinaus.
Lampe3 := TageszeitAbh(iTodEin := TOD#12:00:00, iTodAus := TOD#12:30:00, iTodAkt := aktuelleTageszeit) ;
FUNCTION TageszeitAbh : BOOL
// ***********************************************************************
// Diese Funktion sagt, ob die aktuelle Zeit
// zwischen der EINschalt- und der AUSschaltzeit liegt in dem Falle, dass
// EINschaltZeit < AUSschaltzeit (Ausschalten am Tag des Einschaltens)
// bzw. zwischen 00:00:00 und der AUSschaltZeit oder
// zwischen der EINschaltZeit und 24:00:00 liegt in dem Falle, dass
// EINschaltZeit > AUSschaltzeit (Ausschalten am Tag nach dem Einschalten)
// ***********************************************************************
VAR_INPUT
iTodEin : TOD ; // Uhrzeit für EINschalten
iTodAus : TOD ; // Uhrzeit für AUSschalten
iTodAkt : TOD ; // aktuelle Uhrzeit
END_VAR
VAR
tbInv : BOOL ; // EinschaltZeit > AusschaltZeit
tbEin : BOOL ; // aktuelle Zeit ist >= EinschaltZeit
tbNichtAus : BOOL ; // aktuelle Zeit ist nicht >= AusschaltZeit
END_VAR
BEGIN
tbInv := iTodEin > iTodAus ;
tbEin := iTodAkt >= iTodEin ;
tbNichtAus := iTodAkt < iTodAus ;
TageszeitAbh := tbInv XOR ((tbInv XOR tbEin) AND (tbInv XOR tbNichtAus)) ;
END_FUNCTION
TageszeitAbh := tbInv XOR ((tbInv XOR (iTodAkt >= iTodEin)) AND (tbInv XOR (iTodAkt < iTodAus))) ;
Lampe1 := TageszeitAbh(iTodEin := aEin[23].Von, iTodAus := aEin[23].Bis, iTodAkt := aktuelleTageszeit)
OR TageszeitAbh(iTodEin := TOD#23:00:00, iTodAus := TOD#01:00:00, iTodAkt := aktuelleTageszeit)
OR TageszeitAbh(iTodEin := TOD-Var-Von3, iTodAus := TOD-Var-Bis3, iTodAkt := aktuelleTageszeit) ;
Lampe2 := TageszeitAbh(iTodEin := Ein4, iTodAus := Aus4, iTodAkt := aktuelleTageszeit) ;
Ja, ich kann das gut verstehen, dass einem das Programmieren und ProgrammeLesen in einer Sprache leichter von der Hand geht, als in einer anderen.Aber die Art der Programmierung ist für mich sehr unverständlich da ich eigentlich mit FUP arbeite.
+-----+
| > |
iTodEin ---| | tbInv
| | +---+
iTodAus ---| |---| |
+-----+ +---+
// hier vermutlich neues Netzwerk beginnen
+-----+ +-----+
| >= | | XOR |
iTodAkt ---| | tbInv ---| |
| | | |
iTodEin ---| |------------| |---+
+-----+ +-----+ |
|
+-----+ +-----+ | +-----+ +-----+
| < | | XOR | | | AND | | XOR |
iTodAkt ---| | tbInv ---| | +---| | tbInv ---| | TageszeitAbh
| | | | | | | | +---+
iTodAus ---| |------------| |-------| |------------| |---| |
+-----+ +-----+ +-----+ +-----+ +---+
+--------------+
| TageszeitAbh |
... ---|EN |
| |
aEin[1].Von ---| |
| |
aEin[1].Bis ---| OUT|-----+
| | |
aktuelleTageszeit ---| ENO| |
+--------------+ |
|
+--------------+ |
| TageszeitAbh | |
... ---|EN | |
| | |
TOD#23:00:00 ---| | |
| | |
TOD#01:00:00 ---| OUT|---+ |
| | | |
aktuelleTageszeit ---| ENO| | |
+--------------+ | |
| |
+--------------+ | | +-----+
| TageszeitAbh | | | | OR |
... ---|EN | | +---| |
| | | | |
TOD-Var-Von3 ---| | +-----| | Lampe1
| | | | +---+
TOD-Var-Bis3 ---| OUT|---------| |---| |
| | +-----+ +---+
aktuelleTageszeit ---| ENO|
+--------------+
|<---- E<A ---->| |<-- E=A-->| |<---- E>A ---->|
UhrZeit 0 E A 0 0 E 0 0 A E 0
A
iTodAkt >= iTodEin ____|========== _____|==== __________|====
iTodAkt < iTodAus =========|_____ ====|_____ ===|___________
iTodEin > iTodAus _______________ __________ ===============
AND ____|====|_____ AND __________ OR ===|______|====
Genau das sollte man nicht tun.Den Vorwiderstand der jeweiligen LED würde ich dann für eine Spannung von 10V auslegen und die 6 LEDs parallel schalten.
Super!Ja so meine ich es ja. Es sind 6 baugleiche LEDs die jeweils einen eigenen Widerstand bekommen.
Nicht gleichzeitig? Werden sie zusätzlich noch durch Kontakte geschaltet?Aber die 6 LEDs sind nicht immer alle gleichzeitig in Betrieb und 1 Transistor wäre mir lieber.
Könnte man vorsichtshalber pro Basis spendieren.Mit 12V würde noch am besten sein. Vorwiderstand für die Basis würden ja 1kohm reichen oder?
Pro Emitter R = (10V - 0,6V) / (maximalen LED-Strom einer LED).Welcher Widerstand wird dann für Emitter benötigt?
o-------------+----- +12V
|
o
/
o
|A
--+--
\ / LED
--+--
|K
>= 1 kΩ |
+----+ B / C (<= 100 mA)
o--+ +--|< BC547B (<= 500 mW)
+----+ \
|E
+++
0..10 V | | z.B. 820 Ω für max. 10 mA durch LED
| | z.B. 470 Ω für max. 20 mA durch LED, 250 mW
+++
|
o-------------+----- 0V
Jain. Der EmitterWiderstand bildet mit dem Transistor eine StromQuelle für die LED, also einen etwas "komfortableren" VorWiderstand.Also wäre der Widerstand Emitter der vorwiderstand der led?
Genau!Kann ja dann den Eingang der 1kohm Widerstände alle parallel klemmen und am analogausgang anschliesen oder?
Ja, nur durch die BasisStröme. Z.B. 6 * 4 mA = 24 mA < 25 mA.Und so wird der analogausgang auch nicht groß belastet. Richtig?
Einfacher wäre, nur die Verbindung vom AnalogAusgang zur Basis zu unterbrechen/schalten.Wäre es dann vielleicht sinnvoll die Basis mit über einen Kontakt weg zu schalten oder muss das nicht?
o----------------------+----- +12V
|
|
o-----------+ |
0..10 V | |
o |
/ |
o |
| |A
+++ --+--
| | 1 kΩ \ / LED
| | --+--
+++ |K
| |
| B / C (<= 100 mA)
+-------|< BC547B (<= 500 mW)
| \
| |E
+++ +++
| |330 kΩ | | 390 Ω für max. 24 mA durch LED, 250 mW
| | | |
+++ +++
| |
o-----------+----------+----- 0V
o----------------------+----- +12V
|
o-----------+ |
0..10 V | |
| |A
+++ --+--
| |2,7kΩ \ / LED
| | --+--
+++ |K
| |
| B / C (<= 100 mA)
+-------|< BC547B (<= 500 mW)
| \
| |E
o +++
/ | | 390 Ω für max. 24 mA durch LED, 250 mW
o | |
| +++
| |
o-----------+----------+----- 0V
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen