Fatek bez tajemnic cz. VIII – Pętla FOR

Opublikowano

26 listopada 2018

Pętla FOR – zastosowanie

Największą zaletą pętli FOR jest to, że zawarty w niej program jest wykonywany N-krotnie – gdzie liczba N może być stała lub zmienna. W razie potrzeby zakończenia pętli w cyklu wcześniejszym, niż N-ty, należy zastosować polecenie BREAK.

Doskonałym przykładem na wykorzystanie pętli FOR jest sumowanie wartości z N kolejnych rejestrów.

Korzystając z wiedzy zdobytej w części VI naszego kursu, pętla FOR może być umieszczona w podprocedurze. W programie głównym umieszczamy wywołanie podprogramu poprzez marker M0 w następujący sposób:

pętla FOR

Otrzymujemy gotowy program główny. Teraz możemy przejść do podprocedury i napisać właściwą pętlę FOR:

pętla FOR

Program ten dzięki adresowaniu pośrednim (rejestr P0 będzie mówił o numerze rejestru RP0, do którego się odwołujemy, jeśli P0=0 to odwołujemy się do R0, P0=1, to odwołujemy się do R1 itd.) zsumuje N kolejnych rejestrów, gdzie N będzie liczbą wykonania pętli FOR określoną w rejestrze R99. W programie wykorzystujemy następujące funkcje:

LBL – etykieta podprocedury – nazwa musi być zgodna z nazwą w funkcji wywołania CALL

RST – resetowanie wartości rejestru R100, w którym zliczamy sumę, oraz P0 – rejestr adresowania pośredniego

FOR – początek pętli wykonanej tyle razy, ile określa rejestr R99

11.(+) – dodawanie do rejestru R100 rejestru RP0 (będą to rejestry R, których numer jest określony w rejestrze P0)

71 NEXT – zakończenie pętli FOR

68 RTS – wyjście z podprocedury

Po napisaniu programu możemy stworzyć nową kartę stanu, na której będziemy testować jego działanie. Poniżej pokazano test programu – zostało zsumowane 10 kolejnych rejestrów od R0 do R9 (liczba wykonania pętli R99=10). Do testu wykorzystano tryb symulacji:

pętla FOR

Na karcie stanów wprowadzamy wartości dla wykorzystywanych rejestrów i zmieniamy stan markera M0 w stan ON. Wynik otrzymamy w rejestrze R100 (suma).

Zapraszam do kolejnej części kursu.

Autor: Jarosław Pawełek

Absolwent Akademii Górniczo – Hutniczej im. Stanisława Staszica w Krakowie na kierunku Automatyka i Robotyka ze specjalnością Automatyka i Metrologia. Przygodę z automatyką rozpoczynał w firmie od stanowiska praktykanta. Przechodząc kolejno na stanowisko Doradcy ds. technicznych oraz obecnie zajmując stanowisko Kierownika Działu Wsparcia Technicznego stara się zapewniać najlepsze wsparcie merytoryczne dla naszych klientów. Prywatnie miłośnik fotografii.