Lusverwerking
Als het gemaakte robotbesturingsprogramma uit meerdere taken bestaat en ook taken met een oneindige lus bevat, kan het systeem onstabiel worden en kan de verbinding met Epson RC+ verbroken worden.
De Controller detecteert taken met oneindige lussen. Als de mogelijkheden om het systeem te beïnvloeden worden gedetecteerd, treedt de volgende foutmelding op en wordt het programma gestopt.
Als de fout optreedt, wijzig dan het programma en zorg ervoor dat u geen oneindige lus instelt.
Foutcode: 2556
Foutbericht: Er is een te lange lus gedetecteerd. Verminder het aantal taken die in een lus lopen of reset Wait
Voer indien mogelijk geen bewerkingen uit zoals een oneindige lus of andere soortgelijke bewerkingen.
Voer de opdracht Wait of een soortgelijke opdracht uit in de lusverwerking en voorkom dat de CPU bezet wordt wanneer u berekeningen uitvoert waarvoor een lus nodig is of wanneer u op I/O-signalen wacht.
Het is geen probleem als het wordt gebruikt in een lus die Wait-opdrachten vereist, zoals de opdracht Wait, de opdracht voor robotbeweging, de opdracht Print en de opdracht Wait Net.
BELANGRIJKE PUNTEN
In het volgende geval wordt een oneindige lus uitgevoerd:
Wanneer opdrachten alleen worden gemaakt met opdracht zonder Wait in de lus, zoals bewerkingsinstructie, toewijzingsopdracht en I/O-controleopdracht
Voorbeeld 1: Wanneer de uitvoerpoort “2” wordt ingeschakeld wanneer invoerpoort “0” is ingeschakeld
Voorbeeld van een programma dat een fout kan veroorzaken
Do
If Sw(0) = On Then
On(2)
Exit Do
EndIf
Loop
Correctievoorbeeld
Wait Sw(0) = On
On(2)
Voorbeeld 2: Bij het uitvoeren van een grote hoeveelheid berekeningen in een lusstructuur
Voorbeeld van een programma dat een fout kan veroorzaken
For i = 0 To 10000
For j = 0 To 10000
a = a + 1
Next
Next
Correctievoorbeeld
For i = 0 To 10000
For j = 0 To 10000
a = a + 1
Next
Wait 0.01 ' Execute Wait to avoid occupying the CPU
Next