itsdarkdownhere
Level-2
- Beiträge
- 88
- Reaktionspunkte
- 18
-> Hier kostenlos registrieren
Hi Zusammen
Ich bin mir beim Verständnis von einem AWL Netzwerk in einer bestehenden Anlage bezüglich der Funktion unklar, da ich noch nicht so viel Erfahrung mit AWL habe. Das Netzwerk lässt sich auch nicht übersetzen, um es in FUP oder KOP leichter nachzuvollziehen.
Ich verstehe die 5. Zeile nicht ganz. Vorher wird der Messwert des Weggebers in #Position_Istwert abgelegt. In Zeile 5 wird dann abgefragt, ob Bit 16.7 von #Position_Istwert 0 ist. Abhängig davon folgt ein bedingter Sprung.
Welchen Zweck erfüllt das? Und wieso wird mit der Nulloperation der Speicher mit Nullen überschrieben?
Der Rest im Code ist einfach nur die Berechnung der aktuellen Elektrodenlänge durch den Messwert, abzüglich der ganzen Offsetwerte und der ursprünglichen Elektrodenlänge. Aber wieso berechnet man eine Elektrodenlänge, welche sich bspw. um 0,1mm verändern kann, mit DINT Werten? Damit gehen doch die Nachkommastellen verloren. Hier würden doch REAL viel mehr Sinn ergeben, da man Gleitkommazahlen hat?
Der TAK befehl dient doch dafür, um die Werte in AKKU1 und AKKU2 für die Differenzberechnung zu tauschen oder?
Danke schonmal!
Ich bin mir beim Verständnis von einem AWL Netzwerk in einer bestehenden Anlage bezüglich der Funktion unklar, da ich noch nicht so viel Erfahrung mit AWL habe. Das Netzwerk lässt sich auch nicht übersetzen, um es in FUP oder KOP leichter nachzuvollziehen.
Ich verstehe die 5. Zeile nicht ganz. Vorher wird der Messwert des Weggebers in #Position_Istwert abgelegt. In Zeile 5 wird dann abgefragt, ob Bit 16.7 von #Position_Istwert 0 ist. Abhängig davon folgt ein bedingter Sprung.
Welchen Zweck erfüllt das? Und wieso wird mit der Nulloperation der Speicher mit Nullen überschrieben?
Der Rest im Code ist einfach nur die Berechnung der aktuellen Elektrodenlänge durch den Messwert, abzüglich der ganzen Offsetwerte und der ursprünglichen Elektrodenlänge. Aber wieso berechnet man eine Elektrodenlänge, welche sich bspw. um 0,1mm verändern kann, mit DINT Werten? Damit gehen doch die Nachkommastellen verloren. Hier würden doch REAL viel mehr Sinn ergeben, da man Gleitkommazahlen hat?
Der TAK befehl dient doch dafür, um die Werte in AKKU1 und AKKU2 für die Differenzberechnung zu tauschen oder?
Danke schonmal!
Zuletzt bearbeitet von einem Moderator: