TIA Programmsteuerung für Sinamics G120

Zuletzt bearbeitet:
Probiers doch selber mal aus und sieh wo du hängst. Das Steuerwort komplett mit einem Hex-Wert zu befüllen würde ich nicht machen. Du kannst die Bits einzeln ansteuern. Das ist meiner Meinung nach viel leichter zu lesen/debuggen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe nur gefragt, weil ich wissen wollte ob es möglich ist den Baustein um zusätzliche Funktionen zu erweitern.
Sicher kann man das. Wie schon von DeltaMikeAir erwähnt.
Aber warum willst du das tun? Der Baustein tut das was er soll.
SchnickSchnack kannste später hinzufügen. Evtl sogar besser außerhalb des bausteins. Aber das kommt auf die anforderung an.
Nimm den FU erstmal in Betrieb mit den Standartfuktionen.
Bei deinen Kenntnissen sollte man lieber klein anfangen und nicht versuchen eine eierlegende wollmilchsau zu erzeugen.

Probiers doch selber mal aus und sieh wo du hängst. Das Steuerwort komplett mit einem Hex-Wert zu befüllen würde ich nicht machen. Du kannst die Bits einzeln ansteuern. Das ist meiner Meinung nach viel leichter zu lesen/debuggen.
Ja. Sicher überschaubarer aber mehr Code. Aber das ist ansichtssache. in einem gekapselten fb muss das nicht wirklich so sein. aber das ist meine meinung.
 
Bei dem Programm für meine Diplomarbeit geht es darum, dass zwei Motoren über die Welle miteinander gekoppelt sind. Sie werden über das HMI mit einer Solldrehzahl, Drehrichtung etc gesteuert. Der eine Motor arbeitet als Antrieb, der andere als Last. Der Lastmotor soll den Antriebsmotor bremsen (Generatorbetrieb) oder Antreiben. Dafür benötige ich aber am HMI eine eigene Drehzahlvorgabe für den Lastmotor. Die Drehrichtung muss von einem Motor invertiert werden, damit sie sich gleich drehen. Dann werde ich wahrscheinlich auch die Funktion Fangen im Lauf benötigen, die der FU auch besitzt. Bei dem letzten Test hat sich gezeigt, dass beim gekoppelten Hochfahren beider Motoren ein FU abschaltet, da ein Überstrom an einem Motor vorhanden.

Also es geht bei dem Programm nicht nur um reine reine Drehzahlsteuerung mit Richtungsänderung.

Vielleicht hat hier jemand einen Tipp für einen Programmentwurf.
 
Wieso drehmomentgeregelt? Ich bin mir nicht sicher ob ich für die Drehmomentregelung die Vektorregelung nehmen muss anstatt der U/f Steuerung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Uff, das ist ja ein eigentlich ein Prüfstand. Ganz so trivial wie anfangs erwartet ist das nicht… Hast du einen Betreuer der helfen kann?

Was soll die Last tatsächlich alles machen. Du schreibst bremsen oder antreiben? Willst du tatsächlich irgendwelche elektrischen Kenngrößen der Last ermitteln/prüfen?
 
Natürlich habe ich einen Betreuer und auch einen Professor der sich mit SPS Programmierung auskennt.

Ich will eigentlich eine konstante Drehzahlregelung unabhängig von der Belastung erreichen.
 
Wieso drehmomentgeregelt?
Wenn beide Motore Drehzahlgeregelt werden gewinnt immer der stärkere (bzw. der bei dem der FU am längsten durchhält ohne auszusteigen)

Ich will eigentlich eine konstante Drehzahlregelung unabhängig von der Belastung erreichen.
Was ist das Ziel der Diplomarbeit? Zu belegen dass der FU die Drehzahl halten kann?
Spoiler: Solange du den FU nicht überlastest wird er die Drehzahl (- größer werdenden Schlupf) halten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn beide Motore Drehzahlgeregelt werden gewinnt immer der stärkere (bzw. der bei dem der FU am längsten durchhält ohne auszusteigen)


Was ist das Ziel der Diplomarbeit? Zu belegen dass der FU die Drehzahl halten kann?
Spoiler: Solange du den FU nicht überlastest wird er die Drehzahl (- größer werdenden Schlupf) halten.
Im Prinzip ja. Der FU sollte die Drehzahl halten. Ein Bremswiderstand wird für den Bremsbetrieb eingesetzt.
 
Sicher kann man das. Wie schon von DeltaMikeAir erwähnt.
Aber warum willst du das tun? Der Baustein tut das was er soll.
SchnickSchnack kannste später hinzufügen. Evtl sogar besser außerhalb des bausteins. Aber das kommt auf die anforderung an.
Nimm den FU erstmal in Betrieb mit den Standartfuktionen.
Bei deinen Kenntnissen sollte man lieber klein anfangen und nicht versuchen eine eierlegende wollmilchsau zu erzeugen.


Ja. Sicher überschaubarer aber mehr Code. Aber das ist ansichtssache. in einem gekapselten fb muss das nicht wirklich so sein. aber das ist meine meinung.
Für die Funktion Bremsen hast du den Datentyp Byte verwendet. Ich verwende die Schaltfläche Stop am HMI, welche aber den Typ Bool verwendet. Kann ich den Datentyp einfach ändern oder muss ich hier noch was anderes ändern?

Ist bei deinem Baustein kein Einschalten des FU notwendig (wie auf der Steuertafel im TIA Portal) ? Zumindest gibt es keinen Eingang dafür.

Lg
 
Zuletzt bearbeitet:
Für die Funktion Bremsen hast du den Datentyp Byte verwendet. Ich verwende die Schaltfläche Stop am HMI, welche aber den Typ Bool verwendet. Kann ich den Datentyp einfach ändern oder muss ich hier noch was anderes ändern?
Kann es sein, dass du Oberhaupt nicht verstehst, wie der Baustein funktioniert? Mit dem Byte Stop kann man vorgeben, auf welche Art gestoppt werden soll.
Mit deinem BOOL Stop setzt du einfach den Vorlauf und Rücklauf zurück ( die Bits ).


Ist bei deinem Baustein kein Einschalten des FU notwendig (wie auf der Steuertafel im TIA Portal) ? Zumindest gibt es keinen Eingang dafür.
Das wird doch im Baustein automatisiert behandelt, über das Steuerwort.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, verstehe ich nicht, aber ich möchte es lernen. Ich möchte mit der Schaltfläche den Motor über die Rampe anhalten.

Kann es sein, dass ich den Datentyp Bool der Taste über eine Datentypübersetzungsbaustein in das Format Byte umwandeln muss?
 
Ich möchte mit der Schaltfläche den Motor über die Rampe anhalten.

Dann musst du bei Bremsen den Wert 0 anlegen:
Bremsen : Byte; // 0=über Rampe(AUS1);1=Austrudeln(AUS2);2=Schnellbremsung(AUS3)

Kann es sein, dass ich den Datentyp Bool der Taste über eine Datentypübersetzungsbaustein in das Format Byte umwandeln muss?
Nein, natürlich nicht. Um zu Stoppen müssen halt die Bausteineingänge Vor- und Rücklauf FALSE sein.
 
Nein, verstehe ich nicht, aber ich möchte es lernen. Ich möchte mit der Schaltfläche den Motor über die Rampe anhalten.

Kann es sein, dass ich den Datentyp Bool der Taste über eine Datentypübersetzungsbaustein in das Format Byte umwandeln muss?
Siemens Antriebe (zumindest die, dic ich kenne) haben immer gestaffelte Freigaben. Siemens nennt das AUS1-3. AUS3 ist der Schnellstop und bremst entlang der AUS3-Rampe (irgendein Parameter im Antrieb in Sekunden). AUS1 bremst entlang der AUS1-Rampe (auch irgendein Parameter im Antrieb). AUS2 ist die höchst priorisierte. Ohne AUS2 geht garnix, auch nicht AUS1 oder AUS3. AUS2 schaltet den Antrieb sofort momentfrei (Antrieb ohne Bremse trudelt aus, fährt also ins Nirvana oder zum nächsten mechansichen Anschlag -> Crash)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann musst du bei Bremsen den Wert 0 anlegen:



Nein, natürlich nicht. Um zu Stoppen müssen halt die Bausteineingänge Vor- und Rücklauf FALSE sein.
Das heißt, ich muss in den Eigenschaften der Schaftfläche bei der Bedingung Klicken die Option "Setze Bit in Variable" wählen und dort das Bit 0 schreiben. Und in der HMI Variablentabelle muss ich den den Datentyp ebenfalls auf Byte setzen. Habe ich das richtig verstanden?
 
Das heißt, ich muss in den Eigenschaften der Schaftfläche bei der Bedingung Klicken die Option "Setze Bit in Variable" wählen und dort das Bit 0 schreiben. Und in der HMI Variablentabelle muss ich den den Datentyp ebenfalls auf Byte setzen. Habe ich das richtig verstanden?
Noch einmal, wenn du bei Bremsen eine 0 angibts, dann wird nicht gebremst, es wird auch nicht gebremst, wenn du 1 oder 2 anlegst.
Dort gibst du nur vor, auf welche Art gebremst werden soll.

Wenn du im HMI 3 Schaltflächen hast, dann sehen die so aus:
Button Rechtslauf:
SetzeBit Vorlauf
RuecksetzeBit Ruecklauf

Button Linkslauf:
RuecksetzeBit Vorlauf
SetzeBit Ruecklauf

Button Stop:
RuecksetzeBit Vorlauf
RuecksetzeBit Ruecklauf
 
Also so wie im Bild. Und bei der Taste Stop schreibe ich zwei mal den Befehl rücksetzen hinein.
 

Anhänge

  • Screenshot 2023-01-06 153623.png
    Screenshot 2023-01-06 153623.png
    229,2 KB · Aufrufe: 23
Zurück
Oben