Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 1 of 5 123 ... LastLast
Results 1 to 10 of 44

Thread: Sfc 14/15

  1. #1
    Join Date
    29.10.2008
    Posts
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,

    ich bekomme die Kommunikation über die Bausteine SFC 14/15 nicht hin,
    vielleicht kann mir jemand die wichtigsten Aspekte zusammen fassen oder mich auf nen Fehler hinweisen.
    Für SFC14:
    Am Eingang EN muss eine positive Flanke anliegen.
    Laddr die Peripherieadresse des Slaves, in meinem Fall 256 --> w#16#100
    Was an ret_val hin muss weiß ich nicht. An record hab ich bei mir DB2 genommen, Zustandswort.

    Für SFC15:
    EN pos. Flanke
    Laddr wieder w#16#100
    record DB1 bei mir Steuerwort
    und was bei ret_val hin muss weiß ich nicht.

    Ich hab die beiden Bausteine in eine Funktion geschrieben und sie im OB aufgerufen.
    Warum funktioniert das nicht?

    Mit freundlichen Grüßen
    Gunnar
    Reply With Quote Reply With Quote Sfc 14/15  

  2. #2
    Join Date
    06.01.2005
    Location
    im schönen Lipperland
    Posts
    5,003
    Danke
    617
    Erhielt 1,266 Danke für 824 Beiträge

    Default

    aus der Siemens-Hilfe

    Zweck der SFC 14

    Sie benötigen die SFC 14 "DPRD_DAT", weil Sie mit den Ladebefehlen, die auf die Peripherie bzw. auf das Prozeßabbild der Eingänge zugreifen, maximal vier Bytes zusammenhängend auslesen können.

    HinweisSie können konsistente Daten ggf. auch über das Prozeßabbild der Eingänge einlesen.
    Ob Ihre S7-300-CPU diese Funktionalität beherrscht, können sie dem Handbuch Automatisierungssystem S7-300: Aufbauen entnehmen.
    Alle S7-400-CPUs beherrschen diese Funktionalität.
    VorsichtVermeiden Sie bei Verwendung der SFC 14 "DPRD_DAT" Zugriffe auf Peripheriebereiche, denen Teilprozeßabbilder mit OB6x-Anbindung (Taktsynchronalarme) zugeordnet sind.
    Beschreibung

    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 entnehmen Sie die Maximallänge dem Handbuch Automatisierungssystem S7-400 CPU-Daten. Falls bei der Datenübertragung kein Fehler auftrat, werden die gelesenen Daten in den durch RECORD aufgespannten Zielbereich eingetragen.

    Der Zielbereich muß dieselbe Länge aufweisen, die Sie für die selektierte Baugruppe mit STEP 7 projektiert haben.

    Bei einem DP-Normslave mit modularem Aufbau bzw. mit mehreren DP-Kennungen können Sie mit einem SFC 14-Aufruf jeweils nur auf die Daten einer Baugruppe/ DP-Kennung unter der projektierten Anfangsadresse zugreifen.


    HinweisEin Zugriff mit der SFC 14 "DPRD_DAT" ist nur auf drei oder mehr als 4 Byte lange Datenbereiche möglich. Andernfalls wird ein Zugriff mit dem Fehlercode W#16#8090 abgewiesen.
    Parameter Dekla-
    ration Daten-
    typ Speicherbereich Beschreibung
    LADDR INPUT WORD E, A, M, D, L, Konst. Projektierte Anfangsadresse aus dem E-Bereich der Baugruppe, aus der gelesen werden soll.Hinweis:
    Adresse muß hexadezimal angegeben werden. Z.B. Anfangsadresse 100 bedeutet: LADDR:=W#16#64.
    RET_VAL OUTPUT INT E, A, M, D, L Tritt während der Bearbeitung der Funktion ein Fehler auf, enthält der Rückgabewert einen Fehlercode.
    RECORD OUTPUT ANY E, A, M, D, L Zielbereich für die gelesenen Nutzdaten. Er muß genauso lang sein, wie Sie für die selektierte Baugruppe mit STEP 7 projektiert haben. Es ist nur der Datentyp BYTE zulässig.
    Fehlerinformationen

    HinweisFalls Sie auf DPV1-Slaves zugreifen, können Fehlerinformationen dieser Slaves vom DP-Master an die SFC weitergereicht werden. Zur Beschreibung dieser Fehlerinformationen siehe Alarm von einem DP-Slave empfangen mit dem SFB 54 "RALRM" STATUS[3].
    Fehlercode
    (W#16#...) Erläuterung
    0000 Es ist kein Fehler aufgetreten.
    8090 · Für die angegebene logische Basisadresse haben sie keine Baugruppe projektiert, oder · Sie haben die Einschränkung über die Länge der konsistenten Daten nicht beachtet, oder· Sie haben die Anfangsadresse im Parameter LADDR nicht hexadezimal angegeben.
    8092 In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben.
    8093 Für die unter LADDR angegebene logische Adresse existiert keine DP-Baugruppe/kein PROFINET IO-Device, von der/dem Sie konsistente Daten lesen können.
    80A0 Beim Zugriff auf die Peripherie wurde ein Zugriffsfehler erkannt
    80B0 Slaveausfall an externer DP-Anschaltung
    80B1 Die Länge des angegebenen Zielbereichs ist ungleich der mit STEP 7 projektierten Nutzdatenlänge.
    80B2 Systemfehler bei externer DP-Anschaltung
    80B3 Systemfehler bei externer DP-Anschaltung
    80C0 Die Daten wurden noch nicht von der Bauguppe gelesen
    80C2 Systemfehler bei externer DP-Anschaltung
    80Fx Systemfehler bei externer DP-Anschaltung
    87xy Systemfehler bei externer DP-Anschaltung
    808x Systemfehler bei externer DP-Anschaltung
    8xyy allgemeine Fehlerinformation, siehe Fehlerauswertung mit dem Ausgangsparameter RET_VAL
    Früher gab es Peitschen .... heute Terminkalender

  3. #3
    Join Date
    29.09.2008
    Location
    Land der Frühaufsteher
    Posts
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Default

    Hallo,

    die Bedeutung der Parameter erfährst du in der Online-Hilfe (SFC mit der Maus anklicken und F1 drücken. Ob es dann funzt hängt u.a. auch von der Hardware ab.
    CPU-interne Schnittstelle --> geht
    Schnittstelle über CP --> geht nicht.

    Vielleicht stellst du mal hier deinen Code rein und ein paar Infos über den Kommunikationsweg wären auch nicht schlecht.
    MfG
    FrankW

    ....Wer lesen kann ist klar im Vorteil.....

  4. #4
    Join Date
    29.10.2008
    Posts
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Danke erstmal die Siemenshilfe zu den Bausteinen hab ich allerdings schon gelesen. Hilft mir jetzt nicht unbedingt weiter, weil ich es im Detail nicht verstehe.
    Die Kommunikation zu meinen Slave hat schon hingehauen indem ich das Steuerwort mittels move-Baustein direkt an den Slave übertragen hab, wenn ich aber mehr als 2 Worte übertragen möchte geht das ja irgendwie nicht mehr.
    Also noch mal, kann mir irgend jemand ein paar nützliche Hinweise geben wie das von statten geht, jetzt kommt bei meinem Slave nichts an.
    Hab mal ein Bild von der Funktion dran gehängt die ich geschrieben hab.
    MFG Gunnar
    Attached Images Attached Images

  5. #5
    Join Date
    29.10.2008
    Posts
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich versuche eine Verbindung zw. CPU 314-2dp und Simoreg über Profibus herzustellen.

    Was bedeutet:"CPU-interne Schnittstelle --> geht
    Schnittstelle über CP --> geht nicht" ?

    Außerdem ist mein Problem das ich aus der Hilfe zu den Parametern nicht schlau werd, wie zum Beispiel bei ret_val.

  6. #6
    Join Date
    29.09.2008
    Location
    Land der Frühaufsteher
    Posts
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Default

    Was bedeutet:"CPU-interne Schnittstelle --> geht
    Schnittstelle über CP --> geht nicht" ?

    http://support.automation.siemens.co...ew/de/21628388

    Bedeutet: bei CP nicht mit SFC14/15!
    Last edited by FrankW; 02.12.2008 at 12:05.
    MfG
    FrankW

    ....Wer lesen kann ist klar im Vorteil.....

  7. #7
    Join Date
    29.10.2008
    Posts
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Na gut da ich CPU314c-2dp hab müsste es ja gehen?!

  8. #8
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default

    was steht denn im RET_VAL?
    "arbeite klug, nicht hart" - deutsches Sprichwort

  9. #9
    Join Date
    29.10.2008
    Posts
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    In der Hilfe zum SFC 15 steht zum beispiel

    RET_VAL OUTPUT INT E, A, M, D, L Tritt während der Bearbeitung der Funktion ein Fehler auf, enthält der Rückgabewert einen Fehlercode.

    Ret_val ist vom Datentyp Int.

    Hab ich möglicherweise den record Parameter falsch bezeichnet, (datentyp any)?
    mfg gunnar

  10. #10
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    mich interessiert, was für ein WERT!!! in deinem MW (verschaltet an RET_VAL) steht.
    "arbeite klug, nicht hart" - deutsches Sprichwort

Similar Threads

  1. Step 7 SFC 15/ SFC 14 Datenaustasch FUP
    By webcool in forum Simatic
    Replies: 18
    Last Post: 12.02.2016, 13:22
  2. Sfc 20 blkmv; sfc 21 fill
    By Rauchegger in forum Simatic
    Replies: 6
    Last Post: 28.10.2011, 11:59
  3. Probleme mit SFC 14 / SFC 15 in FB
    By smartie in forum Simatic
    Replies: 71
    Last Post: 16.02.2010, 12:01
  4. Allgemein zu SFC 22 und SFC 24
    By Einsteiger in forum Simatic
    Replies: 1
    Last Post: 09.01.2006, 14:47
  5. Replies: 2
    Last Post: 16.08.2005, 17:23

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •