# Umbau Anlage mit CP342-5



## lefrog (12 Mai 2007)

Hallo!

Ich komme gerade von der Arbeit nach Hause. Dort habe ich heute eine Anlage umbauen sollen. Zu dem bestehenden Ausbau (S7-314, CP342-5 mit 2x OP7 und einem 2-Achs-Regler 611U) sollten noch zwei Regler von Stöber dazu. 
Ich muss gestehen dass ich noch nie eine Anlage mit CP hatte, so dass ich ganz auf mich allein gestellt und ohne Internet nicht wirklich weit gekommen bin - ich habe auf die schnelle einfach die S7-314 gegen eine S7-315-2DP getauscht und ein zweites Profibusnetz aufgebaut, um zumindest erstmal die Regler ans laufen zu kriegen. 
Ich habe schon herausgefunden, dass die Daten mit SFC1 und 2 zwischen der CPU und dem CP hin und hergeschaufelt werden - aber woher weiß der CP welche Daten dann an welchen Slave? Muss man das separat projektieren? Womit?

Ich danke euch für eure Unterstützung und wünsche ein erholsames Wochenende!

Viele Grüße, Tobias


----------



## lorenz2512 (12 Mai 2007)

hallo,
 da ist in den lernmodulen einiges mit dabei, kann man kaum besser erklaeren:http://www.automation.siemens.com/fea/html_00/down_module.htm


----------



## lefrog (13 Mai 2007)

Hallo!

Danke Dir für den Tipp - ich habe dort eben ein paar Unterlagen durchgeschaut. 
Ich habe mal einen Anhang des jetzigen Ist-Zustandes gemacht. Ich weiß nicht ob es sinnvoll ist, zwei Profibusnetze in der Anlage laufen zu lassen, ich habe das gestern nur als Notlösung gemacht. 
Ich übergebe im OB1 nun so

     CALL  "FC-Send-DP"                //DP_SEND
       CPLADDR:=W#16#170                //170
       SEND   :=P#DB11.DBX 0.0 BYTE 44
       DONE   :="Daten gesendet"
       ERROR  :="Fehler daten Senden"
       STATUS :="Status Daten Senden"

      CALL  "FC-Emfang-DP"              //DP_RECV
       CPLADDR :=W#16#170               //170
       RECV    :=P#DB10.DBX 0.0 BYTE 44
       NDR     :="Daten Empfangen"
       ERROR   :="Fehler Daten Empfang"
       STATUS  :="Status Daten Empfang"
       DPSTATUS:="Status Profi Bus"

die Daten an den CP. Das "linke" Bediengerät hat die E/A Adresse 0-1, das "rechte" 42-43. Gebe ich nun den beiden Reglern einfach E/A Adressen 44-55 und 56 bis 67 und ändere dann die Länge der Pointer von 44 auf 68 Byte? 

Generell... soll ich beide Profibusnetze eingebaut lassen, alles über den CP oder alles über die CPU schicken? Ich muss ja auch noch Änderungen in den OP's machen...

Ich danke euch für eure Hilfe und wünsche euch einen schönen Sonntag!

Viele Grüße, Tobias


----------



## lefrog (13 Mai 2007)

Hallo!

Ich noch mal...
Was mich bei der ganzen Sache auch noch durcheinander bringt, ist, dass die DB's, in welchem der FC1 und die FC2 die Daten speichern, so aussehen... muss dass? 

Viele Grüße, Tobias


----------



## Ralle (13 Mai 2007)

lefrog schrieb:


> Hallo!
> 
> Ich noch mal...
> Was mich bei der ganzen Sache auch noch durcheinander bringt, ist, dass die DB's, in welchem der FC1 und die FC2 die Daten speichern, so aussehen... muss dass?
> ...


 
Nein, muß nicht. Wie der DB gestaltet wird ist dir überlassen, das was du dort im Moment siehst, ist ein Array aus 300 Byte. Warum das Array so einen komischen Eintrag (-32768...-32496) hat ist mir auch nicht völlig klar, sieht aber danach aus, als wenn dort Informationen zu den Variablen fehlen, die früher mal vorhanden waren, z.Bsp. aus einer UDT.

Ansonsten siehst du das richtig, du mußte die Sende-/Empfangsdaten jeweils hinten anhängen und die Länge entsprechend erhöhen. Der CP wird in einem "Rutsch" ausgelesen/geschrieben, die Daten landen in dem DB. Da du weißt, wo die Daten im DB stehen und was sie bedeuten (zumindest für die neuen Stöber) kannst du, bei Bedarf, diesen auch richtige Namen geben und dann symbolisch daruf zugreifen, ansonsten mußt du das mit einfachen zugriffen machen.

Word für Stöber lesen:

L DB10.DBW 44

Besser wäre, im DB dafür die Symbolik einzutragen, z.Bsp. "Zustandswort_1"
und dann symbolisch darauf zugreifen. 

L Receive_DB."Zustandswort_1"


----------



## lefrog (13 Mai 2007)

Hallo!

Danke Dir für Deine Tipps...
Ich hab den Datenbaustein schon mal umgeschrieben und anstatt des Arrays einzelne Bytes eingefügt und diese dann strukturiert... denke dass sollte so übersichtlicher sein... 
Werd das ganze morgen mal auf die cpu schiessen und schauen ob das so funktioniert wie ich mir das vorstelle...
Was mich nun noch ein wenig wundert ist das bei der Projektierung der OP7 in Protool, welche ja an dem CP hängen, direkt auf MB und MW der CPU zugegriffen wird und nicht auf den Datenbaustein der CP... mal schauen wie ich das hinbiege, die OP's muss ich ja auch noch anpassen...
Ich wünsche euch noch einen schönen Sonntagabend!

Viele Grüße, Tobias


----------



## lefrog (15 Mai 2007)

Hallo!

Ich habe nun das Problem wie folgt gelöst... Und zwar habe ich einen Datenbaustein angelegt, in dem, passend zur Hardware-Konfig, die Speicherbereiche der Slaves definiert sind. Soll heißen, wenn ein Slave den Speicherbereich E/A 44-56 hat, dann entspricht dies den gleichen Speicherbereich in dem Datenbaustein (Byte 44 bis Byte 56).
Dann habe ich die Daten, hier die Höchste Byte-Nummer +1, in einem Rutsch über FC1 und FC2 an den CP übertragen, aufgerufen im OB1. 

Damit habe ich die Kommunikation mit den Stöber Reglern hinbekommen. Die Kommunikation mit den OP's war hingegen schwieriger - das aber auch nur, weil als Kommunikationspartner der CP in der Protool Konfig eingetragen war, und nicht die S7 über die CP geroutet. 

Wie auch immer, nun läuft die Anlage wieder - ich danke euch für eure Unterstützung.

Viele Grüße, Tobias


----------

