Für Profis Verbindung Profibus mit deiner cp 342-2

max1de

Level-1
Beiträge
45
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPS Freunde!

Wieder mal ne knifflige Aufgabe an euch Profis:

Problem Ansteuerung eines MM 4 über Profibus:
Vorher PP0 3 (klappt) Jetzt PP01 (klappt bis auf lesen/schreiben der PKW) !

Ich steuere den MM mit einem cp 342-5 an. Zur Übertragung der habe ich den FC1 (DP_SEND) und halt den FC2 (DP_RECV) genommen.

Anschaulich:

CALL "DP_SEND"
CPLADDR:= W#16#0 //Anfangsadresse des PPO 1 Protokoll (12Byte) (0bis 7 PKW und 8-11 PZD)
SEND := P#DB20.DBX0.0 BYTE 12
...

mit dem DP_Recv analog....


Funktioniert auch alles wunderbar nur jetzt wollte ich die Parameter einlesen (Motorstrom P132). Laut Siemens muss ich ja jetzt die beiden FC SFC 14 und SFC 15 nehmen damit die Bytes "in einem Rutsch" übertragen werden.

Das sieht so bei mir aus:

Call "DPWR_DAT"
LADDR :=W#16#0 // Anfangadresse des PP0 1 Protokolls
RECORD :=P#DB20.DBX0.0 BYTE 8 // also die 8 PKW Bytes
Ret_Val:= MW....

... änlich auch der DPRD_DAT...

und dies will er nicht ... braucht er in diesem Fall die SFC's überhaupt ???
Da ich diese erst gar nicht übertragen bekomme.

aber wie sieht dann die Lösung aus ????
 
Hi,
so wie ich das sehe ist bei dir im SFC14 (oder war es der SFC15 ??) die Ladeaddresse falsch.
Hier musst die Adresse der CP342 eingeben und zwar in HEX.
Die Info bekommst du aus der Onlinehilfe oder in der HW Config.

Gruß Centi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Centi
Wie meinst du das denn genau ??

Habe in der HW Config nachgeschaut,dort sind die I/O Adressen jeweils 0 bis 15 zugeordnet. oder meinst du was anderes??

Oder liege ich da falsch ?

Würde mich auf´eine Antwort freuen !!
 
Bei "CPLADDR:= W#16#0" muss die Anfangsadresse des CP als Hexzahl eingeben werden.
Die CP-Adressen sind in der Hardwareconfig projektiert.
Die Adresse in der Hardwarekonfig ist eine Dezimalzahl, die Adresse am SFC muß als Hexzahl eingegeben werden.
Z.B. Adresse in der Hardwareconfig = 256 => Adresse am SFC = 100.
 
Nein das ist ja schon richtig die Adressen fangen an bei

Schreibe mal am besten ab:

Steckplatz: 0
DP-Kennung: 4AX
Bezeichnung: PP01 4PKW/2PZD
E-Adresse : 0...7
A-Adresse : 0...7

und..

Steckplatz: 1
DP-Kennung: 2AX
Bezeichnung: -> PP01 4PKW/2PZD
E-Adresse : 8...11
A-Adresse : 8...11


Ich habe das Gefühl das sich die Adressen des DP_SEND
(CPLADDR:= W#16#0) und des SFC (LADDR :=W#16#0 )
sich schneiden und sich daher gegenseitig ausspielen!

Kann das sein oder wo sieht Ihr das Probem


PS. Es funktionierte ja schon mit dem PP0 3 Formalismus, dort waren ja nur die DP_SEND und DP_Recv im Einsatz!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie centipede schon schreibt, die LADDR ist die Adresse des CP laut HW-Konfig.
Man kann auch mit der rechten Maustaste auf "CALL "DP_SEND"" klicken und über "Verbindungen" den CP auswählen, dann wird garantiert die richtige Adresse übernommen.
Ob das auch bei den SFCs geht, habe ich noch nicht getestet.
Aber da es der selbe CP ist, muss ja auch die Adresse übereinstimmen.

Gruß
raika
 
versuchs mal ohne die sfc14/15 und nimm den fc1/2.

und das mit der konsisteneten übertragung sollte man nicht überbewerten.
sollte auch funktionieren, wenn du das als 2 dbd überträgst.

wie sieht denn dein auftrag für das lesen des stroms aus?
 
Zurück
Oben