Antriebs-Freigabe programmieren

yone

Level-1
Beiträge
47
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey,
ich bin gerade dabei meinen Antrieb (Frequenzumrichter + Asynchronservomotor) über meine SPS zu steuern. Ich möchte eine Drehzahlsteuerung über die SPS vornehmen. Dazu möchte ich zunächst einmal eine Antriebsfreigabe programmieren.
In der Main möchte ich ein Netzwerk (in KOP) dazu erstellen, welches bei Betätigung eines Schalters (also beispielsweise dem Setzen von E0.0 auf 1) die nötigen Steuerparameter für meinen Antrieb setzt.

Als Problem stellt sich aber heraus, dass die Eingänge wohl noch adressiert werden müssen. Füge ich im Netzwerk einen Schließer beispielsweise hinzu, kann ich nichts auswählen.

Beispielsweise wie hier: http://www.brix.de/elektrik/sps/_images/flankenauswertung_manuell.png
Dort ist "Aktualwert E0.1" für das AND Gatter ausgewählt. Ich möchte aber den tatsächlichen Zustand meines SPS Eingangs E0.1 auswählen ("Aktualwert E0.1" scheint mir ja eine Variable zu sein, die vorher definiert und im Programm gesetzt wurde). Das einzige was ich machen kann ist in der Variablentabelle Variablen hinzuzufügen. Diese stehen dann natürlich zur Auswahl, aber bringen mich nicht weiter. Muss ich meine Eingänge zunächst einmal adressieren? Wenn ja, wie mach ich das?

Anschließend würde mich noch interessieren, inwiefern ich die Steuerwörter übergeben kann? Zwischen SPS und FU ist eine Profinetverbindung aufgebaut, über die ich diese übermitteln möchte.

Vielen Dank für die Hilfe

P.S: Ich bin absoluter Step7 Neuling, bräuchte aus diesem Grund einen Einstieg in dieses Programm. Dazu habe ich mir bereits das Buch "Automatisieren mit SPS - Theorie und Praxis" ausgeliehen. Hat jemand ähnliche Empfehlungen, die vielleicht auch Schritt für Schritt in das Thema einführen und von Anfang an kleinere Beispiele zum Verständnis enthalten?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay, danke! Das erste Problem mit der Adresszuweisung ist damit geklaert, verstehe ich soweit jetzt! Habe schon ein kleines Testnetzwerk erstellt und den Ausgang in Abhaengigkeit der Eingaenge mit der Beobachtungsfunktion ueberprueft. Soweit bin ich schonmal schlauer!

Mir fehlt jetzt noch das Setzen der noetigen Steuerwoerter, um den Antrieb freizugeben. Soweit ich das recherchiert habe, muss ich nun die Steuerwoerter in einem DB abspeichern und diesen dann an den FU uebergeben, korrekt?
Als Telegramm habe ich das SIEMENS Telegramm 390, PZD-2/2 gewaehlt. Mein FU erwartet also ein 2 Byte Datenpaket und sendet ein 2 Byte Datenpaket zurueck nach meinem Verstaendnis.

1) Welchen Datentyp muss mein DB haben?
2) Wo kann ich eine Uebersicht ueber den Aufbau (an welcher Stelle welches Steuerwort) der verschiedenen Telegramme finden und reicht dieses Telegramm aus um eine Drehzahlsteuerung durchfuehren zu koennen oder welches sollte ich stattdessen verwenden?
3) Wie uebergebe ich letztlich den DB an den FU? Wenn ich unter Netzwerk als Ausgang meines AND Gatters den Datenbaustein auswaehle, meldet er "Unerwartetes Eingabeende".

Vielen Dank :)
 
FU: Sinamics S120 CU310 PN
SPS: Simatic S7-300 CPU314C-2

Den FU hab ich projektiert, allerdings weiss ich trotzdem nicht wie ich auf die Status- und Steuerworte zugreifen kann. STW1.0 bis STW1.3 (Aus1-3 und Freigabesteuerwort) muessen zu 0 bzw zu 1 gesetzt werden fuer die vollstaendige Freigabe, korrekt?
 
Das bringt mich einerseits weiter, aber das eigentliche Problem hab ich trotzdem noch nicht gelöst. Kann mir da jemand kurz erklären, wie ich Steuerwörter übergebe?
 
ducati
user-offline.png
H2 ist doch eigentlich ne Schritt für Schritt Anleitung...

*ACK*

Da steht alles Erforderliche drininne

Anhang anzeigen 21007

@yone Geb dir mal Mühe :ROFLMAO:
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Werd ich morgen mal ausprobieren, danke :)

P.S: Das tu ich, ich recherchier nicht umsonst stundenlang im Internet und komm nicht weiter ;). Wenn man damit noch nie gearbeitet hat und keinerlei Ansprechpartner hat, versteht man halt zunächst einfach nur Bahnhof, obwohl's im nachhinein vielleicht garnicht so schwer sein mag.

Gruß ;)
 
Habe nun meine Zustands- und Steuer-DBs erstellt und das Setzen des EIN_AUS1 Steuerworts in mein Netzwerk eingefuegt:

DB20.jpgDB21.jpgNetzwerk.jpg
Habe das Standardtelegramm 2 (PZD 4/4) ausgewaehlt. Habe mich nebenbei mit STARTER verbunden, um die Steuerwoerter beobachten zu koennen (kann ich das ueberhaupt dazu nutzen oder kommt es dann zum Konflikt beider Programme?) Dort trat aber keine Veraenderung auf, was irgendwie logisch ist. Ich muss doch diesen DB irgendwie an den Sinamics senden. Bisher aendere ich ja nur den Zustand einer Variable meines DBs. Wie sende und empfange ich die DBs als Zustand- und Antworttelegramm?

Gruss!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab das Schreiben der Steuerwoerter jetzt mit Hilfe von SFC14 und SFC15 (DPWR_DAT bzw DPRD_DAT) hingekriegt! :)

Danke ducati, werd mir das dann als naechstes mal zur Brust nehmen. Grad ging mir auf jeden Fall hier und da mal ein kleines Licht auf!
 
Es klappt doch noch nicht ganz so, wie gedacht:

Anhang anzeigen 21043

Anhang anzeigen 21044

Wenn ich beispielsweise ueber den DB20 AUS1 auf 0 oder 1 setze, muesste sich im DB21 ja die Variable KeinAUS2 veraendern. In der Doku von ducati werden auch die Bausteine SFC14 und 15 genutzt, um Prozessdaten schreiben und lesen zu koennen. Da tut sich aber scheinbar nichts: Gehe davon aus, dass weder das Schreiben, noch das Lesen funktioniert:
Anhang anzeigen 21045
-32591 an RET_VAL bedeutet was? Der blaue Kasten ist doch auch ein Indiz dafuer, dass die Funktion nicht aufgerufen wird, oder?

Kann ich eigentlich mit STARTER meine Zustaende sehen oder kommt es zum Konflikt beider Programme? D.h. wenn ich einen Parameter setze muesste das auch in STARTER sichtbar sein, richtig?
 
Zuletzt bearbeitet:
also ich verstehe nicht warum du dir nicht die beispielbausteine ansiehst bzw benutzt.

drück mal f1 auf dem baustein dann bekommst du eine hilfe inklusive fehlerliste. der fehler am retval ist hex also 80b1.
80B1 Die Länge des angegebenen Zielbereichs ist ungleich der mit STEP 7 projektierten Nutzdatenlänge.

die sfc14/15 erwartet die in der hardware projektierte länge.
also nicht nur das steuerwort sondern auch den sollwert usw
um nur das steuerwort zu übertragen machst du am einfachsten
L db21.dbw0
T PAW256

und es reicht auch nicht NUR den aus1 zu beschreiben. auch die bit 1.1-1.6 müssen beschrieben werden.

und ja, du kannst problemlos s7 und starter parallel benutzen. in der statusanzeige siehst du die steuerbits.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey,
konnte lange Zeit nicht mehr weiterarbeiten, aber habe mich jetzt mal an dieses Beispiel gesetzt: http://cache.automation.siemens.com...INAMICS_G120_at_S7-300400-PN_DOKU_V1d1_de.pdf
Soweit versteh ich die Funktion der Bausteine auch und das ganze hat mich schon enorm weitergebracht...

Ich habe nun alles soweit programmiert, dass die Prozessdaten ueber die DPRD_DAT und DPWR_DAT Bausteine an den Frequenzumrichter zyklisch uebertragen werden. Ab Seite 40 wird dann auf den FB20 eingegangen, der fuer die azyklische Prozessdatenuebertragung zustaendig ist. Zunaechst einmal kann ich mit den Eintraegen aus den DB 100,101 und 103 (Inhalt ab Seite 40 des Dokuments aufgelistet) so nahezu garnichts anfangen. Kann mir da jemand helfen?

siehe http://support.automation.siemens.c...lib.csinfo&lang=de&objid=60140921&caller=view
 
Zuletzt bearbeitet:
Umrichter Parameter schau mal im "Drive ES - Starter" da ist p1120 Hochlaufgeber Hochlaufzeit und p1121 Hochlaufgeber Rücklaufzeit da sind die zwei rot markierten auf Seite 40. z.B. Parameter Nummer: 1120 Parameter Index: 0 Parameter Format Byte (oder word,INT,REAL,usw) .....
 
Zuletzt bearbeitet:
Okay, dann lass ich das einfach erstmal weg, weil ich nicht unbedingt Parameter schreiben muss! Darum kann ich mich dann später vielleicht nochmal kümmern!

Ich würde mein Programm gerne auf Funktion testen, allerdings blicke ich noch nicht wirklich dahinter, wie ich in der Simulation überprüfen kann, dass z.B. das Schreiben und Lesen der Prozessdaten funktioniert! Gibt es dazu eine gute Einführung, bei der man sich etwas schlauer lesen kann? Bin noch nicht fündig geworden, schaue mal weiter, aber Empfehlungen nehm ich gerne an ;)
Die Hilfe bringt mich da nicht wirklich weiter und das "Simulieren mit Variablentabelle" ist bei mir grau hinterlegt. Ich verwende die Version TIA Portal V11!

EDIT: Habe unter Step7 das freie Telegramm PZD 6/6 ausgewählt, ist das genauso aufgebaut wie das Siemens 352 PZD6/6? Kann letzteres nämlich nicht - wie im Beispiel gewählt - auswählen! In STARTER sollte ich doch auch nähere Informationen über den jeweiligen Telegrammaufbau auslesen können?! Bin gerade nicht am Prüfstandsrechner, das werd ich morgen dann mal ausprobieren!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich komme nicht wirklich weiter bei der Simulation.
Ich moechte mit den Eingaengen I3.0 bis I3.7 die Steuerwoerter fuer die Antriebsfreigabe setzen und den Drehzahlsollwert erhoehen, erniedrigen und auf 0 zuruecksetzen koennen.
Meine Variablentabelle sieht wie folgt aus:

start Bool %I3.0 Ein-/Ausschalten des Antriebs
aus2 Bool %I3.1 Antrieb trudelt aus (0)
aus3 Bool %I3.2 Antrieb wird abgebremst (0)
ack Bool %I3.3 Quittierung anstehender Fehler durch steigende Flanke
inv Bool %I3.4
0 Bool %I3.5 Sollwert wird auf 0 gesetzt
n+ Bool %I3.6 Sollwert wird erhoeht
n- Bool %I3.7 Sollwert wird erniedrigt

PIW1_Slave_1 Word %IW256
PIW2_Slave_1 Word %IW258
PQW1_Slave_1 Word %QW256
PQW2_Slave_2 Word %QW258

Als Telegramm hab ich in STARTER fuer den Antrieb das Standardtelegramm 1 PZD2/2 und fuer die CU das Siemens Telegramm 390 PZD 2/2 ausgewaehlt.

Der Aufbau des Telegramms fuer Steuerung/Zustand sieht ja wie folgt aus:

PZD1 : Steuerwort 1 / Zustandswort 1
PZD2 : N_SOLLA / N_ISTA

Mittels eines FBs + DBs schreib ich dann an Adresse 256 das Steuerwort und den Sollwert! Die Programmierung sollte im Prinzip jetzt vollstaendig sein und wuerde das Ganze gerne testen.

Nun wuerde ich gerne den Inhalt von IW256, IW258 sowie QW256 und QW258 beobachten, damit ich sehen kann, ob die I/0 Adresse des Umrichters auch korrekt beschrieben wird!
Ich habe dazu die Simulation gestartet und unter "Einfuegen -> Eingaenge" IW256 eingegeben, allerdings funktioniert das nicht wirklich (wird grau hinterlegt). Desweiteren muss ich ja danach meine Symboltabelle zuordnen. Wenn ich mein S7-Projekt auswaehle, finde ich aber keine Symboltabelle, die ich hinzufuegen koennte. Wo ist diese als Datei zu finden?
Vielleicht koennt ihr mir erklaeren, wie ich unter PLCSIM vorgehen muss, um das oben beschriebene testen zu koennen.

Vielen Dank schon einmal!
 
Zuletzt bearbeitet:
Was habe ich denn fuer eine andere Moeglichkeit mein Programm auf Funktion zu testen? Ich weiss noch nicht, wann ich wieder Zugang zum Antrieb hab und wenn es soweit ist wuerde ich gerne sicher sein, dass mein Programm auch funktioniert...

EDIT:
Mit PQB 256 und PIB 256 konnte ich das ganze jetzt doch einfuegen. Allerdings kann ich meine Symboltabelle unter PLCSIM unter "Symbole zuordnen" nicht finden. Wo ist die denn genau abgespeichert?
Ansonsten funktioniert das Programm scheinbar ;) Werde noch die ein oder anderen Dinge testen muessen, aber jetzt waere es halt von Vorteil, wenn ich auch die zugehoerigen Symbolbezeichnungen an meinen Ein/Ausgaengen zur Verfuegung haette, sprich die Variablentabelle zuordnen koennte!
 
Zuletzt bearbeitet:
Zurück
Oben