Lus: PLC-term in gewoon Nederlands
Getallen en dataAls rondjes rennen op een baan totdat je vier ronden hebt gehad. Een lus herhaalt een stuk code en een duidelijke stopregel zorgt dat hij eindigt.
Een stuk code dat zich herhaalt. Een duidelijke stopregel voorkomt dat het eindeloos blijft herhalen.
Lus op een echte machine
Een lus is code die zich herhaalt. In PLC-teksttalen is de gebruikelijke FOR. SCL en gestructureerde tekst hebben ook WHILE en REPEAT, al gebruiken de missies van PLC Gym FOR.
Een lus is niet hetzelfde als de cyclus, ook al herhaalt de cyclus zich ook. De hele lus draait binnen één cyclus en de cyclus kan pas eindigen als de lus klaar is.
Een cyclus heeft een tijdslimiet. Bij Logix is de watchdog van elke taak standaard 500 ms en dat overschrijden is een ernstige storing (major fault). De maximale cyclustijd van een S7-1500 is standaard 150 ms en dat overschrijden stopt de CPU, tenzij OB 80 het afhandelt.
Lus: een uitgewerkt voorbeeld
Een programma controleert 20 tanktemperaturen op een waarde boven de limiet. Een FOR-lus bezoekt elke positie in de array en EXIT verlaat hem zodra er een is gevonden. Dat alles gebeurt binnen één cyclus.
Lus: een veelgemaakte fout
Een lus gebruiken om op een signaal te wachten. WHILE NOT ValveOpen eindigt nooit als de klep tijd nodig heeft, omdat de cyclus niet verder kan. Gebruik een timer of een stap en controleer in de volgende cyclus opnieuw.
Nog steeds niet zeker? Vraag het in de Kleedkamer.