SCL-Datei mit statischen Variablen ?

noeppkes

Level-1
Beiträge
150
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche verzweifelt einen FB zu generieren.
Ich habe gelesen, dass ich um statische Variablen nutzen zu können einen InstanzDB benötige.
Aber wie mache ich das.
Ich habe hier mal meinen kurzen Test-Code.
Kann mir jemand bitte den Code vervollständigen, damit die statischen Variablen laufen.

Der aufruf soll aus einen AWL-Programm (OB1) heraus erfolgen mit
call FB41

Danke.
noeppkes ...

Code:
FUNCTION_BLOCK FB41
VAR_INPUT
stunde: INT;
minute: INT;
sekunde: INT;
END_VAR
VAR_OUTPUT

Test_Flag: BOOL;
END_VAR

VAR_TEMP
  // temporäre Variablen
END_VAR
VAR
  // statische Variablen
  last_sekunde: INT;
  sec_datenbank: INT := 0;
END_VAR
  // Anweisungsteil
  IF (last_sekunde <> sekunde) THEN;
      last_sekunde := sekunde;
      sec_datenbank := sec_datenbank + 1;
      IF sec_datenbank > 9 THEN
          sec_datenbank := 0;
      END_IF;
      DB10.DBB8:= INT_TO_BYTE(sec_datenbank + 48);
  END_IF;

END_FUNCTION_BLOCK
 
Dein Code stimmt, nur der FB-Aufruf im Programm lautet:

Code:
CALL  FB    41 , DB41

Dann fragt Step7, ob der DB41 erzeugt werden soll, du sagst ja und es erscheint:


Code:
  CALL  FB    41 , DB41
       stunde   :=
       minute   :=
       sekunde  :=
       Test_Flag:=

Im Manager steht dann auch der neue DB41, dein Instanz-DB (Kann übrigens jede beliebige Nummer haben).
 
Zurück
Oben