das ist mal ein nettes Pseudonym! In AWL kommt man bei bedingten Zuweisungen nicht um Sprünge oder Bausteinaufrufe herum. Was ich allerdings nicht verstehe ist die Verwendung von dem RS Funbktionsbaustein dafür gibts in AWL (auch KOP, FUP und CFC) die Operatoren S und R man spart sich damit das instanzieren der RS Bausteine.
So jetzt zu meinem AWL Ansatz für Dein Problem
```
CAL Zeit1(IN:= NOT(Zeit1.Q),PT:= T#0.5s)
LD Zeit1.q
JMPCN dorthin
( hier dann hochzählen)
dorthin:
```
Für den Zeitwert kannst Du natürlich auch eine Variable nehmen.
Gruß
Ralph
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo alle,
ich bin absoluter Anfänger in der SPS-Programmierung und hätte ein paar Fragen.
Ich möchte einen analogen Wert von 0 bis 20mA in 1mA Schritten hochzählen. Zwischen den Schritten soll ca. 0.5s Pause sein. Wie löst man sowas in AWL?
Ich habe mehrere Funktionsblöcke. Jetzt will ich alle Funktionsblöcke verknüpfen und nacheinander ablaufen lassen. Macht man sowas auch in AWL?
Soll man eigentlich in AWL mit Sprüngen arbeiten oder bleibt nichts anderes übrig? Folgendes habe ich getestet:
marke:
Bei mir wird Test immer gleich TRUE und wartet nicht bis Zeit.Q TRUE wird. Warum ist dies so? Wie löst man sowas?
Kennt ihr ein gutes Buch, in dem sowas beschrieben ist?
Vielen Dank für die Hilfe.
Grüße
Hans
Hallo Programier_Hans,
das ist mal ein nettes Pseudonym! In AWL kommt man bei bedingten Zuweisungen nicht um Sprünge oder Bausteinaufrufe herum. Was ich allerdings nicht verstehe ist die Verwendung von dem RS Funbktionsbaustein dafür gibts in AWL (auch KOP, FUP und CFC) die Operatoren S und R man spart sich damit das instanzieren der RS Bausteine.
So jetzt zu meinem AWL Ansatz für Dein Problem
```
CAL Zeit1(IN:= NOT(Zeit1.Q),PT:= T#0.5s)
LD Zeit1.q
JMPCN dorthin
( hier dann hochzählen)
dorthin:
```
Für den Zeitwert kannst Du natürlich auch eine Variable nehmen.
Gruß
Ralph
Hallo,
warum schreibt man dann nicht:
CAL Zeit1(IN:= NOT(Zeit1.Q),PT:= T#0.5s)
LD Zeit1.q
JMPC dorthin
dorthin:
Zähle um 1 hoch
Also immer wenn die 0.5s erreicht sind wird Zeit1.Q TRUE und springt deshalb zur Marke dorthin?
Kann man schon machts aber vom Aufbau unübersichtlicher und kompliziert wenn man sowas mehrfach in einer POU hat.
Ich glaube nicht das das am Ende übersichtlicher wird.
Gruß
Ralph
Habe noch was vergessen! Es gibt ein nettes E-Book für die ersten Schritte mit Codesys
http://www.ebookaktiv.de/eBook_IEC61131 ... C61131.htm m