String auftrenen

So, habe mein ersten SCL Baustein fertig, habe es so wie Ralle weiter oben beschrieben hat realisiert.
Ist ein mächtig langes Teil aber es funzt einwandfrei.
Werde noch ein paar Werte zum verarbeiten in Real oder Int wandeln.
Die letzten 6 Zeichen sind dazu noch ein Digitalwerk mit Statusmeldungen in Bitform. Kann man die Strings denn so einfach wandeln. Die fertigen Bausteine bringen mir nicht die richtigen Werte sondern irgendwelche Minus Werte??

FUNCTION_BLOCK FB3
Title = 'heizung'
VAR_INPUT
Auftrag: STRING[252];
END_VAR
VAR_OUTPUT
INIT: STRING[2];
Heizungsstatus: STRING[2];
CO2: STRING[4];
Kesseltemp: STRING[3];
Rauchgastemp: STRING[3];
Aussen: STRING[5];
Aussenmittel: STRING[5];
VorlaufHK1: STRING[4];
VorlaufHK2: STRING[5];
VorlaufHK1SOLL: STRING[4];
VorlaufHK2SOLL: STRING[5];
Boilertemp: STRING[3];
Boiler2temp: STRING[3];
Foerdermenge: STRING[3];
KesselSoll: STRING[3];
Raum: STRING[5];
Unbekannt1: STRING[5];
IFoerderschnecke: STRING[5];
IPutzmotor: STRING[5];
IRostmotor: STRING[5];
IRaumschnecke: STRING[5];
Luft: STRING[3];
Unbekannt: STRING[3];
Unbekannt2: STRING[3];
Unbekannt3: STRING[3];
Unbekannt4: STRING[3];
Unbekannt5: STRING[3];
Unbekannt6: STRING[3];
Unbekannt7: STRING[5];
Unbekannt8: STRING[5];
Unbekannt9: STRING[5];
Unbekannt10: STRING[5];
Unbekannt11: STRING[5];
Unbekannt12: STRING[5];
Unbekannt13: STRING[5];
Unbekannt14: STRING[3];
Unbekannt15: STRING[5];
Unbekannt16: STRING[5];
Unbekannt17: STRING[5];
Unbekannt18: STRING[5];
Unbekannt19: STRING[5];
Unbekannt20: STRING[5];
Unbekannt21: STRING[3];
Unbekannt22: STRING[5];
Unbekannt23: STRING[5];
Unbekannt24: STRING[4];
Unbekannt25: STRING[5];
Unbekannt26: STRING[5];
Unbekannt27: STRING[5];
Unbekannt28: STRING[5];
Unbekannt29: STRING[3];
Unbekannt30: STRING[3];
Unbekannt31: STRING[3];
Unbekannt32: STRING[3];
Unbekannt33: STRING[3];
Unbekannt34: STRING[3];
Unbekannt35: STRING[3];
Unbekannt36: STRING[3];
Unbekannt37: STRING[3];
Unbekannt38: STRING[3];
Unbekannt39: STRING[3];
END_VAR
VAR_TEMP
// temporäre Variablen
Pos: INT;
SuchString: STRING;
Length: INT;
END_VAR
// Anweisungsteil
SuchString := ' ';
Length := 0;

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
INIT := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Heizungsstatus := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
CO2 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Kesseltemp := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Rauchgastemp := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Aussen := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Aussenmittel := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
VorlaufHK1 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
VorlaufHK2 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
VorlaufHK2Soll := MID(IN := Auftrag ,L := Pos-1 ,P :=1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Boilertemp := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Boiler2temp := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Foerdermenge := MID(IN := Auftrag ,L := Pos-1 ,P :=1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Kesselsoll := MID(IN := Auftrag ,L := Pos-1 ,P :=1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P :=1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Raum := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt1 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);


Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
IFoerderschnecke := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
IPutzmotor := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
IRostmotor := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
IRaumschnecke := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Luft := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt2 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt3 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt4 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt5 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt6 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt7 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt8 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt9 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt10 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt11 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt12 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt13 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt14 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt15 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt16 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt17 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt18 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt19 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt20 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt21 := MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

Pos := FIND(IN1 := Auftrag, IN2 := SuchString);
Unbekannt22:= MID(IN := Auftrag ,L := Pos-1 ,P := 1);
Auftrag := DELETE(IN := Auftrag, L := Pos + Length, P := 1);

....
 
Zurück
Oben