SFC 82 überträgt falschen Inhalt

Drexta

Level-1
Beiträge
16
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich würde gerne mit dem Baustein SFC 82, DB´s auf der MMC Karte erzeugen um sie nachher zu beschreiben. Das funktioniert soweit auch alles ganz gut nur überträgt er den falschen Inhalt. An dem Eingang SRCBLK (source Block) habe ich eine Beispiel DB angelegt indem ein Array ist und die Werte im INT Format anlegt.
Genauso sollte der SFC 82 die DB´s dann auch auf der MMC anlegen. Nur das macht er nicht, er erzeugt immer DB´s im Format BYTE und fängt nicht mit der gewünschten Adresse 0 an sondern immer mit -32(000) <-- den max. negativen Wert) und zählt dann seine Stellen die im Array angelegt wurden hoch.

Was mache ich Falsch? Oder kann der SFC 82 nur Standart DB´s erzeugen?

Gruß:cool:
 
Es gibt doch ohnehin schlussendlich ausschließlich Standard-DBs (um bei deinem Sprachgebrauch zu bleiben).
Jeder DB ist ein Container mit einer Länge x in Byte.

Da du den DB ja dynamisch zur Laufzeit erzeugst gibts auch wiederum keine für Step7 verwendbare Symbolik.
Adresstechnisch fängt dein DB sehr wohl beim DBB0 an.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein ich glaube wir reden aneinernader vorbei. Ich möchte mit dem SFC 82 DB´s erzeugen die einen vorgegeben Datenbereich und ein Array haben.
Die Daten sollen im INT Format auf dem DB auf der MMC abgespeichert werden.

Jetzt erzeugt der Baustein zwar einen DB auf der MMC jedoch mit dem Daten Format BYTE. Deswegen frage ich ob er nur das Standard Format erzeugen kann.

Gruß :cool:
 
Das ist ein zur Laufzeit erzeugter DB, ergo gibts den nich in Step7 sondern eben nur auf der CPU.
Folglich bestimmst du ganz allein mit L DBW +I etc. wie die entsprechende Byte-Anzahl interpretiert wird (im Sinne des Zahlenformats).

Der Datenbereich ist also vollkommen egal, da du sowieso nicht symbolisch arbeiten kannst.

Folglich ist das was du vorhast a) nicht möglich und b) unnötig

P.S. Im Prinzip reden wir nicht aneinander vorbei, allerdings ist mir nicht klar, was dir in dem Fall irgend eine wie auch immer geartete Strucktur bringen soll.

Mfg
Manuel
 
Manuel hat Dich durchaus verstanden und die richtige Antwort gegeben: "es gibt ... keine für Step7 verwendbare Symbolik".

Jeder neu erzeugte DB ist ein ARRAY OF BYTE (*). Eine andere Struktur kann man nur in den Speicherbereich des DB hineininterpretieren, aber nicht symbolisch anzeigen lassen. Man kann die Variablen im DB nur absolut adressieren.

Von dem beim SFC82 an SRCBLK angegebenen DB wird nur der Inhalt Byte-für-Byte in den neuen DB übertragen, die logische Struktur aber nicht.

Ich vermisse die nicht vorhandene Struktur allerdings ebenfalls, z.B. wenn ich mir den Inhalt solcher dynamisch erzeugten DB ansehen will.

(*) ARRAY[-32768..nnn] OF BYTE

Harald
 
Hallo,
ich habe noch eine weitere Frage zu den SFC´s. Kann man den SFC 84 zum übertragen der DB´s auf die MMC gleichzeitig benutzen. Sprich ich müsste alle 2min 5 verschiedene DB´s auf die MMC übertragen. Wenn es nicht geht - wie kann man das Problem am besten lösen?

Greetz :cool:
 
Hallo,
ich habe noch eine weitere Frage zu den SFC´s. Kann man den SFC 84 zum übertragen der DB´s auf die MMC gleichzeitig benutzen. Sprich ich müsste alle 2min 5 verschiedene DB´s auf die MMC übertragen. Wenn es nicht geht - wie kann man das Problem am besten lösen?

Greetz :cool:

Davon ist dringendst abzuraten, die MMC kann nur ca. 100000 mal beschrieben werden,
d.h. du hättest 5 * 30 / Minute = 150 Schreibzyklen / Stunde = 3600 / Tag.
Das wiederum heißt, deine MMC ist nach ca. 28 Tagen mehr oder weniger "Schrott".

http://support.automation.siemens.com/WW/view/de/22295462

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für deine Antwort.

Aber - zum einen war es nicht die Frage und zu anderen, wer sagt das die SPS 24h am Tag läuft? Es handelt sich bei diesem Projekt um eine mobile Messstation welche nur zu bestimmten Messungen vielleicht 2 Tage im Monat angeschlossen ist.

Aber kann man den die gleiche SFC´s mehrmals gleichzeitig benutzen? Im Netz ließt man des öfteren das nur max. 4 gleichzeitig arbeiten können da sonst Fehler entstehen können.


Greetz :cool:
 
Zurück
Oben