Hi,
Ist die Klemme richti Konfiguriet?
Wenn schon dann sollte der FB helfen (neuen FB erstellen und Code einfügen):
(*Variablenteil*)
VAR_INPUT
KL3403_1_Status: BYTE;
KL3403_1_Daten_Ein: INT;
KL3403_2_Status: BYTE;
KL3403_2_Daten_Ein: INT;
KL3403_3_Status: BYTE;
KL3403_3_Daten_Ein: INT;
END_VAR
VAR_OUTPUT
i1 : REAL;
i2 : REAL;
i3 : REAL;
u1 : REAL;
u2 : REAL;
u3 : REAL;
p1 : REAL;
p2 : REAL;
p3 : REAL;
c1 : REAL;
c2 : REAL;
c3 : REAL;
w1 : REAL;
w2 : REAL;
w3 : REAL;
imax1 : REAL;
imax2 : REAL;
imax3 : REAL;
umax1 : REAL;
umax2 : REAL;
umax3 : REAL;
pmax1 : REAL;
pmax2 : REAL;
pmax3 : REAL;
KL3403_1_Kontrolle : BYTE;
KL3403_1_Daten_Aus : INT;
KL3403_2_Kontrolle : BYTE;
KL3403_2_Daten_Aus : INT;
KL3403_3_Kontrolle : BYTE;
KL3403_3_Daten_Aus : INT;
END_VAR
VAR
ton1: TON;
error1, error2, error3: BOOL;
END_VAR
(*Programmteil*)
ton1(PT := T#250ms, IN := NOT ton1.Q);
IF (ton1.Q) THEN
KL3403_1_Kontrolle := KL3403_1_Kontrolle + 1;
KL3403_2_Kontrolle := KL3403_2_Kontrolle + 1;
KL3403_3_Kontrolle := KL3403_3_Kontrolle + 1;
IF KL3403_1_Kontrolle > 7 THEN
KL3403_1_Kontrolle := 0;
END_IF
IF KL3403_2_Kontrolle > 7 THEN
KL3403_2_Kontrolle := 0;
END_IF
IF KL3403_3_Kontrolle > 7 THEN
KL3403_3_Kontrolle := 0;
END_IF
END_IF
error1 := KL3403_1_Status.6;
IF NOT error1 THEN
CASE KL3403_1_Status OF
0: i1 := INT_TO_REAL(KL3403_1_Daten_Ein)/100;
1: u1 := INT_TO_REAL(KL3403_1_Daten_Ein)/10;
2: p1 := INT_TO_REAL(KL3403_1_Daten_Ein);
3: c1 := INT_TO_REAL(KL3403_1_Daten_Ein)/100;
4: w1 := INT_TO_REAL(KL3403_1_Daten_Ein)/1000;
5: imax1 := INT_TO_REAL(KL3403_1_Daten_Ein)/100;
6: umax1 := INT_TO_REAL(KL3403_1_Daten_Ein)/10;
7: pmax1 := INT_TO_REAL(KL3403_1_Daten_Ein);
END_CASE
END_IF
error2 := KL3403_2_Status.6;
IF NOT error2 THEN
CASE KL3403_2_Status OF
0: i2 := INT_TO_REAL(KL3403_2_Daten_Ein)/100;
1: u2 := INT_TO_REAL(KL3403_2_Daten_Ein)/10;
2: p2 := INT_TO_REAL(KL3403_2_Daten_Ein);
3: c2 := INT_TO_REAL(KL3403_2_Daten_Ein)/100;
4: w2 := INT_TO_REAL(KL3403_2_Daten_Ein)/1000;
5: imax2 := INT_TO_REAL(KL3403_2_Daten_Ein)/100;
6: umax2 := INT_TO_REAL(KL3403_2_Daten_Ein)/10;
7: pmax2 := INT_TO_REAL(KL3403_2_Daten_Ein);
END_CASE
END_IF
error3 := KL3403_3_Status.6;
IF NOT error3 THEN
CASE KL3403_3_Status OF
0: i3 := INT_TO_REAL(KL3403_3_Daten_Ein)/100;
1: u3 := INT_TO_REAL(KL3403_3_Daten_Ein)/10;
2: p3 := INT_TO_REAL(KL3403_3_Daten_Ein);
3: c3 := INT_TO_REAL(KL3403_3_Daten_Ein)/100;
4: w3 := INT_TO_REAL(KL3403_3_Daten_Ein)/1000;
5: imax3 := INT_TO_REAL(KL3403_3_Daten_Ein)/100;
6: umax3 := INT_TO_REAL(KL3403_3_Daten_Ein)/10;
7: pmax3 := INT_TO_REAL(KL3403_3_Daten_Ein);
END_CASE
END_IF
Hoffe es funzt!
lg