-> Hier kostenlos registrieren
Hallo
Ich bin scl Neuling habe vorher mit CoDeSys gearbeitet. Ich wollte ein Fb mehrmals aufrufen wie ich es auch in codesys mache, dieses funktioniert aber leider nicht in scl. Ich hoffe ihr könnt mir sagen wo der Fehler liegen könnte. Hier mal mein Programm
ORGANIZATION_BLOCK OB1
VAR_TEMP
// reserviert
info : ARRAY[0..19] OF BYTE;
// temporäre Variablen
Flanken_merker : BOOL;
END_VAR
BEGIN
Flanke := M100.1 AND NOT Flanken_merker;
Flanken_merker := M100.1;
//----1 Aufruf------
FB1.DB3(AUF :=AUF // IN: BOOL
,AB :=AB // IN: BOOL
);
Fuellstand:= DB3.Fuellstand; // OUT: INT
//----2 Aufruf------
FB1.DB4(AUF :=AUF_1 // IN: BOOL
,AB :=AB_1 // IN: BOOL
);
Fuellstand_1:= DB4.Fuellstand; // OUT: INT
;
END_ORGANIZATION_BLOCK
----------------------------------------------------------------
FUNCTION_BLOCK FB1
VAR_INPUT
// temporäre Variablen
AUF: BOOL;
AB: BOOL;
END_VAR
VAR_OUTPUT
// statische Variablen
Fuellstand :INT;
END_VAR
begin
CTUD.DB2(CU := AB AND Flanke // IN: BOOL
,CD :=AUF AND Flanke // IN: BOOL
// ,R := // IN: BOOL
// ,LOAD := // IN: BOOL
// ,PV := // IN: INT
);
// := DBxxx.QU; // OUT: BOOL
// := DBxxx.QD; // OUT: BOOL
Fuellstand:= DB2.CV; // OUT: INT
;
END_FUNCTION_BLOCK
Nun habe ich folgendes Problem das Fuellstand1 und Fuellstand2 immer den gleichen Wert haben.
Wäre für eine Antwort sehr dankbar!!!
Danke
Ich bin scl Neuling habe vorher mit CoDeSys gearbeitet. Ich wollte ein Fb mehrmals aufrufen wie ich es auch in codesys mache, dieses funktioniert aber leider nicht in scl. Ich hoffe ihr könnt mir sagen wo der Fehler liegen könnte. Hier mal mein Programm
ORGANIZATION_BLOCK OB1
VAR_TEMP
// reserviert
info : ARRAY[0..19] OF BYTE;
// temporäre Variablen
Flanken_merker : BOOL;
END_VAR
BEGIN
Flanke := M100.1 AND NOT Flanken_merker;
Flanken_merker := M100.1;
//----1 Aufruf------
FB1.DB3(AUF :=AUF // IN: BOOL
,AB :=AB // IN: BOOL
);
Fuellstand:= DB3.Fuellstand; // OUT: INT
//----2 Aufruf------
FB1.DB4(AUF :=AUF_1 // IN: BOOL
,AB :=AB_1 // IN: BOOL
);
Fuellstand_1:= DB4.Fuellstand; // OUT: INT
;
END_ORGANIZATION_BLOCK
----------------------------------------------------------------
FUNCTION_BLOCK FB1
VAR_INPUT
// temporäre Variablen
AUF: BOOL;
AB: BOOL;
END_VAR
VAR_OUTPUT
// statische Variablen
Fuellstand :INT;
END_VAR
begin
CTUD.DB2(CU := AB AND Flanke // IN: BOOL
,CD :=AUF AND Flanke // IN: BOOL
// ,R := // IN: BOOL
// ,LOAD := // IN: BOOL
// ,PV := // IN: INT
);
// := DBxxx.QU; // OUT: BOOL
// := DBxxx.QD; // OUT: BOOL
Fuellstand:= DB2.CV; // OUT: INT
;
END_FUNCTION_BLOCK
Nun habe ich folgendes Problem das Fuellstand1 und Fuellstand2 immer den gleichen Wert haben.
Wäre für eine Antwort sehr dankbar!!!
Danke