TIA TIA 7 Modellbauservos mit PWM ansteuern

carpc

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte 7 Modellbauservos (mit PWM) mit einer S7 1200 SPS ansteuern. Die PWM soll folgende Bedingungen haben: Periodendauer ca. 20ms Pulzzeit zwischen 0,7 und 2MS.

Da die SPS nur 4 integrierte PWM Ausgänge hat, möchte ich die restlichen 4 Über das Erweiterungsmodul SB1222 (4 Digitalausgänge mit 200 khz). Mit diesem Erweiterungsmodul ist keine "Hardware PWM" möglich.

Deshalb würde ich die PWM selbst Programmieren. Mein Ansatz ist wie folgt:
Ein Schleife durchlaufen, die so lange dauert wie der Impuls.
Kann man mit der S7 1200 Zeiten Programmieren, im µ Sekunden bereich? (700-2000µS)
 
Moin,

ich hab bereits mit dem Erweiterungsmodul den PWM-Generator der SPS genutzt.
Wieso sollte das nicht möglich sein?

Bei den Zeiten wird es mit der SPS eng, es hängt davon ab was noch so auf Deiner SPS läuft.
Aber schleifen klingt schonmal böse ;)

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Siemens Support meint, dass der PWM Generator nur mit den schnellen Ausgängen auf dem Hauptmodul benutzbar ist. Da gibt es bei der 1214C 4 Stück.

Kann ich mit dem Erweiterungsmodul SB1222 um 4 PWM Ausgänge erweitern? Da heißt sind maximal 8 PWM Ausgänge möglich.

Diese PWM Ausgänge sind auch unabhängig von der Zykluszeit?
 
Ich meine schon - ich schmeiß mal das TIAP an und klick das mal zusammen.
Die PWM-Generatoren sind unabhängig von der Zykluszeit! Das ist ja auch wichtig wenn es extrem schnell gehen muss.

Melde mich gleich nochmal!

Grüße

Marcel
 
Moin! Update!

Problem gefunden. Es gibt einfach nur 4 PWM-Generatoren. Die sind nicht fest auf die DO des Hauptmoduls festgelegt, du könntest sie auch dem anderen
Modul zuweisen. Da Du aber 4 Antriebe steuern willst ist das doof.

Frage: Willst Du jeden Motor unabhängig ansteuern (Positionioeren?) oder fährst Du vielleicht feste Geschwindigkeiten und kannst ggf. die 4 PTO mit IF THEN auf deine Ausgänge rangieren?

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ich möchte die Servos unabhängig von steuern. Für die Postion ist nur die Länge des High Impuls wichtig. Das kann auch nacheinander erfolgen. Lassen sich die PWM Generatoren so anwenden: z.B: Peridodendauer 10ms. In der ersten Periode Impuls auf Ausgang 1 (Servo 1) und in der zweiten Periode Impuls auf Ausgang 2 (Servo 2) ausgeben. Allerdings für beide Impulse eine unterschiedliche Länge.

Zu meiner Idee selbst programmieren: Gibt es eine Möglichkeit Zeiten im µSekunden bereich zu programmieren?
 
Zuletzt bearbeitet:
Nein das wird wohl schwer. Kleiner als die Zykluszeit (mind. 1ms) wirst Du nie kommen.
Kannst Du ggf. das SB1222 zurückgeben und dir ne zweite 1212C kaufen? Die kostet nicht arg viel
mehr als das Erweiterungsmodul, und du kannst die zwei SPS über Profinet kommunizieren lassen.

Ich weiß ist nen komischer Ansatz... aber vielleicht ne Idee wert?!

Grüße

Marcel
 
Ja ich möchte die Servos unabhängig von steuern. Für die Postion ist nur die Länge des High Impuls wichtig. Das kann auch nacheinander erfolgen. Lassen sich die PWM Generatoren so anwenden: z.B: Peridodendauer 10ms. In der ersten Periode Impuls auf Ausgang 1 (Servo 1) und in der zweiten Periode Impuls auf Ausgang 2 (Servo 2) ausgeben. Allerdings für beide Impulse eine unterschiedliche Länge.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für die Postion ist nur die Länge des High Impuls wichtig. Das kann auch nacheinander erfolgen.
Brauchst Du eine zyklische/periodische PWM-Pulsausgabe oder reichen einzelne Pulse definierter Länge?

Zu meiner Idee selbst programmieren: Gibt es eine Möglichkeit Zeiten im µSekunden bereich zu programmieren?
Ja, die Erzeugung einzelner Pulse im µs Bereich geht, allerdings pfuscht da die Firmware der S7-1200 zyklisch mit vermutlich nicht verhinderbaren Programmunterbrechungen dazwischen. siehe mal die Experimente hier in diesem Thread: Software UART am Digitalout einer S7-1200 ?

Harald
 
Brauchst Du eine zyklische/periodische PWM-Pulsausgabe oder reichen einzelne Pulse definierter Länge?


Ja, die Erzeugung einzelner Pulse im µs Bereich geht, allerdings pfuscht da die Firmware der S7-1200 zyklisch mit vermutlich nicht verhinderbaren Programmunterbrechungen dazwischen. siehe mal die Experimente hier in diesem Thread: Software UART am Digitalout einer S7-1200 ?

Harald

Es sollte schon eine perodische Pulsausgabe sein mit ca. 20ms Periodendauer. Allerdings ist die Periodendauer nicht ganz so wichtig.
 
> Periodendauer ca. 20ms Pulzzeit zwischen 0,7 und 2MS.

https://rn-wissen.de/wiki/index.php?title=Servos

"Innerhalb dieser 20ms wird ein Puls erwartet, der sich zwischen 1ms und 2ms bewegt"
Je nach Servo auch mehr oder weniger.

Modellbauservos werden eigentlich mit 5V angesteuert.
Eine S7 1200 liefert sicher 24V.

Ich würde einen Raspi oder Arduino mit LAN nehmen und von der SPS "füttern".

Wegen der Stromspitzen ist auch ein eigenes Netzteil für die Servos zu empfehlen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde einen Raspi oder Arduino mit LAN nehmen und von der SPS "füttern".
Diesen Weg würde ich auch angehen.
Aus den Erfahrungen mit : Software UART am Digitalout einer S7-1200 ?

kann ich nur sagen:
Das Timing wird zeitweise unberechenbar, da etwas dazwischen funkt.
Bei den Servo‘s sind die Pausenzeiten tatsächlich nicht so kritisch, wird die Pause aber zu lange
hat das Servo keine „Haltekraft“ mehr oder beginnt zu zittern.
 
Zurück
Oben