Mitsubishi FX5 wie rufe ich eine Instanz von einem FB auf (in ST)

MBoerner

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten tag!
ich bin noch Anfänger und versuche Funktionsblöcke zu schreiben.
Ich habe einen Funktionsblock, der einfach nur ein 2Sek.Timer starten soll und zurückgeben soll, wenn di zeiot abgelaufen ist.

Ich weiß aber nicht, wie ich einen Funktionsblock aufrufe:

Mein Funktionsblock: FBTimer
Code:
bResult := OUT_T(bTimerStarten,td1sTimer,20);  //Starte Timer 2Sek (20*100ms);

bTimerStarten und td1sTimer sind VAR_INPUT

Wie rufe ich eine Instanz dieses Funktionsblock auf.

Bei
Code:
bResult := FBTimer(TRUE,20);
Bekomme ich die Fehlermeldung
No. Result Data Name Category Content Error Code1 Error FunXAchse Program Conversion Unable to find FUN definition. 0x11041F50

Kann mir jemand weiterhelfen?

Danke im Voraus
 
Bei
Code:
bResult := FBTimer(TRUE,20);
Bekomme ich die Fehlermeldung
No. Result Data Name Category Content Error Code1 Error FunXAchse Program Conversion Unable to find FUN definition. 0x11041F50
Ein FB kann kein Resultat zurückgeben (das können nur Function). Ein FB muß Rückgabewerte über OUTPUT- oder IN_OUT-Parameter übergeben.


Wie rufe ich eine Instanz dieses Funktionsblock auf.
Indem Du eine Instanz(-Variable) des Funktionsblocks anlegst und dann diese Instanz aufrufst, etwa so:
Code:
VAR
  myFBInstance_1 : FBTimer;
END_VAR

myFBInstance_1(bTimerStarten := TRUE, td1sTimer := 20, bResult := bResult);

//oder ?
myFBInstance_1(bTimerStarten := TRUE, td1sTimer := 20, bResult => bResult);

//oder
myFBInstance_1(bTimerStarten := TRUE, td1sTimer := 20);
bResult := myFBInstance_1.bResult;
(Ich habe mit Deiner Mitsubishi keine Erfahrung, aber ein bisschen mit ST.)

Harald
 
Zurück
Oben