Perfektionist
Level-1
- Beiträge
- 3.557
- Reaktionspunkte
- 524
ich versuche mir gerade vorzustellen, wie ich wohl eine Tankbefüllung programmieren würde, die mir sicher stellt, dass der Tank auch nicht überläuft. Und eine Warnung, dass der Tankinhalt bald aufgebraucht sein könnte ...Gerade bei z.B. Füllstandsmeldern ist eine Entprellung im Einschaltvorgang sehr wichtig, wenn die Flüssigkeit im Tank hin- und her schwappt.
Ich bin grundsätzlich für die no-strada-mus Lösung, allerdings gleich als FC konzipiert.
wenn ihr zwei hübschen mir den code von ihm jetz noch erklärt, dann wäre ich euch sehr dankbar.
ich versuche mir gerade vorzustellen, wie ich wohl eine Tankbefüllung programmieren würde, die mir sicher stellt, dass der Tank auch nicht überläuft. Und eine Warnung, dass der Tankinhalt bald aufgebraucht sein könnte ...
U E1.0
L S5T#200ms
SA T1
U T1
= M1.0
U E1.0
L S5T#200ms
SE T2
U T2
= M2.0
U M1.0
FP M1.1
S M3.0 //entprelltes Signal
U M2.0
FN M2.1
R M3.0 //entprelltes Signal
U E1.0
L S5T#200ms
SE T1
U T1
S M1.0
UN E1.0
L S5T#200ms
SE T2
U T2
R M1.0
Es geht nicht nur um ein Einschaltprellen, sondern auch um ein Ausschaltprellen.
Bei entprellten Sensoren muss damit gerechnet werden, dass der Softwarezustand (M 1.0) bei "heftiger" Entprellung, also bei langen Einschalt- und/oder Ausschaltverzögerungen, mit dem Hardwarezustand (E 1.0) nicht mehr übereinstimmt. Was z.B. bei sich schnell bewegenden Teilen schon zu Situationen führen kann, die man sich vorher überlegen sollte.
U M2.0
O M1.0
FN M2.1
R M3.0
dein bit M3.0 wird TRUE sobald ein Impuls auf den eingang kommt, das schaffst du auch mit nur einer zeit, also mit der SA allein.
Ok. Die SPS-Eingänge bringen ja schon eine Entprellung von ~3-5ms mit. Ist vielleicht auch eine Definitionssache ab welcher Verzugszeit man von Entprellung oder Filterung spricht.das ist richtig, aber von entprellen redet man (zumindest erscheint mir diese definition logisch) wenn ein eingangssignal z.b. in kurzen abständen mehrere flanken bringt bevor es stabil ist.
was du meinst sind störsignale, diese filtert man an besten über eine SE, um also nur siganlen eine "daseinsberechtigung" zu geben die lange genug anstehen um als plausibel zu gelten.
Ok. Die SPS-Eingänge bringen ja schon eine Entprellung von ~3-5ms mit. Ist vielleicht auch eine Definitionssache ab welcher Verzugszeit man von Entprellung oder Filterung spricht.
das habe ich früher auch oft gemacht.Ich hatte schon die Überlegung ganz auf die Timer zu verzichten und einfach mit dem Systemtakt (OB oder Taktmerker) ein INT hochzuzählen, bei einem bestimmt Wert den Merker zu setzen und wenn das Eingangssignal verschwindet herunterzählen und bei 0 wieder rücksetzen.
Spart man sich den ganzen Timerkram.
Ja das ist sinnvoll. Ich mache für solche Sachen generell immer FCs.das habe ich früher auch oft gemacht.
vorteil: du hast beliebig viele timer und sie sind instanzierbar (FBs)
Nachteil: maximale genauigkeit 100ms + sps zyklus
und der code wird sehr aufgeblasen wenn du nicht gerade eine extra FC dafür schreibst.
Vielen Dank, ich werde es mir mal anschauen!die definitiv beste lösung sind die IEC timer.
weitere vorteil von dem IEC kram, wenn du damit arbeitest fällt dir eventuell später der umstieg/einstieg in ein ICE system wie beckhoff oder codesys leichter...
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?