Eingangswerte für den Baustein Write Drive Data (FB456)

harald2

Level-1
Beiträge
75
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich möchte den Baustein FB456 benutzen um damit einen Wert an den Antrieb zu schicken.Vorher habe ich den Baustein Write Periphery benutzt,der aber teilweise zu Zeitproblemen geführt hat.Jetzt habe ich mit einigen Eingangsparametern Probleme sie zuzuordnen.Ist mit Parameternummer die Nummer in der Expertenliste gemeint.Die anderen Werte wie Subindex sagen mir auch nicht so viel.Kann mir jemand helfen.

Danke Harald2
 
Wertebereich: 0 ... 65535

unterscheiden sich die Parameterlisten? ich glaube in der Expertenversion sind nur mehr Parameter verfügbar, die Nummern müßten sich decken, aber das kannst du ja nochmal quervergleichen...

subindex:

Angabe des ersten zu schreibenden Parameterindex (bei NumberOfElements = 0 wird der Wert intern auf Null gesetzt) - Wertebereich: 0 ... 65535
 
Zuviel Werbung?
-> Hier kostenlos registrieren
unterscheiden sich die Parameterlisten? ich glaube in der Expertenversion sind nur mehr Parameter verfügbar, die Nummern müßten sich decken, aber das kannst du ja nochmal quervergleichen...

Genau, in der Expertenliste sind zusätzliche Parameter verfügbar. Die sollten aber nur von erfahrenen Anwendern geändert werden!!
In der Expertenliste stehen dann auch Parameter die man weder im Assistenten noch in den Parameterierfenstern sieht.
Aus der Doku
...
Der Expertenmodus ist für erfahrene Anwender gedacht. Falsche Änderungen können zu
einem unkontrollierten Verhalten des Antriebs führen!
Das System führt keine Plausibilitätskontrollen bei Ihren Eingaben durch!
Falsche Änderungen können zur Inkonsistenz des Technologieobjekts führen.
...
 
Hallo

ich habe den Baustein mal beschriftet und bekomme einen Fehler im Diagnosepuffer.Bereichlängenfehler beim schreiben.Ich habe hier mal meine Daten : CALL FB 301 , DB301
inout :=FALSE
parameternummer:=L#1513 //p1513[0]
subindex :=L#0
numberof :=L#0
data :=222
einschalten :=

Bei der Adresse habe ich die Profibusadresse angegeben.Kann jemand was damit anfangen.
Danke

Harald2
 
du gibst den verweis auf den speicherbereich mit den parameterwerten, also zum beispiel einen bereich in einem datenbaustein DB10, und zwar die ersten beiden bytes:

P#DB10.DBX0.0 BYTE 2
 
Hallo

Ich habe den ANY_Pointer mal eingegeben und der wurde akzeptiert.Mit diesem Wert den ich jetzt als DWord in einem Datenbaustein liegen habe möchte ich den Parameter P1513 ändern.Dies ist der Wert Zusatzdrehmoment2.Doch ich bekomme wieder eine Fehlermeldung.Diesmal diese:
8114 Unzulässiger Parameterwert Parameterfehler, Auftrag abgebrochen. Änderungszugriff mit Wert, der zwar innerhalb der Wertgrenzen liegt, aber aus dauerhaftem Grund unzulässig ist (Parameter mit definierten Einzelwerten).

noch mal nachgefragt.Ich habe jetzt die Profibusadresse der Sinamics eingegeben,oder muss vielleicht die Adresse des Antriebes dort stehen,aus der Beschreibeung wird mir das nicht ganz klar.

Ich habe eine DW#16#10 übertragen.Mit Word bekam ich den selben Fehler.die zulässigen Datentypen sind unsigned32 und FloitingPoint32.

Kann jemand was damit anfangen.Vielleicht weiss auch jemand ein Parameter,der vielleicht ein Bit ist das man zum testen mal ändern kann.

Danke

Harald2
 
Zuletzt bearbeitet:
Hallo

Kann mir jemand sagen was eine logische Basisadresse ist.Damit könnte ich dann schon mal einen Fehler ausschliessen.
Danke
Harald2
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das sollte die EA-Adresse sein, welche du bei der Parmetrierung des Slave in der Hardwarekonfig entweder selbst eingibst, oder welche vom System eingetragen wird.
 
Hallo

Ja die ist eingegeben,ist bei mir 258.Trotzdem bekomme ich immer noch die Fehlermeldung.Das komische ist das ich Daten lesen kann,allerdings steht immer der selbe Wert in der gelesenen Variable.Egal welche Adresse ich eingebe oder welchen Parameter ich lese.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Wenn ich Adresse ändere kommt die Meldung das sie nicht gültig ist.Jetzt habe ich mal den Wert 0 übergeben,da bekomme ich keine Fehlermeldung.Bei jedem anderen Wert aber schon.Wie gebe ich denn die Parameter ein.Ich habe das mit L#1513 gelöst,ist das überhaupt richtig.
 
Hallo

Ich habe mal einen anderen Parameter eingegeben.Den 1520.Er regelt die Drehmomentengrenze.Diesen Parameter konnte ich schreiben.Mit dem Wert "0" und dem Wert 2.0.Nur das Zusatzdrehmoment geht immer noch nicht.
 
Hallo

Wenn ich Adresse ändere kommt die Meldung das sie nicht gültig ist.Jetzt habe ich mal den Wert 0 übergeben,da bekomme ich keine Fehlermeldung.Bei jedem anderen Wert aber schon.Wie gebe ich denn die Parameter ein.Ich habe das mit L#1513 gelöst,ist das überhaupt richtig.

Wenn es eine DInt ist, ist das richtig. Geh mal af den Baustein und dann "F1", normalerweise solltest du dann die zugehörige Hilfe angezeigt bekommen, so du das komplette Paket installiert hast. Wenn du mit der Maus über den IN-Parameter gehst, bekommst du zumindest Datentyp und einen kurzen Text angezeigt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo
Ich habe Dword verwendet und den Realtyp.Der Eingang ist ein Any Pointer.Der Parameter nimmt unsigned32 und floting werte an,normal,wenn er es denn tut.Der Parameter ist in der Expertenliste in Prozent angegeben.Vielleicht ist das das Problem.
 
hallo
Ich habe Dword verwendet und den Realtyp.Der Eingang ist ein Any Pointer.Der Parameter nimmt unsigned32 und floting werte an,normal,wenn er es denn tut.Der Parameter ist in der Expertenliste in Prozent angegeben.Vielleicht ist das das Problem.

Wenn es ein Any-Pointer ist, mußt du auch einen Any-Pointer ranschreiben.
 
Hallo
Auf der ersten Seite stand schon mal der Tipp mit dem ANY Pointer.Der ist auch angelegt,zeigt aber auf eine Variable in DWorde Format.
 
Zurück
Oben