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

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 44

Thema: Sfc 14/15

  1. #1
    Registriert seit
    29.10.2008
    Beiträge
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    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
    Zitieren Zitieren Sfc 14/15  

  2. #2
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.494
    Danke
    502
    Erhielt 1.145 Danke für 738 Beiträge

    Standard

    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
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    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
    Registriert seit
    29.10.2008
    Beiträge
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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
    Angehängte Grafiken Angehängte Grafiken

  5. #5
    Registriert seit
    29.10.2008
    Beiträge
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    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!
    Geändert von FrankW (02.12.2008 um 12:05 Uhr)
    MfG
    FrankW

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

  7. #7
    Registriert seit
    29.10.2008
    Beiträge
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

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

  8. #8
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    673
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

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

  9. #9
    Registriert seit
    29.10.2008
    Beiträge
    35
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    673
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard


    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

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •