Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Sinamics S120 CU320 Parameter per SFB53 schreiben

  1. #1
    Registriert seit
    22.08.2011
    Beiträge
    94
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Antriebsfreunde,

    ich bin gerade dabei einen Parameter der nicht auf einem Telegramm aufgelegt ist, per SFB53 zu ändern.
    Hab dabei allerdings ein paar Probleme. Bist jetzt hab ich folgendes:

    CALL SFB 53 , DB53
    REQ :=M10.0
    ID :=DW#16#1FED
    INDEX :=47
    LEN :=16
    DONE :=M11.2
    BUSY :=M10.1
    ERROR :=M11.1
    STATUS:=MD14
    RECORD:=P#DB1.DBX0.0 BYTE 16
    SET
    U M 10.1
    R M 10.0

    Zu meinen Fragen: Muss ich immer einen DB mit 16 Byte erstellen zur Übergabe? Was geb ich bei Index an (soll ja glaub die Datensatznummer eingetragen werden, aber woher weiß ich die)? Ist die ID die Diagnose-Adresse der CU oder der einzelnen Achse?

    Eigentlich will ich ja nur den Parameter p2587 - Verfahrweg per SPS verstellen. Vielleicht gibts da auch schon spezielle Vorlagen dafür.

    Wäre echt dankbar wenn mir jemand von euch helfen könnte!

    Gruß
    elifendt
    Zitieren Zitieren Sinamics S120 CU320 Parameter per SFB53 schreiben  

  2. #2
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Schau dir dies mal an: http://support.automation.siemens.co...ew/de/29157692
    Die Länge des DBs hangt von der Anzahl der zu übertragenden Parameter und derenFormat (BOOL, INT, WORD, REAL, etc.) ab.

    Zumindest beim G120 kann man statt der PAP- auch die Peripherieadresse am SFB 52/53 verwenden.
    Du solltest auch mit SFB53 die Antwort des Umrichters lesen.
    Geändert von miami (17.07.2012 um 13:47 Uhr)

  3. #3
    Registriert seit
    22.08.2011
    Beiträge
    94
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke für die Antwort. Die Anleitung hab ich bereits, allerdings steht dort auch nirgendwo, was als "INDEX" angegeben werden soll (oder ich find es nur nicht...).

    Irgendwie funktioniert es einfach nicht, den Parameter p2587 zu verändern.

    U M 906.0
    = L 6.0
    BLD 103
    CALL SFB 53 , DB53
    REQ :=L6.0
    ID :=DW#16#1FFB
    INDEX :=47
    LEN :=16
    DONE :=
    BUSY :=
    ERROR :=
    STATUS:=
    RECORD:=P#DB1550.DBX0.0 BYTE 16
    NOP 0

    Als ID hab ich die Diagnose-Adresse der einzelnen Achse (nicht CU) angegeben. INDEX vermute ich das 47 passt. LEN die Länge meines DB1550 und das wars auch schon.

    Den DB1550 hab ich wie in der Vorlage verwendet. Folgende Werte hab ich darin gespeichert:
    Anforderungsreferenz: 1
    Anforderungs-ID: 1
    Achse: 1
    Anzahl der Parameter: 1
    Attribut: 10
    Anzahl der Elemente: 1
    Parameter: A1B (für Parameter p2587)
    Subindex: 0
    Format: 7 (da Parameter p2587 ein Unsigned32 ist)
    Anzahl der Werte: 1
    Param_Wert: Word - W#16#500

    Sieht irgendjemand meinen Fehler? Ich bekomme auch immer das Done Signal als Ausgang und am STATUS - Ausgang den Wert 16#00700200, was glaub ich soviel bedeutet das eigentlich alles ok ist und das der Wert geschrieben worden ist. Im Starter kommt allerdings nichts an!

    Danke schonmal!

    Grüße
    eli

  4. Folgender Benutzer sagt Danke zu elifendt für den nützlichen Beitrag:

    Piit278 (25.12.2016)

  5. #4
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Der INDEX am SFB52/53 ist immer 47.

    Der SFB53 sagt dir nur, dass der Datensatz abgeschickt werden konnte, ob der Umrichter damit was anfangen kann weisst Du nicht. Dazu musst Du den SFB52 aufrufen und die Antwort des Umrichters lesen.

    Die Parameternummer habe ich als INT definiert und dezimal angegeben.
    Wenn P2587 Unsigned32 ist, dann must Du den Wert als DWORD definieren (DW#16#500)

    Poste mal deinen DB1550 und den DB mit der Antwort.

  6. #5
    Registriert seit
    22.08.2011
    Beiträge
    94
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke, das war schon mal der erste Fehler meinerseits! Aber es funktioniert immer noch nicht, leider.

    Hier mal die zwei Aufrufe mit den entsprechenden DBs. Vielleicht hilft das dir / euch ja weiter. Wär echt super!
    Angehängte Grafiken Angehängte Grafiken

  7. #6
    Registriert seit
    16.03.2006
    Ort
    Franken
    Beiträge
    3.797
    Danke
    30
    Erhielt 917 Danke für 798 Beiträge

    Standard

    Hi,

    STATUS - Ausgang den Wert 16#00700200 bedeutet meines Wissens nach das der Auftrag noch aktiv ist und läuft.

    Gruß
    Christoph

  8. #7
    Registriert seit
    22.08.2011
    Beiträge
    94
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hab so gemeint: Der Ausgang STATUS steht während dem Schreibvorgang auf 700200, wenn dieser beendet ist, steht STATUS auf 700000.

  9. #8
    Registriert seit
    16.03.2006
    Ort
    Franken
    Beiträge
    3.797
    Danke
    30
    Erhielt 917 Danke für 798 Beiträge

    Standard

    Hi,

    ok dann passt das.
    Steht bei Error was drinne außer 0?

  10. #9
    Registriert seit
    22.08.2011
    Beiträge
    94
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hab den Ausgang ERROR mal auf einen Setze-Merker gelegt. Dort kommt nie was anderes als 0 raus. Irgendwie schreibt er ja auch was, aber wohin kapier ich irgendwie nicht...

  11. #10
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dein 2. Bild (online) zeigt ja die Antwort vom Umrichter. Die ist aber die auf einen Leseauftrag!
    Bitte ändere die Auftragsreferenz, damit der Antrieb sicher erkennt, dass ein neuer Auftrag vorliegt.
    Es wäre auch hilfreich den Antwort-DB so anzulegen, dass man direkt die Antwort lesen kann (und nicht einfach die Stuktur vom Schreib-DB drüberstülpen!) Am besten den Antwort DB immer wieder neu runterladen (am besten mit mit Nullern oder FF) und dann den Request am SFB52 anlegen, dann siehst Du wenn was reingeschrieben wurde.

    Ich finde übrigens, die Beschreibung des S120 (Kap. 10.1.4) schlechter, als die Beschreibung des G120 (Kap. 7.2.6). Ich denke, dass bis auf die Achsnummer, die beim G120 immer 1 ist, eh alles das gleiche ist.

    Ich habe noch ein Beispiel ausgegraben, hier habe ich allerdings eine Struktur im Instanz-DB statt eines globelen DBs verwendet; dafür ist es aber für den S120.
    Geändert von miami (17.07.2012 um 18:05 Uhr)

  12. Folgender Benutzer sagt Danke zu miami für den nützlichen Beitrag:

    V4p0r (02.08.2017)

Ähnliche Themen

  1. Sinamics S120 - CU320-2PN - CPU317F - CP343-1
    Von elifendt im Forum Antriebstechnik
    Antworten: 8
    Letzter Beitrag: 14.06.2012, 15:47
  2. sinamics s120 cu320 2dp
    Von maniac im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 03.08.2011, 05:01
  3. Antworten: 4
    Letzter Beitrag: 17.02.2010, 16:33
  4. Geschwindigkeitsreduzierung ohne Stillstand.... (Sinamics S120 CU320)
    Von Housse B @ HAGE im Forum Antriebstechnik
    Antworten: 6
    Letzter Beitrag: 11.11.2008, 20:36
  5. Referenzfahrt bei Sinamics S120 mit CU320
    Von PeterEF im Forum Antriebstechnik
    Antworten: 7
    Letzter Beitrag: 18.03.2008, 08:13

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •