# Datentransfer zwischen Lenze 9300 Servo Umrichter und S7-1200



## Daniel_0909 (19 August 2013)

Hallo zusammen, 
ich bräuchte hilfe bei der Programmierung eines Lenze 9300 Servo Umrichters. 
Ich habe mir bereits ein Beispielprogramm http://akb.lenze.de/akb/infopool.nsf/HTML/200413406 zum Datenintransfer via Profibus direkt bei Lenze Heruntergeladen doch leider ist dieses in AWL geschrieben 
was die S7-1200 nicht unterstützt. Hinzu kommt das meine Kenntnisse in AWL eher beschränkt sind, sodass es mir nicht möglich ist dieses in FUP bzw. KOP zu übersetzen. 
Deswegen bräuchte ich entweder eine übersetzung des Beispielprogramms oder es kennt vll. jemand eine andere Lösung wie ich den Datentransfer via Profibus programmieren kann. 
An dem Umrichter hängt ein Servomotor welcher eine Spindel antreibt. 
Grundsätzlich muss das Programm nur in der Lage sein die Drehzahl und die Anzahl der Umdrehungen die der Motor machen soll vorzugeben. Die Eingabe erfolgt über ein Touch Panel.

Software: Tia Portal V.12 
CPU: 1214C
HMI: 177 MP 
Lenze EVS9321

Gruß 
Daniel


----------



## Thomas_v2.1 (19 August 2013)

Und wie willst du mit dem Umrichter kommunizieren? Die 1214C hat erstmal keine Profibusschnittstelle, und die 9300er Reihe von Lenze kann kein Profinet.


----------



## Daniel_0909 (19 August 2013)

Für den Umrichter habe ich einen Adapter Lenze Profibus-DP 2133 und für die SPS CM 1234-5 Profibus DP Master.


----------



## Thomas_v2.1 (19 August 2013)

Was für eine Ausführung ist dein Umrichter denn?
Nach dem EVS9321 muss noch eine Endung kommen. Wenn du positionieren willst müsste/sollte das einer mit Endung P sein. Bei diesem sind Status- und Steuerwort eh leicht verschieden zu dem Beispiel was du oben verlinkt hast.
Ich finde das Lenze-Beispiel etwas aufgeblasen. Wenn man den Parameterkanal nicht benötigt, wird das alles wesentlich einfacher. In deinem Fall reichen wahrscheinlich 3 Wörter Prozessdatenkanal:
1x Steuerwort, 1x Geschwindigkeit und 1x Sollposition.


----------



## Daniel_0909 (20 August 2013)

Es handelt sich um einen EVS9321-EI.
Es sollen wirklich nur die oben genannten Dinge einstellbar sein. 
Die restlichen Parameter werden dann einmalig via Global Drive Control eingestellt.


----------



## Daniel_0909 (21 August 2013)

Wie müsste das denn dann Programmtechnisch aussehen ?
Ich habe leider keine Ahnung wie man so etwas verwirklicht.


----------



## c.wehn (21 August 2013)

Daniel_0909 schrieb:


> Wie müsste das denn dann Programmtechnisch aussehen ?
> Ich habe leider keine Ahnung wie man so etwas verwirklicht.



Guck mal hier: http://www.sps-forum.de/antriebstec...fibus-dp-2133-modul-ansteuern.html#post454918


----------



## zako (21 August 2013)

... folgend ein Beispiel mit S7-1200 / Profibus und Antriebseinbindung mittels GSD- Datei (allerdings eines SIEMENS- Antriebs):
http://support.automation.siemens.com/WW/view/de/56749384

Also zumindest steuerungsmäßig kannst Du Dich daran orientieren.


----------



## Daniel_0909 (23 August 2013)

Danke schon mal für die hilfreichen Antworten.
Nun habe ich noch ein Problem mit dem Prozessdatentransfer um dem Regler meine gewünschte Position bzw. Drehzahl vorzugeben.
Im Kommunikationshandbuch steht nun folgendes:









Es ist immer die Rede von der Codestelle C0005 welche aber unter Verwendung meines Reglers nicht vorhanden ist. 
Auf Nachfrage bei Lenze sagte man mir das ich dafür dann meine PLC-Programmierung anpassen müsste.
Also muss ich wohl irgendwie diese ganzen AIF_In und AIF_Out Geschichten irgendwie einbinden nur weiß ich nicht wie. 
Kommunikationshandbuch ab S. 57 
	

		
			
		

		
	

Anhang anzeigen KHB_EMF2133IB_PROFIBUS-DP AIF_v5-0_DE-2.pdf


----------



## Daniel_0909 (29 August 2013)

c.wehn schrieb:


> Guck mal hier: http://www.sps-forum.de/antriebstec...fibus-dp-2133-modul-ansteuern.html#post454918



Leider funktioniert es nicht so wie bei einem 8200 da der 9300 PLC eine eigene interne Sps besitzt und man deswegen die in dem anderen Thread beschriebenen Codestellen nicht besitzt. 
Daraus folgt ich muss noch etwas in dem Programm Drive PLC Developer programmieren nun weiß ich leider nicht wie das genau auszusehen hat. 
Im Kommunikationshandbuch steht folgendes:
9300 Servo PLC
Führen Sie folgende Verknüpfungen im PLC−Programm des Antriebsreglers
durch:
> AIF1_wDctrlCtrl---  DCTRL_wAIF1Ctrl
> DCTRL_wStat  ---AIF1_wDctrlStat

Das scheint für den Austausch von Status und Steuerwort zu sein. 
Jetzt fehlt mir nur noch etwas womit ich meinen Sollwert übermitteln kann.


----------



## Thomas_v2.1 (29 August 2013)

Ich kenne nur das Lenze GDC.
Da ist es so, dass der Baustein AIF-IN der Profibusschnittstelle entspricht.
Wenn du beispielsweise in der HW-Konfig einen Profibusteilnehmer mit 3 Worten PZD konfigurierst, Anfangsadresse z.B. PEW/PAW 500, dann kannst du dir am AIF-IN an den Bits AIF-CTRL.B0 bis B15 die 16 einzelnen Bits des Steuerwortes abgreifen (bestimmte Signale sind fest mit dem DCTRL verschaltet).

Am Anschluss AIF-IN.W1 kannst du dir dann das erste Wort des Prozessdatenkanals angreifen. Wenn du im SPS-Programm den Wert 1234 auf das PAW502 schreibst, kommt der Wert am im Umrichter an dem Ausgang AIF-IN.W1 an, der Wert von PAW504 an AIF-IN.W2 usw.

Womit du den Sollwert verschaltest ist dann dir überlassen.


----------



## Daniel_0909 (30 August 2013)

Die Übertragung erfolgt über 2 Worte PZD.
Ich habe jetzt mein Steuerwort und mein Prozessdatenwort zusammen in ein Doppelwort (PAD264) geschrieben.  (Wie in dem Besipiel von Lenze für die S7 beschrieben 
	

		
			
		

		
	



	

		
			
		

		
	
 )
in den ersten 16bits befindet sich mein Steuerwort und danach kommt mein Prozessdatenwort. 
Also kann ich jetzt einfach mit AIF-CTRL.b16 -31 mein Prozessdatenwort abfragen ? 
und liegt dieses dann noch an AIF-In.W1 oder schon an AIF-IN.W2 ?
Und woher weiß das Programm was es mit dem Sollwert anfangen soll also wofür er ist ? im Moment kann dieser ja für alles sein Drehzahl, Winkel etc.


----------



## Thomas_v2.1 (30 August 2013)

Das Zusammensetzen musst du nur machen wenn die Daten unbedingt konsistent zum Umrichter übertragen werden sollen.
Mit dem Zugriff über PED lässt sich maximal ein Doppelwort konsistent übertragen. Wenn mehr Daten konsistent übertragen werden soll, müssen spezielle Funktionen verwendet werden (bei der 300/400 SFCs, ich weiß nicht obs bei der 1200 etwas ähnliches gibt). Dann stellst du erst einen kompletten Datensatz (z.B. Steuerwort, Sollwert 1, Sollwert 2) zusammen, und schickst ihn dann mit dieser Funktion konsistent an den Profibusteilnehmer.

Was der Umrichter damit anfangen soll musst du ihm sagen. Die Verschaltung der Blöcke ist mehr oder weniger frei programmierbar.

Schau dir mal das pdf "Visio-Zentrumsabwickler" in diesem Post an:
http://www.sps-forum.de/programmier...e-zu-aufwickler-applikation-2.html#post169362

Das ist quasi die Umrichterprogrammierung mit Visio gezeichnet. Da siehst du auch den AIF-IN Block (steht aber auch alles so im Handbuch) und was man damit anstellen kann.


----------



## Daniel_0909 (30 August 2013)

Mehr als das eine Doppelwort brauch ich auch nicht mehr da ich nur noch das Steuerwort und einen Sollwert übertragen muss. 
Danke,  ich werde mal schauen was ich damit Anfangen kann.


----------

