Problem mit SCL-Baustein..Block_DB

slani_bw

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

mein folgender Baustein schreibt zyklisch Werte in versch. DB´s.
Der Zugriff an sich funktioniert, aber in den DB´s kommen andere Werte an. Ich finde einfach den Fehler nicht....
Gruß
Matthias



PS: Sorry, den Fehler nun gefunden....habe bei den "Zaehlern" den Offset in den DB´s nicht berücksichtigt........ ;-)))





FUNCTION_BLOCK FB20

VAR_INPUT
Trigger : BOOL;
Gewicht : INT;
Pos_Sonderhubwerk : dINT;
Zaehler : INT;
Zeit : TOD;
Datum : DATE;
Drehzahl : DINT;
Datenbank_Lastwert: BLOCK_DB;
Datenbank_Hubhoehe: BLOCK_DB;
Datenbank_Messdauer: BLOCK_DB;
Datenbank_Datum: BLOCK_DB;
Datenbank_Uhrzeit: BLOCK_DB;
Datenbank_Drehzahl: BLOCK_DB;
END_VAR

VAR
Zeit_DB : DWORD;
Datum_DB: WORD;
END_VAR

VAR_OUTPUT
Gewicht_max : INT;
Pos_Sonderhubwerk_max : DINT;
Drehzahl_max : DINT;
END_VAR


BEGIN
IF Trigger=1 THEN

IF Zaehler =0 THEN
Gewicht_max := 0;
Pos_Sonderhubwerk_max := 0;
Drehzahl_max := 0;
END_IF;


Datenbank_Lastwert.dw[Zaehler] := INT_TO_WORD(Gewicht);
Datenbank_Hubhoehe.dd[Zaehler] := dINT_TO_dWORD(Pos_Sonderhubwerk);
Datenbank_Messdauer.dw[Zaehler] := INT_TO_WORD(Zaehler*100);
Datenbank_Datum.dw[Zaehler] := DINT_TO_WORD(DATE_TO_DINT(Datum));
Datenbank_Uhrzeit.dd[Zaehler] := DINT_TO_DWORD(TOD_TO_DINT(Zeit));
Datenbank_Drehzahl.dd[Zaehler] := DINT_TO_DWORD(Drehzahl);

IF Gewicht > Gewicht_max THEN
Gewicht_max := Gewicht;
Pos_Sonderhubwerk_max := Pos_Sonderhubwerk;
Drehzahl_max := Drehzahl;
END_IF;
END_IF;


END_FUNCTION_BLOCK
 
Zuletzt bearbeitet:
was heißt "andere werte"? darf ich mir da jetz was aussuchen? :sw13:


und
Code:
-tags einsetzen wäre nett, danke :rolleyes:
 
Zurück
Oben