Hallo Leute,
ich beschäftige mich vom kurzen Zeit mit CODSYS 2.3, und versuch Analogwerte von den Sensorn im Array zu speichern bzw. einlesen und dann durch LABVIEW im Server zu schicken und dort zu speichern.
1-. Was ich gemacht habe:
A1 Array erstellt, dadurch die Werte von den Sensorn gelesen wird,
2-. A2 Array erstellet, dadruch werden alle Werte von A1[0].
mein Problem ist, dass die gespeicherte Werte im A2 ändern sich mit Änderung der Werte vom Sensor.
mein Ziel ist, dass ich alle geänderte Werte vom ersten Sensorn im A2 speichere.
Kann jemand mir helfen?
Damit das klarer wird:
mein Code:
PROGRAM PLC_PRG
A1 AT %ID4 :ARRAY [0..3] OF REAL ; (*4 verschiedene Sensor wert gezeigt *)
A2 : ARRAY [0..9] OF REAL; (*dadruch wird die Werte von A1[0] im A2[] gespeichert, Also erste 8 Werte von A1[0] *)
i : INT:= 0;
VAR
Anweisung:
FOR i:= 0 TO 8 DO
IF A2[i-1]<> A1[0] THEN
A2[i] := A1[0];
i := i+1;
END_IF
END_FOR
Problem(beim Start der Codesys. Wird gezeigt:):
A2[0]:= 32.075
A2[1]:= 0
A2[2]:= 32.075
A2[3]:= 0
A2[4]:= 32.075
A2[5]:= 0
A2[6]:= 32.075
A2[7]:= 0
A2[8]:= 32.075
A2[9]:= 0
Warum bekomme ich immer 0 bei jeder i+1 ?
warum bekomme ich immer das selbe immer 32.075? (d.h: bei jeder Änderung des Sensors Wert ändert sich auch der Werte 32.075 je nachdem welche Werte der Sensor ständig gibt).
ich will gerne wissen, wie ich alle veränderten Werte des ersten Sensor im A2[] speichern bzw. zeigen kann.
ich bedanke mich im Vorraus.
Gruß
Ara
ich beschäftige mich vom kurzen Zeit mit CODSYS 2.3, und versuch Analogwerte von den Sensorn im Array zu speichern bzw. einlesen und dann durch LABVIEW im Server zu schicken und dort zu speichern.
1-. Was ich gemacht habe:
A1 Array erstellt, dadurch die Werte von den Sensorn gelesen wird,
2-. A2 Array erstellet, dadruch werden alle Werte von A1[0].
mein Problem ist, dass die gespeicherte Werte im A2 ändern sich mit Änderung der Werte vom Sensor.
mein Ziel ist, dass ich alle geänderte Werte vom ersten Sensorn im A2 speichere.
Kann jemand mir helfen?
Damit das klarer wird:
mein Code:
PROGRAM PLC_PRG
A1 AT %ID4 :ARRAY [0..3] OF REAL ; (*4 verschiedene Sensor wert gezeigt *)
A2 : ARRAY [0..9] OF REAL; (*dadruch wird die Werte von A1[0] im A2[] gespeichert, Also erste 8 Werte von A1[0] *)
i : INT:= 0;
VAR
Anweisung:
FOR i:= 0 TO 8 DO
IF A2[i-1]<> A1[0] THEN
A2[i] := A1[0];
i := i+1;
END_IF
END_FOR
Problem(beim Start der Codesys. Wird gezeigt:):
A2[0]:= 32.075
A2[1]:= 0
A2[2]:= 32.075
A2[3]:= 0
A2[4]:= 32.075
A2[5]:= 0
A2[6]:= 32.075
A2[7]:= 0
A2[8]:= 32.075
A2[9]:= 0
Warum bekomme ich immer 0 bei jeder i+1 ?
warum bekomme ich immer das selbe immer 32.075? (d.h: bei jeder Änderung des Sensors Wert ändert sich auch der Werte 32.075 je nachdem welche Werte der Sensor ständig gibt).
ich will gerne wissen, wie ich alle veränderten Werte des ersten Sensor im A2[] speichern bzw. zeigen kann.
ich bedanke mich im Vorraus.
Gruß
Ara