Step 5 ET200S IM 151-7 CPU als Slave / IM 308C als Master

Eilo

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte eine IM151-7 CPU als I-Slave in einen bestehenden Profibus-DP einbinden. Als DP-Master dient eine IM308C.
Ich möchte mit der IM151-7 auf Daten des DB24 ab DW18 mit Hilfe des FB192 zugreifen.
Mein Ansatz ist folgender:

FB 192
NAME: IM308C
DPAD: KH F800
IMST: KY 0,57 // Nummer IM308C, Profibusadresse 57
FCT: KC WO // Schreibe Ausgang
GCGR: KM 00000000 00000000 // nicht relevant für Funkion WO
TYP: KY 0,24 // Quelle ist Datenbaustein, DB24
STAD: KF 18 // Startadresse DW18
LENG: KF 96 // Länge 96 Byte (Daten von DD18 bis DD42)
ERR: MW100


Somit werden nach meinem Verständnis DD18 bis DD42 aus dem DB 24 an die IM151 (Slave 57) gesendet.
Wo werden die Daten in der IM151-7 jetzt aber bereitgestellt? Was ist in der IM151-7 zu Parametrieren/Programmieren? Was ist mit COM-Profibus einzustellen?
 
Ich habe das noch nie gemacht mit FB192. Aber normal must du in ComProfibus ein ET200S-CPU eingeben mit 96 Byte ausgangen (Master Q - Slave I) (grosste einheid ist 16W tot-lgth). Bei dieser Grosse ist est nicht mochlich adresse zu vergeben. (Mit 16 byte ist adresierung mochlich)
In Step7 in der HW config double klikken auf MPI/DP und bij konfiguration unter MS mode 96 byte Eingange eingeben mit derselbe grosse und eigenschaffen wie die Ausgange in ComProfibus.
In Step 7 mit SFC15 die daten von eingangen lesen und in ein DB schreiben

mfg,

Joop
 
Ich habe das noch nie gemacht mit FB192. Aber normal must du in ComProfibus ein ET200S-CPU eingeben mit 96 Byte ausgangen (Master Q - Slave I) (grosste einheid ist 16W tot-lgth). Bei dieser Grosse ist est nicht mochlich adresse zu vergeben. (Mit 16 byte ist adresierung mochlich)
In Step7 in der HW config double klikken auf MPI/DP und bij konfiguration unter MS mode 96 byte Eingange eingeben mit derselbe grosse und eigenschaffen wie die Ausgange in ComProfibus.
In Step 7 mit SFC15 die daten von eingangen lesen und in ein DB schreiben

mfg,

Joop


Den FB192 möchte ich nutzen, weil ich darüber direkt auf Datenbausteine zugreifen kann. Diese Möglichkeit besteht bei der Adressierun über COM Profibus nicht, richtig?
Konkret möchte ich Sollwerte (Vorgabe aus Visu) und Istwerte (eingelesen über analogen Eingang) aus der S5 für eine Regelung in der ET200S nutzen.

Gruß Eilo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mach eine probe mit in ComProfibus ein ET200SCPU mit 3st 16W Tot-lgth MasterQ-Slave I. Dei ET200S bij slave 3 st Eingand 16word gesamt. Die adresse in ComDP und in S7 mocht ungleich sind. (Wie bij ein DP/DP coupler) In S5 sende Sie mit FB92 die data nach die ComDP slave und in S7 lese Sie die wieder mit SFC15.
ET200S CPU Slave.JPG

Gruss,

Joop
 
Danke für deine Antwort. Ich werde es mal so probieren.
Das mit den Adressen habe ich noch nicht ganz verstanden. Sollen die GLEICH oder UNGLEICH sein zwischen ComDP und ET200S?

Müssen die Ausgangsadressen die ich in ComDP für den Datenaustuasch projektiere noch frei sein? Die Ausgangsbelegung der CPU ist nämlich schon relativ stark ausgenutzt. Reduziert die Projektierung in ComDP also meinen Vorrat an Ausgängen?
 
Zuletzt bearbeitet:
Wenn Sie in ComDP blocke von 16Word Gesamt eingib ist das ohne adresse.
Adress kont Ungleich sind, Sie muste aber alles spieglen ( Was in COMDP ein ausgang ist ist in S7 ein Eingang und ein Eingang is ComDP is in S7 ein ausgang (alle block is derzelbe folge und grosse.)
 
Hallo nochmal,

sorry für die lange Pause. Zwischenzeitlich ergaben sich andere Prioritäten und Probleme mit dem Einbinden des Moduls in den vorhandenen Bus. Schuld war hier eine falsche GSD-Datei in COM PB.

Das Modul läuft nun ohne leuchtende BF-Diode am Bus. Auch an der IM308 leuchtet "BF" nicht. Leider scheint die IM151-7 trotzdem QVZ zu melden, da die Masterdiagnose einen "Modulausfall" meldet. Also wer hierzu Ideen hat bitte her damit.

Ansonsten habe ich jetzt mal meine komplette Projektierung von S5 bis hin zur S7 in den Anhang gelegt.
Das einzige was mir noch nicht so ganz klar ist, welche Adresse ich an der SFC14 bei LADDR eintrage. Nach meinem Verständnis sollten das doch sie Adressen sein, welche ich in der HW Konfig unter den Eigenschaften der MPI/DP Schnittstelle, Register Kommunikation eintrage?! Hier also E1 (1hex) und E33 (21hex), richtig?

Werde das ganze dann vermutlich erst nächste Woche testen können. Bei Auffälligkeiten in meiner Projektierung bin ich für jede Hilfe dankbar.

GrußFB192 FB Trocknung.jpgCOM PB SL57.jpgHWS7.pngSFC14.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In S5 scheiben Sie 52 Byte und fur der fehlermelding brauchen Sie MW200 ( in handbuch steht dass keine Merker aus das Schmiermerker bereich MB200 bis MB255) zu brauchen.
In Com Profibus declarieren Sie 2 blocke von 16 Word lange (Sie muste oder in S5 64 byte daten schreiben (der DB must die daten auch haben) oder in ComDP und S7 2 blocke von 13word gesamt.
Wenn ich dass machen muste sollte ich die adresse in S7 ausser das Prozessabbilds von der Eingangen halten. zu. E300 und E 326 wenn dass blocke von 13 Word sind.

Joop
 
Ja OK. Das mit den 52 Byte hatte ich mir irgendwie schon gedacht das das nicht klappt. Werde das auf 64 Byte ändern und den DB entsprechend anpassen. Die Sache mit dem MW200 sollte kein Problem sein, da ich es danach direkt in ein Datenwort transferiere. Das klappt an anderen Stellen des Programms ebenfalls.
Werde dann auch noch die E-Adressen in der IM151-7 CPU auf E300 und E332 ändern. Wenn ich das mache, dann muss ich aber den LADDR der SFC14 auch entsprechend ändern, richtig? Also für E300 (12C hex) und für E332 (14C hex)?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, weiter gehts,

habe jetzt alles so weit drin. Memorycard steckt mit COM PB Projektierung wie oben gezeigt.

An der IM151-7, sowie an der IM308 wird KEIN Busfehler angezeigt.
Trotzdem scheint die IM151-7 nicht zu Antworten, da über den OB23 (S5) ein Quittungsverzug ansteht.

OB23 = Quittungsverzug bei Einzelzugriff auf den S5-Bus (z.B. L PW, L PY, T PW, T PY, LIR, TIR)

Hat jemand eine Idee, wie ich die Stelle, wo der Fehler auftritt finden kann? Ich habe ja keine Lade/Transfer-Befehle zusätzlich programmiert.
 
Zuletzt bearbeitet:
Zurück
Oben