Wie programmiere ich meine SPS mit CoDeSys V2.3?
Hallo liebe Leute, so langsam fange ich an meine SPS besser zu verstehen. Es wird das CanOpen Protokoll verwendet.
ich möchte ein kleines Programm schreiben das einen 10 Bit Analogeingang auswertet und daraus in der Visualisierung eine kleine Anzeige zu machen.
VISU habe ich berreits. Ich habe ein Multimeter paralel zum AnalogIn um die Spannung zu prüfen. Hier ist die Deklaration und die EINE:-( Zeile Code:
PROGRAM PLC_PRG
VAR
AnalogInputValue AT %IW2 : INT; (* %IW2 gespeichert *)
Voltage : REAL; (*Spannung in Volt *)
END_VAR
Voltage := (AnalogInputValue / 10478)*11;
Ohne gestartete Simulation
Mit gestarteter Simulation und einem vorgegebenen Wert von 150.
Vielen Dank
1 Antwort
PROGRAM PLC_PRG
VAR
AnalogInputValue AT %IW2 : INT; (* Analogeingang *)
Voltage : REAL; (* Berechnete Spannung in Volt *)
END_VAR
das sind deine deklarieten Variablen, die sehen in Ordnung aus
Dein Programmcode stimmt aber nicht...
wie kommst du auf 10478 ?
Die Konstante 10478 hat nichts mit einem 10 Bit-Wert zu tun -> (0-1023) ist die Konstante
also so;
Voltage := (AnalogInputValue / 1023.0) * 11.0;
normalerweise schon...
überprüf mal deine Variablen - (Verknüpfungen), also ob die Variable Voltage mit dem Textfeld in der Visualisierung verknüpft ist und ob Voltage im Visualisierungseditor korrekt konfiguriert ist.
Wenn ja schick mal den Analogeingangswert AnalogInputValue in den debugger und schau was er ausgibt
selbst wenn die rechnung falsch gewesen ist, müsste in der VISU was zu sehen sein. ?