PAiRAII_Instr_2008_lab6a.pdf

(168 KB) Pobierz
PAiRAII_Instr_2008_lab6a
6
Programowanie zaawansowane
Informacje wst ę pne:
BLOKIDZIAŁAŃNABITACH
W sterownikach GE Fanuc dostępne są następujące bloki do działań na bitach:
-
AND - koniunkcja słów bitowych,
-
OR - alternatywa słów bitowych,
-
XOR - róŜnica symetryczna słów bitowych,
-
NOT - negacja słowa bitowego,
-
SHIFTL - przesunięcie bitów o 1 pozycję w lewo,
-
SHIFTR - przesunięcie bitów o 1 pozycję w prawo,
-
ROL - przesunięcie bitów o 1 pozycję w lewo w obiegu zamkniętym,
-
ROR - przesunięcie bitów o 1 pozycję w prawo w obiegu zamkniętym,
-
BIT_TST - testowanie wartości bitu w określonym słowie,
-
BIT_SET - ustawianie bitu w określonym słowie,
-
BIT_CLR - zerowanie bitu w określonym słowie,
-
BIT_POS - testowanie na której pozycji bitowej w danym słowie występuje 1,
-
BIT_SEQ – krąŜąca jedynka,
-
MASK_COMP – porównanie z maskowaniem.
Blok funkcyjny Typ argumentów
Opis
IN1 : WORD
IN2 : WORD
Q : WORD
Iloczyn logiczny
Q := IN1 AND IN2
IN1 : WORD
IN2 : WORD
Q: WORD
Suma logiczna
Q := IN1 OR IN2
IN1 : WORD
IN2 : WORD
Q : WORD
Alternatywa wyłączająca
Q := IN1 XOR IN2
Laboratorium Podstaw Automatyki i Regulacji Automatycznej II
1
445186025.041.png 445186025.042.png 445186025.043.png 445186025.044.png 445186025.001.png
Programowanie zaawansowane
Parametr Przepływ %I
%Q %M %T
%S %G %R %AI %AQ Stała Brak
enable
IN1
IN2
ok
Q
•!
• Dozwolony typ parametru.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać
ze zmiennych typu %S.
Blok funkcyjny Typ argumentów
Opis
IN : WORD
Q : WORD
Negacja
Q := NOT IN
Parametr Przepływ %I
%Q %M
%T
%S
%G %R %AI %AQ Stała Brak
enable
IN1
ok
Q
•!
• Dozwolony typ parametru.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać ze
zmiennych typu %S.
Blok funkcyjny
Typ argumentów
Opis
IN : WORD
N : INT
Q : WORD
length : 1-256
Powoduje rotację o N bitów (ROL w lewo, ROR
w prawo) ciągu bitów, którego początek określa IN
i składa się z tylu WORD, ile wynosi length . Wynik
po rotacji przechowywany jest w obszarze,
którego początek określa Q .
Parametr Przepływ %I
%Q %M
%T
%S
%G %R %AI %AQ Stała Brak
enable
IN
N
ok
Q
•!
• Dozwolony typ parametru.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać ze
zmiennych typu %S.
Blok funkcyjny
Typ argumentów
Opis
IN : WORD
N : INT
B1 : BOOL
B2 : BOOL
Q : WORD
length : 1-256
Powoduje przesunięcie o N bitów (SHIFTL w lewo,
SHIFTR w prawo) ciągu bitów, którego początek
określa IN i składa się z tylu WORD, ile wynosi
length . Wynik po przesunięciu przechowywany jest
w obszarze, którego początek określa Q . B1 – bit
wsuwany, B2 – ostatnio wysunięty bit.
2
Laboratorium Podstaw Automatyki i Regulacji Automatycznej II
445186025.002.png 445186025.003.png 445186025.004.png 445186025.005.png 445186025.006.png 445186025.007.png 445186025.008.png 445186025.009.png 445186025.010.png 445186025.011.png 445186025.012.png 445186025.013.png 445186025.014.png 445186025.015.png 445186025.016.png
Programowanie zaawansowane
Parametr Przepływ %I
%Q %M
%T
%S
%G %R %AI %AQ Stała Brak
enable
IN
N
B1
B2
Q
•!
• Dozwolony typ parametru.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać ze
zmiennych typu %S.
Blok funkcyjny
Typ argumentów
Opis
IN : WORD
BIT : INT
length : 1-256
BITSET ustawia, BITCLR zeruje dokładnie jeden bit
o numerze BIT w ciągu bitów, którego początek
określa IN i składa się z tylu WORD, ile wynosi length
(bity są numerowane od 1).
Parametr Przepływ %I
%Q %M
%T
%S
%G %R %AI %AQ Stała Brak
enable
IN
!
BIT
ok
• Dozwolony typ parametru.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać ze
zmiennych typu %S.
Blok funkcyjny
Typ argumentów
Opis
IN : WORD
BIT : INT
Q : BOOL
length : 1-256
Testuje stan bitu o numerze BIT w ciągu bitów,
którego początek określa IN i składa się z tylu
WORD, ile wynosi length .
Stan testowanego bitu podawany jest na Q .
Parametr Przepływ %I
%Q %M
%T
%S
%G %R %AI %AQ Stała Brak
enable
IN
BIT
Q
• Dozwolony typ parametru.
Blok funkcyjny
Typ argumentów
Opis
IN : WORD
POS : INT
length : 1-256
Przeszukuje ciąg bitów, którego początek
określa IN i składa się z tylu WORD, ile wynosi
length , w celu znalezienia pierwszej jedynki.
Numer pierwszego niezerowego bitu
umieszcza w POS (bity są numerowane od 1).
Laboratorium Podstaw Automatyki i Regulacji Automatycznej II
3
445186025.017.png 445186025.018.png 445186025.019.png 445186025.020.png 445186025.021.png 445186025.022.png 445186025.023.png 445186025.024.png 445186025.025.png 445186025.026.png 445186025.027.png 445186025.028.png 445186025.029.png 445186025.030.png 445186025.031.png 445186025.032.png
Programowanie zaawansowane
Parametr Przepływ %I
%Q %M %T %S %G %R %AI %AQ Stała Brak
enable
IN
POS
ok
• Dozwolony typ parametru.
Blok funkcyjny
Typ argumentów
Opis
R : BOOL
DIR : BOOL
N : INT
ST : BYTE
length : 1-256
address : 3 WORD
Zbocze narastające na wejściu Enable
powoduje przesunięcie jedynki w ciągu bitów,
którego początek określa ST i składa się z tylu
bitów, ile wynosi length .
DIR - kierunek przesunięcia.
R =1 zeruje obszar określony przez ST i
length oraz ustawia jedynkę na bicie o
numerze określonym przez N . Dopóki
R =1, Enable nie reaguje na zbocza
narastające.
Parametr Sygnał %I
%Q %M
%T
%S
%G %R %AI %AQ Stała Brak
address
enable
R
DIR
STEP
ST
•!
ok
Dozwolony typ parametru.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać ze zmiennych
typu %S.
Blok funkcyjny
Typ argumentów
Opis
IN1 : WORD lub DWORD
IN2 : WORD lub DWORD
M : WORD lub DWORD
BIT : INT
MC : BOOL
Q : WORD lub DWORD
BN : INT
length : 1-2048
Porównuje dwa ciągi bitów, których początek
określa IN1 i IN2 i składają się z tylu WORD
lub DWORD, ile wynosi length . Porównywanie
odbywa się z maską M , tzn. sprawdza tylko te
bity, które maska ma wyzerowane.
BIT – nr bitu, od którego zaczyna porównywać
(bity są numerowane od 0).
MC =1 – znalazł róŜnicę.
Q – wynik porównania
BN – nr bitu, na którym wystąpiła róŜnica (bity
są numerowane od 1)
4
Laboratorium Podstaw Automatyki i Regulacji Automatycznej II
445186025.033.png 445186025.034.png 445186025.035.png 445186025.036.png 445186025.037.png
Programowanie zaawansowane
Parametr Sygnał %I
%Q %M
%T
%S
%G
%R %AI %AQ Stała Brak
enable
IN1
○ ○ ○ ○ ○ ○
IN2
○ ○ ○ ○ ○ ○
M
○ ○ ○ ○ ○! ○
BIT
LEN
•‼
MC
Q
○ ○ ○ ○ ○! ○
BN
• Typ moŜe być wykorzystany jako dany parametr bloku funkcyjnego.
○ Dopuszczalne jest stosowanie wyłącznie danych typu WORD, nie moŜna stosować zmiennych typu
DWORD.
! MoŜna stosować wyłącznie zmienne systemowe typu %SA, %SB i %SC. Nie moŜna korzystać ze
zmiennych typu %S.
‼ Maksymalna wartość stałej moŜe wynosić 4095 dla danych typu WORD i 2047 dla danych typu DWORD.
Przykład 1.
Gdy marker %M00050=1 program sterujący ma zerować następujący obszar pamięci: %M00001÷%M00016,
%M00030÷%M00035 oraz ustawiać same jedynki w obszarze pamięci %M00020 ÷ %M00026.
Rozwi ą zanie I (z wykorzystaniem bloków z grupy Data Move)
Zmienne M00030 i M00020 naleŜy zadeklarować jako typu BOOL.
Rozwi ą zanie II (z wykorzystaniem bloków z grupy Bit Operations)
Przykład 2.
Program ma sprawdzać ósmy i siódmy bit rejestru o nazwie STATUS. Jeśli oba są jedynkami, to ustawia
jedynkę na szesnastym bicie rejestru o nazwie PARAMETR, w przeciwnym przypadku 16-ty bit rejestru
PARAMETR zeruje. Pozostałe bity rejestru PARAMETR pozostają bez zmian.
Laboratorium Podstaw Automatyki i Regulacji Automatycznej II
5
445186025.038.png 445186025.039.png 445186025.040.png
Zgłoś jeśli naruszono regulamin