PAiRAII Instr 2008 lab6a

background image

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

1

6

Programowanie zaawansowane

Informacje wst

ę

pne:

BLOKI DZIAŁAŃ NA BITACH

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

background image

Programowanie zaawansowane

2

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

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.

background image

Programowanie zaawansowane

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

3

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).

background image

Programowanie zaawansowane

4

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

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)

background image

Programowanie zaawansowane

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

5

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.

background image

Programowanie zaawansowane

6

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

Rozwi

ą

zanie

DZIAŁANIA NA TABLICACH

Bloki do wykonywania operacji na tablicach danych dzi

ę

ki indeksacji znacznie upraszczaj

ą

program:

SEARCH_EQ - przeszukiwanie tablicy w celu znalezienia warto

ś

ci równej warto

ś

ci zadanej,

SEARCH _NE - przeszukiwanie tablicy w celu znalezienia warto

ś

ci ró

ż

nej od warto

ś

ci zadanej,

SEARCH _GT - przeszukiwanie tablicy w celu znalezienia warto

ś

ci wi

ę

kszej od warto

ś

ci zadanej,

SEARCH _GE - przeszukiwanie tablicy w celu znalezienia warto

ś

ci wi

ę

kszej lub równej warto

ś

ci zadanej,

SEARCH _LT - przeszukiwanie tablicy w celu znalezienia warto

ś

ci mniejszej od warto

ś

ci zadanej,

SEARCH _LE - przeszukiwanie tablicy w celu znalezienia warto

ś

ci mniejszej lub równej warto

ś

ci zadanej

background image

Programowanie zaawansowane

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

7

Blok funkcyjny

Typ argumentów

Opis

SR: INT, DINT, WORD, BYTE lub BOOL

SNX: UINT

DNX: UINT

N: UINT

DS: INT, DINT, WORD, BYTE lub BOOL

length: 32767

Kopiowanie

Kopiuje N elementów
z tablicy

ź

ródłowej

zdefiniowanej przez SR
i length pocz

ą

wszy od

elementu o numerze SNX
do tablicy przeznaczenia
zdefiniowanej przez DS
i length pocz

ą

wszy od

elementu o numerze DNX.
Elementami tablic s

ą

INT,

DINT, WORD, BYTE lub
BOOL liczone od 1.

Parametr Przepływ

%I

%Q

%M

%T

%S

%G

%R

%AI

%AQ Stała

Brak

enable

SR

!

SNX

DNX

N

ok

DS

!

• Dozwolony typ parametru. W funkcji ARRAY_MOVE_BOOL warto

ś

ci zmiennych dyskretnych %I, %Q,

%M i %T nie musz

ą

by

ć

podawane z uwzgl

ę

dnieniem podziału na bajty.

Mo

ż

e by

ć

wykorzystany wył

ą

cznie jako parametr do operacji na danych typu INT, BIT, BYTE lub WORD.

Nie mo

ż

na go wykorzystywa

ć

w przypadku operacji na danych typu DINT.

Mo

ż

e by

ć

wykorzystany wył

ą

cznie jako parametr do operacji na danych typu BIT, BYTE lub WORD.

Nie mo

ż

na go wykorzystywa

ć

w przypadku operacji na danych typu INT lub DINT.

! 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

AR: INT

INX: UINT

ONX: UINT

IN: INT

FD: BOOL

length: 32767

Przeszukuje tablic

ę

zdefiniowan

ą

przez

AR i length pocz

ą

wszy od elementu

INX w celu znalezienia elementów
równych wzorcowi IN. Je

ż

eli wynik

przeszukiwania b

ę

dzie pozytywny,

to D=1 i ONX - numer znalezionego
elementu tablicy. Elementami tablicy s

ą

INT, DINT, WORD lub BYTE. INX jest
liczone od 0, ONX jest liczone od 1.

background image

Programowanie zaawansowane

8

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

AR: INT

INX: UINT

ONX: UINT

IN: INT

FD: BOOL

length: 32767

Przeszukuje tablic

ę

zdefiniowan

ą

przez

AR i length pocz

ą

wszy od elementu

INX w celu znalezienia elementów

ż

nych od wzorca IN. Je

ż

eli wynik

przeszukiwania b

ę

dzie pozytywny,

to D=1 i ONX - numer znalezionego
elementu tablicy. Elementami tablicy s

ą

INT, DINT, WORD lub BYTE. INX jest
liczone od 0, ONX jest liczone od 1.

AR: INT

INX: UINT

ONX: UINT

IN: INT

FD: BOOL

length: 32767

Przeszukuje tablic

ę

zdefiniowan

ą

przez

AR i length pocz

ą

wszy od elementu

INX w celu znalezienia elementów
wi

ę

kszych od wzorca IN. Je

ż

eli wynik

przeszukiwania b

ę

dzie pozytywny,

to D=1 i ONX - numer znalezionego
elementu tablicy. Elementami tablicy s

ą

INT, DINT, WORD lub BYTE. INX jest
liczone od 0, ONX jest liczone od 1.

AR: INT

INX: UINT

ONX: UINT

IN: INT

FD: BOOL

length: 32767

Przeszukuje tablic

ę

zdefiniowan

ą

przez

AR i length pocz

ą

wszy od elementu

INX w celu znalezienia elementów
wi

ę

kszych lub równych wzorcowi IN.

Je

ż

eli wynik przeszukiwania b

ę

dzie

pozytywny, to FD=1 i ONX - numer
znalezionego elementu tablicy.
Elementami tablicy s

ą

INT, DINT,

WORD lub BYTE. INX jest liczone
od 0, ONX jest liczone od 1.

AR: INT

INX: UINT

ONX: UINT

IN: INT

FD: BOOL

length: 32767

Przeszukuje tablic

ę

zdefiniowan

ą

przez

AR i length pocz

ą

wszy od elementu

INX w celu znalezienia elementów
mniejszych od wzorca IN. Je

ż

eli wynik

przeszukiwania b

ę

dzie pozytywny,

to D=1 i ONX - numer znalezionego
elementu tablicy. Elementami tablicy s

ą

INT, DINT, WORD lub BYTE. INX jest
liczone od 0, ONX jest liczone od 1.

AR: INT

INX: UINT

ONX: UINT

IN: INT

FD: BOOL

length: 32767

Przeszukuje tablic

ę

zdefiniowan

ą

przez

AR i length pocz

ą

wszy od elementu

INX w celu znalezienia elementów
mniejszych lub równych wzorcowi IN.
Je

ż

eli wynik przeszukiwania b

ę

dzie

pozytywny, to FD=1 i ONX - numer
znalezionego elementu tablicy.
Elementami tablicy s

ą

INT, DINT,

WORD lub BYTE. INX jest liczone
od 0, ONX jest liczone od 1.

Parametr Przepływ

%I

%Q

%M

%T

%S

%G

%R

%AI

%AQ Stała

Brak

enable

AR

INX

IN

ONX

FD

• Dozwolony typ parametru.

Mo

ż

e by

ć

wykorzystany wył

ą

cznie jako parametr do operacji na danych typu INT, BYTE lub WORD. Nie

mo

ż

na go wykorzystywa

ć

w przypadku operacji na danych typu DINT.

Mo

ż

e by

ć

wykorzystany wył

ą

cznie jako parametr do operacji na danych typu BYTE lub WORD. Nie mo

ż

na

go wykorzystywa

ć

w przypadku operacji na danych typu INT lub DINT.

background image

Programowanie zaawansowane

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

9

Przykład 3.

Nale

ż

y skopiowa

ć

zawarto

ść

rejestrów %R00002÷%R00006 do rejestrów %R00044÷%R00048. Sygnał

dopływaj

ą

cy do %I00001 powinien uruchomi

ć

procedur

ę

kopiowania, brak sygnału na %I00001 powinien

spowodowa

ć

wyzerowanie tablicy docelowej.

Rozwi

ą

zanie:


Do wyzerowania obszaru %R00041÷%R00050 słu

ż

y blok BLK_CLR_WORD. Tablica

ź

ródłowa zajmuje

obszar od %R00001 do %R00010, tablica docelowa, zajmuje obszar od %R00041 do %R00050. Blok
ARRAY_MOVE_INT kopiuje 5 elementów z tablicy

ź

ródłowej pocz

ą

wszy od elementu nr 2 do tablicy

docelowej, umieszczaj

ą

c je pocz

ą

wszy od elementu nr 4. Poni

ż

szy rysunek ilustruje zasad

ę

kopiowania.

R1

N=5

Tablica

ź

ródłowa

Tablica docelowa

SNX=2

DNX=4

Length=10

R2

R3

R4

R5

R6

R7

R8

R9

R10

R41

R42

R43

R44

R45

R46

R47

R48

R49

R50

Przykład 4.

Program ma sprawdza

ć

, czy na którym

ś

z kanałów 16-to kanałowego modułu wej

ść

analogowych wyst

ą

piło

przekroczenie górne o warto

ś

ci 10000. Je

ż

eli jest przekroczenie, to program ma wł

ą

czy

ć

wyj

ś

cie o nazwie

BUCZEK oraz wskaza

ć

w rejestrze o nazwie NR_KAN numer pierwszego kanału, na którym wyst

ą

piło

przekroczenie.

Rozwi

ą

zanie:

Do przeszukiwania tablicy w celu znalezienia elementów wi

ę

kszych lub równych wzorcowi słu

ż

y funkcja

SEARCH_GE_INT. Aby był przeszukiwany obszar od %AI0001 do %AI00016 nale

ż

y ustawi

ć

parametr length

na warto

ść

16. Je

ż

eli ma by

ć

przeszukiwana cała tablica, nale

ż

y poda

ć

wej

ś

ciowy parametr INX=0. Gdyby

interesowało nas przeszukiwanie tablicy nie od elementu z indeksem 0 lecz dalszym, to nale

ż

y poda

ć

offset

w wej

ś

ciowym parametrze INX (mo

ż

na to wykorzysta

ć

do poszukiwania kolejnych wyst

ą

pie

ń

wzorca).

Wyj

ś

ciowy parametr ONX okre

ś

la miejsce, gdzie zostanie umieszczony indeks elementu przeszukiwanej

tablicy, który jest zgodny z wzorcem. Sygnał FD=1 sygnalizuje pozytywny wynik przeszukiwania.

background image

Programowanie zaawansowane

10

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

FUNKCJE STERUJĄCE

Do funkcji steruj

ą

cych nale

żą

nast

ę

puj

ą

ce bloki:

DO_IO - natychmiastowe uaktualnienie stanu wej

ść

/wyj

ść

,

PID_ISA - regulator PID z algorytmem standardowym,

PID_IND - regulator PID z algorytmem o niezale

ż

nych wyrazach,

SVC_REQ - uruchomienie specjalnych funkcji sterownika.

Blok funkcyjny

Argument

Opis

FNC: 1

Odczyt/zmiana trybu pracy pracy sterownika (Normal, Const Sweep)

FNC: 2

Odczyt ustawie

ń

p

ę

tli (Programmer Window, Communication Window,

Background Window)

FNC: 3

Zmiana trybu Programmer Window

FNC: 4

Zmiana trybu Communication Window

FNC: 6

Odczyt/zmiana liczby słów sumy kontrolnej

FNC: 7

Odczyt/zmiana wskaza

ń

zegara czasu rzeczywistego

FNC: 8

Restart Watchdoga

FNC: 9

Odczyt czasu, jaki upłyn

ą

ł od pocz

ą

tku p

ę

tli

FNC: 10

Odczyt PLC Target Name

FNC: 11

Odczyt SNP ID

FNC: 12

Odczyt stanu Run

FNC: 13

Stop PLC

FNC: 14

Zerowanie Fault Table

FNC: 15

Odczyt ostatniego bł

ę

du z tablicy bł

ę

dów

FNC: 16

Odczyt czasu, jaki upłyn

ą

ł od zał

ą

czenia sterownika

FNC: 18

Sprawdzenie, czy s

ą

ustawione wymuszenia

FNC: 23

Odczyt sumy kontrolnej

FNC: 26/30

Porównanie konfiguracji sprz

ę

towej z konfiguracj

ą

w RAM i generowanie

ę

dów

FNC: 29

Odczyt czasu, jaki upłyn

ą

ł od wył

ą

czenia sterownika

background image

Programowanie zaawansowane

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

11

SVC_REQ #7 – odczyt/zmiana wskaza

ń

zegara czasu rzeczywistego

PARM

0=odczyt bie

żą

cego czasu i daty

1=zapis nowego czasu i daty

PARM +1

1=kod BCD
3=kod ASCII

PARM +2 do ko

ń

ca bloku parametrów

Odczyt daty i czasu w formacie BCD (niedziela 3 lipca 1988, godz. 14:45:30)

Bajt wy

ż

szy

Bajt ni

ż

szy

Bajt wy

ż

szy

Bajt ni

ż

szy

PARM

1=zapis lub 0=odczyt

0

PARM +1

1=kod BCD

1

PARM +2

miesi

ą

c

rok

07

88

PARM +3

godziny

dzie

ń

miesi

ą

ca

14

03

PARM +4

sekundy

minuty

30

45

PARM +5

(puste pola)

dzie

ń

tygodnia

00

01

Odczyt daty i czasu w formacie ASCII (poniedziałek 2 pa

ź

dziernika 1989, godz. 23:13:00)

Bajt wy

ż

szy

Bajt ni

ż

szy

Bajt wy

ż

szy

Bajt ni

ż

szy

PARM

1=zapis lub 0=odczyt

0

PARM +1

3=ASCII

3

PARM +2

Rok

Rok

39

38

PARM +3

Miesi

ą

c

(spacja)

31

20

PARM +4

(spacja)

Miesi

ą

c

20

30

PARM +5

Dzie

ń

miesi

ą

ca

Dzie

ń

miesi

ą

ca

32

30

PARM +6

Godziny

(spacja)

32

20

PARM +7

:

Godziny

3A

33

PARM +8

Minuty

Minuty

33

31

PARM +9

Sekundy

:

30

3A

PARM +10 (spacja)

Sekundy

20

30

PARM +11 Dzie

ń

tygodnia

Dzie

ń

tygodnia

32

30

Przykład 5.

Napisa

ć

program do obsługi zegara czasu rzeczywistego w sterowniku. Bie

żą

ce wskazania zegara maj

ą

po odczytaniu znale

źć

si

ę

w rejestrach %R00003÷%R00006. Rejestry %R00003÷%R00005 maj

ą

tak

ż

e

umo

ż

liwia

ć

wprowadzanie do sterownika nowych ustawie

ń

zegara. Odczyt zegara ma si

ę

odbywa

ć

raz na

sekund

ę

. Sygnał dwustanowy ZAPIS okre

ś

la, czy jest wykonywany odczyt, czy zapis nowych ustawie

ń

zegara.

ZAPIS = 0

odczyt zegara,

ZAPIS = 1

mo

ż

liwo

ść

wprowadzania nowych ustawie

ń

zegara.

Rozwi

ą

zanie

Skorzystano z bloku funkcyjnego SVC_REQ o numerze funkcji FNC=7. Parametrami tego bloku s

ą

rejestry

pocz

ą

wszy od R00001. Wprowadzenie do R00001 warto

ś

ci 0 powoduje odczyt zegara, wprowadzenie

warto

ś

ci 1 powoduje wej

ś

cie w tryb zapisywania. Zapis nowych ustawie

ń

do zegara czasu rzeczywistego

odbywa si

ę

przy zmianie stanu sygnału ZAPIS z jedynki na 0. Ustawienia zegara s

ą

odczytywane

(i wprowadzane) w nast

ę

puj

ą

cy sposób:

rejestr %R00003 = miesi

ą

c i rok (w kodzie BCD),

rejestr %R00004 = godzina i dzie

ń

(w kodzie BCD),

rejestr %R00005 = sekunda i minuta (w kodzie BCD),
rejestr %R00006 = numer dnia tygodnia (tylko odczyt).

background image

Programowanie zaawansowane

12

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

Przykład 6.

Po 15 s od momentu wykrycia braku modułu wej

ść

/wyj

ść

sterownik ma si

ę

zatrzyma

ć

(przej

ść

w stan Stop).

Rozwi

ą

zanie

Do rozwi

ą

zania zadania posłu

ż

ono si

ę

zmienn

ą

systemow

ą

#LOS_IOM, która zostaje ustawiona na 1, gdy

procesor nie mo

ż

e skomunikowa

ć

si

ę

z modułem wej

ść

/wyj

ść

. Programowe przej

ś

cie sterownika w stan Stop

zrealizowano przy pomocy bloku SVC_REQ o numerze FNC=13.

background image

Programowanie zaawansowane

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

13

Program

ć

wiczenia:

Zad. 1.

Napisa

ć

program, w którym na wyj

ś

ciach Q00001

÷

Q00016 co sekund

ę

b

ę

d

ą

pojawia

ć

si

ę

stany:

Q00016

Q00001

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

.
.

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0

.
.

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

Itd., czyli wydłu

ż

aj

ą

cy si

ę

, a potem skracaj

ą

cy w

ąż

jedynek.

Zad. 2.

Napisa

ć

program do pobierania wybranej przez operatora receptury. Zakładamy,

ż

e program obsługuje

12 receptur 10-składnikowych przechowywanych w nast

ę

puj

ą

cym obszarze rejestrów:

receptura nr 1:

%R00001

÷

%R00010

receptura nr 2:

%R00011

÷

%R00020

receptura nr 3:

%R00021

÷

%R00030

receptura nr 4:

%R00031

÷

%R00040

receptura nr 5:

%R00041

÷

%R00050

receptura nr 6:

%R00051

÷

%R00060

receptura nr 7:

%R00061

÷

%R00070

receptura nr 8:

%R00071

÷

%R00080

receptura nr 9:

%R00081

÷

%R00090

receptura nr 10: %R00091

÷

%R00100

receptura nr 11: %R00101

÷

%R00110

receptura nr 12: %R00111

÷

%R00120.

Operator wybiera

żą

dan

ą

receptur

ę

przez wpisanie numeru receptury do rejestru %R00411. Wówczas

program ma pobra

ć

wybran

ą

receptur

ę

do rejestrów %R00401

÷

%R00410 przewidzianych do wy

ś

wietlenia na

ekranie wizualizacji.

Zad. 3.

Program ma co sekund

ę

pobiera

ć

odczyt z wej

ś

cia analogowego WE_ANAL i przez 1 minut

ę

wpisywa

ć

odczyty do obszaru rejestrów %R00001

÷

%R00060. Po upływie 1 min. ma przepisa

ć

obszar odczytów

z ostatniej minuty do obszaru rejestrów %R00101

÷

%R00160 (przewidzianych np. do narysowania wykresu na

ekranie wizualizacji) oraz wyzerowa

ć

rejestry %R00001

÷

%R00060, aby przygotowa

ć

je do pobierania

odczytów z nast

ę

pnej minuty.

Zad. 4.

Napisa

ć

program, który co 0.5 s odczytuje stan zegara czasu rzeczywistego ze sterownika i przesyła do

rejestrów o nazwach ROK, MIES, DZIEN, GODZ, MIN, SEK aktualne odczyty zegara w formacie INT.

Zad. dod. 1.

Zaprojektowa

ć

układ sterowania ruchem manipulatora zgodnie

z zało

ż

eniami zawartymi w instrukcji nr 3 zad. 2, wykorzystuj

ą

c blok

BIT_SEQ. Zakładamy,

ż

e manipulator znajduje si

ę

w poło

ż

eniu dolnym

prawym. Po naci

ś

ni

ę

ciu niestabilnego przycisku START uruchamiana

jest jednorazowa sekwencja ruchu manipulatora: w gór

ę

, w lewo, w dół,

w gór

ę

, w prawo, w dół. Po powrocie manipulatora w dolne prawe

poło

ż

enie system sterowania czeka na nast

ę

pne naci

ś

ni

ę

cie przycisku

START.

START

background image

Programowanie zaawansowane

14

Laboratorium Podstaw Automatyki i Regulacji Automatycznej II

Zad. dod. 2.

Zaprojektowa

ć

układ sterowania ruchem manipulatora zgodnie z zało

ż

eniami zawartymi w instrukcji nr 4

zad. dod. 1, wykorzystuj

ą

c blok BIT_SEQ. Program ma kontrolowa

ć

stan czujników otwarcia i zamkni

ę

cia

chwytaka i nie wykonywa

ć

nast

ę

pnej akcji, dopóki nie dostanie prawidłowego sygnału z czujnika.

Zad. dod. 3.

Napisz program sterowania

ś

wiatłami na skrzy

ż

owaniu wykorzystuj

ą

c BIT_SEQ. Fazy

ś

wiateł zgodnie

z zało

ż

eniami zawartymi w instrukcji nr 4 zad. 2.

Zad. dod. 4.

Program ma sprawdza

ć

, czy na którym

ś

z kanałów 16-to kanałowego modułu wej

ść

analogowych wyst

ą

piło

przekroczenie górne o warto

ś

ci 10000. Je

ż

eli jest przekroczenie, to program ma wł

ą

czy

ć

wyj

ś

cie o nazwie

BUCZEK oraz wskaza

ć

w rejestrze o nazwie KAN_NR numer kanału, na którym wyst

ą

piło przekroczenie.

Je

ż

eli przekroczenia s

ą

na kilku kanałach, to naciskaj

ą

c niestabilny przycisk DALEJ w rejestrze KAN_NR

b

ę

dziemy dostawa

ć

kolejne numery kanałów, na których wyst

ą

piło przekroczenie. Po wy

ś

wietleniu ostatniego

kanału z przekroczeniem, nast

ę

pne DALEJ powoduje wy

ś

wietlenie w KAN_NR numeru pierwszego kanału

z przekroczeniem itd.

Zad. dod. 5.

Napisa

ć

program, który znajduje najwi

ę

ksz

ą

warto

ść

w

ś

ród pomiarów przechowywanych w obszarze

%R00201-%R00260 i wpisuje j

ą

do rejestru o nazwie MAXIMUM. Zmiana warto

ś

ci pomiarów ma powodowa

ć

uaktualnienie rejestru MAXIMUM.

Zad. dod. 6.

Napisa

ć

program obliczaj

ą

cy

ś

redni

ą

arytmetyczn

ą

z pomiarów znajduj

ą

cych si

ę

w rejestrach pocz

ą

wszy

od %R00001. Ilo

ść

pomiarów, któr

ą

program ma bra

ć

do obliczenia

ś

redniej znajduje si

ę

w rejestrze o nazwie

L_REJ. Wynik ma by

ć

przechowywany w rejestrze o nazwie SREDNIA. Zakładamy,

ż

e ilo

ść

pomiarów

do obliczania

ś

redniej nie przekroczy 100 i warto

ść

ka

ż

dego pomiaru mie

ś

ci si

ę

w granicach –300

÷

+300.

Zad. dod. 7.

Napisa

ć

program, który zmienia czas zegara czasu rzeczywistego w sterowniku z letniego na zimowy

i odwrotnie. Naci

ś

ni

ę

cie niestabilnego przycisku PLUS ma spowodowa

ć

dodanie 1 godziny, a naci

ś

ni

ę

cie

niestabilnego przycisku MINUS ma odj

ąć

1 godzin

ę

.

Wymagana wiedza:

-

typy zmiennych w sterownikach GE Fanuc,

-

działanie bloków funkcyjnych z grupy Bit Operations, Data Table, Data Move, Control,

-

zasady konstrukcji szczebla,

-

podstawy obsługi oprogramowania narz

ę

dziowego Proficy ME Logic Developer PLC.

Warunek zaliczenia:

-

obecno

ść

na zaj

ę

ciach,

-

wykazanie si

ę

wymagan

ą

wiedz

ą

w trakcie

ć

wicze

ń

,

-

wykonanie zada

ń

według instrukcji. Ka

ż

dy program powinien znajdowa

ć

si

ę

w oddzielnym projekcie

o nazwie: T6_X_ZZ (X – nr zadania, ZZ – nr sekcji). Wszystkie projekty powinny zawiera

ć

konfiguracj

ę

zgodn

ą

ze sprz

ę

tem znajduj

ą

cym si

ę

na stanowisku, nazwy zmiennych zgodne z tre

ś

ci

ą

zadania

i komentarze. Konfiguracja sterownika powinna posiada

ć

adresy referencji dwustanowych zaczynaj

ą

ce

si

ę

od numeru referencji wyliczanego ze wzoru:

nr sekcji * 8 – 7

oraz adresy referencji analogowych zaczynaj

ą

ce si

ę

od numeru sekcji. W komentarzu powinny znale

źć

si

ę

nazwiska członków sekcji oraz opis programu.

-

przesłanie backup’ow projektów w terminie podanym w systemie e-learning’u,

-

pozytywne zaliczenie projektów,

-

uzyskanie pozytywnej oceny z ustnej lub pisemnej odpowiedzi na pytania kontrolne.

-

zadania dodatkowe nale

ż

y przysyła

ć

w systemie e-learning’u w projektach o nazwach T6_X_nazwisko.

Nie s

ą

one wymagane do zaliczenia, natomiast prawidłowo rozwi

ą

zane przez pierwsz

ą

osob

ę

w grupie s

ą

premiowane ocen

ą

bardzo dobr

ą

.

Literatura:

[1] Sterowniki serii VersaMax. Podr

ę

cznik u

ż

ytkownika. Astor Kraków 2001.

GFK1503C-PL

[2] Sterowniki serii VersaMax Micro/Nano. Opis funkcji. Astor Kraków.

LI

ASK

OF

GE1

[3] Zbiór zada

ń

dla sterowników GE Fanuc serii 90-30, VersaMax, VersaMax Micro/Nano wraz z przykładami

rozwi

ą

za

ń

. LI-ASK-ZZ-GE3


Wyszukiwarka

Podobne podstrony:
PAiRAII Instr 2008 lab4
PAiRAII Instr 2008 lab7
PAiRAII Instr 2008 lab4
PAiRAII Instr 2008 lab5 id 3455 Nieznany
PAiRAII Instr 2008 lab3 id 3455 Nieznany
PAiRAII Instr 2007 lab2 id 3455 Nieznany
PAiRAII Instr 2007 lab1
Arch.Mich.Nowe Instr.I, sztuki plastyczne, Archanioł Michał - Nowe Instrukcje. Przekazy 2008.zbiór
Ubytki,niepr,poch poł(16 01 2008)
2008 XIIbid 26568 ppt

więcej podobnych podstron