# Max Datenlänge von SFC14



## guenni (16 März 2007)

Ich möchte aus einem Slave mit einer CPU 315-2dp 48 Worte konstistent auslesen.
Den SFC 14 habe wie folgt paramentriert:

```
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


----------



## plc_tippser (16 März 2007)

Zielbereich ist in diesem Fall ja dein DB.

Vermute mal, das der zu kurz ist.

pt


----------



## guenni (16 März 2007)

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


----------



## stma77 (16 März 2007)

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


----------



## guenni (16 März 2007)

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


----------



## guenni (20 März 2007)

*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


----------



## plc_tippser (20 März 2007)

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

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

pt


----------



## guenni (20 März 2007)

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


----------



## andre (21 März 2007)

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


----------



## Unregistrierter gast (21 März 2007)

plc_tippser schrieb:


> Soweit ich weiß, kann die 315 nur um die 12 Byte (keine genaue Angabe).
> 
> L PED
> T ..D geht ein bisschen schneller :???:
> ...



Bitte lösch diesen beitrag, der ist völlig unsinnig !!


----------



## plc_tippser (21 März 2007)

Unregistrierter gast schrieb:


> Bitte lösch diesen beitrag, der ist völlig unsinnig !!


 

Warum schreibst du ihn erst, wenn den jemand hinterher löschen soll?


----------



## Unregistrierter gast (21 März 2007)

plc_tippser schrieb:


> Warum schreibst du ihn erst, wenn den jemand hinterher löschen soll?



Ich meinte DEINEN Beitrag mit den 12 Byte.

Wenn das später mal einer liest, hält der uns ja für Idioten !


----------



## plc_tippser (21 März 2007)

Unregistrierter gast schrieb:


> Ich meinte DEINEN Beitrag mit den 12 Byte.
> 
> Wenn das später mal einer liest, hält der uns ja für Idioten !


 

Wieso uns.

Wie groß ist denn der Bereich bei der 315? Verschiedene Ausgabestände bitte. Ich kanns gerade nicht finden, aber da gibt es etwas.

pt


----------



## Unregistrierter gast (21 März 2007)

plc_tippser schrieb:


> Wieso uns.
> 
> Wie groß ist denn der Bereich bei der 315? Verschiedene Ausgabestände bitte. Ich kanns gerade nicht finden, aber da gibt es etwas.
> 
> pt



Für die 315 32 Byte.

Die verschiedenen Ausgabestände muss ich dir schuldig bleiben, 
aber ich wüsste nicht, das ne 315 weniger als 32 Byte hat, wenigstens die "neuen" mit MMC.


----------



## guenni (21 März 2007)

*Daten vom Simenssupport*

Hallo PT

meintest du vielleicht dies siehe Anhang.

guenni


----------



## Onkel Dagobert (21 März 2007)

Hallo guenni,



guenni schrieb:


> ..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


----------



## plc_tippser (22 März 2007)

Unregistrierter gast schrieb:


> Für die 315 32 Byte.
> 
> Die verschiedenen Ausgabestände muss ich dir schuldig bleiben,
> aber ich wüsste nicht, das ne 315 weniger als 32 Byte hat, wenigstens die "neuen" mit MMC.


 
Und bei den ohne MMC liegt das bei 12 oder 14, da bin ich mir ziemlich sicher, wobei ich nicht weiß ob das mit V1.0/V1.1/V1.2 noch unterschiedlich ist.

pt


----------



## Unregistrierter gast (22 März 2007)

*Lesen und löschen*



plc_tippser schrieb:


> Und bei den ohne MMC liegt das bei 12 oder 14, da bin ich mir ziemlich sicher, wobei ich nicht weiß ob das mit V1.0/V1.1/V1.2 noch unterschiedlich ist.
> 
> pt



Nochmals Dank an guenni:

http://www.sps-forum.de/showpost.php?p=76074&postcount=15

Die "AF" ist ohne, die "AG" mit MMC.


----------



## obi (23 März 2007)

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


----------



## guenni (23 März 2007)

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


----------

