Max Datenlänge von SFC14

guenni

Level-2
Beiträge
313
Reaktionspunkte
34
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte aus einem Slave mit einer CPU 315-2dp 48 Worte konstistent auslesen.
Den SFC 14 habe wie folgt paramentriert:
PHP:
CALL  SFC   14
       LADDR  :=W#16#100
       RET_VAL:=MW10
       RECORD :=P#DB20.DBX0.0 BYTE 96

Im MW10 erhalte ich die Nummer 80b1.
Diese bedeutet laut Hilfe:
Die Länge des angegebenen Zielbereichs ist ungleich der mit STEP 7 projektierten Nutzdatenlänge.

In der Hardwarekonfig habe ich als Adressbereich 256-351 eingestellt.

Ist die Datenlänge vom SFC begrenzt. Ich habe leider nichts dazu gefunden.

Guenni
 

Anhänge

  • HW.jpg
    HW.jpg
    34,3 KB · Aufrufe: 66
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo PT

Mein Datenbaustein ist 388 Wort lang. Der Fehler 80b1 kommt wenn ich eine länge grösser als 4Byte einstelle.

Was mich verwundert in einem anderen Projekt lese ich 10 Byte eines SLaves. Dort ist der Adressbereich in der Hardwarekonfig genau 10Byte.
Den Adressbereich des Slave kann nicht verkleinert werden.

Mit L pew 256 und t db20dbw lassen sich die Daten einlesen. Aber das sollte doch auch mit dem SFC gehen.

guenni
 
Zitat Hilfe:

Mit der SFC 14 "DPRD_DAT" (read consistent data of a DP-normslave) lesen Sie konsistente Daten eines DP-Normslaves/PROFINET IO-Devices aus, wobei für die Maximallänge folgendes gilt: Die Maximallänge entnehmen Sie für die S7-300-CPUs den Handbüchern Automatisierungssystem S7-300: Aufbauen, ET 200S Interfacemodul IM151-7 CPU oder Basismodul BM147CPU. Bei den S7-400-CPUs beträgt die Maximallänge 32 Bytes. Falls bei der Datenübertragung kein Fehler auftrat, werden die gelesenen Daten in den durch RECORD aufgespannten Zielbereich eingetragen.


Ende Zitat:

hol dir mal das Handbuch der CPU :
http://support.automation.siemens.c...search&searchinprim=0&nodeid0=4000024&x=0&y=0

dort solltest du fündig werden

mfg

Stefan
 
Laut Siemensbeitrag Nr 42413

müsste ich 128Bytes lesen können.

Was mir nicht einleuchtet ist die Tatsache, dass die Längenangabe in der Hardwarekonfig und in der Parametrierung identisch ist und egal welche Länge ich eintrage es bleibt immer bei 80B1.

Bin mal gespannt was die Hotline meint.

Guenni
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Fehler 80B1

Der Fehler ist im Slave zu suchen. Der SFC14 liest die Daten nur wenn in den Eigenschaften des Slaves der Eintrag auf Gesamten Bereich ist. Beim Eintrag Einheit kann man nur 2 Byte lesen. Also muss ich mit L PEW -> T DBx.dbwy arbeiten.

Guenni
 
:confused:

Soweit ich weiß, kann die 315 nur um die 12 Byte (keine genaue Angabe).

L PED
T ..D geht ein bisschen schneller :???:

pt
 
Hallo Pt

Die aktuellen CPUs 6ES5 315-2AG10-AB0 sollten 128Bytes können. So stehts zumindest im Support Beitrag 42413.

Mit L PED ist nach Aussage der Hotline die Datenkonsistenz nicht gewährleistet. Aber ich benötige von den 96 Bytes eh nur ca. 10Bytes.

Scheinbar müssen die Slaves auch den "SFC14 Mechanismus" können.
Frag mich nicht wie der aussehen muss aber der Typ von der Hotline meinte dies. Ich habe ihm mein PRojekt gemailt und er fand auch kein Fehler. Bisher hatte ich noch nie Probleme mit dem SFC14. Aber einmal ist das erstemal.

Guenni
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Guenni,
hatte das gleiche Problem mit einer 315-2DP und einer ET200 IM151-7 CPU. Der SFC 14/15 gibt mir den Fehler 80B1 aus. Ich habe am Bus noch zwei DP-Koppler, da gibt es keine Probleme. Zur ET200 CPU will ich 16 Byte lesen/schreiben, ab 4 Byte gibt es den Fehler, ich habe dann auch mit Lade- und Transferoperationen gearbeitet.
Gruß Andre
 
Zuletzt bearbeitet:
Hallo guenni,

..Der SFC14 liest die Daten nur wenn in den Eigenschaften des Slaves der Eintrag auf Gesamten Bereich ist..
Diese Erfahrung habe ich vorgestern auch machen dürfen. In meinem Fällen (Beckhoff BK3150 so wie HMS-AnyBus-Communicator) konnte ich dann "Universalmodule" projektieren, mit Einheit "Byte" und Konsistenz "gesamte Länge", dann ging's auch mit der SFC14.


Gruß, Onkel
 
Zuletzt bearbeitet:
Hallo alle zusammen,
ich hatten dieses Problem (Fehlermeldung 80b1) bis heute auch, konnten es aber mit einer einfachen Einstellung beheben. Allerdings habe ich nur 26 Byte konsistent zu lesen.
Im Adressbereich des Slaves muss der gesamte Eingangsbereich als konsistent definiert werden. Siehe Anhang!
Mit dieser Änderung hat es dann geklappt.

Siehe auch folgenden Link vom Siemens support.
http://support.automation.siemens.com/WW/news/de/21848242
 

Anhänge

  • sample1.pdf
    17,9 KB · Aufrufe: 70
Das mit der Einstellung gesamte Einheit ist soweit schon ok nur sieht Du alt aus wenn der Slave dies nicht unterstützt und nirgens ist ein Hinweis dazu vorhanden. In meinem Fall ist die Einstellung des Slaves fix und du
kannst nur die Adreese verändern.

Guenni
 
Zurück
Oben