1
Instrukcje wejścia/wyjścia
Komunikacja
Przerwania
Podstawowe instrukcje wejścia
Sygnały wejściowe mogą być odczytywane z zewnętrznych
urządzeń takich jak sterowniki PLC
Sygnały wejściowe są zapisywane w zmiennych systemowych
Zmienne systemowe:
M_IN(), M_INB, M_INW, M_DIN
M_IN
bitowe wejście
M_INB
8 bitowe wejście
M_INW
16 bitowe wejście
M_DIN
wejście spisu CC_Link
Podstawowe instrukcje wejścia
Instrukcja
WAIT
Oznacza oczekiwanie aż dany sygnał wejściowy osiągnie określony stan
Przykład (instrukcje wejścia)
WAIT M_IN(1)=1 (1)
M1=M_INB(20) (2)
M2=M_INW(5) (3)
(1) Czekaj aż wejściowy bit sygnału osiągnie wartość ON
(2) Przypisz zmiennej M1 wartości od 20 do 27 bitu sygnału (8-bitowe
wejście)
(3) Przypisz zmiennej M2 wartości od 5 do 20 bitu sygnału (16-bitowe
wejście)
Podstawowe instrukcje wyjścia
Sygnały wyjściowe mogą być przekazywane do zewnętrznych
urządzeń takich jak np. sterownik PLC
Instrukcje wyjścia:
M_OUT, M_OUTB, M_OUTW, M_DOUT
M_OUT
przypisanie wyjściu bitowego sygnału
M_OUTB
8-bitowego
M_OUTW
16-bitowego
M_DOUT
odwołanie do wyjść spisu CC_Link
Podstawowe instrukcje wyjścia
Instrukcja
CLR
Czyści sygnały wyjściowe o stanie podanym w parametrze
Przykład (instrukcje wyjścia)
CLR 1
(1)
M_OUT(1)=1
(2)
M_OUTB(8)=0
(3)
M_OUTW(20)=0
(4)
M_OUT(1)=1 DLY 0.5
(5)
M_OUTB(10)=&HOF
(6)
Podstawowe instrukcje wyjścia
(1) reset sygnałów wyjściowych
(2) Zmienia stan bitu wyjścia 1 na ON
(3) Zmienia stan 8 bitów wyjścia (bity 8-15) na OFF
(4) Zmienia stan 16 bitów wyjścia (bity 20-35) na OFF
(5) Zmienia stan bitu 1 wyjścia na On na 0.5 sekundy (pulse)
(6) Zmienia stan 4 bitów wyjścia (od 10-13) na ON, następnych
czterech (14-17) na OFF
2
KOMUNIKACJA
Komunikacja robota z komputerem
Instrukcje komunikacji:
OPEN
otwieranie komunikacji
CLOSE
zamykanie komunikacji
PRINT#
wypisywanie danych w formacie ASCII
INPUT#
pobieranie danych w formacie ASCII
ON COM GOSUB
definiowanie podprogramu , który ma zostać
wykonany gdy przerwanie jest wywoływane
przez com
COM ON
uruchamia przerwania z linii komunikacji
COM OFF
wyłącza przerwania z linii komunikacji,
przerwanie nie zostanie wykonane, nawet jeśli
się pojawi
COM STOP
Zatrzymuje przerwania z linii komunikacji, jeśli
przerwanie się pojawi jest zapamiętane i
wykonuje się jeśli zostanie uruchomione
KOMUNIKACJA
PRZYKŁADY:
OPEN” COM1: ” AS # 1
Otwórz port komunikacyjny COM1 jako plik o numerze 1
CLOSE #1
zamknięcie pliku numer 1
CLOSE
zamknięcie wszystkich otwartych plików
PRINT #1, „TEST”
Wypisz tekst „TEST” do pliku o numerze 1
PRINT #2 „M1=”; M1
Wypisz tekst „M1=” oraz wartość zmiennej M1 do pliku 2
PRINT #3, P1
Wypisz do pliku 3 wartość zmiennej pozycyjnej (współrzędne chwytaka
robota)
INPUT #1, M3
Dane wejściowe zamień na wartość liczbową i umieść ją w zmiennej
M3
INPUT #2, P2
Dane wejściowe zamień na zmienną pozycyjną u umieść ją w P2
KOMUNIKACJA
Przerwania wywoływane z COMa przykłady
ON COM(1) GOSUB 300
Skocz do linii programu 300 gdzie zdefiniowane są instrukcje
podprogramu jeśli pojawią się dane na linii komunikacyjnej COM1
ON COM(2) GOSUB * RECV
Skocz do podprogramu zaczynającego się od etykiety RECV jeśli
pojawią się dane na linii komunikacyjnej COM2
COM(1) ON
Uruchom obsługę przerwań od COM1
COM(2) OFF
Zablokuj obsługę przerwań od COM2
COM(1) STOP
Zatrzymaj obsługę przerwań od COM1. Wykonaj przerwanie jeśli pojawi
się uruchomienie obsługi przerwań
Przerwania
Przerwanie- jest to podprogram wykonywany
niezależnie od głównego programu tylko wtedy gdy
pojawia się sygnał inicjujący przerwanie.
Instrukcje związane z przerwaniem:
DEF ACT
definiuje warunki i procesy wywołujące przerwanie
ACT
określa ważność przerwania
RETURN
Powrót z przerwania
Przerwania
PRZYKŁADY:
DEF ACT 1, M_IN(10)=1 GOSUB 100
Jeśli 10 bit sygnału wejściowego jest w stanie ON przejdź do
wykonywania linii programu 100 gdy robot się już zatrzyma
DEF ACT 2, M_IN(11)=1 GOSUB 200, L
Jeśli 11 bit sygnału wejściowego jest w stanie ON przejdź do
wykonywania linii programu 200 gdy robot skończy wykonywać
aktualną instrukcję
DEF ACT 3, M_IN(12)=1 GOSUB 300, S
Jeśli 12 bit sygnału wejściowego jest w stanie ON przejdź do
wykonywania linii programu 300 gdy robot zatrzyma się w
czasie najkrótszym z możliwych
Przerwania
PRZYKŁADY:
ACT 1=1
Ustawia priorytet dla przerwania 1
ACT1=0
Wyłącza priorytet dla przerwania 1
RETURN 0 powrót do linii programu głównego w której
przerwanie wystąpiło
RETURN 1 powrót do linii o numer większej od tej w której
przerwanie wystąpiło
3
Przerwania
PODPROGRAMY
Instrukcje:
GOSUB
skok do linii programu o danym numerze lub
etykiecie
RETURN
powrót do programu głównego po wykonaniu
instrukcji zawartych w liniach do których odnosiło
polecenie GOSUB
ON GOSUB
skok do linii programu o numerze zależnym od
wartości arytmetycznego parametru np. M1
CALLP
Wywołanie programu. Powrót do programu
głównego następuje po wykonaniu tego programu
(END)
FPRM
przenosi argument wraz programem wywołanym przez
instrukcje CALLP
Przerwania
PRZYKŁADY:
GOSUB 100
przejście do podprogramu zaczynającego się w linii 100
GOSUB * GET
Przejście do podprogramu zaczynającego się od etykiety GET
ON M1 GOSUB 100, 200, 300
Jeśli wartość zmiennej M1 wynosi 1 skocz do linii 100, jeśli 2 skocz do
linii 200, jeśli 3 do linii 300, jeśli jest różna od tych wartości wykonaj
następną linię programu
RETURN
Powrót z podprogramu do linii następnej po tej która zawierała GOSUB
CALLP” 20”, M1, P1
Przeniesienie zmiennych M1 i P1 po programu 20 i wywołanie tego
programu
FPRM M10, P1
Zapisanie wartości zmiennych M10 i P1 wywołanych wraz z programem
z polecenia CALLP
DLY
Opóźnia wykonywanie instrukcji oraz może służyć do
wytwarzania sygnałów wyjściowych o określonym czasie trwania
DLY opóźnienie
DLY 0.05
czekaj 0.05 sekundy zanim
wykonasz następną instrukcję
M_OUT(10)=1 DLY 0.5
Ustaw stan 10 bitu wyjścia na 1
przez 0.5 sekundy