# MM420 Parameter auslesen



## Buchholz (14 November 2006)

Hallo,

ich habe leider ein paar fragen zu Profibus, komme einfach nicht weiter und dieses Forum hat mir bis jetzt immer super geholfen.
Also ich möchte ein paar Parameter aus meinem MM420 auslesen, Werte wie Strom, Umdrehungen usw.
Ich habe auch schon viel Beispiele gewunden, alle mit SFC14 und 15 und eine 314 2DP CPU, aber leider habe ich ein normalen 314 Cpu und muss mit dem CP-342-5 arbeiten .
Mit diesem CP muss ich mit Send und Recv-Bausteinen arbeiten, MM420 im PPO 3
bekomme ich zum laufen und es klappt alles wunderbar, nur leider PPO 1
nicht.

Über einen helfenden Beitrag oder eine kleines Projekt würde ich mich sehr freuen
Beitrag bearbeiten/löschen


----------



## stma77 (14 November 2006)

PPO-1 hat doch nur SOll und IStwert wie willst du weitere Parameter auslesen können?


----------



## KalEl (14 November 2006)

@stma77
das stimmt nicht

ppo1 hat 4pkw und 2pzd 
über die pkw kannst du parameter lesen bzw schreiben.

ein gutes beispiel findest du auf der hp vom member volker.

@buchholz.
hast du schon mal versucht die peripherie 'direkt' zu beschreiben bzw zu lesen?

beim pzd ist das ja kein problem da es nur ein doppelwort ist.
müsste aber auch für das pkw funktionieren. ist dann zwar nicht konsitent sollte im normalfall aber nicht wirklich tragisch sein.


----------



## Unregistrierter gast (14 November 2006)

KalEl schrieb:


> @stma77
> beim pzd ist das ja kein problem da es nur ein doppelwort ist.
> müsste aber auch für das pkw funktionieren. ist dann zwar nicht konsitent sollte im normalfall aber nicht wirklich tragisch sein.


Warum sollte das nicht konsistent sein ?
Wenns in der HW-konfig als Konsistent über Bereich angegeben ist, ist ein L / T PxD auch konsistent !


----------



## KalEl (14 November 2006)

du verstehst mich, denke ich, falsch

das pzd sin 2 worte, also 1 doppelwort. das ist natürlich konsitent.

das pkw besteht aber aus 4 worten, also 2 doppelworte. und das ist mit L / T nicht konsistent.

bei einem mm4 habe ich das so auch schon probiert und es klappte problemlos. 

wenn nicht irgendwelche alarm-ob's etc. verwendet werden sehe ich auch keinen grund warum das nicht klappen sollte


----------



## stma77 (14 November 2006)

ich dachte eher das Buchholz Online werte aus den Parametern auslesen will (aktueller Motorstrom z.B.).

PKW Parameter sind ja eine andere Sache 
und da stimme ich voll zu


----------



## KalEl (15 November 2006)

@stma77
eben. das kann man ja über das pkw machen

werde diese PM öffentlich beantworten da es vermutlich mehrere interessiert.


			
				Buchholz schrieb:
			
		

> Hallo,
> ich habe gerade deine Beiträge gelesen und kannst du mir etwas genauer beschreiben wie ich sie auslesen kann.
> Von Volker habe ich schon ein Projekt erhalten, da arbeitet er aber mit einer 315- 2DP CPU.
> Ich habe eben eine 342-5 Baugruppe und habe immer mit Send und Recv gearbeitet. Ich möcht nur den Strom, Verbrauch und Drehmoment auslesen und auf meinem TP170B darstellen.
> Werde mir das Projekt von Volker nocheinmal anschauen ,aber über einen helfenden Beitrag würde ich mich sehr freuen.


 
annahme: pwk adresse ist 272

strom lesen ist parameter 27
auftrag parameter lesen (1) steht im highwort tetrade3

der parameter steht im highwort tetrade 2-0
daraus ergibt sich für das wort 1027

index des parameters steht im highwort byte2 (tetrade6-5)
für strom 0

du übergibst also an den umrichter
==>
l 0 //index
t dbb2

l w#27 //parameter
l w#1000 //auftrag
+I
t dbw0

L DBD4
T PAD272
L DBD0
T PAD276

als antwort erhälst du im high dwort die antwortkennung und den parameter.
im dwort2 sollte also 2027 stehen.
im low dwort steht der strom als real

==>
L PED272
T DBD10 //strom
L PED276
T DBD14

genauer ist das in der bedienungsanleitung der profibus optionsbaugruppe beschrieben.

----------------------------------
vom prinzip kannst du volkers baustein benutzen.
anstatt die daten mit sfc 14/15 zu übertragen nimm direkt die peripherie.
also etwa so

volkers
      CALL  SFC   14
       LADDR  :=#PKW_Addr_temp
       RET_VAL:=#Ret_Val_SFC14
       RECORD :=P#L 16.0 BYTE 8
      L     #Ret_Val_SFC14
      L     #read_hd
      T     DBD   12
      L     #read_ld
      T     DBD   16

ändern in

L PED 272
T LD 16
L PED 276
T LD 20
      L     #read_hd //ld20
      T     DBD   12
      L     #read_ld //ld16
      T     DBD   16


----------



## Buchholz (15 November 2006)

Hi,
jetzt verstehe ich es besser, Danke .
Kann ich auch mehrere Parameter anzeigen lassen oder nur einen, aber ich probiere es besser gleich einmal aus. 
Denke einfach einen anderen Parameterwert ,für 027 eben 030 usw. eingeben
und 1 oder 0 ist die Auftragskennung. P 018 bis P 039 sind für mich interessant.
MFG


----------



## KalEl (15 November 2006)

du kannst immer nur einen parameter gleichzeitig lesen. die antwort auf die frage dauert halt etwas (laut HB glaub ich 50ms).

deshalb immer alle schön nacheinander.
z.b. über die bits eines schieberegisters
bit0 -> lese strom
bit1 nichts tun
bit2 -> lese spannung
bit3 nichts tun
bit4 -> lese wasweisich..
bit5 nichts tun


----------



## Buchholz (15 November 2006)

*Guten Abend*

Guten Abend.
so habe versucht die Daten auszulesen, hat leider nicht geklappt.( SF Fehler)
Muß dazu sagen das ich mit AWL nicht so vertraut bin, wir in der Technikerschule arbeiten leider immer mit FUP, vielleicht kann der Lehrer kein AWL aber leider sind fast alle Projekte so angelegt.
Wenn Sie ein ähnliches Projekt in Fup erstellen könnten, das wäre echt Super,
einfach ein Bild als Anhang mit einfügen . Das mit den Worten ist mir klar aber nur nicht genau wie sie übertragen kann. Meine DP Adresse ist 288 bis 303 und die beim Fu für PPO 1 sind  für 4PKW und 2PZD 0..7 also 8byte. Hilft das weiter ???


----------



## Unregistrierter gast (15 November 2006)

Buchholz schrieb:


> Guten Abend.
> so habe versucht die Daten auszulesen, hat leider nicht geklappt.( SF Fehler)



Wenn "SF Fehler" heist, das an der CPU die rote SF - LED angegangen ist,
dann heist das, dass deine Adressen (PEW, PAW...) nicht existieren.

Möglciherweise stimmt die HW-Konfig nicht, oder der Umrichter wird garnicht erkannt....

Das hat nix mit AWL oder FUP zu tun.


----------



## Buchholz (15 November 2006)

*Ppo1*

Nein ,wenn ich mit PPO3 und den Send und Recv Bausteinen arbeite läuft alles wunderbar , so wie es im Buch steht , ich arbeite mit einem CP 342-5 und das mit dem PPO1 läuft eben noch nicht. Ich habe ein paar Anregungen bekommen die sind in AWL geschrieben zu finden ein paar Beiträge weiter oben und die sind mir nicht ganz klar wie genau ich die Wörter übertragen kann.


----------



## Unregistrierter gast (15 November 2006)

Buchholz schrieb:


> Nein ,wenn ich mit PPO3 und den Send und Recv Bausteinen arbeite läuft alles wunderbar , so wie es im Buch steht , ich arbeite mit einem CP 342-5 und das mit dem PPO1 läuft eben noch nicht. Ich habe ein paar Anregungen bekommen die sind in AWL geschrieben zu finden ein paar Beiträge weiter oben und die sind mir nicht ganz klar wie genau ich die Wörter übertragen kann.



_Sag nicht Nein wenn ich Ja sage ! _ 

Hast du in der HW-Konfig den PPO1 eingetragen UND AUCH DIE RICHTIGEN ADRESSEN ? (PPO1 hat größeren Adressraum als PPO3 !)


----------



## Buchholz (15 November 2006)

*Cp*

Hm.. mal schauen: Hier meine Adressen  der CP hat 288-303 und bei PPO1 habe
ich einmal 0-7 bei Steckplatz0 und Steckplatz 1  8-11.
Ich habe in der PDF vom MM420 gelesen das man mit SCF 14 und 15 die Daten übertragen soll, aber mein toller Lehrer sagt das ohne diese Send und Recv keine Daten übertragen kann. Nun frage ich mich hat es schon Jemand mit einem CP 342-5 geschaft Parameter auszulesen oder zu ändern???
Die AWL Anweisungen verstehe ich nicht, kann mir die nicht einer in FUP übersetzen.

l 0 //index                  (diesen Befehl kenne ich nicht)
t dbb2                       ( welcher DB soll das sein)

l w#27 //parameter
l w#1000 //auftrag
+I
t dbw0

L DBD4                      (Lade DB Doppelword4 , oder was soll das bedeuten)
T PAD272                   ( PAD 272 die Adresse vom CP oder vom MM4)
L DBD0
T PAD276

als antwort erhälst du im high dwort die antwortkennung und den parameter.
im dwort2 sollte also 2027 stehen.
im low dwort steht der strom als real

==>
L PED272
T DBD10 //strom
L PED276
T DBD14

Wie geschrieben komme ich hier nicht weiter. Aber nicht aufgeben  ich habe das Projekt so verstanden, mein CP hat 288 bis 303 und so sieht mein Programm aus, werde es aber erst Morgen einladen. Aber vielleicht können Sie ja jetzt schon Fehler finden.

 L     W#16#0
      T     DBB    2

      NOP   0
--------------------------
L     W#16#27
      L     W#16#1000
      +I    
      T     DBW    0
      NOP   0
--------------------------
 L     DBD    4
      T     PAD  288
      L     DBD    0
      T     PAD  292

      NOP   0
---------------------------
 L     PED  288
      T     DBD   10
      L     PED  292
      T     DBD   14
      NOP   0
---------------------------


----------



## Buchholz (16 November 2006)

*Mm420*

Hallo,
so habe es geschaft und der Fu sendet mir die Parameter als 32 Bit Real zu, jetzt nur noch umwandeln und ich kann damit arbeiten.
Aber jetzt bleibt nur noch eine Frage, wie ich die einzelnen Parameter nacheinander auslesen kann.Es geht ja immer nur ein Parameter zur Zeit.
Wenn mir bitte noch Jemand helfen könnte, das wäre Nett.
Ich werde mein Daten sammeln und wenn alles fertig ist, meine Problemlösung hier ins Forum stellen. 
Ich habe erst einen DB mit 5 DW erstellt und mein Steuerwort und die Wörter zum Auslesen der Paramter dort gespeichert.
Im OB1 mit hilfe der Send und Recv die 12 Byte übertragen und ausgelesen und siehe da es klappt.

MfG


----------



## Ralle (16 November 2006)

Mach 'ne kleine Schrittkette, z.Bsp.mit dem SPL-Befehl.
Immer wenn ein Parameter erfolgreich empfangen wurde den Schrittzähler 1 hochzählen, am Ende den Schrittzähler wieder auf 1 und los geht es von vorn.

      L     #Stepcounter
      SPL   ALE2
      SPA   END
      SPA   SR21
      SPA   SR22
      SPA   SR23
      SPA   SR24
ALE2: SPA   END


----------



## KalEl (17 November 2006)

Buchholz schrieb:


> Hallo,
> so habe es geschaft und der Fu sendet mir die Parameter als 32 Bit Real zu, jetzt nur noch umwandeln und ich kann damit arbeiten.


 
poste mal wie du es gemacht hast. 
mit einem cp habe ich das noch nie gemacht.


----------

