Hilfe bei Home-Automatisierung!! Licht FC!!

matthias2525

Level-1
Beiträge
57
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe im Forum schon gesucht und gefunden, funktioniert aber nicht so wie es soll.
Zur Verfügung für meine Home-Automatisierung steht eine S7-313C.

Ich habe den FC für die Lichtkreise erstellt, Funktioniert auch so wie ich es will (mit automatischen AUS und dauerschalten, usw.), aber nur mit einem Kreis. Hab schon alles mit Temp variablen gemacht.

Ich möchte diese Funktion für jeden Lichtkreis verwenden, nur mit anderen Ein und Ausgängen aber nicht für jeden kreis eine eigene Funktion erstellen.

Nur wie???????
Es sind in dieser Funktion Zeiten, Flanken, SR Flipflps vorhanden.

Zur Info: bin FUP Programmierer;).

Danke!

mfg
Matthias
 
Hi,
dafür brauchst du einen Baustein der eigenen Speicher hat, also einen FB.

Deine Flankenmerker, S/R Speicher etc. legst du dann im statischen Bereich ab.
Wenn du S5-Timer verwendest, würde ich im FB einen anderen Timer verwenden (hier im Forum mal suchen, gab es gerade ein paar Beispiele).
 
Hi,
dafür brauchst du einen Baustein der eigenen Speicher hat, also einen FB.

Deine Flankenmerker, S/R Speicher etc. legst du dann im statischen Bereich ab.
Wenn du S5-Timer verwendest, würde ich im FB einen anderen Timer verwenden (hier im Forum mal suchen, gab es gerade ein paar Beispiele).

So mit FB und DB hab ich noch nicht viel gemacht.
Was für Timer gibt es noch???


So rufe ich meine Funktion ab;
U "Taster Licht Bad"
= L 20.0
BLD 103
CALL "Licht 1"
Taster:=L20.0
T1 :=S5T#1S500MS
T2 :=S5T#13M
T3 :=S5T#12M
Licht :="Licht Bad"
NOP 0

T1= zeit zum dauer schalten
T2= automatisches aus
T3= einmal Blinken

Die anderen Kreise möchte ich auch so machen nur mit anderen ein - ausgängen.

Suchen ist immer schön und hilfreich, aber .......
ich kann nur etwas finden wenn ich weiß mit was für Fachbegriffe ich suchen muss, drum gebt mir bitte ein paar hinweise.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Als Timer könntest du z.B. den SFB4 (TON) aus der Bibliothek->Standard Library->System Function Blocks nehmen.

Oder du schreibst dir als kleine Übung einen eigenen Timer FC/FB.

So hab mich mit den SFB4, SFB5 gespielt.
Wenn ich diesen Baustein verwende, muss ich für jede Verwendung einen neuen DB anlegen.
da ich diese Bausteine in einer Funktion habe, und diese Funktion so oft wie ich sie brauche mit anderen Ein Ausgängen abrufen möchte (div. Lichtkreisen), geht das mit den DB's nicht.

Wie kann ich das lösen?

Danke!
mfg
Matthias
 
Hallo matthias2525,
ich habe einen FC bei mir im Einsatz, wo das Licht bei normalem Tasten nach einer einzustellenden Zeit automatisch wieder ausgeht. Bleibt der Taster
über eine bestimmte Zeitdauer gedrückt, so bleibt das Licht dauerhaft an.
Durch erneutes Tasten geht es wieder aus. Zusätzlich befindet sich noch ein "Zentral AUS" am FC.
 
:TOOL:

Nun bin ich am nächsten Punkt angelangt.
Um mir später Arbeit zu ersparen möchte ich von:
T#10M
eine Minute abziehen also subtrahieren, damit ich ein Blinken ausgeben kann.


[FONT=&quot]Wie stelle ich das an?[/FONT]:confused::confused::confused:
 
Uns was ist das eine typüberprüfung aus ODER?
Was macht diese, für was brauch is das, wie verwende ich diese?

Da prüft der Step7-Editor, daß du nicht Äpfel von Birnen abziehst (Real subtrahiert von Int). Bei manchen Sachen muß man das aber abschalten, sonst nimmt Step7 das zu genau.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das ODER gehört nicht dazu, es trennt die zwei möglichkeiten "typüberprüfung aus" und "move benutzen"

die typüberprüfung ist ein editor-feature (OHGN würde bug sagen) das verhindert, dass du falsch deklarierte operanden an die funktionseingänge schreibst ... so kannst du z.b. kein TIME an einen DINT eingang hängen, was du aber für die subtraktion machen willst

der move-weg wäre, den TIME vor der operation in eine DINT zu übertragen und nach der subtraktion wieder in eine TIME
 
Ja, und für was MOVE?
Was für Symbole (mir fällt leider kein anderer Begriff ein) benötige ich da für FUP aus der linken Leiste, damit ich meine Zeit [FONT=&quot]subtrahieren [/FONT]kann? Wie wandle ich meine Zeit in DINT um?? :confused:
 
Zuletzt bearbeitet:
ja, und für was move?
Was für symbole (mir fällt leider kein anderer begriff ein) benötige ich da für fup aus der linken leiste, damit ich meine zeit [font=&quot]subtrahieren [/font]kann? Wie wandle ich meine zeit in dint um?? :confused:

Code:
*
      u(    
      u(    
      u(    
      l     t#10m
      t     md    10
      set   
      save  
      clr   
      u     bie
      )     
      spbnb _001
      l     t#1m
      t     md    14
      set   
      save  
      clr   
_001: U     bie
      )     
      spbnb _002
      l     md    10
      l     md    14
      -d    
      t     md    18
      un    ov
      save  
      clr   
_002: U     bie
      )     
      spbnb _003
      l     md    18
      t     md    22
_003: Nop   0
 
Zurück
Oben