Lokale voortgang laden…
PLC Gym
PLC Gym-homeNiveau 1, 0 XP · je voortgang
Missie 58 · PRO (vraagt Pro)

Oefening over Gemiddelde van de laatste vier metingen: voortschrijdend gemiddelde

Maak een rommelig niveau glad. Bewaar vier metingen en laat elke nieuwe de oudste vervangen.

Bereken SmoothedLevel als het gemiddelde van de laatste vier Level-metingen. Bewaar ze in Readings, een REAL-array met vier elementen, 0 tot en met 3. Zolang Sample ON is, neem je elke cyclus één meting. Zet die in het element waar WriteIndex naar wijst en schuif WriteIndex dan één op. Na element 3 laat je WriteIndex teruglopen naar 0, zodat de nieuwste meting de oudste vervangt. Tel de vier elementen op met een FOR-lus en deel door 4.

Deze missie hoort bij ProMaak een gratis account aan: elk account krijgt een gratis Pro-proefperiode tot 5 december.

Geen creditcard. Niets te betalen. Niets op te zeggen.

Official release: 5 December. Sta op die dag bovenaan de ranglijst en win 3 maanden Pro, plus 2 weken Pro om aan een vriend te geven. De 2e plaats wint 4 weken. De 3e plaats wint 2 weken. Regels

  • Elke les, vanaf nul
  • Elke missie en les, naarmate je niveau stijgt
  • Een praktijktest voor elke titel, met een certificaat
  • Spoel elke test terug, één cyclus tegelijk
  • Uitgewerkte oplossingen als je vastzit
  • De codeconverter, zoveel je wilt
De 3D-procestank waarop deze missie draaitPRO (vraagt Pro) missie
Hoe de test verloopt

Vier metingen vullen het venster

Test 1 van 4
Ingesteld door de testGecontroleerd door de testStap 6 van 6 · 120 ms
Level
Toegepast
Tijd
Over ons 15 min
Beloning
+350 XP
Opstelling
3D-procestank
Editors voor Siemens
SCL
Editors voor Rockwell
Gestructureerde tekst
Editors voor Beckhoff
Gestructureerde tekst
Fase
18. De laatste waarden bewaren
Vereist gedrag

Gemiddelde van de laatste vier metingen: wat je code moet doen

Een rommelige niveaumeting springt heen en weer. Gladstrijken zorgt dat latere logica niet op elke flikkering reageert. Trends toont Level en SmoothedLevel naast elkaar, cyclus voor cyclus. Dit is de eerste van twee missies over hetzelfde filter. Hier staat het venster, het aantal metingen waarvan je het gemiddelde neemt, vast op vier. Alle vier de elementen beginnen op 0.0, dus de eerste drie resultaten vallen te laag uit. De volgende missie lost dat op en laat het venster van grootte veranderen. Je filter berekent alleen een getal voor latere logica. Het schakelt de pomp of klep niet.

Sample
Sample ON neemt elke cyclus één Level-meting. Sample OFF laat SmoothedLevel zoals het is.
Opslaan en rondgaan
Elke meting komt in het volgende van de vier elementen. Na het vierde ga je terug naar het eerste, zodat de nieuwste meting de oudste vervangt. Hoe je de buffer indeelt, is aan jou.
Gemiddelde
Na elke meting is SmoothedLevel de som van de vier elementen, gedeeld door 4. Behoud de decimalen.
De eerste drie metingen
Alle vier de elementen beginnen op 0.0, en SmoothedLevel ook. Een leeg element telt nog steeds als 0. Dus met alleen 10% en 30% opgeslagen is het resultaat 10%: 40 gedeeld door 4.
Tagtabel

Gemiddelde van de laatste vier metingen: ingangen en uitgangen

Je programma leest 2 ingangen en stuurt 1 uitgang. De namen zijn hetzelfde in de editor van elk merk.

TagDatatypeJouw codeWat het betekent op de machine
LevelREALLeestEen ingang die je code nodig heeftTankniveau, %
SampleBOOLLeestEen ingang die je code nodig heeftZolang ON, neem elke cyclus één Level-meting.
SmoothedLevelREALSchrijftEen uitgang die je code zetGemiddelde van de laatste vier metingen, in %.

Schrijf in Siemens SCL de eigen tags van een blok met een # ervoor, zoals TIA Portal dat doet: #Level. Rockwell en TwinCAT gebruik alleen de naam: Level.

Automatische tests

Gemiddelde van de laatste vier metingen: wat de tests controleren

  1. Na elke meting is SmoothedLevel de som van de vier elementen, gedeeld door 4. Behoud de decimalen in metingen.
  2. De vijfde meting vervangt de eerste, en zo verder rond de vier elementen, hoeveel metingen er ook komen.
  3. Met Sample OFF blijft het gemiddelde stilstaan. Met Sample ingedrukt ON voegt elke cyclus een meting toe.
  1. Probeer het Gebruik de knoppen onder het model en kijk hoe de opstelling reageert.
  2. Oplossing testen Elke controle draait met één druk op je code.
  3. Terugspoelen PRO (vraagt Pro) Mislukt er een, ga dan cyclus voor cyclus terug om te zien waarom.

Vast bij deze missie? Vraag het de leden in de Kleedkamer.

Waarom het ertoe doet

Waar je dit in de praktijk tegenkomt

Rimpelingen op het oppervlak laten de niveaumeting van een fabriekstank heen en weer springen. De operator wil een rustiger getal op het scherm.

De laatste vier metingen middelen maakt de rimpelingen vlakker. Een meting die in het verkeerde element blijft staan, of nooit wordt vervangen, geeft een vals getal dat een echte verandering verbergt.

Waar je dit tegenkomtEén batch drank maken

In een drankenfabriek laten kleppen afgemeten hoeveelheden water en siroop in een mengtank. Een elektrische mixer mengt ze tot één batch. Een uitlaatklep stuurt de drank dan naar een buffertank. Vandaar tappen vulmachines hem in flessen.

  1. IngrediënttanksBevatten het water en de siroop
  2. MengtankEén batch vullen, mengen en metenJe bent hier
  3. BuffertankHoudt de afgewerkte drank klaar
  4. FlessenvullerDoet de drank in flessen
Op een echte locatie: plekken, onderdelen en veiligheid
  • Drankenfabriek — water en siroop mengen
  • Verffabriek — ingrediënten mengen tot een gelijkmatige kleur
  • Waterzuivering — een afgemeten chemisch mengsel voorbereiden
  • Brouwerij — water verwarmen om apparatuur te wassen

Een volle tank sluit zijn eigen inlaat niet. Er blijft water binnenkomen tot de klep sluit, dus een open inlaat kan de ruimte laten overstromen.

Een verwarmer die niet door vloeistof is bedekt, kan oververhit raken. Echte tanks hebben naast het PLC-programma aparte veiligheidsvoorzieningen.

De afmetingen, tijden en doorsneden zijn keuzes voor het onderwijs, geen tekening van één echte installatie.

Ga door

Hierna op de route