Danfoss FC302 "module consistent" bringt SPS S7 zum stoppen?

Qnkel

Level-1
Beiträge
99
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

wir haben ein Danfoss FC302 Umrichter an einer S7 315C-2DP (V1.0.0) per Profibus DP (1,5Mbit).

Solange wir in der HW-Konfig den PPO-Typen mit "word consistent" auswählen, funktioniert die Ansteuerung wunderbar.

Nun will ich aber über PPO-Typ 5 nebenbei Parameter ändern. Mit "PPO-Type 5 word consistent" kann ich zwar über das FC-Profil den FU & Motor steuern, aber sobald ich auf dem PCA-Kanal einen Parameter ändern will, geht die CPU sofort auf "Stopp" mit "Peripheriezugriffsfehler".

Mit "PPO-Type 5 module consistent" passiert dasselbe, sobald ich per FC-Profil in den FU schreibe um ihn zu starten.

Mit PPO-Typ 1 kann ich mit "word consistent" und "module consistent" zumindest steuern. Aber sobald ich, selbst wenn es nur "0" ist, in den PCA-Kanal schreibe, geht die CPU auf Stopp.

Laut Handbuch wird zur Parameteränderung "module consistent" benötigt. Was ist das Problem bei "module consistent" bzw. was muss man beachten, damit es funzt?

Habe mir die "PCA blocks" von Danfoss runter geladen. Leider ist der FB geschützt aber in der HW-Konfig nehmen die auch "word consistent" und PPO-Typ 1.

Vielen Dank.
 
Zuletzt bearbeitet:
Schreibst Du direkt auf die Peripherie oder benutzt Du einen Danfoss-Baustein?
Liegen die EA-Adressen im oder außerhalb des Prozessabbildes oder gar teilweise innerhalb und außerhalb?
Bei "module consistent" muß man SFC14 und SFC15 benutzen, wenn die EA-Adressen außerhalb des Prozessabbildes liegen.
Die HW Konfig ist nach Deinen Änderungen jeweils in die CPU geladen?

Wie lautet der Diagnosepuffereintrag genau?

Eine S7 315C-2DP gibt es nicht. Welche Bestellnummer hat Deine CPU?
Da es scheinbar eine sehr alte CPU ist (V1.0.0) könnte es sein, daß da auch noch Firmwarefehler eine Rolle spielen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hatte sowas ähnliches schonmal an einer uralten 400er. Die kam auch mit dem Module Consistent nicht zurecht und man musste Word Consistent auswählen.
Das lag auch an der alten Firmware. Ich habe dann die einzelnen Daten mit

Code:
L PEWxyz
T DBx.DBWy

und

L DBx.DBWy
T PAWxyz

einzeln übertragen. Dann ging es.
ich meine mich zu erinnern das ich da auch Probleme mit Doppelwortzugriffen und SFC14/15 hatte.
War alles etwas seltsam.
 
@PN/DP:

CPU ist eine 315-2DP, sry. Bestellnr.: 315-2AF03-0AB0

Ich schreibe direkt auf die PAW/PEW. Habe das mit MOVE und MDs (Merker-Doppelwort) probiert. Die MD habe ich in einer VAT zum spielen immer angepasst.

Die Adressen des PCV-Kanals sind E: 272..279 & A: 256..263.

Wenn ich mich richtig belesen habe umfasst das Prozessabbild 128 Byte. Damit liegt der Danfoss vollständig außerhalb, oder?

Probiere mich gerade am SFC15 aber das klappt noch nicht.

HW-Konfig wurde immer geladen.

@scrolllkock:

Will das Beispiel aus dem Danfoss Profibus-Handbuch erstmal umsetzen, also den Wert "10,00s" in Parameter 3-14 schreiben.

Parameter 3-14 ist der Wert "155hex", der ja in den PNU-Bereich, also Bit 0..10 kommt. Dazu der Wert "3hex" in den RC-Bereich für "Parameterwert ändern (langes Wort)", also Bit 12..15. Bit 11 bleibt unbenutzt.

Also ist PCA: 1 Word mit Inhalt: "3155hex". Dieses Word muss ja in die Byte 1..2, also auf PAW 256 + 258.

Dann kommt der PVA, also der Parameterwert: 10s = 1000 = 03E8hex. Dieser muss in Byte 7..8, also PAW 262 + 263.

Frage ist hier: Muss ich den PVA spiegeln? Also 03 muss ja in PAW 262 und E8 in PAW 263, oder?

Aktuell probiere ich das MD20 = 0000 3155hex nach PAW 256 zu schieben und das MD24 = 03E0 0000hex nach PAW 260 zu schieben. Dabei kommt der Stoppfehler:

Ereignis 2 von 100: Ereignis-ID 16# 2943
Peripherie-Zugriffsfehler, schreibend
P-Bereich , Wortzugriff, Zugriffsadresse: 256
Angeforderter OB: Peripheriezugriffsfehler-OB (OB 122)
OB nicht vorhanden oder gesperrt oder nicht startbar im aktuellen Betriebszustand
externer Fehler, kommendes Ereignis
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dazu kommt, wenn ich mit dem SFC15 schreiben will, bekomme ich als RET_VAL immer den Fehler 80B1 wenn ich auf PAW256 schreibe und 8090 bei PAW260.

Als LADDR hab ich ein MW, was ich jeweils mit "W#16#0100" bzw. "W#16#0100" beschreibe und am RECORD habe ich "P#DB1.DBX0.0 BYTE 4".
 
<EDIT: Ich les nochmal

Komisch, ich nutze eigentlich immer "PPO Type 8 Module consistent PCD". Ohne Probleme, auch schon öfters mit der genannten CPU.

Für den Fehler 8090 steht in der Hilfe:
Code:
8090
·    Für die angegebene logische Basisadresse haben sie keine Baugruppe projektiert, oder
·    Sie haben die Einschränkung über die Länge der konsistenten Daten nicht beachtet, oder
·    Sie haben die Anfangsadresse im Parameter LADDR nicht hexadezimal angegeben.

Oben schreibst du
Qnkel schrieb:
Die Adressen des PCV-Kanals sind E: 272..279 & A: 256..263.
Das entspricht PPO-Type 5: Unten verwendest du nur einen 4 Byte-Pointer.
Als LADDR hab ich ein MW, was ich jeweils mit "W#16#0100" bzw. "W#16#0100" beschreibe und am RECORD habe ich "P#DB1.DBX0.0 BYTE 4".
Müsstest du nicht P#DB1.DBX0.0 BYTE 8 für PAW-Daten nehmen?
 
Zuletzt bearbeitet:
Regeln für den Zugriff der CPU 315-2 DP auf Dezentrale Peripherie
4. Liegt Konsistenz vor und beträgt diese 3 Byte oder mehr als 4 Byte (max. zulässig sind bis zu 128 Byte - CPU abhängig), so muss bei der CPU 315-2 DP (6ES7 2AFxx-0AB0) zwingend mit SFC14 und SFC15 gearbeitet werden. Lade-Transfer-Befehle sind hier nicht möglich.

Bei der 315-2AF03 ist es außerdem egal, ob die EA-Adressen im oder außerhalb des Prozessabbilds liegen. Konsistentes Aktualisieren des Prozessabbild können CPU 31x erst ab Firmware V2.5.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit SFC14 und SFC15 kann man nicht Steckplatz-übergreifend zugreifen. Jeder Steckplatz (Modul) muß einzeln bearbeitet werden.
Bei PPO 5 müßtest Du auf den Steckplatz 2 mit einem RECORD "P#DB1.DBX0.0 WORD 10" zugreifen.

Harald
 
Idee: Du könntest die CPU austauschen gegen eine neuere CPU ab 315-2AG10 und die EA-Adressen ins Prozessabbild legen. Dann "spricht" die CPU-Firmware konsistent mit dem FU und Du kannst einfach mit "L EW.../T AW..." zugreifen.

Harald
 
Bei PPO 5 müßtest Du auf den Steckplatz 2 mit einem RECORD "P#DB1.DBX0.0 WORD 10" zugreifen

Zähl ich schlecht oder sind PAB256 bis 263 nicht 8 Byte?

Mit dem 4Byte-Pointer kann SFC14/15 schon mal nicht gehen.

Das mit der CPU-Type kommt mir eher unwahrscheinlich vor .
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ah alles klar. Wenn ich richtig verstehe muss ich also immer komplette 8 Byte rüber schieben?

Vielen Dank, werde das weiter probieren.

Das ist hier nur ein Versuchsaufbau zum erlernen, wie man alles aus einem Danfoss-FU raus holt.
 
Ah alles klar. Wenn ich richtig verstehe muss ich also immer komplette 8 Byte rüber schieben?
.
Nicht ganz.
SFC14/15 kann immer nur das ganze Modul lesen/schreiben.
Warum du mit Lade-/Transferbefehlen nicht weiter kommst gibt mir noch zu denken.

Ich muss zugeben, den Parameterkanal hab ich noch nie verwendet.
 
Zuletzt bearbeitet:
Es funzt! Super.

Ich bereite mir ein DB mit 8 Bytes auf und schieb den komplett mit SFC15 rüber.

Vielen Dank für die klasse und superschnelle Hilfe!

Gesendet von meinem GT-N7100 mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei PPO 5 müßtest Du auf den Steckplatz 2 mit einem RECORD "P#DB1.DBX0.0 WORD 10" zugreifen
Zähl ich schlecht oder sind PAB256 bis 263 nicht 8 Byte?
Also bei meiner GSD-Datei für Danfoss FC100/200/300 hat der "PPO Type 5 Module consistent" einen Steckplatz 1 (4AX) mit 4 Worte Konsistenz gesamte Länge und einen Steckplatz 2 (10AX) mit 10 Worte Konsistenz gesamte Länge.
SFC14/SFC15 müssen also mit RECORDs der Länge 4 Word (oder 8 Byte) und 10 Word (oder 20 Byte) belegt werden.

Harald
 
Richtig.

Steckplatz 1 ist PVA, also Parameter und Steckplatz 2 ist Steuerung/Status (19 Byte)

Gesendet von meinem GT-N7100 mit Tapatalk
 
Ah verdammt! Sorry Harald, hab in deinem Kommentar übersehen das du mit den 10Word den 2. Steckplatz meintest.
Und da der TE immer nur von den Adressen 256 bis 263 (Steckplatz 1) geschrieben hat... naja mein Fehler.

Zähl nochmal. Jetzt da PN/DP und ich vom selben sprechen zähl ich auch 8Byte und 20Byte... :ROFLMAO:
 
Zuletzt bearbeitet:
Zurück
Oben