-> Hier kostenlos registrieren
Ich wollte ein Programm schreiben, welches Impulse (Anzahl der logischen Zuständen '0') zählt.
Impulse werden mit Hilfe des Buttons erzeugt [Visualisierung]. 'Taste gedruckt' entspricht logischem '0'. Taste los gelassen entspricht logischen '1'.
Das Programm als Button-Model konnte ich leider nicht anhängen (Meldung beim hochladen "Ungültige Datei"; das war Datei von Typ . pro), daher führe ich unten auf :
PROGRAM PLC_PRG
VAR
var1: REAL:=6;
var2: REAL:=3;
but: BOOL:=1;
zaehler: INT:=0;
END_VAR
----------------
var2=(var1)*0.3;
Variable 'zaehler' sollte bei jeder Betätigung des Buttons um 1 wachsen. Startwert vom zaehler:=0 ?
Beginne ich mit der while-schleife? bei der Algorithmisierung?:
solange (but=1) -> Variable zaehler solte bleiben wie bisher [oder zaehler(i+1)=zaehler(i)]
if (but=0) -> Variable zaehler wächst um 1. [zaehler(i+1)=zaehler(i)+1)
if (but) bleibt weiter '0' (ohne Zustandsänderung inzwieschen) -> zaehler (i+1)=zaehler(i) bleibt unverändert;
if (but) kehrt wieder in Zustand '1' [but=1] und bleibt weiter '1' -> zaehler bleibt wie bisher [zaehler(i+1)=zaehler(i)
gehe wieder zum schleife while
ist die Richtung des Algorithmes ungefähr i.O.?
Für Programmbeispiele oder Links auf so was ähnliches wäre ich dankbar? Syntaksis Schleifen in CoDeSYS 2.3 ?
Impulse werden mit Hilfe des Buttons erzeugt [Visualisierung]. 'Taste gedruckt' entspricht logischem '0'. Taste los gelassen entspricht logischen '1'.
Das Programm als Button-Model konnte ich leider nicht anhängen (Meldung beim hochladen "Ungültige Datei"; das war Datei von Typ . pro), daher führe ich unten auf :
PROGRAM PLC_PRG
VAR
var1: REAL:=6;
var2: REAL:=3;
but: BOOL:=1;
zaehler: INT:=0;
END_VAR
----------------
var2=(var1)*0.3;
Variable 'zaehler' sollte bei jeder Betätigung des Buttons um 1 wachsen. Startwert vom zaehler:=0 ?
Beginne ich mit der while-schleife? bei der Algorithmisierung?:
solange (but=1) -> Variable zaehler solte bleiben wie bisher [oder zaehler(i+1)=zaehler(i)]
if (but=0) -> Variable zaehler wächst um 1. [zaehler(i+1)=zaehler(i)+1)
if (but) bleibt weiter '0' (ohne Zustandsänderung inzwieschen) -> zaehler (i+1)=zaehler(i) bleibt unverändert;
if (but) kehrt wieder in Zustand '1' [but=1] und bleibt weiter '1' -> zaehler bleibt wie bisher [zaehler(i+1)=zaehler(i)
gehe wieder zum schleife while
ist die Richtung des Algorithmes ungefähr i.O.?
Für Programmbeispiele oder Links auf so was ähnliches wäre ich dankbar? Syntaksis Schleifen in CoDeSYS 2.3 ?