Programmierung von Puls-Weiten-Modulation mit CoDeSyS 2.3

Kroster

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> 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)
Th:(i+1)=Th(i)+MKSW; */MKS=Möglichst kleine additive SchritWert
END_IF

IF ((dUe / dt) < 0) THEN
Th:(i+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...?
 
Hallo,

verstehe nicht warum Du den 0-10V Eingang differenzieren möchtest. Warum nicht einfach den Tastgrad proportional zum 0-10V bestimmen; 0V = 0% ..5V = 50% .. 10V = 100%.
 
Zurück
Oben