background image

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

background image

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

background image

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