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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: SFC22 parametrieren

  1. #1
    liquid Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Board,

    ich habe am Donnerstag Prüfung und nun hänge ich bei den SFC Übungen total durch.
    Kann mir vielleicht jemand sagen wie ich den SFC22 parametrieren muss und ob ich das Programm dann auch mit PLC-SIM testen kann (was sonst eigentlich immer geht)???
    In meinen Unterlagen steht so gut wie nichts über SFC´s und SFB´s drin außer woher die kommen.


    CPU 314 IFM
    S7 5.2

    CU

    Liquid
    Zitieren Zitieren Gelöst: SFC22 parametrieren  

  2. "eschreibung

    Mit der SFC 22 "CREAT_DB" (create data block) erzeugen Sie im Anwenderprogramm einen Datenbaustein, der keine vorbesetzten Werte enthält. Er enthält stattdessen Zufallsdaten. Die SFC erzeugt einen Datenbaustein mit einer Nummer aus einem angegebenen Bereich sowie mit vorgegebener Größe. Aus dem angegebenen Bereich vergibt die SFC die kleinste mögliche Nummer an den DB. Einen DB mit bestimmter Nummer erzeugen Sie, indem Sie der Ober- und Untergrenze des vorzugebenden Bereichs die gleiche Nummer geben. Die Nummern der im Anwenderprogramm bereits enthaltenen DBs können Sie nicht mehr vergeben. Die Länge des DBs müssen Sie in einer geraden Zahl angeben.

    Unterbrechbarkeit

    Die SFC 22 "CREAT_DB" kann unterbrochen werden durch höherpriore OBs. Wenn in einem höherprioren OB wiederum eine SFC 22 "CREAT_DB" aufgerufen wird, wird dieser Aufruf mit dem Fehlercode W#16#8091 abgewiesen.


    Parameter Deklaration Datentyp Speicherbereich Beschreibung
    LOW_LIMIT INPUT WORD E, A, M, D, L, Konst. Der untere Grenzwert ist die kleinste Nummer in dem Bereich der Nummern, die Sie Ihrem Datenbaustein zuordnen können.

    UP_LIMIT INPUT WORD E, A, M, D, L, Konst. Der obere Grenzwert ist die größte Nummer in dem Bereich der Nummern, die Sie Ihrem Datenbaustein zuordnen können.

    COUNT INPUT WORD E, A, M, D, L, Konst. Der Zählwert gibt die Anzahl der Datenbytes an, die Sie für ihren Datenbaustein reservieren möchten. Sie müssen hier eine gerade Zahl an Bytes (maximal 65534) angeben.

    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.

    DB_NUMBER OUTPUT WORD E, A, M, D, L Die Datenbausteinnummer ist die Nummer des erstellten Datenbausteins. Im Fehlerfall (Bit 15 von RET_VAL wurde gesetzt) wird in DB_NUMBER der Wert 0 eingetragen."


  3. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    eschreibung

    Mit der SFC 22 "CREAT_DB" (create data block) erzeugen Sie im Anwenderprogramm einen Datenbaustein, der keine vorbesetzten Werte enthält. Er enthält stattdessen Zufallsdaten. Die SFC erzeugt einen Datenbaustein mit einer Nummer aus einem angegebenen Bereich sowie mit vorgegebener Größe. Aus dem angegebenen Bereich vergibt die SFC die kleinste mögliche Nummer an den DB. Einen DB mit bestimmter Nummer erzeugen Sie, indem Sie der Ober- und Untergrenze des vorzugebenden Bereichs die gleiche Nummer geben. Die Nummern der im Anwenderprogramm bereits enthaltenen DBs können Sie nicht mehr vergeben. Die Länge des DBs müssen Sie in einer geraden Zahl angeben.

    Unterbrechbarkeit

    Die SFC 22 "CREAT_DB" kann unterbrochen werden durch höherpriore OBs. Wenn in einem höherprioren OB wiederum eine SFC 22 "CREAT_DB" aufgerufen wird, wird dieser Aufruf mit dem Fehlercode W#16#8091 abgewiesen.


    Parameter Deklaration Datentyp Speicherbereich Beschreibung
    LOW_LIMIT INPUT WORD E, A, M, D, L, Konst. Der untere Grenzwert ist die kleinste Nummer in dem Bereich der Nummern, die Sie Ihrem Datenbaustein zuordnen können.

    UP_LIMIT INPUT WORD E, A, M, D, L, Konst. Der obere Grenzwert ist die größte Nummer in dem Bereich der Nummern, die Sie Ihrem Datenbaustein zuordnen können.

    COUNT INPUT WORD E, A, M, D, L, Konst. Der Zählwert gibt die Anzahl der Datenbytes an, die Sie für ihren Datenbaustein reservieren möchten. Sie müssen hier eine gerade Zahl an Bytes (maximal 65534) angeben.

    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.

    DB_NUMBER OUTPUT WORD E, A, M, D, L Die Datenbausteinnummer ist die Nummer des erstellten Datenbausteins. Im Fehlerfall (Bit 15 von RET_VAL wurde gesetzt) wird in DB_NUMBER der Wert 0 eingetragen.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren aus der online hilfe von step 7  

  4. #3
    liquid Gast

    Standard

    Danke, aber das entspricht etwa der Hilfe von S7.
    Das hilft mir nicht so richtig weiter.
    Hier mal ein kleiner Auszug aus der Aufgabenstellung:

    Erstellen sie den Datenbaustein DB 22 mit hilfe des SFC22 mit einer Länge von 40 Datenbytes.
    Wenn ich den SFC22 aufrufe sieht das dann wie folgt aus:

    CALL "CREAT_DB"
    LOW_LIMIT:=***
    UP_LIMIT :=***
    COUNT :=***
    RET_VAL :=***
    DB_NUMBER:=***
    Was genau muss ich an den mit Sternchen (***) makierten Stellen eintragen.

    CU

    Liquid

  5. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    LOW_LIMIT = 22
    UP_LIMIT = 22
    COUNT = 44
    RET_VAL = MW240
    DB_NUMBEr = MW242
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren das steht doch genau in der hilfe!!!  

  6. #5
    Anonymous Gast

    Standard

    Hallo,

    parametriert könnte der SFC so aussehen.

    Gruß

    bs


    VAR
    tRET_VAL : INT; //Fehlernummer, siehe Hilfe falls DB schon existiert
    DB_NUMBER : INT; //nicht Notwendig, weil nur DB 22 erzeugt wird

    END_VAR


    CALL "CREAT_DB"
    LOW_LIMIT:=22
    UP_LIMIT :=22
    COUNT :=40
    RET_VAL :=_ret_val
    DB_NUMBER:=***

  7. #6
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    so muss das aussehen

    Code:
          CALL  SFC   22
           LOW_LIMIT:=W#16#0
           UP_LIMIT :=W#16#0
           COUNT    :=W#16#0
           RET_VAL  :=MW100
           DB_NUMBER:=MW102
          NOP   0
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #7
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    okok...

    hab heute auch mal die infos durchgelsen...

    verwende nächstes mal auch das code tag!!!

    mfg.
    jochen
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren okok...  

  9. #8
    liquid Gast

    Standard

    Danke für die Hilfe, aber KEINE euerer Anweisungen funktioniert.

    Ich kann keine ganzen Zahlen eingeben, wie z.B.:

    LOW_LIMIT = 22
    UP_LIMIT = 22
    COUNT = 44

    Auch die Variante mit Hex habe ich probiert:

    LOW_LIMIT:=W#16#0
    UP_LIMIT :=W#16#0
    COUNT :=W#16#0

    geht auch nicht.

    Dann habe ich folgendes versucht:

    LOW_LIMIT:=W#16#0
    UP_LIMIT :=W#16#16
    COUNT :=W#16#0

    auch kein Erfolg. Ich weiss echt nicht mehr weiter.

    Den Call mache ich übrigens im OB1, da ich dort auch bei meinen anderen Übungen meine DBs aufrufe.

    CU

    Liquid
    Zitieren Zitieren Ich glaub ich schnall es nicht  

  10. #9
    Registriert seit
    26.07.2004
    Beiträge
    87
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    habs zwar nicht probiert, aber ich würde mal bei count nen wert reinschreiben.

  11. #10
    liquid Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Macht auch keinen Unterschied. Habe ich gerade versucht.

    Trotzdem Danke

Ähnliche Themen

  1. 2 – 10V Parametrieren
    Von David AU im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.04.2010, 11:17
  2. Sfc22 sfc85
    Von OB1 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 16.02.2009, 18:04
  3. PID Parametrieren
    Von s.leuschke im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 09.09.2008, 10:21
  4. CP 544 neu parametrieren
    Von William700 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 05.05.2008, 12:10
  5. FC1 und FC2 parametrieren
    Von Kojote im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.10.2004, 15:12

Lesezeichen

Berechtigungen

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