-> Hier kostenlos registrieren
Wollte ein Programm mit CoDeSys 2.3 schreiben : 'Realisierung von Puls-weiten-Modulation'.
Je nach Große einer Eingangsspannung Ue (0-10V) (wird mit Einstellbar sein) sollte die Impulslänge Th der Signalperiode (Tl+Th) proportionell reguliert (gescrollt /CoDeSys visualisierung) werden .
Meine ersten groben Überlegungen zum Basisalgorithmus wäre:
Programm PLC_PRG
Ue:= REAL:=0; */Startwert
Th:= REAL:=0; */Startwert
Tl:= REAL;
K:= REAL; */Koeffizient der Proporzionalität Ue -> T
END_VAR
--------------
IF (Ue=const) THEN
Th(i+1):=Th(i); */wenn Eingangsspannung =constant, dann sollte solange auch Th= `constant` beim Ausgangssignal liegen
END_IF
IF ((dUe / dt) > 0) THEN */(Falls Ue wächst)
Thi+1)=Th(i)+MKSW; */MKS=Möglichst kleine additive SchritWert
END_IF
IF ((dUe / dt) < 0) THEN
Thi+1)=Th(i)-MKSW;
END_IF
Das ist natürlich nur eine Grobe Vorstellung eines Anfängers wie es funktioniert... kein richtiges Programm. Das wollte ich wenn möglich mit Ihrer Hilfe schreiben.
Oder habt ich vielleicht auch Musterprogramme dazu?
Natürlich muss ich noch überlegen, ganze Periode Tvoll=Th+Tl einzuführen. Vermutlich weise ich dann selbst gewünschte Gesamtperiode Tvoll ein
und
wie ich dUe/dt -Beobachtung (Steigung oder senkung von Ue) realisiere ...
bzw vielleicht while statt if ?
u.s.w...?
Je nach Große einer Eingangsspannung Ue (0-10V) (wird mit Einstellbar sein) sollte die Impulslänge Th der Signalperiode (Tl+Th) proportionell reguliert (gescrollt /CoDeSys visualisierung) werden .
Meine ersten groben Überlegungen zum Basisalgorithmus wäre:
Programm PLC_PRG
Ue:= REAL:=0; */Startwert
Th:= REAL:=0; */Startwert
Tl:= REAL;
K:= REAL; */Koeffizient der Proporzionalität Ue -> T
END_VAR
--------------
IF (Ue=const) THEN
Th(i+1):=Th(i); */wenn Eingangsspannung =constant, dann sollte solange auch Th= `constant` beim Ausgangssignal liegen
END_IF
IF ((dUe / dt) > 0) THEN */(Falls Ue wächst)
Thi+1)=Th(i)+MKSW; */MKS=Möglichst kleine additive SchritWert
END_IF
IF ((dUe / dt) < 0) THEN
Thi+1)=Th(i)-MKSW;
END_IF
Das ist natürlich nur eine Grobe Vorstellung eines Anfängers wie es funktioniert... kein richtiges Programm. Das wollte ich wenn möglich mit Ihrer Hilfe schreiben.
Oder habt ich vielleicht auch Musterprogramme dazu?
Natürlich muss ich noch überlegen, ganze Periode Tvoll=Th+Tl einzuführen. Vermutlich weise ich dann selbst gewünschte Gesamtperiode Tvoll ein
und
wie ich dUe/dt -Beobachtung (Steigung oder senkung von Ue) realisiere ...
bzw vielleicht while statt if ?
u.s.w...?