Für eine Glättungsfunktion von Analogwerten suche ich im Codesys eine Funktion bzw. ein Operand der dem TAK Operand aus Step 7 gleichwertig ist. Das heißt also die Inhalte von Akku 1 in Akku 2 tauscht.
Des weiteren benötige ich eine Information darüber ob ich im Codesys nach einer Multiplikation diese auf validität prüfen kann. Das Ergebniss der Prüfung sollte als Boolscher Wert ausgegeben werden.
Mfg Frank
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Was soll den ein vertauschen der Register beweirken? Wenn du Signale glätten willst, dann stehen dir viele Ansätze zur Verfügung. Eine Mittelwertbildung über die letzten x Signale oder ein Tiefpass zum Beispiel.
Wenn du Hilfe brauchst, können wir dir gerne helfen.
zu Frage 2:
Was soll den bei einer Multiplikation schief laufen? Über die zu erwartenden Wertebereiche muss man ja vorher nachdenken. Eine Division durch 0 kannst du aber über CheckDivReal abfangen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2007-08-22
Originally created by: FrankH.
Also eine Mittelwertbildung über die letzen x Signale wäre für die Glättung denke ich mal das beste wie realisiere ich das am einfachsten ???
mfg Frank
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
die echte glättungsfunktion ist ein pt1 glied eine gute beschreibung hierzu ist in wickipedia unter pt1 zu finden. einen baustein findest du in der oscat lib unter ft_pt1
das ganze entspricht einem RC glied wie es in der elektronik zur glättung von signalen verwendet wird.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Originally created by: FrankH.
Hallo,
ich habe folgendes Problem !
Für eine Glättungsfunktion von Analogwerten suche ich im Codesys eine Funktion bzw. ein Operand der dem TAK Operand aus Step 7 gleichwertig ist. Das heißt also die Inhalte von Akku 1 in Akku 2 tauscht.
Des weiteren benötige ich eine Information darüber ob ich im Codesys nach einer Multiplikation diese auf validität prüfen kann. Das Ergebniss der Prüfung sollte als Boolscher Wert ausgegeben werden.
Mfg Frank
zu Frage 1:
Was soll den ein vertauschen der Register beweirken? Wenn du Signale glätten willst, dann stehen dir viele Ansätze zur Verfügung. Eine Mittelwertbildung über die letzten x Signale oder ein Tiefpass zum Beispiel.
Wenn du Hilfe brauchst, können wir dir gerne helfen.
zu Frage 2:
Was soll den bei einer Multiplikation schief laufen? Über die zu erwartenden Wertebereiche muss man ja vorher nachdenken. Eine Division durch 0 kannst du aber über CheckDivReal abfangen
Originally created by: FrankH.
Also eine Mittelwertbildung über die letzen x Signale wäre für die Glättung denke ich mal das beste wie realisiere ich das am einfachsten ???
mfg Frank
z.B.
Funktionbaustein anlegen
in ein Array kommen dann nacheinander die neuen Werte
Aufaddieren der Werte im Array
Division durch Arraygröße
fertig
Auch wenn IMHO ein Tiefpass besser ist
Hi
Bei w www.oscat.de w vorbeischauen, die hat Filter und etliche andere sachen bereits fertig.
Natürlich mit Quellcode
Zum Glätten:
ausgang:=((ausgang*9)+aktualwert)/10;
so glätte ich immer meine Analogwerte
die echte glättungsfunktion ist ein pt1 glied eine gute beschreibung hierzu ist in wickipedia unter pt1 zu finden. einen baustein findest du in der oscat lib unter ft_pt1
das ganze entspricht einem RC glied wie es in der elektronik zur glättung von signalen verwendet wird.