Codesys Setzen/Rücksetzen über einen Eingang

locke_87

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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
 
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:

Code:
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
 
schöner finde ich allerdings in codesys du St Variante in St. Würde bspw so aussehen:

Code:
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
Wenn schon unbedingt umständlich, dann wenigstens so daß es genial aussieht: ;)
Code:
If Flankenauswertung.Q = True Then
      Ausgang := Not Ausgang;
End If

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok geht auch ;-)

Wenn schon unbedingt umständlich, dann wenigstens so daß es genial aussieht: ;)
Code:
If Flankenauswertung.Q = True Then
      Ausgang := Not Ausgang;
End If

Harald

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.
 
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? ;-)
 
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
 
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 :rolleyes:

Gruß
Dieter
 
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. ;-)
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Wou, eine Frage und gleich solch eine Unterhaltung! :D 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
 
Zurück
Oben