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

Ergebnis 1 bis 4 von 4

Thema: Erstellen von Blöcken mit SCL-Programmierung

  1. #1
    Registriert seit
    05.05.2008
    Beiträge
    5
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Bin ein Neuling auf dem Gebiet der SCL-Programmierung und habe auch schon das Forum durchforstet, jedoch ohne Erfolg.

    Ich will mit SCL meine eigenen Blöcke entwerfen, die dann mehrmals in einem Programm verwendet werden sollen.
    Jetzt habe ich eine Funktion geschrieben, die auch funktioniert, wenn ich sie einmalig in einem FC aufrufe.
    // Die Rampenfunktion ist vergleichbar mit einem I_Regler.
    // Es wird die Differenz zwischen den Eingängen SP_AI und PID_AI
    // gebildet und durch den TEILER dividiert. Abhängig von dem TAKT
    // wird der AUS_AI um den Faktor in TEILER-Schritten erhöht oder
    // verringert.

    Wenn ich dieselbe Funktion nochmal im FC aufrufe, bekomme ich an meinem Ausgang keine sinnvollen Werte ausgegeben.

    Hier mal ein kleiner Ausschnitt des Programms:

    // Start des Timers bei Änderung des Setpoints
    IF Flag THEN
    CurrTime:= S_ODT (T_NO:=1, S:=T_Start, TV:=TAKT, Q:=Ausg_T);

    // Aktion, wenn neuer Setpoint größer als aktueller Rückgabewert des Reglers
    IF PID_AI >= SP_AI THEN
    GOTO Sprung1;
    END_IF;

    IF Ausg_T THEN
    Speicher := (Speicher + Faktor) ;
    AUS_AI := Speicher ;
    Faktor1 := (Faktor1-1.0);
    T_Start := 0;
    ELSE
    T_Start := 1;
    END_IF;

    Meine Frage ist nun, muss ich eine andere Art von Timern benutzen, da im Akku sonst Chaos herrscht. Muss ich mit DBs arbeiten? Ich habe hier nur eine normale Variablendeklarierung vorgenommen.

    Wenn ich z.B: den SFB4 einfüge in einem Programm, muss ich ja einen DB angeben, mit dem dieser FB dann arbeitet. Wenn ich also 2 SFB4 einfüge benötige ich ja dann auch 2 verschiedene DBs. Wie kann ich sowas in SCL programmieren, dass ich beim Einfügen des FC jeweils einen anderen DB dafür verwende?

    Ich teste die FC zur Zeit nur mit PLCSIM. Kann die Simulation das?

    Danke schonmal im voraus!
    Zitieren Zitieren Erstellen von Blöcken mit SCL-Programmierung  

  2. #2
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Dein Problem hat wenig mit SCL zu tun. Grundsätzlich gilt das ein FC eben nur temporäre lokale Variablen bereitstellt.

    Du solltest lieber einen FB verwenden und in diesem FB legst Du dann Instanzen von dem SFB als statische lokale Variablen an.
    Das ganze ist dann eine Multiinstanz und Du musst dann nur bei dem Aufruf Deines selbst geschriebenen FBs einen DB vergeben.
    Komm und wecke den Teufel unter meiner Schädeldecke. Das Chaos hat die Macht!

  3. Folgender Benutzer sagt Danke zu BoxHead für den nützlichen Beitrag:

    Jolly_Jumper (11.05.2009)

  4. #3
    Jolly_Jumper ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.05.2008
    Beiträge
    5
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke, wenn ich das richtig verstehe, sollte ich also mein Programm als FB entwerfen und dafür dann einen DB erstellen, so dass ich genau wie die Standardblocke (Beispiel SFB4) einen variablen DB pro Aufruf meines FBs erhalte.

    ...hat mal einer ein kleines Beispielprogramm?

  5. #4
    Jolly_Jumper ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.05.2008
    Beiträge
    5
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Allet klar, Aufgabe gelöst!

Ähnliche Themen

  1. LDB erstellen
    Von Servernexus im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.02.2012, 19:19
  2. Bausteinstruktur erstellen
    Von MaryP im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 16.02.2011, 15:41
  3. UDT in SCL erstellen
    Von Felse im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 11.09.2009, 09:39
  4. FB/FC erstellen
    Von Black Scorpion im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.05.2008, 18:24
  5. FB erstellen?
    Von ottopaul im Forum Simatic
    Antworten: 39
    Letzter Beitrag: 29.03.2008, 13:25

Stichworte

Lesezeichen

Berechtigungen

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