HILFE: PROFIBUS Master-Slave-Kopplung

Grimsey

Level-2
Beiträge
543
Reaktionspunkte
32
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

langsam bin ich echt verzweifelt. Ich möchte von einer 400er CPU (Master) Daten zu einer 300er CPU (Slave) austauschen. Dazu nutze ich die MS-Kopplung und wollte eigentlich über die PEW und PAW kommunizieren.
Gesagt getan getestet...leider an einer 400er CPU ohne E/A-Karten. SIEMENS meint diese sind aber zwingend notwendig. Für mich bedeutet das, dass das PEW/PAW nix anderes ist als das normale EW/AW (also die physikalischen E/A´S). Liege ich da falsch??? Ich verstehe es langsam wirklich nicht mehr.

Der nette Herr von SIEMENS meinte dann noch, dass eine Kommunikation so nicht möglich ist und empfahl mir die Verwendung der SFC14/15. In der Hilfe findet man leider nur kein Beispiel dazu. Muss ich dazu die MS-Kopplung auch konfigurieren? Wenn ja, bräuchte ich dazu ja wieder E/A-Karten. Da dreh ich mich ja im Kreis, oder nicht?

Ich möchte mit der Kommunikation zwingend verhindern, in der Slave-CPU Ausgänge direkt zu setzen. Diese sollen nur vom Programm in der Slave-CPU gesetzt/zugewiesen werden. Ist dies überhaupt möglich?

Kann ich solch eine Kommunikation ohne zusätzlichen CP überhaupt aufbauen??? Wenn ja, wie muss ich die MS-Kopplung konfigurieren???
Muss ich weitere SFC´s oder andere Bausteine nutzen???

Ich weiß echt nicht mehr weiter...

Danke schonmal!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für den Tipp.

In der Not ist der einfachste Weg manchmal schwer zu finden, sorry.

Trotzdem noch ne dumme Frage: wie bekomm ich raus, wo man peripherer Adressbereich beginnt??? Kann man den irgendwo "einstellen"?
 
also: hab jetzt endlich erstmal beide CPU´s am Laufen.

hab den Bereich folgendermaßen festgelegt: E1048(Master)=A272(Slave); Länge 32 Byte.

Ich versuche nun mit dem SFC14 Daten in einen DB zu schreiben:
Call SFC 14
LADDR:=W#16#418 //entspricht 1048 in HEX
RECORD:=P#DB1.DBX0.0 BYTE 32
RET_VAL:=MW100

Bekomme den Fehler 8093, was laut Hilfe bedeutet, dass zur angegebenen Adresse keine DP-Baugruppe gefunden wird.

Zur Info: ich habe für meine 400er Test-CPU keine E/A-Karten. Kann das vielleicht damit zusammenhängen??? Für mich ist der perihere Bereich eigentlich unabhängig davon, ob ich nun E/A-Karten hab oder nicht.

Wie kann ich den Fehler beheben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
vielleicht ist in der Konfiguration der Kopplung die Länge und Konzistenz falsch angegeben.
Die Eingaben müssen mit dem Aufruf vom SCF14 zusammen passen.
Hier müsste Länge 16 Wort Konzistenz gesamt passen.
Viel Erfolgt bei Test!!
 
Hi,

hast du den Slave in deiner "Master" HW-Konfiguration am Profibus hängen (GSD) ???
Ist dein Slave als Slave projektiert?

Deine E/A Konfiguration muss "gespiegelt" sein.
Wenn du beim Master z.B. mit Eingang 16 Bytes anfängst, dann muss der Slave mit 16 Bytes Ausgang anfangen.
Die Konsistenz muss gleich sein.
Die "Start E/A Adressen" sind egal. Leg diese mal ins OB1 Prozessabbild und verzichte erst mal auf die SFCs...

Probier die Kommunikation erst mal nur mit Variablentabellen auf Master und Slave...

Gruß Micha
 
Zuletzt bearbeitet:
Hallo zusammen,

neuer Tag, neues Glück.
Habe gerade eben noch einen weiteren Bereich definiert, so dass ich jetzt folgende Konfiguration habe:
E1048(Master)=A272(Slave); Länge 32 Byte
A1088(Master)=E304(Slave); Länge 32 Byte

Ich habs jetzt erstmal ohne die SFC´s probiert indem ich auf das PAW1088 eine 1 geladen habe. Und tatsächlich, es kommt auf der anderen Seite an.

Die SFC´s müssten nun ja eigentlich auch funktionieren. Ich werds mal ausprobieren.

Was ich nur noch immer nicht rausbekommen habe ist, wo ich ablesen/erkennen kann, ab wo der periphere Bereich einer CPU beginnt und ob ich den einstellen kann?

Über die Eigenschaften einer CPU bekomm ich die Information über einen Peripheren Bereich. Dieser beginnt bei E0.0 und ist 255 Byte lang. So weit so gut. Ich habe jedoch festgestellt, dass wenn ich diesen Bereich für die beiden CPU´s definiere, ich einen internen Fehler auf meiner Master-CPU bekomme (peripherer Zugriffsfehler). Irgendwas mach ich da also noch falsch.

VIELEN DANK für Eure Hilfe!!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also genau und pauschal kann ich dir das nicht beantworten, das steht aber garantiert in irgendwelchen Siemens-Doks. Bis zum E/A-Byte 255 geht bei den SPS i.d.R. das Prozeßabbild. bei den 400-er und der 318 kann man da noch dran rumdrehen. Ab dieser Adresse kannst du die weiteren E/A (meist bis 2047) für die Peripherie nutzen, also auch für deine Master-Slave-Kommunikation. Du kannst ausprobieren, was die CPU kann. Füge die CPU in die Hardwarekonfig ein, Profibus konfigurieren und dann ein Gerät für den Profibus einfügen. Das System schlägt dann eine E/A-Adresse vor, dort beginnt der Peripheriebereich. Dann mal eine große E/A-Adresse eingeben, z.Bsp. 10000, dann schlagt das die Hardwarekonfig die größte noch mögliche Adresse vor.
 
Zurück
Oben