Simodrive 611U Telegrammerweiterung - Problem Kommunikation mit PLC

Stefan1312

Level-1
Beiträge
262
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich habe derzeit die Aufgabe ein PLC Programm (Siemens 313C) für einen Simodrive 611U zu erweitern. In Step7 war ursprünglich ein Telegramm "2Achs, PZD-10/10 (105 kons) in Verwendung.

Achse A: Positionierbetrieb (Telegramm 110 - "Positinieren MDI" )
Achse B: Drehzahlregelbetrieb (Telegramm 101 - Drehzahlregelbetrieb)

Die Kommunikation hat hierbei problemlos funktioniert.

Ich wollte nun ein anderes Telegramm: 2 Achs PKW+PZD -12/7 (110,kons) bzw 2Achs PKW+PZD-16/16 verwenden
Telegramm STep 7.JPG

AchseA: (Telegramm 110 - "Positionieren MDI" )
AchseB: Drehzahlregelbetrieb (Telegramm 101 - Drehzahlregelbetrieb)

Bei der Konfiguration für die Antriebe habe ich den Anfang für die E/A Adressen verändert

Antrieb A : 256
Antrieb B : 296

WR_PZD, sowie RD_PZD habe ich soweit gleich gelassen, da sich die Adressen der jeweiligen Steuer und Zustandsworte in DB71
und DB72 dadurch nicht geändert haben. (Foto im Anhang)


Sobald ich die Konfiguration auf die Steuerung lade kann ich mit
Antrieb A kommunizieren,

Antrieb A  _ Positionierbetrieb.JPG

Antrieb B zeigt mir jedoch gar nichts an... Kein Zustandswort (außer die AnalogEingänge ) und kein Steuerwort.
Antrieb B N_Soll Betrieb.JPG




Sieht hier jemand einen Fehler? / Habe ich vl irgendetwas übersehen?? .. bin leider gerade etwas ratlos... :confused:

Vielen Dank für eure Hilfe!!

LG Stefan
 

Anhänge

  • Parameter Kommunikation.bmp
    543,2 KB · Aufrufe: 11
  • PZD+PKW 10_10.bmp
    269,7 KB · Aufrufe: 15
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Mike,

Ja also die Daten von Achse A beginnen bei 256 und jene von Achse B bei 296. Diese beiden Adressen habe ich
auch als LADDR in der PLC beim Aufruf des FB´s verwendet.


LG
 
Hallo Oberchefe,

Vielen Dank für deine Hilfe! - ich habe bei dem Antrieb nun die Adressen soweit verändert, das keine Lücke mehr zwischen den Adressen besteht und versuchsweise Telegramm 110 verwendet. Die Adressen konnte ich jedoch zu Beginn nicht umstellen, da diese von einer Analog Baugruppe verwendet wurde.

Erst als ich der Analog Baugruppe eine andere Adresse zugewiesen habe, hat auch die Adressänderung für den Antrieb soweit funktioniert. (FRAGE 1)

Im Aufruf von FB83 hatte ich zunächst die Anfangsadressen (Achse A: 256/Achse B: 288 angepasst- und die Parameter WR_PZD:= "Achse_A".p.WR_PZD_POSBETR sowie RD_PZD:="Achse_A".p.RD_PZD_POSBETR gleich gelassen. ( Wie bei Telegramm PZD+PKW /10, 10)

Hierbei konnte ich jedoch die Achse A NICHT ansprechen - die Kommunikation zw PLC und Antrieb hat nicht mehr funktioniert.

Erst als ich für WR_PZD:= P#DB71.DBX166.0 Byte 24 sowie für RD_PZD:=P#DB71.DBX206.0 BYTE 14 hinterlegt habe, hat die Kommunikation wieder funktioniert. -> also den Adressbereich wo das STW1 anfängt im DB71 (166.0) + die Länge des Steuerworts (24 Byte) ( Die Werte habe ich aus der Toolbox Doku "611u 39gr" entnommen)

Kann mir vl. jemand erklären warum?

Warum ursprünglich im alten Telegramm rein die Anfangsadresse im DB71 funktioniert hat, jetzt bei diesem Telegramm aber anscheinend die Startadresse + die Länge des Telegramms angegeben werden muss? habe ich hier iwas übersehen? / falsch verstanden?

Bezüglich der Frage 1: Normalerweise verwende ich immer die automatisch Adresszuweisung für die Baugruppen. In diesem Fall war dies jedoch nicht möglich, da ich ansonsten die Adressen für den Antrieb nicht verwenden hätte können. wie handhabt ihr solche Probleme ? :rolleyes: vl gibts hier einen "besseren" Workflow..
aber ich bin schon sehr froh, dass ich meine Achsen soweit wieder ansprechen kann!

(Bilder kommen noch!:ROFLMAO:)

Vielen Dank für die schnelle Hilfestellung!!

LG Stefan
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Also generell:
wenn du einem Baustein eine Hardwareadresse zum Kommunizieren angeben musst, kannst du davon ausgehen, dass die Adressen zusammenhängend (und in der richtigen Reihenfolge) adressiert sein müssen, der Baustein kommuniziert ja nicht nur über die angegebene Adresse sondern das ist für ihn nur der Startpunkt. Ich vergebe die Adressen generell von Hand
 
Das Telegramm PKW+PZD 12/7 funktioniert nun soweit.. :ROFLMAO: danke!

Ich wollte nun das Telegramm PKW+PZD 16/16 verwenden, da ich über ein frei projektierbares Telegramm mehrere Prozesswerte gleichzeitig auslesen wollte.
Hier tritt noch folgendes Problem auf:

Sobald ich "enable_SFC_PZD" auf true setze kann ich auf die Bits von Achse A und Achse B nicht zugreifen, sobald ich "enable_SFC_PZD" auf false setze kann ich auf die Bits wie gewohnt zugreifen. :confused: - woran könnte das liegen? ( an der Größe des Telegramms vl? )

Falls mir diese Frage noch jemand beantworten kann, sind soweit einmal alle Fragen geklärt! :rolleyes:


LG Stefan
 
Zuletzt bearbeitet:
Dieses BOOL muss laut dem Kommentar je nach angewählter Konsistenz angegeben werden. Gibt es bei der Hardwarekonfiguration noch andere Varianten? Es interessiert hier die Spalte "DP-Kennung"
PZD.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein also bei den anderen Telegrammen ist dies immer angegeben.. PKW+PZD 12/7 (110, kons). Bei dem oben angeführten Telegramm gibt es keine zusätzliche Information. Es steht nur PKW+PZD 16/16. (oben im Bild kann man das Telegramm sehen;)) Das zweite Telegramm mit 16 Worten (PZD 16/16) überträgt dann den PKW Bereich nicht mehr.. PS: mit der Spalte DP Kennung war diese Information (110,kons) gemeint oder?
 
Zuletzt bearbeitet:
Im Bild sieht es so aus, als werden nur jeweils 4 Bytes zueinander konsistent übertragen, aber nicht als Ganzes, dann muss das BOOL demzufolge False sein. Wenn du eine andere Kombination hast kann das anders aussehen.

DP-Kennung.PNG
 
Hallo!

Ich wollte mich noch einmal herzlich für eure Beiträge bedanken! und vor allem dass ihr euch die Zeit genommen habt, mir hierbei zu helfen! :wink:
Konnte das Problem nun lösen.:ROFLMAO::ROFLMAO: ( und bin auf meine Fehler aufmerksam geworden - auch ein älterer Beitrag von mir wurde damit beantwortet:ROFLMAO:)

Kurze Zusammenfassung:

Mein Problem war, wie Oberchefe bereits geschrieben hat, dass die Adressbereiche des Telegramms eine Lücke aufweisen. Nachdem ich die Adressen nun angepasst habe und die Startadresse im Fb100 für den Positionierbetrieb inkl. Größe des Telegramms angegeben habe ,hat alles so funktioniert wie es sein soll.:wink:

(PS: in der Doku ("611u39gr" stand hierbei auch diese Information, habe sie zu Beginn jedoch überlesen :eek: )

Hardwarekonfiguration:

Hardwarekonfig.JPGDie Anfangsadresse von Antrieb_B war hierbei zu Beginn 278 und die Ausgangsadresse 288, diese müssen jedoch gleich sein!

Konfiguration von FB100:
FB100_Beschaltung.JPG
Anfangsadresse Antrieb A: 256

P#DB71.DBX166.0 BYTE 24:
Beginn von Steuerwort (STW) bei DBX166.0 - das Telegramm enthält 12 (Steuer)Worte = 24 Byte 7 Zustandsworte = 14 Byte ( Beginn bei DBX206.0) für Positionierbetrieb

enable_SFC_PZD:=TRUE (110,kons) - Konsitente Datenübertragung möglich

Zustandswort: Beginn bei DBX 206.0
AchseA_Zustandswort_POS_Betrieb.JPG

Steuerwort: Beginn bei DBX 166.0
STW1_Positionierbetrieb.JPG

und hier noch ein kleiner Auszug aus SimuCom U:

Achse_B.JPG

Spindelpositionieren:

Habe hierbei Telegramm 101 (n-Soll) auf Telegramm 0 umgestellt, um das Telegramm frei konfigurieren zu können
und die Analogwerte (Wort 6 und 7) mit den Sollwerten XSP_H, XSP_L (Positionssollwert für Spindelpositionieren) ausgetauscht.

Hoffe das dieser Beitrag noch weiteren Lesern weiterhilft :ROFLMAO:

Im diesem Sinne noch einmal Vielen Dank!

LG Stefan
 
Zuletzt bearbeitet:
Zurück
Oben