# Codesys Setzen/Rücksetzen über einen Eingang



## locke_87 (18 Juli 2013)

Hallo zusammen! Ich teste gerade meine neue Wago für meine zukünftige Haussteuerung und würde gerne über einen Eingang mein Licht ein tasten und wieder aus tasten. Allerdings bin ich Neuling in Sachen Programmierung und hab mich auch schon durchs Netz gewühlt, bekomme es aber irgendwie nicht hin. Ich programmiere über FUP und denke, ich muss hier Merker nutzen, allerdings finde ich dazu nicht wirklich was in Codesys. Gibt es da verschiedene und wie setze ich die ein? Ich wäre über jeden Hilfe dankbar!  Viele Grüße Locke


----------



## Blockmove (18 Juli 2013)

Schau dir die Oscat-Lib an. da findest du alles was du zur Haussteuerung braucht.

Für dein einfaches Thema brauchst du einen Stromstoßschalter. Wenn du das als Suchbegriff eingibst findest du genug.

Gruß
Dieter


----------



## Dr.MirakulixX (18 Juli 2013)

Ein und aus über einen Taster sprich einen Eingang oder einen für Ein und einen für Aus ?


----------



## locke_87 (18 Juli 2013)

Setzen und Rücksetzen eines Ausgangs über einen Taster und einen Eingang möchte ich gern.


----------



## hucki (18 Juli 2013)

Da gibt's 'ne FAQ zu.


----------



## -ASDF- (19 Juli 2013)

Jaja.. die berühmte Stromstoßschaltung


----------



## SY50 (20 Juli 2013)

*Lösung*

Also ich würde sagen du machst einfach eine Undverknüpfung mit
der positiven Flanke vom Taster und nicht "Ausgang".
wenn die erfüllt ist, dann setzt du den Ausgang.
Nur wenn diese Bedingung nicht erfüllt ist, dann fragst du die positive Flanke
des Tasters Undverknüpft mit dem Ausgang.
wenn das erfüllt ist, dann kannst du den Ausgang rücksetzen.

schöner finde ich allerdings in codesys du St Variante in St. Würde bspw so aussehen:


```
Flankenauswertung(Clk:=Taster); // vom Typ R_Trig

If Flankenauswertung.Q = True AND Ausgang = False Then
      Ausgang := True;

ElsIf Flankenauswertung.Q = True AND Ausgang = True Then
      Ausgang := False;

End If
```


----------



## PN/DP (20 Juli 2013)

SY50 schrieb:


> schöner finde ich allerdings in codesys du St Variante in St. Würde bspw so aussehen:
> 
> 
> ```
> ...


Wenn schon unbedingt umständlich, dann wenigstens so daß es genial aussieht: 

```
If Flankenauswertung.Q = True Then
      Ausgang := Not Ausgang;
End If
```

Harald


----------



## SY50 (20 Juli 2013)

*Ok geht auch ;-)*



PN/DP schrieb:


> Wenn schon unbedingt umständlich, dann wenigstens so daß es genial aussieht:
> 
> ```
> If Flankenauswertung.Q = True Then
> ...



Ja,so wäre es natürlich auch möglich.
hatte es nur der Lesbarkeit halber so gemacht.
wenn zusatzbedingungen dazukommen für das setzen und rücksetzen
kann man es eben nicht mit NOT machen, sondern jeden Zweig ausprogrammieren.
aber ok Geschmacksache. Was bitte soll daran umständlich sein?
ist doch lesbarer als sonst ne Sprache.... Finde ich.


----------



## hucki (20 Juli 2013)

SY50 schrieb:


> Was bitte soll daran umständlich sein?


Ein XOR braucht keine IF-THEN-Bedingung.


----------



## SY50 (20 Juli 2013)

Das ist mir auch klar, aber eben wenn verschiedene Bedingungen eingebaut werden müssen sehr schön erweiterbar. 

Und eben strukturierter aufbaubar.
Aber ist wie gesagt nur meine Meinung und Geschmacksache.

Komme aus der Hochsprache, da wird weniger mit XOR gearbeitet. ;-)
Habe allerdings auch schon einige Anlagen und Maschinen in
AWL und FUP und KOP programmiert und konnte auch in der 
Steuerungstechnik feststellen, dass Strukturierter Text, gerade wenn es
Um Datenverarbeitung, oder Berechnungen geht Vorteile hat.

Also warum nicht komplett in ST? ;-)


----------



## hucki (20 Juli 2013)

SY50 schrieb:


> Das ist mir auch klar, aber eben wenn verschiedene Bedingungen eingebaut werden müssen sehr schön erweiterbar.





locke_87 schrieb:


> Setzen und Rücksetzen eines Ausgangs über einen Taster und einen Eingang möchte ich gern.


Welche verschiedenen Bedingungen hat man bei einem Taster?
Und darum ging's.                    ->    (Mal wieder.)


----------



## PN/DP (20 Juli 2013)

SY50 schrieb:


> Also warum nicht komplett in ST? ;-)


Irgendwie bestätigt dieser Thread erneut mein Vorurteil gegen ST. :sad:
Dieses ST suggeriert gerade auch den Hochsprachen-Programmierern, sie könnten mal eben eine SPS programmieren ... die spezielle Arbeitsweise von SPS und grundlegende logische Verknüpfungen muß man nicht kennen.
IF...THEN verleitet leider zu Schnellschüssen, Provisorien, halben Lösungen - d.h. einfach losprogrammieren ohne das Problem zu durchdenken. Am Ende besteht das Programm aus ..zig Sonderbehandlungen (die die möglichen Eingangskombinationen trotzdem oft nicht komplett abdecken) und ..zig mal Ausgänge Setzen und Rücksetzen.

Harald


----------



## Blockmove (21 Juli 2013)

PN/DP schrieb:


> Dieses ST suggeriert gerade auch den Hochsprachen-Programmierern, sie könnten mal eben eine SPS programmieren ... die spezielle Arbeitsweise von SPS und grundlegende logische Verknüpfungen muß man nicht kennen.



So sehe ich es auch.
Es ist teilweise grausam, was manche gerade bei der Bitverarbeitung damit anstellen.
Ich hab schon ST / SCL Porgramme ohe eine einzige Zuweisung gesehen. Alles nur mit IF ... THEN.
Da wird selbst ne simple Betriebsartenumschaltung zum Monster 

Gruß
Dieter


----------



## Mobi (21 Juli 2013)

Ich hatte das schon öfters. Das nennt sich aber in Programmierkreisen T(oggle)-Flipflop.
Stromstoßschalter hört sich ein wenig hardwaremäßig an .
http://www.sps-forum.de/sonstige-steuerungen/50318-pc-worx-retain-persistent.html#post368575
Den RST-Eingang kannst du ja weglassen. Und ob du die Variablen Remanent machen willst, ist dir überlassen.


----------



## SY50 (21 Juli 2013)

Ok in diesem Fall würde ich euch recht geben.
Ich habe meinen Programmieranfänge 1999 auch mit Siemens AWL und FUP begonnen.
Aber wie gesagt es ist Geschmacksache.
Reine logische Verknüpfungen sehen in FUP auch erst mal Super einfach aus.
Können aber auch gewaltig werden.
Zu dem Thema .... Hochsprachenprogtammierer denke mal eben eine SPS
Programmieren zu können. ... Sehe ich wie ihr. Ich selber
Habe 10 Jahre SPS in AWL und FUP programmiert. 
Aber mittlerweile gefällt es mir in ST eben besser, weil es meiner Meinung
Nach leichter lesbar ist.

Naja und wenn ihr von einem Hersteller Bausteine bekommt und nutzt,
Bspwl. Siemens, Bosch .... Und alle anderen.
Kenne zufällig einige Entwickler dieser Firmen.
Die Bausteine sind intern fast alle in ST. ;-)


----------



## Blockmove (21 Juli 2013)

SY50 schrieb:


> Naja und wenn ihr von einem Hersteller Bausteine bekommt und nutzt,
> Bspwl. Siemens, Bosch .... Und alle anderen.
> Kenne zufällig einige Entwickler dieser Firmen.
> Die Bausteine sind intern fast alle in ST. ;-)



Das mag aber auch daran liegen, dass die fertigen Bausteine selten nur ganz einfache Bitverknüpfungen beinhalten.
Ich seh es recht pragmatisch:
Für jede Aufgabe das richtige Werkzeug.
Bitverknüpfungen FUP /  KOP
Schrittketten Graph / AS
Datenhandling SCL / ST
Regler CFC

Natürlich gibt es Überschneidungen aber generell alles in SCL / ST, bringt mir null Vorteile.

Gruß
Dieter


----------



## StructuredTrash (21 Juli 2013)

Ich bin auch mit AWL gross geworden, bevor ich auf ST umgestiegen bin. Von daher kann ich mich dem Einzeiler-Charme der XOR-Variante natürlich nicht entziehen. Trotzdem bevorzuge ich gerade bei impulsgetriggerten Vorgängen die IF THEN-Variante. Man versteht einfach besser, wann was passiert.


----------



## locke_87 (22 Juli 2013)

Wou, eine Frage und gleich solch eine Unterhaltung!  Okay, also: Ich bin wirklicher Neuling, was das Programmieren angeht und hab mir ein paar einfach Tutorials genommen und in FUP programmiert. Wäre es vielleicht möglich, mir das einmal in FUP zu zeigen? Ich bin zwar Elektriker, hab allerdings lediglich in meiner Lehre in der Theorie ein wenig gemacht und muss mir den Kram nun Schritt für Schritt selbst beibringen. Es wäre auch schön, wenn mir jemand die verschiedenen Merker erklären kann, dazu hab ich nämlich bis jetzt in CodeSys nichts gefunden... Danke für die sehr sehr schnellen Antworten! Bin gleich begeistert! 

Viele Grüße
Locke


----------



## hucki (22 Juli 2013)

locke_87 schrieb:


> Wäre es vielleicht möglich, mir das einmal in FUP zu zeigen?





hucki schrieb:


> Da gibt's 'ne FAQ zu.


Da wird's in FUP, KOP und AWL erklärt.
Einfach mal lesen, was verlinkt wird!


----------



## locke_87 (22 Juli 2013)

Oha, da hat mich wohl die Masse an Antworten abgelenkt! ICH LESE!!! *g*


----------



## locke_87 (22 Juli 2013)

Also ich bin durch damit, vielen dank für eure hilfe!!


----------

