# VLT 2800 über Profibus mit S7 verbinden



## murax (14 Februar 2013)

Ich möchte ein VLT 2800 über eine S7 CPU 314C-2DP über Profibus DP ansteuern.
Dabei möchte ich nur die Drehzahl steuern können (mit SFC15?!)

Hab schon viel ausprobiert und in Handbüchern gelesen, komme da aber nicht wirklich weiter.
Vielleicht kennt sich hier einer damit aus und kann mir weiterhelfen 

Ich habe:
-Die GSD-Data runtergelden und in der HW-Konfig installiert.
(ich kann wählen zwischen 3MB und 12MB, sind das verschiedene Bauformen oder Einstellungen der Übertragung?

-VLT 2800 im DP-Mastersystem eingefügt.

-Auf Steckplatz 1: PPO Typ 3 gewählt. (es gibt da „Word consistent PCD“ und „Module consistent PCD“ was ist der Unterschied der Protokolle? Welches brauche ich?)

-Im VLT eingestellt: PPO Typ 3, Busadresse, Fernbetrieb (fehlt hier was?)

-Zum laden von Daten in den VLT den SFC 15 gewählt (gibs da andere Wege?)
Eingangsadresse VLT: 256
Wie weise ich den Adressen die Parameter zu?
Und Wie muss der Wert skaliert sein? (0-50Hz)

CALL  "DPWR_DAT"
LADDR  :=W#16#100    
RECORD :=MB3
RET_VAL:=MW7
NOP   0

Das sind nun recht viele Fragen :-?
Aber ich freue mich über jeden Tipp den ich bekommen kann.

Mit freundlichen Grüßen Murax


----------



## MRose (14 Februar 2013)

Hallo,



murax schrieb:


> -VLT 2800 im DP-Mastersystem eingefügt.


ok



> -Auf Steckplatz 1: PPO Typ 3 gewählt. (es gibt da „Word consistent PCD“ und „Module consistent PCD“ was ist der Unterschied der Protokolle? Welches brauche ich?)


PPO Typ 3 müsste reichen, wordkonsistent ist ok. Die Konsistenz sagt aus, über welche Datenmenge sichergestellt wird, dass die Daten auch zusammen gehören (z.B. sollten die 4 Bytes eines Realwertes auch zum gleichen Wert gehören und nicht teilweise schon Bytes der nächsten Berechnung sein).



> -Im VLT eingestellt: PPO Typ 3, Busadresse, Fernbetrieb (fehlt hier was?)


Bin ich überfragt. 



> -Zum laden von Daten in den VLT den SFC 15 gewählt (gibs da andere Wege?)


SFC wäre bei Modulkonsistenz wichtig oder, soweit ich mich erinnere, wenn der FU an einem CP hängt. Bei Wordkonsistenz kannst Du direkt das Word schreiben, also T PAWx. 



> Eingangsadresse VLT: 256


Du brauchst auch die Ausgangsadresse, Du willst ja Werte schreiben.



> Wie weise ich den Adressen die Parameter zu?


Das 1. Ausgangswort ist das Steuerwort. Da hat jedes Bit eine Bedeutung -> Handbuch.



> Und Wie muss der Wert skaliert sein? (0-50Hz)


0 - 100% (oder 0 - 50Hz) entsprechen am 2. Ausgangswort einem Integerwert von 0 - 16384. Also musst Du den Sollwert in Hz entsprechend auf den Integerbereich skalieren.


----------



## RealDrive (14 Februar 2013)

Hallo,

zu deinen Fragen 





murax schrieb:


> Wie weise ich den Adressen die Parameter zu?
> Und Wie muss der Wert skaliert sein? (0-50Hz)



PPO3 => HW-Konfig => E-Adresse [256-258] / A-Adresse [256-258] (Ein- und AusgangAdressen der S7 sind damit direkt dem VLT mit der PD-Adresse zugewiesen)

Daten(Info) vom VLT 2800 zum S7-Eingang(PEW)
PEW256 = ZSW (Zustandswort) Hexwert 1Word "wie geht es dem VLT" 
PEW258 = HIW (Hauptistwert)   Hexwert 1Word "wie schnell läuft der Motor (aktuelle Ausgangsfrequenz)" als Hexwert

Daten(zum Steuern) vom S7-Ausgang(PAW) zum VLT 2800
PAW256 = STW (Steuerwort) 1Word als Hexwert
PAW258 = HSW (Hauptsollwert) 1Word als Hexwert

Wichtige Einstellungen im VLT 2800 Siehe Anhang (PDF Seite 4)
Steuern und Sollwertvorgabe wie folgt:
Parameter 512 : _FC Protocol [1]  = Steuerwort [PAW256] in HEX ergibt sich aus den Bit´s die Log."1" sind. Siehe Bild



Steuerwort [laden in PAW256] 



Alles Klar??

Sollwertvorgabe
HSW  [ laden in PAW258] 
 HSW ist normiert: 0 Hex enspricht 0% = Par. 201 Min. Ausgangsfrequenz - z.B. 0 Hz
                          4000 Hex enspricht 100%= Par. 202 Max. Ausgangsfrequenz - z.B. 50 Hz

Achtung! Hex-Werte werden nicht einfach im Dreisatz berechnet (z.B. Sollwert 6,25Hz ist 1/8 von 50Hz  aber keine 1/8 von 4000 Hex sondern 800 Hex)

Wie du es im S7-Programm verarbeitest (ob Integerwert oder Hexwert) T PAW oder doch mit SFC15 ist dir überlassen.

Viele Grüße 
VLT_RealDrive
www.vlt.de


 _


----------



## MRose (15 Februar 2013)

VLT_RealDrive schrieb:


> ...
> PEW256 = ZSW (Zustandswort) Hexwert 2Word "wie geht es dem VLT"
> PEW258 = HIW (Hauptistwert) Hexwert 2Word "wie schnell läuft der Motor (aktuelle Ausgangsfrequenz)" als Hexwert
> 
> ...


Ich denke, Du meinst 2 Byte oder 1 Word.




> _...
> Achtung! Hex-Werte werden nicht einfach im Dreisatz berechnet (z.B. Sollwert 12,5Hz ist 1/4 von 50Hz aber keine 1/4 von 4000 Hex sondern 800 Hex)
> ...
> _


Falsches Beispiel, da 4 Dez = 4 Hex und somit 1/4 von 4000 Hex = 1000 Hex. Ab 2stelligen Zahlen hast Du aber Recht.


----------



## RealDrive (15 Februar 2013)

Hallo Mario,

 danke für die Korrektur. Habe es geändert.

Gruß
VLT_RealDrive


----------



## murax (19 Februar 2013)

Hallo,
Danke für die Antworten, die haben mich auf jeden Fall nach vorne gebracht.
Aber es läuft noch nicht -.-
Ich glaub bei der Wortverarbeitung mach ich noch Fehler.
Vielleicht könnt ihr euch mein dilettantisches Programm einmal ansehen?
Es ist nicht so, dass ich es nicht selbst versuche. Aber mir fehlt einiges an Grundlagen.
(darunter auch die AWL-Programmierung)

2 Bilder im Anhang von der Programmierung
+ das archivierte Programm.

Greetz Murax


----------



## MRose (19 Februar 2013)

So kannst Du den SFC15 nicht verwenden. Es müssen soviele Bytes geschrieben werden (RECORD) wie Ausgangsbytes definiert sind (siehe Hilfe). In Deinem Fall also 4 Bytes.
EDIT: Hab gerade nochmal in der Hilfe geschaut. Der SFC kann nur mehr als 4 Bytes schreiben (oder 3). In Deinem Fall geht er also gar nicht.


Stell in der Hardware beim VL2800 mal auf wordkonsistent um.

 Dann schreib den Sollwert (das MW8 ) einfach auf den PAW258 raus (meinetwegen auch per Move):

```
L MW8
T PAW258
```

Die Bits vom MW16 musst Du lt. Handbuch setzen. Dabei ist auch das Profil im FU entscheidend. Am Ende schreibst Du das Word genau wie den Sollwert per T PAW256 an den FU.


----------



## o.s.t. (20 Februar 2013)

Auch von mir: vergiss den SFC15

angenommen, der VLT hat als I/O Adressbereich die Basis 256, dann:

-setze das Bit 10 vom AW 256
-schreibe deinen Sollwert ins AW 258

dann erteile dem VLT hardwaremässig den Fahrbefehl.
Habe schon lange keine VLT gehabt, evtl. muss man dem noch irgendwie sagen, ob die Fahrbefehle über BUS oder Klemmen kommen -bei SEW ist es so

mache es seit Ewigkeiten so mit SEW, selten auch mit Danfoss oder ABB

Gruss, o.s.t.


----------



## murax (21 Februar 2013)

Hallo.

In der HW-Konfig wordconsistent eingestellt.
(Ich hab auch noch die Möglichkeiten mit DP V0 oder DP V1. und 3MB oder 12MB getestet, ich kann nicht rausfinden was das richtige für den VLT ist.)

SFC´s rausgeschmissen und die ersten Befehle in AWL programmiert:
L & T der PAW (ist ja original "move")

Die Wörter für die PAW sind richtig gesetzt:

PAW 256 -> 47F (hex) bitmuster für startbefehl fc-protocol
PAW 258 -> 0-4000 (hex) Sollwert

VLT-seitig sollte alles stimmen. Ich hab das Produkt,- Projektierungs und Profibushandbuch durchgeackert.

wenn ich die ladebefehle für PAW aus dem Programm nehme, läuft die SPS, und ich kann ich die werte verändern und beobachten.

Lade ich die Werte in die PAW, geht die SPS nach kurzem Start in Störung.
Aus der Diagnose werde ich nicht schlau... 

Die neue Version und der Diagnosetext sind im Anhang.
Ich bin euch wirklich sehr dankbar, ich bekomme hier mehr Antworten als von sämtlichen Fachkräften an der Schule !!!

Gruß Murax


----------



## MRose (21 Februar 2013)

Dein Bus läuft aber, oder?

Was sagt die BF-LED an der SPS?
Ist die Busverdrahtung ok?
Abschlusswiderstände auf beiden Seiten eingeschaltet?

Stell mal die Busgeschwindigkeit auf 1,5 Mbit.
Ist die Geschwindigkeit am FU korrekt?

Geh mal in die HW-Konfig der SPS und schalt auf Onlineansicht um.
Ist der FU erreichbar oder durchgestrichen?


----------



## o.s.t. (22 Februar 2013)

Falls der Bus ohne Busfehler läuft:

Gemäss Diagnose verwendest du die CPU 6ES7 314-6CF02-0AB0 - ich weiss jetzt nicht, wo da die Grenzen des E/A Adressbereiches liegen -auf jeden Fall geht die CPU in Stop beim Zugriff auf die E/A Adresse 256....

Versuch mal die E/A Adressen vom Umrichter auf EW/AW 100 (oder auch 200, zumindest dass du nicht über 128 oder 256 kommst) zu bringen und nochmals zu testen

o.s.t.


----------

