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

Results 1 to 3 of 3

Thread: S7 SCL und globale Daten

  1. #1
    Join Date
    11.12.2008
    Posts
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Erstmal ein Hallo an alle,
    dies ist mein erster Beitrag in diesem Forum, ich hoffe ich mache mich nicht gleich unbeliebt.

    Ich will ein Zustandsautomaten für eine Waschmaschine realisieren. Jetzt habe ich einige Teile (Drehen, Pumpen, Zulauf) Ausgelagert in FCs. Erstmal ist mir nicht ganz klar wie ich Variablen austauschen kann (globale DB und dann immer beispielsweise DBx.var1 := true ??).
    Nächstes Problem ist, dass ich z.b. in der FC für die Drehung timer laufen lasse. Also die FC drehen wird aufgerufen mit Parameter für Richtung und Geschwindigkeit. Dann soll eine vordefinierte Zeit gedreht werden, anschließend wird der Motor gestoppt und ich will erneut die FC mit einer anderen Drehrichtung aufrufen. Nur wie kann ich abfragen, ob der vorherige Timer schon abgelaufen ist? Ich wollte das mit Rückgabewerten machen. Also die Funktion liefert ein true zurück, wenn der Motor wieder steht und anschließend kann ich die Funktion erneut aufrufen (bzw. einen Zustandswechsel auslösen). Könnte man das eleganter machen?

    Hoffe ihr versteht mich. Danke schonmal...

    Gruß
    Philipp
    Reply With Quote Reply With Quote S7 SCL und globale Daten  

  2. #2
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    14,028
    Danke
    789
    Erhielt 3,223 Danke für 2,284 Beiträge

    Default

    Also es gibt wie immer viele Möglichkeiten.
    Du kannst natürlich globale DB nutzen.
    Du kannst in FC und FB IN- Out- und INOUT-Parameter definieren. Wenn die FC/FB dann aufgerufen werden kannst du an diese Parameter deine zu übergebenden Variablen antragen. So kann dann auch ein FC mehrere Outputs haben, u.a. auch eine Bool, daß der Timer abgelaufen ist.
    Du kannst deine zu übergebenden Daten auch zu Strukturen oder als UDT zusammenfassen und diese dann zur Definition als IN/OUT/INOUT nutzen. Wenn du diese Strukturen bzw. UDT dann auch in deinen Globalen DB definierst, brauchst du nicht mehr allzu viele IN/OUT-Parameter in den FC/FB definieren sondern nutzt z.Bsp. eine UDT im globalen DB und je eine UDT in den FC. Die UDT-Var des globalen UDT kannst du dann an Den FC als z.Bsp. INOUT antragen und so alle deine Variablen in den FC hinein und aus ihm herausbekommen. Vorteil, in dem FC/FB gelten weiterhin die im UDT angelegten Variabennamen. Lies dir da mal in der Step7-Hilfe genauer durch, kannst dann auch hier weiterfragen.

    PS: Wenn du Timer nutzt, ist es sinnvoll FB zu nutzen (die haben durch ihren Instanz-DB sowas wie lokale statische Variablen) und darin aus der IEC-Library von Step7 die Timer TON/TOFF als Statische Variablen zu deklarieren und zu nutzen. Diese Timer nehmen einen Zeitwert in ms entgegen. Willst du einen FB mehrmals benutzen ist das einfach möglich, indem man jeder FB-Instanz einen eigenen Instanz-DB zuordnet. In diesem Falle ist es eh nicht gut, normale S5-Timer zu nutzen, da diese nur einmal aufgerufen werden dürfen!
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,737
    Danke
    442
    Erhielt 2,631 Danke für 2,173 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... ich kann dem Beitrag von Ralle (vor Allem dem, was ab "PS:" steht) nur zustimmen.
    Wenn man SCL an den Start bringt um damit Abläufe zu erstellen, so ist es m.E. eher sinnvoll mit FB's und damit den verbundenen "eigenen" Variablen zu arbeiten. Das ist z.B. für den Einsatz von Timern ganz sinnvoll (SFB3 .. 5), aber auch für alle ablaufrelevanten Daten ...

    Gruß
    LL

Similar Threads

  1. DB mit SCL erstellen und Daten hineinschreiben
    By firecases in forum Programmierstrategien
    Replies: 3
    Last Post: 16.11.2017, 12:41
  2. Replies: 2
    Last Post: 24.08.2012, 09:44
  3. Globale Konstanten in SCL-Quellen
    By Aventinus in forum Simatic
    Replies: 5
    Last Post: 16.08.2012, 12:42
  4. MPI Globale Daten
    By WUZZEBUPPES in forum Simatic
    Replies: 3
    Last Post: 16.06.2009, 15:28
  5. globale DB in SCL
    By reiki in forum Simatic
    Replies: 0
    Last Post: 30.08.2006, 09:50

Tags for this Thread

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
  •