# CoDeSys Wago  Timer wert vorgeben ?!



## Neonos (28 August 2013)

Moin Moin
Ich hab da mal ne Frage  da ich trotz versuchen und Googlen nciht weiter komme 
Ich hab von nem kollegen ne Baustelle übernommen und in der Anlage ist n Wago I/O System verbaut ...   Nu wollte ich auf provesorischem Wege Beleuchtugn in den Raum schaffen.
Realisiert hab ichs über ein FB_Treppe1 Baustein aus der Wago-Bibliothek,also ne einfache Treppenhausschaltung.Das ganze läuft auch so weit .
Mein Problem bei dem ganzen ist : Wie stelle ich die Zeit ein die das Licht laufen soll bzw wo gebe ich es vor?!

Der Infotext zu dem Baustein sieht wie folgt aus :
FUNCTION_BLOCK Fb_Treppe1

VAR CONSTANT
    Mul1: DWORD := 100;
END_VAR
VAR
    R1: RS;
    R2: R_TRIG;
    T1: TOF; (* Timer für Treppenhauszeit *)
    R3: R_TRIG;
    F1: F_TRIG;
END_VAR
VAR_INPUT
    xTaster: BOOL; (* Tastsignal *)
    xStop: BOOL; (* Stoppbefehl *)
    dwT_10tel_s: DWORD := 1200; (* Treppenhauszeit *)
END_VAR
VAR_OUTPUT
    xAktor: BOOL; (* Schaltsignal *)
END_VAR

 da hab ich schon probiert  ohne Erfolg !
hab sogar den Eingang (dwT_10tel_s)   mit nem EIngangsbaustein belegt und diesen dann " t#2400s "  benannt aber das ging garnicht und nu bin ich mit meinem dürftigen Wissensstand am ende .
Ich hoffe das ihr mir evt helfen könnt

lg
Michael


----------



## tmd_phil (28 August 2013)

Möchtet du einfach nur die Einschaltdauer einstellen? Dann musst du laut Beschreibung eigentlich bei dem Eingand dwT_10tel_s die Zeit eintragen... z.B 3600, dann sollte das Licht 360 Sekunden laufen... deswegen 10tes_s = Zehntel Sekunde...


----------



## Thruser (28 August 2013)

Hallo,


Neonos schrieb:


> dwT_10tel_s: DWORD := 1200; (* Treppenhauszeit *)



Die Zeit ist als Ganzzahl (DWORD) anzugeben. Zusätzlich wird die Angabe in Zehntelsekunden gewertet. Die 1200 werden also als 120 s interpretiert.

Gruß


----------



## Neonos (28 August 2013)

Hej
ok aber ich hab auch shcon oben im textfeld :dwT_10tel_s: DWORD := 1200; (* Treppenhauszeit *)  geändert auf zb 2400  also 4 min  ergab aber keine änderung ...
und da bin ich am probieren und versuchen das ich die Zeit halt hoch gestellt bekomme , ich find einfach nicht die Stelle wo man das ändert oder wie ....
zb wenn ich halt n eingang davor setzt und t#2400ms  eingebe  kommt der fehler:
Fehler 4345: PLC_Prg (0) : Unzulässiger Typ für Eingang `dwT_10tel_s`von FB_Treppe1 kann TIME nicht in DWORD konvertieren.
4345
"Unzulässiger Typ für Parameter '<Name>' von '<Name>': Kann '<Typ>' nicht in '<Typ>' konvertieren."

Sie haben Eingang '<Name>' von Baustein '<Name>' einen Ausdruck zugewiesen, der nicht typkompatibel ist.

das sind so die fehlermeldungen und Hilfen dazu aber es bringt mich nicht weiter .
selbst wenn mein Text oben so ausschaut :
PROGRAM PLC_PRG
VAR
	xTaster AT %IX7.10 : BOOL;
	Grp1: Fb_Treppe1;
	dwT_10tel_s: DWORD := 2400;
	Grp2: Fb_Treppe1;
	Grp3: Fb_Treppe1;
		END_VAR

ich hoffe meine Problem versteht ihr?


----------



## Neonos (28 August 2013)

ok  scheinbar hat das system meine erste anwort nicht genommen  (mist der ganze text=(  )
ok ich hab schon versucht anhand von 2400  also 4 minuten die zeit zu erhoehen aber es zeigt sich keinerlei aenderung vom zeitablauf .... von daher such ich immer noch die stelle / position wo ichs ändern kann.
PROGRAM PLC_PRG
VAR
	xTaster AT %IX7.10 : BOOL;
	Grp1: Fb_Treppe1;
	dwT_10tel_s: DWORD := 2400;
	Grp2: Fb_Treppe1;
	Grp3: Fb_Treppe1;
		END_VAR
 zb hab ichs hiermit versucht   aber ohne erfolg ...
so sieht mein text im moment oben aus  und wenn ich F11 drück zeigt er mir auch keinerlei fehler an oder so


----------



## tmd_phil (28 August 2013)

So wie ich das sehe deklarierst du nur deine Variablen! Du muss den Funktionsbaustein im !Programm! (Das Fenster unter dem, in das du deinen Text reingeschrieben hast...) aufrufen! Dort einen Bausten einfügen (Wenn du in FUP programmierst). Dann kommt Standardmäßig ein AND Baustein, anstelle des AND dann Fb_Treppe1; und dann erscheint der Baustein, sofern du bei dem Bibliotheksverwalter eine Lib eingefügt hast, die diesen Baustein enthält...


----------



## Thruser (28 August 2013)

Hallo,

schau Dir mal generell an wie eine Funktion aufgerufen wird.


```
PROGRAM PLC_PRG
VAR
    Taster AT %IX7.10 : BOOL;
    Grp1: Fb_Treppe1;
    Grp2: Fb_Treppe1;
    Grp3: Fb_Treppe1;
        SCHALTZEIT: DWORD := 2400;
END_VAR

Grp1 (xTaster := Taster, dwT_10tel_s := SCHALTZEIT);

Ausgang := Grp1.xAktor
```

eventuell würde auch folgendes gehen:

```
Ausgang := Grp1 (xTaster := Taster, dwT_10tel_s := SCHALTZEIT);
```


Im Anhang siehst Du wie es als FUP aussieht.

Gruß


----------



## Neonos (28 August 2013)

ok scheinbar ich bin einfach nicht in der Lage das Problem in die Hand zu bekommen.
Nach erneuten lesen und versuchen fehlt es mir wohl an der Grundlage um diese Methode zu händeln.
Ich hab ma n Screen gemacht, evt bringt das ja Licht ins dunkle

https://sdthumbs.ui-static.net/legacy/_/02.317842025.302.jpg/j2c6QzSgHt1V2g49wO4zQQ/1377813600/tf3


----------



## tmd_phil (28 August 2013)

Okay, dann musst du jetzt noch an den Eingang vom Bausten dwT_10tel_s die Variable SCHALTZEIT eintragen. Weiterhin nicht die Adressen an die Eingänge der Bausteine schreiben, sondern die Variable, die dazugehört (hast die Adressen ja oben schon zugewiesen), also xTaster. Dann noch Ausgangsvariablen deklarieren (siehe unten) und bei Bedarf noch eine für Stop... Dann hast du fertig^^ 
Die Variable einfach unter xTaster schreiben. Sehe dann so aus:
VAR
xTaster AT %IX7.10 : BOOL;
Ausgang1 AT QX6.2 :BOOL;
Ausgang2 AT..............
....
END_VAR

Wie genau ist die Steuerung aufgebaut? Eingangsadresse %IX7.10 macht mich etwas stutzig...


----------



## Neonos (28 August 2013)

Huhu
vielen danke für deine Hilfe , ich glaub das hat mich nu weiter gebracht .Bin zwar nicht mehr auf der Arbeit um es zu testen aber das sieht in der Software schon sehr gut aus =)    

Ähm die Steuerung ist garnet so wild , n Controller , 13 Releaiskarten für 230V , Digital Eingang und ne Leistungsmeßklemme.
Und %IX7.10 ist n DI-Eingang  auf dem n Präsenzmelder sitzt und der dient im moment als Taster da das ganze noch in der Bauphase ist und im mom alles per Hand ein und ausgeschaltet wird aber aufgrund von Bodenarbeiten die Baustelle nicht betreten werden kann und das Licht eben nicht 24/7  läuft.

ich bin gespannt und meld mich morgen nochmal

lg
Michael und VIELEN DANK


----------

