-> Hier kostenlos registrieren
Hallo zusammen,
vllt. kann mir jmd. von euch weiterhelfen... bin am verzweifeln.
Folgendes:
Ich hab als Projekt ein Rolllageranlge im miniformat was die fächer zwischen 1-54 anfahren soll und sich jedesmal wenn sie dort was eingeladen oder ausgeladen hat in einem Datenbaustein notieren soll (Über BOOL (fachxy /true/false)).
Über ein MOVE Baustein in FUP wird über ein EB ein Wert eingestellt und auf ein MW was als Datentyp INT deklariert "geschoben".
Jetzt habe ich vor mir mit diesen MW erstmal die Bitadresse auszurechnen auf dem theoretisch das Fach liegt (von 0.0 bis 6.5 BOOL´s)
Habe dazu folgenden SCL Baustein geschrieben:
Var_Input
Sollwert :INT; // Dort kommt das MW rein
END_VAR
VAR_OUTPUT
Fachbesetzt : BOOL;
END_VAR
VAR
i : INT;
j : INT;
END_VAR
i := Sollwert / 8;
j := (Sollwert - ( 8 * i))-1; //da das erste fach auf 0.0 liegt
Fachbesetzt := DB10.DX[i,j]; //so stands in der hilfe
Das funktioniert erstmal nicht. Als ich die einzelnen Variablen ausgeben wollte als OUTPUT INT um zu schauen was für i und j für werte rauskommen,kommt da nur blödsinn raus.
Als ich dann versucht hab i := Sollwert; kommt da 5120 raus... ???
Ich schätze mal es ist irgend ein DatenTypfehler ??? Wäre für jede Hilfe dankbar !!
Nachtrag: ohne DB10.D[i,j] das X kommt zumindestens kein sammelfehler und er compiliert das programm...
MFg Bollek
vllt. kann mir jmd. von euch weiterhelfen... bin am verzweifeln.
Folgendes:
Ich hab als Projekt ein Rolllageranlge im miniformat was die fächer zwischen 1-54 anfahren soll und sich jedesmal wenn sie dort was eingeladen oder ausgeladen hat in einem Datenbaustein notieren soll (Über BOOL (fachxy /true/false)).
Über ein MOVE Baustein in FUP wird über ein EB ein Wert eingestellt und auf ein MW was als Datentyp INT deklariert "geschoben".
Jetzt habe ich vor mir mit diesen MW erstmal die Bitadresse auszurechnen auf dem theoretisch das Fach liegt (von 0.0 bis 6.5 BOOL´s)
Habe dazu folgenden SCL Baustein geschrieben:
Var_Input
Sollwert :INT; // Dort kommt das MW rein
END_VAR
VAR_OUTPUT
Fachbesetzt : BOOL;
END_VAR
VAR
i : INT;
j : INT;
END_VAR
i := Sollwert / 8;
j := (Sollwert - ( 8 * i))-1; //da das erste fach auf 0.0 liegt
Fachbesetzt := DB10.DX[i,j]; //so stands in der hilfe
Das funktioniert erstmal nicht. Als ich die einzelnen Variablen ausgeben wollte als OUTPUT INT um zu schauen was für i und j für werte rauskommen,kommt da nur blödsinn raus.
Als ich dann versucht hab i := Sollwert; kommt da 5120 raus... ???
Ich schätze mal es ist irgend ein DatenTypfehler ??? Wäre für jede Hilfe dankbar !!
Nachtrag: ohne DB10.D[i,j] das X kommt zumindestens kein sammelfehler und er compiliert das programm...
MFg Bollek