S7-300 mit Profibus an SEW Movitrac B

borntobefly

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, und Hilfe ;-)

ich möchte zwei SEW Movitrac B (MC07) mit Profibusschnitstelle DFP21P über eine S7-300 Steuern. (Einfachste Anwendung!)

Erste Frage, welche GSD, beide scheinen mir OK!?

Es gibt zweierlei GSD-Dateien, 1. "Gateway DFP/DFS" und 2. "MOVIDRIVE DFP21 (DPV1)"

Zweite Frage, welche FB?!

Es sind FB2 und FC99 für den MOVILINK-Parameterkanal vorhanden und
FB100 für DP-V1 Parameterdienste!? Welche sind am einfachsten oder am komfortabelsten?

Normalerweise Steuern wir die Umrichter über die Eingänge an(links/rechts/schnell/langsam), aber wir möchten jetzt auch die Geschwindigkeit ändern können/müssen.

3. Frage, wie kann ich über Profibus auf die Umrichter mit Movitools zugreifen? Ich habe es bisher noch nicht hinbekommen.
Es soll ja direkt gehen und indierkt über die SPS?!
Ich habe ein MPI-USB Kabel. ich habe gelesen man muß ein C2 Master einrichten...... Evtl. welche Software?

Mit SEW habe ich schon telefoniert, die haben mir auch viel und fachkundig Auskunft gegeben, sodas ich noch weniger weis ;-)

Vielen Dank im vorraus an alle!
 
Die nachfolgende Ansteuerung ist für einen MoviDrive B, aber das Movilink-Profil gilt ja für alle SEW-Umrichter. ZUr GSD-Datei kann ich so nichts sagen. Wieso willst Du mit den Movitools über Profibus auf die Movitracs zugreifen? Mit den Siemenstools wie Simocomu oder so geht das wohl, aber selbst das braucht man selten wirklich, finde ich.

FUNCTION FC 422 : VOID
TITLE =SEW MOVIDRIVE ohne Technologiepacket
//Die Kopplung zum Movidrive wird über die Profibus-Schnittstelle realisiert.
//Unter Sollwerte/Integratoren muss die Sollwertvorwahl für die Sollwertquelle und
//
//Steuerquelle auf Feldbus eingestellt sein.(P100 und P101)
//
//Mit P870 wird der Inhalt des Prozeßausgangsdatenwortes PA1 definiert. Dies ist
//notwendig, damit das MOVIDRIVE® die entsprechenden Sollwerte zuordnen kann.
//Weitere Erläuterungen können dem Handbuch "MOVIDRIVE Feldbus Geräteprofil mit
//Parameterverzeichnis" entnommen werden.
//
//Gerätefunktion/Prozessdatenbeschreibung
//P870 PA1 (1W) Steuerwort 1
//P871 PA2 (1W) Drehzahl in %
//P872 PA3 (1W) keine Funktion
//P873 PA1 (1W) Statuswort 1
//P874 PA2 (1W) Drehzahl 1-min
//P875 PA3 (1W) keine Funktion
//P876 PA Daten freigeben "ein"
//
//Die Klemmenbelegung der binären Ein- und Ausgänge Parameter 600ff sind auf
//"keine Funktion" einzustellen.
AUTHOR : LSW_FS
FAMILY : PROFIBUS
NAME : MDX_POS
VERSION : 1.0

VAR_INPUT
DRIVE_IO_ADDRESS : INT ; //Peripherie - Anfangsadresse
ENABLE_RAPID_STOP : BOOL ; //Reglerfreigabe
RESET : BOOL ; //Fehler quittieren
JOG_PLUS_MODE : BOOL ; //Tippen vor
JOG_MINUS_MODE : BOOL ; //Tippen zurück
POS_START : BOOL ; //Verfahrsatz starten
PARM_SATZ : BOOL ; //Parametersatz (0=PS1/1=PS2)
OVERRIDE : INT ; //Drehzahlvorgabe x/16384 * n_max
END_VAR
VAR_OUTPUT
COMMUNICATION_OK : BOOL ; //SFC14/SFC15: Return Value = 0
FAULT_OF_AXIS : BOOL ;
ACTUAL_SPEED : INT ;
FAULT_NO : INT ;
END_VAR
VAR_TEMP
PI : STRUCT
Status : BYTE ; //00=24V-Betrieb/01=Überstrom/02=Reglersperre
Endstufe_ready : BOOL ; //DO01 Endstufe freigegeben
Betriebsbereit : BOOL ; //DO02 Umrichter betriebsbereit
PA_Daten : BOOL ; //DO03 PA Daten freigegeben
Integratorsatz : BOOL ; //DO04 Integratorsatzumschaltung
Parametersatz : BOOL ; //DO05 Parametersatz umschalten
Soerung_Warnung : BOOL ; //DO06 Störung / Warnung steht an
Endschalter_rechts : BOOL ; //DO07 Endschalter rechts angefahren
Endschalter_links : BOOL ; //DO08 Endschalter links angefahren
Actual_speed : INT ;
Device_utilisation : INT ;
END_STRUCT ;
PO : STRUCT
Drehrichtung : BOOL ; //DI08 => Drehrichtung Motorpoti
Jog_plus : BOOL ; //DI09 => Motorpoti auf
Jog_minus : BOOL ; //DI10 => Motorpoti ab
n11_n21 : BOOL ; //DI11 => Drehzahlvorgabe
n12_n22 : BOOL ; //DI12 => Drehzahlvorgabe
Festsollwert : BOOL ; //DI13 => Festsollwert Umschaltung
res_DI14 : BOOL ; //DI14 => reserviert
res_DI15 : BOOL ; //DI15 => reserviert
Reglersperre : BOOL ; //DI00 => Reglersperre/Freigabe
Schnellstop : BOOL ; //DI01 => Freigabe/Schnellstop
Halt : BOOL ; //DI02 => Freigabe/Halt
Halteregelung : BOOL ; //DI03 => Halteregelung
Integrator : BOOL ; //DI04 => Integrator Umschaltung
Parametersatz : BOOL ; //DI05 => Parametersatz Umschaltung
Stoerung_quit : BOOL ; //DI06 => Störung quittieren
res_DI07 : BOOL ; //DI07 => reserviert
override : INT ; //prozentuale Geschwindigkeit vom Maximalwert
Device_utilisation : INT ;
END_STRUCT ;
Pos : BOOL ;
Addr : WORD ;
Returncode_SFC14 : INT ;
Returncode_SFC15 : INT ;
t_adr1_sicherung : DWORD ;
t_adr2_sicherung : DWORD ;
Reglerfreigabe : BOOL ; //DI00 => Reglersperre/Freigabe
END_VAR
BEGIN
NETWORK
TITLE =Retten der Adressregister
TAR1 #t_adr1_sicherung;
TAR2 #t_adr2_sicherung;
NETWORK
TITLE =Prozeßeingangsdaten aufbereiten
L #DRIVE_IO_ADDRESS; //Adresse von "INT" nach "WORD" wandeln
T #Addr;
CALL SFC 14 (//konsistente Daten eines DP-Nomrslaves lesen
LADDR := #Addr,//Peripherieadresse => Hardwarekonfig.
RET_VAL := #Returncode_SFC14,//<> 0 => ein Fehler ist während der Bearbeitung aufgetreten
RECORD := #PI);//Zielbereich für die gelesenen Nutzdaten.
L #Returncode_SFC14;
L 0;
<>I ; //Tritt während der Abarbeitung der SFC ein Fehler auf,
SPB END; //so wird die Funktion verlassen => NW14
L #PI.Actual_speed;
T #ACTUAL_SPEED;
UN #PI.Betriebsbereit; //Ein Fehler liegt vor, wenn der Umrichter nicht betriebsbereit ist
U #PI.Soerung_Warnung; //und das Fehlerbit gesetzt ist.
= #FAULT_OF_AXIS;
NETWORK
TITLE =Fehlermeldungen auswerten/rangieren
U( ;
U #PI.Soerung_Warnung;
SPBNB _001;
L #PI.Status;
T #FAULT_NO;
SET ;
SAVE ;
CLR ;
_001: U BIE;
) ;
NOT ;
SPBNB _002;
L 0;
T #FAULT_NO;
_002: NOP 0;
NETWORK
TITLE =Prozeßausgangsdaten: Reglerfreigabe / Schnellstop rangieren
U #ENABLE_RAPID_STOP;
= L 29.0;
U L 29.0;
NOT ;
= #PO.Reglersperre;
U L 29.0;
BLD 102;
= #PO.Schnellstop;
NETWORK
TITLE =Prozeßausgangsdaten: Störung quittieren
U #RESET;
= #PO.Stoerung_quit;
NETWORK
TITLE =Prozeßausgangsdaten: Parametersatz vorwählen
U #PARM_SATZ;
= #PO.Parametersatz;
NETWORK
TITLE =Definition der Modi: Tippen plus angewählt
U #JOG_PLUS_MODE;
UN #JOG_MINUS_MODE;
UN #POS_START;
= #PO.Jog_plus;
NETWORK
TITLE =Definition der Modi: Tippen minus angewählt
UN #JOG_PLUS_MODE;
U #JOG_MINUS_MODE;
UN #POS_START;
= #PO.Jog_minus;
NETWORK
TITLE =Definition der Modi: Positionieren angewählt
UN #JOG_PLUS_MODE;
UN #JOG_MINUS_MODE;
U #POS_START;
= #Pos;
NETWORK
TITLE =Prozeßausgangsdaten: Halt rangieren
O #POS_START;
O #Pos;
= #PO.Halt;
NETWORK
TITLE =Aufbereitung/Übergabe des Overrides in %
//HEX 4000 entsprechen DEZ 16384 entsprechen 100% nmax
L #OVERRIDE;
T #Po_Override;
NOP 0;
NETWORK
TITLE =Prozeßausgangsdaten: Sollwerte aufbereiten
SET ; //Rücksetzen aller nicht verwendeten Steuerwort-Bits
R #PO.Drehrichtung;
R #PO.n11_n21;
R #PO.n12_n22;
R #PO.Festsollwert;
R #PO.Halteregelung;
R #PO.Integrator;
R #PO.res_DI07;
R #PO.res_DI14;
R #PO.res_DI15;
L 0;
T #PO.Device_utilisation;
CALL SFC 15 (//Daten konsistent auf einen DP-Normslave schreiben
LADDR := #Addr,//Peripherieadresse => Hardwarekonfig.
RECORD := #PO,//Quellbereich für die zu schreibenden Nutzdaten
RET_VAL := #Returncode_SFC15);//<> 0 => ein Fehler istwährend der Bearbeitung aufgetreten
L #Returncode_SFC15; //Tritt während der Abarbeitung des SFCs ein Fehler auf,
L 0;
<>I ;
SPB END; //so wird die Funktion verlassen. => NW15
SET ;
= #COMMUNICATION_OK;
NETWORK
TITLE =Wiederherstellung der Adressregisters
LAR1 #t_adr1_sicherung;
LAR2 #t_adr2_sicherung;
BEA ;
NETWORK
TITLE =Kommunikationsfehler auswerten
END: L 0;
T #FAULT_NO;
T #ACTUAL_SPEED;
SET ;
R #COMMUNICATION_OK;
R #FAULT_OF_AXIS;
NETWORK
TITLE =Wiederherstellung der Adressregisters
LAR1 #t_adr1_sicherung;
LAR2 #t_adr2_sicherung;

END_FUNCTION
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und Danke erstmal. Ich glaube ich sehe schon etwas mehr Licht am Ende ...
Ich glaube es ist keine wirkliche Standardanwendung, etwas wenig Feedback?!


Jetzt habe ich fast alle PDF´s durchgelesen, und festgestellt:

Es gibt 3 GSD-Dateien:
Für DP; für DP-V1 und für DP-V1-Gateway.
Ich werde die DP-V1-Gateway Variante (Gsd6009)nehmen und den 2. Umrichter über den S-Bus anschließen.

Außerdem habe ich einen ähnlichen Baustein wie Oben gefunden der gehen müsste:

Prozeßdaten zum MOVITRAC: (FC130)

ENABLE_RAPID_STOP = true: kein Schnellstopp => Freigabe des Antriebes
ENABLE = true: kein Normalhalt => Freigabe des Antriebes
RESET = true: Fehler quittieren
SETPOINT_SPEED: Vorgabe der Sollgeschwindigkeit in rpm
RAMP: Vorgabe der Rampe in ms
Prozeßdaten vom MOVITRAC:
INVERTER_READY = true: Betriebsbereit
FAULT_OF_AXIS = true: Ein Fehler steht an.
FAULT_NO <> 0: Fehlernummer
ACTUAL_SPEED: Istgeschwindigkeit in rpm
OUTPUT_CURRENT: Angabe des Scheinstromes in Prozent vom Gerätenennstrom
 
Zurück
Oben