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

Ergebnis 1 bis 9 von 9

Thema: SFC22-CREAT_DB - Fragen

  1. #1
    Registriert seit
    24.05.2015
    Ort
    Bamberg
    Beiträge
    69
    Danke
    73
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Grüßt Euch.

    Ich arbeite mich seit gestern in die Erzeugung eines DB´s ein und hätte da zum Erzeugen und zum SFC22 ein paar Fragen, da ich weder in den Büchern, hier im Forum noch in der S7-Hilfe das Richtige gefunden habe:

    Zu Testzwecken habe ich mal den SFC22 in den OB1 eingebunden.
    (Hinweis: Ich arbeite mit der 315-2DB (in der Harware konfiguriert), mit S7 v5.5 und PLCSIM V5.4)

    Wenn ich alles richtig verstanden habe, dann gebe ich dem SFC22 vor, dass

    1. der DB50 erzeugt werden soll (weil up und low den Wert 50 bekommen)

    2. 3 Werte angelegt werden sollen (Count=3)

    Und der SGC22 zeigt mir, dass

    3. kein Fehler anliegt (MW14 zeigt "0")

    Leider verstehe ich nun nicht, warum der Ausgang "DB_Nr_ausgabe" "0" anzeigt und nicht 50.
    Wenn ich die 3 Werte abfrage, steht auch nur "0" drin und nicht irgendwelche Werte (so, wie es in den Büchern beschrieben ist).

    Was mache ich falsch?

    Und nun noch zwei Fragen:
    Wie kann ich während der Laufzeit einen DB erzeugen, der dann auch offline besteht?
    (also im SIMATIC-Manager in meinem Prog in Bausteine unter OB1, SFC22 zu finden ist)

    und

    warum finde ich in der Bibliothek keine -in den Büchern beschriebene- SFC82 und SFC85 ?
    Liegt es evtl. daran, dass das diese CPU (315-2DB) nicht kann?

    Besten Dank im Voraus.

    LG SPS-Fee
    SFC22.jpg
    Geändert von SPS-Fee (18.04.2016 um 13:25 Uhr)
    Zitieren Zitieren SFC22-CREAT_DB - Fragen  

  2. #2
    Registriert seit
    15.04.2009
    Ort
    Nordsachsen
    Beiträge
    252
    Danke
    171
    Erhielt 105 Danke für 97 Beiträge

    Standard

    Hallo SPS-Fee,

    Dein Bild zeigt einen Fehlerstatus mit der Info, dass die Anzahl der zu erstellenden Bytes (MW12) gerade sein soll.

    Ein DB wird im Arbeitsspeicher der CPU erzeugt. Offline verfügbar wird er erst, wenn die Online-Version geöffnet und gespeichert wird.

    Grüße

    Ralph

  3. #3
    Registriert seit
    24.05.2015
    Ort
    Bamberg
    Beiträge
    69
    Danke
    73
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke dir.
    Da war zuvor eine 30 gestanden, hatte aber das gleiche Ergebnis (keine DB-Nr).

    Hier das Bild:
    SFC22_1.jpg

    Wo kann ich eigentlich zu der angezeigten Fehler-Nr. die dazugehörigen Fehler in Klartext nachlesen?

    Kannst du mir das bitte mit dem Speichern (öffnen und speichern der Online-Version) an einem Beispiel erklären?

    Besten Dank
    Geändert von SPS-Fee (18.04.2016 um 13:47 Uhr)

  4. #4
    Registriert seit
    15.04.2009
    Ort
    Nordsachsen
    Beiträge
    252
    Danke
    171
    Erhielt 105 Danke für 97 Beiträge

    Standard

    Die Doku zu der SFC kann z.B. durch Markieren des SFC-Aufrufes und Drücken von <F1> geöffnet werden. Der zweite Weg ist die Siemens-Dokumentation und da das Dokument "System- und Standardfunktionen für S7-300 und 400".

    Das Bild in Beitrag #3 zeigt eine andere Fehlernummer und besagt, dass die DB-Nummer nicht mehr frei ist. Ein zyklischer Aufruf dieser SFC macht keinen Sinn, da der DB nur einmal erzeugt werden kann.

    Die Online-Ansicht erreicht man über die Schaltfläche Online im Simatic-Manager bzw. dem Menü Ansicht -> Online. Im geöffneten Fenster sollte der DB50 aufgeführt sein.

    Grüße

    Ralph

  5. #5
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.334
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard

    Ebenfalls laut der Hilfe:

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

    Am besten den SFC22 im OB100 Neustart aufrufen, dann wird er nur 1 mal beim Neustart der Steuerung durchlaufen ...


    Wegen der Frage, SFC82 / SFC85
    Sind diese Online vorhanden? Kann sein das diese evtl. vom BS eingerichtet werden bzw vorhanden sind.

    Vorhanden sind diese jedenfalls in der Standrad Library (stdlib30) ... Die ist im Siematic Manager unter Datei -> öffnen -> Bibilotheken normal vorhanden ...
    Von dort kann man sie sich in sein Projekt holen und verwenden wenn man diese benötigt ...
    Geändert von Boxy (18.04.2016 um 15:36 Uhr)

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  6. #6
    Registriert seit
    24.05.2015
    Ort
    Bamberg
    Beiträge
    69
    Danke
    73
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von RGerlach Beitrag anzeigen
    Die Doku zu der SFC kann z.B. durch Markieren des SFC-Aufrufes und Drücken von <F1> geöffnet werden.
    Genau das habe ich noch benötigt. Besten Dank

    Zitat Zitat von RGerlach Beitrag anzeigen
    Das Bild in Beitrag #3 zeigt eine andere Fehlernummer und besagt, dass die DB-Nummer nicht mehr frei ist. Ein zyklischer Aufruf dieser SFC macht keinen Sinn, da der DB nur einmal erzeugt werden kann.
    Klar, der DB soll ja beim 2. Zyklus erneut erzeigt werden, was dann den Fehler erzeugt, weil der DB ja schon besteht.
    Hätte man bei klaren Kopf selbst drauf kommen können/müssen

    Zitat Zitat von RGerlach Beitrag anzeigen
    Die Online-Ansicht erreicht man über die Schaltfläche Online im Simatic-Manager bzw. dem Menü Ansicht -> Online. Im geöffneten Fenster sollte der DB50 aufgeführt sein.
    Grüße Ralph
    Jawoll, da ist er
    Kann ihn aus dem Online-Fenster in mein Offline-Fenster ziehen und öffnen.
    Folgendes wird dann angezeigt:
    DB50.jpg
    Ist das so Ok ?


    Zitat Zitat von Boxy Beitrag anzeigen
    Ebenfalls laut der Hilfe:
    COUNT:
    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.
    War mir klar, hatte sich ein Tippfehler eingeschlichen.

    Zitat Zitat von Boxy Beitrag anzeigen
    Am besten den SFC22 im OB100 Neustart aufrufen, dann wird er nur 1 mal beim Neustart der Steuerung durchlaufen ...
    Ja klar, einmal erzeigen reicht ja voll und ganz

    Zitat Zitat von Boxy Beitrag anzeigen
    Wegen der Frage, SFC82 / SFC85
    Sind diese Online vorhanden? Kann sein das diese evtl. vom BS eingerichtet werden bzw vorhanden sind.
    Vorhanden sind diese jedenfalls in der Standrad Library (stdlib30) ... Die ist im Siematic Manager unter Datei -> öffnen -> Bibilotheken normal vorhanden ...
    Von dort kann man sie sich in sein Projekt holen und verwenden wenn man diese benötigt ...
    Jep, sie sind vorhanden.
    Ich ging auf urlöschen und habe alles neu geladen, dann war alles gesuchte da.


    Besten Dank an Euch Beiden.

    Weiter gehts im dreivierteltakt

    LG SPS-Fee

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von SPS-Fee Beitrag anzeigen
    Folgendes wird dann angezeigt:
    DB50.jpg
    Ist das so Ok ?
    Ja, das ist normal so. Unter anderem weil ein mit SFC22 erzeugter DB so ein unstrukturiertes Byte-Array ist, macht man das Anlegen von DB zur Laufzeit normalerweise nicht. Es gibt nur sehr wenige Fälle wo das wirklich nötig ist.


    Will man einen SFC im Programm einfügen, dann muß man den nicht vorher in der Bibliothek suchen. Man kann im AWL-Editor direkt tippen "call sfc82" - dann wird er automatisch ins Projekt eingefügt. Beim Laden in die CPU prüft dann die CPU ob aufgerufene SFC überhaupt vorhanden sind und lehnt ggf. das Laden des Bausteins ab.


    Die SFC82 und SFC85 siehst Du online, weil Du mit PLCSIM arbeitest und PLCSIM unterstützt vorsichtshalber alles. Den SFC82 haben nur CPU, welche eine MMC haben. Und den SFC85 - ich kann mich auf Anhieb nicht erinnern, welche reale CPU den wirklich hat. Eventuell findet man die Angabe im Operationshandbuch der CPUs

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    SPS-Fee (18.04.2016)

  9. #8
    Registriert seit
    24.05.2015
    Ort
    Bamberg
    Beiträge
    69
    Danke
    73
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Ja, das ist normal so. Unter anderem weil ein mit SFC22 erzeugter DB so ein unstrukturiertes Byte-Array ist, macht man das Anlegen von DB zur Laufzeit normalerweise nicht. Es gibt nur sehr wenige Fälle wo das wirklich nötig ist.
    Harald
    Danke Harald.

    Mein Grundgedanke war (als ich mich etwas mit DB´s auseinandersetzte), dass ich, wenn ich z.B. einen DB mit 100 Werten benötige, den DB nicht von Hand, also Zeile für Zeile eingeben möchte, sondern ihn bequem von einem kleinen Prog erstellen lasse.
    Aber ich sehe schon, man kommt mit dem SFC22 nicht wirklich vernünftig weiter.
    Ich muss mich da weiter in Strukturen etc. einarbeiten, weil in so einen DB ja diverse Werttypen stehen können, wie z.B. 5x Int, 10x real, 20x Word etc.

    Da gibt es bestimmt geeignete Wege um solche DB sinnvoll zu estellen.

    Da muss ich mich aber selbst reinarbeiten, denn von Nichts kommt Nichts

    LG
    SPS-Fee

  10. #9
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.334
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von SPS-Fee Beitrag anzeigen
    Ich muss mich da weiter in Strukturen etc. einarbeiten, weil in so einen DB ja diverse Werttypen stehen können, wie z.B. 5x Int, 10x real, 20x Word etc.

    Da gibt es bestimmt geeignete Wege um solche DB sinnvoll zu estellen.
    Da kann man sich ggf einen UDT welchen man zB mittels Array und Struct's aufbaut erstellen.
    Dann in der Symboltabelle entsprechend den DB als Typ von UDT deklarieren ...

    Somit hat man Offline die Symbolik und Kommentare zum Programmieren ohne das der DB zB eingerichtet ist.

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  11. Folgender Benutzer sagt Danke zu Boxy für den nützlichen Beitrag:

    SPS-Fee (19.04.2016)

Ähnliche Themen

  1. Step 7 SCL - Auf mit SFC 22 CREAT_DB erzeugten DB zugreifen
    Von KurtKalle im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 25.11.2014, 23:43
  2. Step 7 SCL Aufruf des SFC22
    Von BlueDogi im Forum Simatic
    Antworten: 47
    Letzter Beitrag: 11.07.2014, 12:49
  3. Sfc22 sfc85
    Von OB1 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 16.02.2009, 18:04
  4. CREAT_DB . COUNT / Mit WORD rechnen
    Von cosmomaster im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 17.03.2008, 13:22
  5. SFC22 parametrieren
    Von liquid im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 11.03.2008, 09:13

Lesezeichen

Berechtigungen

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