3ROLWHFKQLNDàyG]ND
Instytut Automatyki
=DNáDG6WHURZDQLD5RERWyZ
Laboratorium sterowania robotów
àyG(
ûZLF]HQLH$L%
&HOüZLF]HQLD
&HOHP üZLF]HQLD MHVW SRND]DQLH EXGRZ\ G]LDáDQLD RUD] ]DVDG SURJUDPRZDQLD
SURVW\FK URERWyZ L PDQLSXODWRUyZ QD SU]\NáDG]LH URERWyZ G\GDNW\F]Q\FK / L / 3U]HG
Z\NRQDQLHP üZLF]HQLD QDOH*\ ]DSR]QDü VL ] SU]H]QDF]HQLHP L GDQ\PL WHFKQLF]Q\PL W\FK
URERWyZ NRU]\VWDMF ] QLQLHMV]HJR RSUDFRZDQLD RUD] LQVWUXNFML WHFKQLF]Q\FK ]DZLHUDMF\FK
V]F]HJyáRZ\RSLV1DOH*\GRNáDGQLHVSUDZG]LüPR*OLZRFLUXFKRZHPDQLSXODWRUyZZWU\ELH
U F]Q\P SDWU] DNDSLW Software) ze szczególnym zwróceniem uwagi na zakresy ruchów i
GR]ZRORQHSU GNRFL
Zadania do wykonania
=DGDQLHPVWXGHQWyZMHVW]DSR]QDQLHVL ]HZV]\VWNLPLPR*OLZRFLDPLURERWyZ/L
/RUD]VSRVREHPWZRU]HQLDDOJRU\WPXLFKG]LDáDQLD:\QLNLHPüZLF]H$L%SRZLQQ\E\ü
GZDSURJUDP\GODURERWyZ/L/2EDURERW\PXV]]HVREZVSyáSUDFRZDüZQDVW
SXMF\
sposób: robot L1 przekazuje styropianowy detal do robota L2, który wrzuca otrzymany
HOHPHQW GR SU]\JRWRZDQHJR SXGHáND 5RERW\ SRZLQQ\ LQIRUPRZDü VL Z]DMHPQLH R ID]LH
SUDF\ZMDNLHMVL
]QDMGXME\SURJUDP\PRJá\G]LDáDü]DUyZQRZWU\ELHSUDF\NURNRZHMMDNL
automatycznej.
Opis stanowiska
8NáDGQDS GRZ\LVWHURZDQLD
8NáDG QDS GRZ\ ND*GHM RVL ]DZLHUD VWHURZQLN VLOQLN NURNRZ\ RUD] Z\áF]QLN
NUDFRZ\ 8NáDG SUDFXMH Z S WOL RWZDUWHM SU]H] FR Z\PDJD ND*GRUD]RZHJR ED]RZDQLD
*áyZQ\P HOHPHQWHP XNáDGX VWHURZDQLD MHVW NRPSXWHU NODV\ 3& Z\SRVD*RQ\ Z
VSHFMDOL]RZDQH NDUW\ ZHMüZ\Mü NODZLDWXU L Z SU]\SDGNX URERWD / SDQHO VWHURZDQLD
6WUXNWXU V\VWHPXVWHURZDQLDURERWyZ/L/SRND]DQRQDU\V
IBM compatible
IO 8255
card
IO
M U L T I
teachbox
Step motor
controler
Step motor
controler
digital
IO
Joint
of
robot
Joint
of
robot
Joint
of
robot
Joint
of
robot
Joint
of
robot
Joint
of
robot
RS 232C
RS 232C
5\V6\VWHPVWHURZDQLDURERWyZSU]HP\VáRZRG\GDNW\F]Q\FK
&] üPDQLSXODF\MQD
5RERW/MHVWW\SRZ\PURERWHPNDUWH]MDVNLP]HVIHU\F]Q\PQDGJDUVWNLHP3RVLDGD
stopni swobody i elektryczny chwytak. Widok robota L1 oraz dane techniczne przedstawiono
SRQL*HM
Rys. 2 Robot L1
Tabela 1
2EFL*HQLHPDNV\PDOQHSRGDQHSU]H]
producenta)
3.2 kg
=DNUHV]áF]D
400mm
=DNUHV]áF]D
300mm
=DNUHV]áF]D
160mm
=DNUHV]áF]D
n
×360°
=DNUHV]áF]D
180
°
=DNUHV]áF]D
n
×360°
3U GNRüPD[GOD]áF]\OLQLRZ\FK
4 m/min
3U GNRüPD[GOD]áF]\REURWRZ\FK
0.5 rad/s
%áGSR]\FMRQRZDQLDMZ
±0.02mm
5RERW / PD áDFXFK NLQHPDW\F]Q\ W\SX 3XPD ] VWRSQLDPL VZRERG\ (IHNWRU VWDQRZL
SXGHáNRGRRGELHUDQLDGHWDOX:\SRVD*RQ\MHVWZWHDFKER[GRU
F]QHJRVWHURZDQLD8*\FLH
teachboxu jest wskazane w sytuacjach awaryjnych oraz przed bazowaniem. Widok robota L2
oraz teachboxu przedstawiono na rys. 3, a dane techniczne w tabeli 2.
Tabela 2
2EFL*HQLHPDNV\PDOQHSRGDQHSU]H]SURGXFHQWD
3.2 kg
=DNUHV]áF]D
320
°
=DNUHV]áF]D
100
°
=DNUHV]áF]D
270
°
=DNUHV]áF]D
170
°
=DNUHV]áF]D
340
°
%áGED]RZDQLD
±0.02mm
'RNáDGQRüSR]\FMRQRZDQLDMZ
±
0.05mm..
±
0.15mm
Rys. 3 Robot L2 oraz teachbox
Software
3URJUDP // XPR*OLZLD WZRU]HQLH HG\FM RUD] XUXFKDPLDQLH SURJUDPyZ
sterowania robotów. Hierarchiczne menu oraz fragment okna edycyjnego prezentuje rys. 4
Rys. 4 Menu programu L2
Tabela 3 - opcje menu:
Menu
Funkcja
File
Operacje plikowe i dyskowe
Edit
2WZDUFLHRNQDHG\F\MQHJR:HMFLHGRVWHURZDQLDU F]QHJR
Start
Bazowanie oraz uruchamianie programu. Dodatkowo w L1 uproszczone
VWHURZDQLHU F]QHPDQLSXODWRUHP
Options
Funkcje dodatkowe
Wybranie menu Edit spowoduje otwarcie okna edycyjnego jak na rys. 5.
Linia statusu
Program
sterowania
Polecenia edytora
Rys. 5 Okno edycji
Polecenia edytora:
PgUp, PgDn,
↑↓
poruszanie kursorem
Enter
Z\ZRáDQLHPHQXLQVWUXNFML
Ctrl-Y
VNDVRZDQLHSRGZLHWORQHMOLQLL
Ins
wstawienie linii
F1
informacja o edytowanym programie
F2
zapis
ESC
Z\MFLH
Program zbudowany jest z makroinstrukcji i ich parametrów wstawianych z menu instrukcji
Z\ZRá\ZDQHJR ]D SRPRF (17(5 :LGRN RNQD ] LQVWUXNFMDPL SU]HGVWDZLD
U\V]DRSLVLQVWUXNFML]DZDUWRZWDEHOL
Rys. 6 Menu instrukcji
Tabela 4
Mnemonik
Parametry
Opis
MOVE
dx, dy, dz [mm or
°]
d
α, dβ, dγ [°]
SU]HVXQL FLHZ]JO GQHRZHNWRU
podany jako parametr
MOVE TO
j.w.
SU]HVXQL FLHGRSR]\FML
RNUHORQHMZFLHOHLQVWUXNFML
SR]\FMD]HURZDRNUHORQDSU]H]
NULL
SPEED
sx, sy, sz, s
α, sβ, sγ
{21..4000}
XVWDZLHQLHSU GNRFL
NULL XYZ
-
ustalenie pozycji zerowej
NULL
αβγ
-
ustalenie orientacji zerowej
INTERPOL XYZ
i {0,1,2}
0 - XY, 1 - XZ, 2 - YZ
ustalenie pary osi
Z\NRQXMF\FKUXFK
MHGQRF]HQLH
INTERPOL
αβγ
i {0,1,2}
0 -
αβ, 1 - βγ, 2 - αγ
ustalenie pary osi
Z\NRQXMF\FKUXFK
MHGQRF]HQLH
REPEAT
n
RWZDUFLHS WOLQSRZWyU]H
REPEAT END
-
]DPNQL FLHS WOL
OUTPUT ON
nr
XVWDZLHQLHZ\MFLDQU
OUTPUT OFF
nr
Z\]HURZDQLHZ\MFLDQU
WAIT
t [sec]
pauza na t sekund
END
-
koniec programu
3U]HELHJüZLF]HQLD
:FHOXUR]SRF] FLDüZLF]HQLDQDOH*\
DXUXFKRPLüNRPSXWHU
EZáF]\üVWHURZQLNVLOQLNyZNURNRZ\FKSRGNRPSXWHUHP
F XUXFKRPLü SURJUDP /H[H OXE /H[H ] NDWDORJX &?52%27<?/9
(C:\ROBOTY\L2.V4),
GZ\EUDüRSFM VWHURZDQLDSU]HZRGRZHJR
Uwaga:
3U]HGV\QFKURQL]DFMURERWDQDOH*\XSHZQLüVL *H]QDMGXMHRQVL ZSU]HVWU]HQLURERF]HMD
ZV]F]HJyOQRFLQLHZLHFLVL *DGQDNRQWUROND+20(QDVWHURZQLNXVLOQLNyZNURNRZ\FK:
SU]HFLZQ\PSU]\SDGNXQDOH*\VSURZDG]LüURERWDGRSU]HVWU]HQLURERF]HMSU]\X*\FLX
a) teachboxu (dla robota L2)
ERSFMLVWHURZDQLDU F]QHJR]PHQX67$57LVWU]DáHNGOD/
: F]DVLH SURJUDPRZDQLD UXFKyZ URERWyZ QDOH*\ SRQDGWR XZ]JO
GQLDü LQWHUDNFMH PL
G]\
ruchami w poszczególnych osiach, dla L1 w osiach
α, β, γ a dla L2 w α i β.
ûZLF]HQLH'
&HOüZLF]HQLD
&HOHP üZLF]HQLD MHVW ]DSR]QDQLH VL ]H VSRVREHP SURJUDPRZDQLD URERWyZ
SU]HP\VáRZ\FK]DSRPRFSDQHOXVWHURZDQLD
Zadania do wykonania
:WUDNFLHüZLF]HQLDQDOH*\XUXFKRPLüL]V\QFKURQL]RZDüURERWD,5SDQDVW SQLH
]DSR]QDü VL ] REVáXJ SDQHOX SURJUDPRZDQLD 3LHUZV]H ]DGDQLH GR Z\NRQDQLD SROHJD QD
ÄREU\VRZDQLX´ZSU]HVWU]HQLNV]WDáWNLVW\URSLDQRZHMZVND]DQHMSU]H]SURZDG]FHJR*áyZQD
F]
ü üZLF]HQLD SROHJD QD XáR*HQLX L XUXFKRPLHQLX SURJUDPyZ SU]HQRV]HQLD QLHZLHONLFK
przedmiotów w przestrzeni roboczej manipulatora.
Opis stanowiska
Uruchomienie i synchronizacja robota
3DQHO VWHURZDQLD URERWHP U\V ZPRQWRZDQ\ MHVW Z V]DI VWHURZQLF]
8UXFKRPLHQLHURERWDGRNRQ\ZDQHMHVWSU]H]ZáF]HQLHVWDF\MNL3RMHMZáF]HQLXZLHFVL
ODPSNL V\JQDOL]DF\MQH Ä6,(û´ RUD] Ä6723 $:$5<-1<´ :FLQL FLH SU]\FLVNX
Ä*272:2û´ ZáF]D ]DVLODQLH XNáDGX HOHNWURQLF]QHJR L MHVW V\JQDOL]RZDQH ]DSDOHQLHP
ODPSHN Ä*272:2û´ L Ä875$7$ 352*5$08´ RUD] ]JDQL FLHP ODPSNL Ä6723
$:$5<-1<´ : W\P VWDQLH SUDF\ VLOQLNL SR]RVWDM EH] ]DVLODQLD ] EUDN V\QFKURQL]DFML
URERWD MHVW V\JQDOL]RZDQ\ V\VWHPDW\F]Q\P ]DSDODQLHP L JDQL FLHP ODPSNL
Ä6<1&+521,=$&-$´ :FLQL FLH NODZLV]D SUDFD SRZRGXMH ]DVLOHQLH VLOQLNyZ
PDQLSXODWRUD L MHVW V\JQDOL]RZDQH ]DSDOHQLHP ODPSNL 35$&$ L ]JDQL FLHP ODPSNL
*272:2û
%$7/$03
%$7
6<1&+521,=$&-$
*272:2û
35$&$
5$0
Rys. 15 Panel sterowania
3U]HG SU]\VWSLHQLHP GR GDOV]\FK F]\QQRFL QDOH*\ ]V\QFKURQL]RZDü PDQLSXODWRU : W\P
FHOX X*\ZDMF MR\VWLFN D SDQHOX SURJUDPRZDQLD QDOH*\ VSURZDG]Lü PDQLSXODWRU GR
QDVW SXMFHJRSRáR*HQLD
DUDPL GROQHSRZLQQRE\üSRFK\ORQHGRSU]RGXRRNRGSLRQX
EUDPL JyUQHSRZLQQRE\üSRFK\ORQHZGyáRRNRGSR]LRPX
FNROXPQDSRZLQQDE\üREUyFRQDRRNZOHZRSDWU]FRGSU]RGXRGSRáR*HQLD
URGNRZHJR
GSU]HJXESRZLQLHQE\üXVWDZLRQ\QDSU]HGáX*HQLXUDPLHQLDJyUQHJR
HRWZyUXVWDODMF\ZNRFyZFHNRáQLHU]RZHMSRZLQLHQE\üVNLHURZDQ\GRJyU\
3R VSURZDG]HQLX PDQLSXODWRUD GR SRáR*HQLD Z\MFLRZHJR QDOH*\ ZFLVQü SU]\FLVN
SYNCHRONIZACJA. Zostaje wtedy zgaszona lampka UTRATA PROGRAMU i
PDQLSXODWRU MHVW DXWRPDW\F]QLH VSURZDG]DQ\ GR SRáR*HQLD SRGVWDZRZHJR =DNRF]HQLH
V\QFKURQL]DFMLV\JQDOL]RZDQHMHVW]JDQL FLHPODPSNL6<1&+521,=$&-$LZ\ZLHWOHQLHP
ZVW SQHJRNRPXQLNDWXQDSDQHOXSURJUDPRZDQLD
5 F]QHVWHURZDQLHPDQLSXODWRUHP
3DQHO SURJUDPRZDQLD URERWD ]DZLHUD PL G]\ LQQ\PL MR\VWLFN XPR*OLZLDMF\ U F]QH
sterowanie manipulatorem. Joystick ten ma trzy stopnie swobody i jest aktywny tylko przy
ZFLQL WHM Sá\WFH ]H]ZROHQLD 1DG MR\VWLFNLHP ]QDMGXMH VL SU]HáF]QLN XPR*OLZLDMF\
SU]HáF]DQLHMR\VWLFN DQDVWHURZDQLHSRáR*HQLHPUDPLRQOXERULHQWDFMFKZ\WDND=QDMGXMFH
VL Z URGNRZHM F] FL SDQHOX SU]HáF]QLNL XPR*OLZLDM VWHURZDQLH FKZ\WDNLHP L Z\EyU
XNáDGXZVSyáU] GQ\FKGODU F]QHJRRSHURZDQLDPDQLSXODWRUHP1DOH*\GRNáDGQLH]DSR]QDü
VL ] PR*OLZRFLDPL U F]QHJR VWHURZDQLD PDQLSXODWRUHP ZH ZV]\VWNLFK XNáDGDFK
ZVSyáU] GQ\FK SU]\ X*\FLX MR\VWLFN D D WDN*H ] PR*OLZRFL RWZLHUDQLD L ]DP\NDQLD
FKZ\WDND2WZLHUDQLHFKZ\WDNDUHDOL]RZDQHMHVWVHNZHQFMSROHFH
CHWYTAK 2 ZWOLNIJ
&+:<7$.&+:<û
QDWRPLDVW]DP\NDQLHVHNZHQFM
&+:<7$.&+:<û
CHWYTAK 1 ZWOLNIJ
Fig. 17 Teachbox
3HáQ\RSLVREVáXJLSDQHOXVWHURZDQLDVWXGHQFL]QDMGZSRGU F]QLNXSURJUDPRZDQLDURERWD
,USGRVW SQ\PZWUDNFLHüZLF]H
Edycja programu
'OD VSUDZQHJR SU]HELHJX üZLF]HQLD QDOH*\ ]DSR]QDü VL ] SRGVWDZRZ\PL
PR*OLZRFLDPLHG\WRUDSURJUDPXZ\ZLHWOHQLHLQVWUXNFMLQDVW SQHMSRSU]HGQLHMSLHUZV]HM
RVWDWQLHMRNUHORQHMQXPHUHPXVXQL
FLHLQVWUXNFMLZVWDZLHQLHGRGDWNRZHMLQVWUXNFMLRUD]
zmiana parametrów instrukcji (rys. 17).
Rys. 17 Funkcje edycyjne
Uruchamianie programu
,VWQLHMWU]\VSRVRE\XUXFKRPLHQLDPDQLSXODWRUDZWU\ELHSUDF\DXWRPDW\F]QHM
- STPOCZ
SR]ZDODXUXFKRPLüSURJUDPRGMHJRSLHUZV]HMLQVWUXNFML
- START
SR]ZDODXUXFKRPLüSURJUDPRGLQVWUXNFMLSRND]DQHMQDZ\ZLHWODF]X
- KROK
SR]ZDODZ\NRQDüMHGQDNWXDOQLHZ\ZLHWORQLQVWUXNFM
: F]DVLH XUXFKDPLDQLD SURJUDPX NRU]\VWQLH MHVW X*\ZDü RSFML .52. GR WHVWRZDQLD L
NRU\JRZDQLDND*GHMLQVWUXNFMLRVREQRDGRSLHURSRVSUDZG]HQLXFDáHJRSURJUDPX]DOHFDVL
MHJR XUXFKRPLHQLH RG SLHUZV]HM LQVWUXNFML 1DOH*\ XUXFKRPLü NURNRZR RG SLHUZV]HM L RG
DNWXDOQLHZ\ZLHWODQHMLQVWUXNFMLSURJUDPGRVWDUF]RQ\SU]H]SURZDG]FHJRüZLF]HQLH
Programowanie podstawowych operacji robota
.D*G\ SURJUDP G]LDáDQLD URERWD SRZLQLHQ UR]SRF]\QDü VL LQVWUXNFMDPL
wyboru
QDU] G]LDL]PLDQ\SU GNRFLSRGVWDZRZHM:SRF]WNRZHMID]LHüZLF]HQLDPRJRQHPLHü
QDVW SXMFSRVWDü
1$5= '=,(
35 '.2û 00635 '.2û0$; 006
1DU] G]LH QU MHVW Z URERFLH ]GHILQLRZDQH ZVW SQLH L GODWHJR PR*H E\ü X*\ZDQH EH]
ZF]HQLHMV]HMGHILQLFMLMDZQHM
1DOH*\ SDPL
WDü *H Z SU]\JRWRZ\ZDQ\P SURJUDPLH F]
VWR Z\VW
SXM Eá
G\
XQLHPR*OLZLDMFH MHJR UHDOL]DFM 1DMF] FLHM SROHJDM RQH QD SU]HNURF]HQLX PDNV\PDOQHM
SU GNRFL Z RVLDFK QLH ZáF]HQLX QDS GyZ OXE QLHGR]ZRORQHM ]PLDQLH NRQILJXUDFML
:\VWSLHQLH Eá GX MHVW ]DZV]H V\JQDOL]RZDQH QD SDQHOX RSHUDF\MQ\P L QD SDQHOX
SURJUDPRZDQLD D OLVWD V\JQDOL]RZDQ\FK Eá GyZ MHVW ]DPLHV]F]RQD Z LQVWUXNFML
SURJUDPRZDQLD URERWD QD VWURQLH : UD]LH Z\VWSLHQLD Eá GX SRZLQLHQ RQ ]RVWDü
VNDVRZDQ\SU]\FLVNLHP.$61DVW SQLHQDOH*\GRNRQDüRGSRZLHGQLHMNRUHNW\SURJUDPXL
SRQRZQLHJRXUXFKRPLü
3URJUDPRZDQLHSRGVWDZRZ\FKF]\QQRFLPDQLSXODWRUD
Instrukcja pozycjonowania.
6]F]HJyOQ XZDJ
Z WUDNFLH Z\NRQ\ZDQLD üZLF]HQLD QDOH*\ SRZL
FLü LQVWUXNFML
pozycjonowania (rys. 18). W przestrzeni roboczej P
PDQLSXODWRUDQDOH*\Z\EUDüGZDUy*QH
punkty A i B
RGOHJáH RG VLHELH R RN FP WDNLH *H RGFLQHN AB MHVW FDáNRZLFLH
zawarty w przestrzeni P
1DOH*\ ]DSURJUDPRZDü D QDVW SQLH Z\NRQDü Z WU\ELH SUDF\
automatycznej przemieszczenie manipulatora z punktu A do B i z powrotem.
3U]HPLHV]F]HQLHWDNLHSURJUDPXMHVL
XPLHV]F]DMFZSURJUDPLHLQVWUXNFMHSR]\FMRQRZDQLD
(symbol ###
Z RGSRZLHGQLFK SXQNWDFK SU]HVWU]HQL URERF]HM 1DOH*\ ]DVWRVRZDü
SR]\FMRQRZDQLHGRNáDGQHEH]Z]JO GQH]]DGDQSU GNRFLDUXFKPDQLSXODWRUDSRZLQLHQ
E\üZ\NRQ\ZDQ\NROHMQRSU]\SR]\FMRQRZDQLX
a) quasiliniowym,
b) liniowym,
FNRáRZ\PSXQNWSRUHGQLQDOH*\Z\EUDüVDPRG]LHOQLH
1DOH*\ ]DREVHUZRZDü QD F]\P SROHJDM Uy*QLFH SRPL G]\ SRV]F]HJyOQ\PL URG]DMDPL
SR]\FMRQRZDQLDDEFDQDVW SQLHZ\NRQDüWHVDPHUXFK\SU]\SR]\FMRQRZDQLX]JUXEQ\P
RUD]SU]\SR]\FMRQRZDQLX]]DGDQ\PF]DVHP3R]DSR]QDQLXVL ]SRV]F]HJyOQ\PLURG]DMDPL
UXFKyZ PDQLSXODWRUD QDOH*\ XáR*\ü SURJUDP GHPRQVWUXMF\ NROHMQR ZV]\VWNLH MHJR SURVWH
ruchy.
:SUDNW\FHF] VWRZ\NRU]\VWXMHVL UyZQLH*SR]\FMRQRZDQLHZ]JO GQHPDQLSXODWRUD
: F]DVLH Z\NRQ\ZDQLD üZLF]HQLD QDOH*\ ]DSR]QDü VL ] W\P URG]DMHP SR]\FMRQRZDQLD L
XáR*\üNUyWNLSURJUDP]MHJRZ\NRU]\VWDQLHP
Rys. 18 Instrukcje pozycjonowania
Rys. 19 Instrukcje pomocnicze
Inne instrukcje robota.
2SUyF]LQVWUXNFMLSR]\FMRQRZDQLDURERW,5SSR]ZDODX*\ZDüLQVWUXNFMLSRPRFQLF]\FK
U\V 1DOH*\ ]DSR]QDü VL ] W\PL LQVWUXNFMDPL D QDVW SQLH XáR*\ü SURJUDP FKZ\WDND L
SU]HQRV]HQLD QLHZLHONLHJR SU]HGPLRWX QD SU]\NáDG SXGHáND ]DSDáHN Z]GáX* REZRGX
SURVWRNWD PQXY3URVWRNWWHQSRZLQLHQOH*HüZMHGQHM]SáDV]F]\]QNDUWH]MDVNLHJRXNáDGX
ZVSyáU] GQ\FK]ZL]DQHJR]SRGVWDZPDQLSXODWRUD:ND*G\P]ZLHU]FKRáNyZSURVWRNWD
PDQLSXODWRUSRZLQLHQSR]RVWDZDüQLHUXFKRP\SU]H]F]DVVHNXQGDSU GNRFLSRUXV]DQLDVL
PDQLSXODWRUD Z]GáX* ND*GHJR ] ERNyZ SURVWRNWD SRZLQQ\ E\ü Uy*QH :SURZDG]DMF
LQVWUXNFM SRZWDU]DQLD QDOH*\ RWU]\PDQ\ SURJUDP ]PRG\ILNRZDü WDN DE\ NRFyZND
PDQLSXODWRUDNUHOLáDQDMSLHUZNLONDNURWQLHWUyMNWPQXDQDVW SQLHSURVWRNWPQXY, a
GRGDWNRZRRWU]\PDQ\SURJUDPQDOH*\X]XSHáQLüLQVWUXNFMDPLSRF]WNXRUD]NRFDRVF\ODFML
:NRFRZHMID]LHüZLF]HQLDQDOH*\]PLHQLüGHILQLFM
QDU]
G]LDL]DREVHUZRZDüZSá\ZWHM
]PLDQ\ QD G]LDáDQLH PDQLSXODWRUD 6]F]HJyOQ XZDJ QDOH*\ ]ZUyFLü QD ZSá\Z GHILQLFML
QDU]
G]LDD]ZáDV]F]DMHJRRULHQWDFMLQDPR*OLZRüZ\NRQDQLDUXFKXNRáRZHJR
=GHILQLRZDQLH QDU]
G]LD SROHJD QD RNUHOHQLX SRáR*HQLD SXQNWX URERF]HJR QDU]
G]LD L
RULHQWDFMLMHJRRVLZ]JO GHPXNáDGXQDGJDUVWNDU\V3RáR*HQLHRNUHORQHMHVWSU]H]WU]\
ZVSyáU] GQHNDUWH]MDVNLHRGF]\WDQHZXNáDG]LHQDGJDUVWNDLQGHNVNQDU\V2ULHQWDFM
QDU] G]LD RNUHODM GZD NW\ QXWDFML 1 L SUHFHVML 3 RGF]\WDQH UyZQLH* Z]JO GHP RVL
XNáDGXQDGJDUVWND
XNáDGED]RZ\
RWZyU
SR]\FMRQXMF\
XNáDGQDGJDUVWND
5\V'HILQLRZDQLHQDU] G]LD
ûZLF]HQLH(
&HOüZLF]HQLD
&HOHPüZLF]HQLDMHVW]DSR]QDQLHVL ]EXGRZG]LDáDQLHPLSURJUDPRZDQLHPURERWD
G\GDNW\F]QHJR VWHURZDQHJR ]D SRPRF SU]HP\VáRZHJR VWHURZQLND SURJUDPRZDOQHJR
=DGDQLH GR Z\NRQDQLD SROHJD QD ]DSURMHNWRZDQLX G]LDáDQLD PDQLSXODWRUD Z URGRZLVNX Z
NWyU\PGX*URO RGJU\ZDM]DOH*QRFLORJLF]QRUHODF\MQH
Zadania do wykonania
0DJD]\QW\PF]DVRZHJRVNáDGRZDQLDGHWDOL
*QLD]GRáDGRZDQLDGHWDOX
]Z\NU\ZDQLHPW\SXGHWDOXRULHQWDFML
3R]\FMDRGELRUX
3U]\FLVNL ]JáRV]HQLD
]DSRWU]HERZDQLD
6WDUW
QDRNUHORQ\W\SGHWDOX
0.6
0.7
1.0
1.1
1.2
1.3
1.3
1.2
1.1
1.0
1.7
1.6
1.5
diody
=DGDQLHP GR Z\NRQDQLD MHVW QDSLVDQLH SURJUDPX NWyU\ XZ]JO GQLDMF SRZ\*V]\
U\VXQHNSRZLQLHQVSHáQLDüQDVW SXMFHZDUXQNL
1.
'HWDOMHVWáDGRZDQ\GRJQLD]GDU F]QLHZGR]ZRORQ\FKRULHQWDFMDFK7DPSU]HE\ZDFR
QDMPQLHMSU]H]]DGDQ\F]DVQSVNLHG\WRZZDUXQNDFKSU]HP\VáRZ\FKSRGGDZDQ\
E\áE\REUyEFHQSIUH]RZDQLHFLDQ:W\PF]DVLHF]HUZRQDGLRGDSRZLQQDSXOVRZDü
3R XSá\ZLH ]DGDQHJR F]DVX GLRGD SDOL VL Z VSRVyE FLJá\ D* GR RGELRUX GHWDOX
:\JDV]RQDGLRGDZLQQDV\JQDOL]RZDüSXVWHJQLD]GR
2.
8*\WNRZQLN PD SUDZR ]JáRVLü ]DSRWU]HERZDQLH QD RNUHORQ\ W\S GHWDOX ]D SRPRF
MHGQHJR]SU]\FLVNyZQDFLDQFHERF]QHMUR]JDá (QLNDFRSRZLQQRE\üV\JQDOL]RZDQH
MHGQ]]LHORQ\FKGLRG
3.
'HWDO ] JQLD]GD SRZLQLHQ ]RVWDü SU]HQLHVLRQ\ SU]H] PDQLSXODWRU ZHGáXJ QDVW
SXMF\FK
kryteriów:
•
MH*HOL MHVW ]JáRV]RQH ]DSRWU]HERZDQLH QD WHQ W\S GHWDOX MDNL MHVW Z JQLH(G]LH
PDQLSXODWRUSU]HQRVLJREH]SRUHGQLRQDSR]\FM NRFRZ
•
MH*HOL Z GDQ\P PRPHQFLH QLH PD ]DSRWU]HERZDQLD VNáDGXMH Z PDJD]\QLH
W\PF]DVRZ\PQDSR]\FM SU]\SRU]GNRZDQRNUHORQHMRULHQWDFMLVHJUHJDFMDGHWDOL
•
MH*HOL QLH PD ]DSRWU]HERZDQLD L PDJD]\Q W\PF]DVRZ\ MHVW Z\SHáQLRQ\ SR]\FMD GOD
GHWDOX R RNUHORQHM RULHQWDFML MHVW ]DM WD GHWDO SR]RVWDMH Z JQLH(G]LH =DWHP Z\*V]\
SULRU\WHW PD WX ]JáRV]HQLH RGELRUX GHWDOX Z SR]\FML NRFRZHM RG VNáDGRZDQLD Z
magazynie.
4.
: SU]\SDGNX JG\ Z JQLH(G]LH L Z PDJD]\QLH MHVW GHWDO RNUHORQHM RULHQWDFML L]RVWDáR
]JáRV]RQH]DSRWU]HERZDQLHQDGHWDOLQQHJRW\SXNWyU\DNWXDOQLHQLHMHVWGRVW SQ\QLHPD
JR Z PDJD]\QLH SRZLQLHQ ]RVWDü ZáF]RQ\ DODUP QS GLRG\ ]LHORQH U\WPLF]QLH
SXOVXMJG\*WDNDV\WXDFMDJUR]L]DEORNRZDQLHPV\VWHPXLZ\PDJDLQJHUHQFMLRSHUDWRUD
3U]HELHJüZLF]HQLD
1.
=DSR]QDüVL ]HVWUXNWXULPR*OLZRFLDPLM ]\NDSURJUDPRZDQLD
2.
=DáF]\üNRPSXWHU]DVLODF]LSU]\áF]HSQHXPDW\F]QH
3.
8UXFKRPLüSURJUDPIVWH[H
4.
2WZRU]\üZáDVQ\SURMHNWZV\VWHPLH)67
5.
3U]\JRWRZDü SURJUDP VWHURZDQLD URERWD GOD ]DGDQLD RSLVDQHJR Z F]
FL Ä=DGDQLD GR
wykonania”.
Opis stanowiska
0DQLSXODWRU R NDUWH]MDVNLP áDFXFKX NLQHPDW\F]Q\P SRVLDGD VWRSQLH VZRERG\
SU]\F]\PMHGQDRQDS G]DQDMHVWVLOQLNLHPSUGXVWDáHJR]DGZLHSR]RVWDáHVLáRZQLNDPL
SQHXPDW\F]Q\PL 5RERW GRGDWNRZR Z\SRVD*RQ\ MHVW Z SU]\VVDZN :V]\VWNLH HOHPHQW\
VWDQRZLVNDVSURGXNFMLILUP\Festo.
6WUXNWXUDM ]\NDFesto-INTERPRETER
- ]\N )HVWR,17(535(7(5 MHVW SUREOHPRZ\P M ]\NLHP SURJUDPRZDQLD ]DGD
VWHURZDQLD SURFHVDPL SU]HP\VáRZ\PL R GRZROQ\P VWRSQLX ]áR*RQRFL 3RGVWDZRZ\P
HOHPHQWHPVWUXNWXUDOQ\PM ]\NDMHVW]GDQLHORJLF]QHSRVWDFL
,)ZDUXQHN!7+(1UR]ND]\F] FLZ\NRQDZF]HM!
27+5:UR]ND]\F] FLZ\NRQDZF]HM!
: F] FL ZDUXQNRZHM QDVW SXMH VSUDZG]HQLH ]JRGQRFL U]HF]\ZLVWHJR VWDQX ]PLHQQ\FK ]H
VWDQHP ]DSURJUDPRZDQ\P :\QLN VSUDZG]HQLD GHF\GXMH R UHDOL]DFML RNUHORQHM F]
FL
wykonawczej.
3U]\NáDG:
IF
i1.0
µMHOLELWZHMFLRZ\L
THEN
SET o1.0
µWRXVWDZELWZ\MFLRZ\R
OTHRW
RESET o1.0
‘w przeciwnym razie wy
]HUXMELWZ\MFLRZ\R
&] ü ZDUXQNRZD PR*H ]DZLHUDü ]áR*RQ IXQNFM ORJLF]Q ZLHOX ]PLHQQ\FK ]D F] ü
Z\NRQDZF]D PR*H VNáDGDü VL
] ZLHOX UR]ND]yZ 0DNV\PDOQD OLF]ED LQVWUXNFML Z MHGQ\P
zdaniu logicznym wynosi 100.
6NáDGQLDFesto-INTERPRETER dopuszcza uproszczone struktury zdania logicznego:
·
EH]F] FLZDUXQNRZHM
7+(1UR]ND]\F] FLZ\NRQDZF]HM!
·
EH]F] FLZ\NRQDZF]HMGUXJLHM
,)ZDUXQHN!7+(1UR]ND]\F] FLZ\NRQDZF]HM!
·
]F] FLZ\NRQDZF]OXE]DZLHUDMFLQVWUXNFMHSXVWNOP:
IF < warunek > THEN
NOP
ELSE
NOP
.ROHMQ\P HOHPHQWHP VWUXNWXU\ RSURJUDPRZDQLD MHVW .52. E GF\ ]HVSRáHP ]GD
ORJLF]Q\FK6HNZHQFMDNURNyZWZRU]\352*5$0:REU ELHSURJUDPXNURNLZ\NRQ\ZDQH
VNROHMQR]JRGQLH]LFKQXPHUDFM0DNV\PDOQDOLF]EDNURNyZZ\QRVL3U]HMFLHGR
NROHMQHJRNURNXXZDUXQNRZDQHMHVWSU]H]VWUXNWXU ]GDORJLF]Q\FKQS
STEP 1
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
STEP 2
IF <
warunek.>
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
STEP 3
IF <
warunek.>
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
OTHRW <
UR]ND]\F] FLZ\NRQDZF]HM. 2>
STEP 4
IF <
warunek.>
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
OTHRW <
UR]ND]\F] FLZ\NRQDZF]HM. 2>
‘zdanie 4.1
IF <
warunek.>
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
OTHRW <
UR]ND]\F] FLZ\NRQDZF]HM. 2>
‘zdanie 4.2
IF <
warunek.>
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
‘zdanie 4.3
STEP 5
THEN <
UR]ND]\F] FLZ\NRQDZF]HM. 1>
3U]HMFLH]RVWDQLH]UHDOL]RZDQHEH]ZDUXQNRZR]MHGQRF]HVQ\PZ\NRQDQLHPUR]ND]yZ
F] FL Z\NRQDZF]HM 3U]HMFLH QDVWSL Z\áF]QLH SR VSHáQLHQX ZDUXQNX L Z\NRQDQLX
UR]ND]yZ 3U]HMFLH QDVWSL ]DZV]H ]D Z\NRQDQH UR]ND]\ E G ]DOH*Hü RG VSHáQLD
ZDUXQNX]GDQLD=GDQLDORJLF]QHZNURNXWZRU]]HVWDZQLH]DOH*QLHUHDOL]RZDQ\FK]GD
,FK ZLHORNURWQD UHDOL]DFMD WUZD GR PRPHQWX VSHáQLHQLD ZDUXQNX Z RVWDWQLP ]GDQLX
1DVWSLZWHG\VHNZHQF\MQHSU]HMFLHGRNURNX*G\E\]GDQLHPLDáRVWUXNWXU ]GDQLD]
NURNXOXEZyZF]DVSU]HMFLHGRNURNXQDVWSLáRE\QDW\FKPLDVW3U]HMFLHGRGRZROQHJR
NURNXXPR*OLZLDLQVWUXNFMDVNRNX
Zmienne systemowe
Tabela 5
symbol
LORüELWyZ
opis
PR*OLZHG]LDáDQLD
i<w>.<b>
1
one bit input
<w> input word [0..2]
<b> bit [0..7]
AND, OR, EXOR, N
iw<n>
8
input word
<n> word number [0..2]
LOAD, mathematical
relations
o<w>.<b>
1
one bit output
<w> output word [0..1]
<b> bit [0..7]
AND, OR, EXOR, N,
SET, RESET
ow<n>
8
output word
<n> word number [0..1]
LOAD, mathematical
relations
f<w>.<b>
1
one bit of memory
<w> memory word [0..15]
<b> bit [0..7]
AND, OR, EXOR, N,
SET, RESET
fw<n>
16
memory word
<n> word number [0..15]
LOAD, mathematical
relations
t<n>
1
timer flag
<n> number of timer [0..31]
AND, OR, EXOR, N,
SET, RESET
tp<n>
16
timer set value
<n> number of timer [0..31]
LOAD
tw<n>
16
timer actual value
<n> number of timer [0..31]
LOAD, mathematical
relations
c<n>
1
counter flag
<n> number of counter [0..15]
AND, OR, EXOR, N,
SET, RESET
cp<n>
16
counter set value
<n> number of timer [0..15]
LOAD
cw<n>
16
counter actual value
<n> number of timer [0..15]
LOAD, mathematical
relations
r<n>
16
register
<n> number of register [0..63]
LOAD, mathematical
relations
v
--
direct argument
LOAD
6\VWHP XPR*OLZLD X*\FLH ZáDVQ\FK QD]Z ]PLHQQ\FK V\VWHPRZ\FK :\PDJD WR ]DSLVX
SRZL]DZWDEOLF\DORNDFML
Instrukcje
Instrukcje
)HVWR,17(535(7(5PR*QDSRG]LHOLüQDQDVW SXMFHJUXS\
1.
,QVWUXNFMHWZRU]FHVWUXNWXU SURJUDPX
2.
,QVWUXNFMH ORJLF]QH WZRU]FH F] ü ZDUXQNRZ ]GDQLD ORJLF]QHJR NWyU\FK DUJXPHQWDPL
PRJE\ü]PLHQQHELQDUQHMDNLZLHORELWRZH
3.
,QVWUXNFMHSRUyZQDQLD]PLHQQ\FKZLHORELWRZ\FKWZRU]FHUyZQLH*F] üZDUXQNRZ
4.
5R]ND]\ ]PLDQ\ VWDQX ]PLHQQ\FK ELQDUQ\FK OXE ZDUWRFL ]PLHQQ\FK ZLHORELWRZ\FK
Z\VW SXMFHZF] FLZ\NRQDZF]HM]GDQLDORJLF]QHJR=PLDQDVWDQXELWXQDVW SXMHSU]\
X*\FLXMHGQHMLQVWUXNFML]PLDQDDUJXPHQWXZLHORELWRZHJRZ\PDJDGZyFKLQVWUXNFML:
VNáDG ]áR*RQ\FK UR]ND]yZ ]PLDQ\ ZDUWRFL PRJ ZFKRG]Lü RSHUDFMH PDWHPDW\F]QH OXE
instrukcje konwersji.
5.
5R]ND]\REVáXJLSURFHGXU\PDNV\PDOQLHPR*HE\üSURFHGXUQXPHURZDQ\FK
6. Rozkaz skoku.
6]F]HJyáRZ\RSLVLQVWUXNFML]DZLHUDWDEHOD
Tabela 6
mnemonik
zmienna
F] ü]GDQLD
G]LDáDQLH
STEP
IF,
THEN, OTHRW
number
fundamental instructions of
AWL language syntax
AND
OR
N
EXOR
( )
i, o, f, t, c, r
condition
logical and
logical or
logical not
logical exclusive or
>, <, >=, <=, =,
<>
r, cw, cp, tw, tp,
iw, ow, fw, v
condition
mathematical relations
SET
RESET
o, f, t, c
execution
set bit
reset bit
LOAD TO
r, v, cp, cw, tp,
tw, fw, iw, ow
execution
load multibit value to destination
variable
+, -, *, /, (, )
r, cw, cp, v, tw,
tp, fw, iw, ow
execution
mathematical operations
DEC
INC
ROR
ROL
SHR
SHL
BID
DEB
SWAP
CPL
INV
iw, ow, fw, tw,
tp, cw, cp, r
execution
decrement
increment
rotation right
rotation left
shift right
shift left
transcoding binary to BCD
trancoding BCD to binary
byte changing
x = not x + 1
inversion
CMP
WITH
no of procedure
parameters
execution
jump to user procedure [0..7]
with parameters [p0..p15]
NOP
condition/exec.
no operating
JMP TO
step no
execution
jump to program step
Operacje timer-licznik
: V\VWHPLH )3& LVWQLHMH PR*OLZRü RGPLHU]DQLD MHGQRF]HQLH L QLH]DOH*QLH
czasów.
7LPHU\ G]LDáDM ] SRGVWDZ F]DVX VHN L XPR*OLZLDM RGPLHU]DQLH F]DVX GR
VHN ND*G\ : V\VWHPLH Z\Uy*QLRQR UHMHVWUyZ GR Z\NRU]\VWDQLD MDNR OLF]QLNL
OLF]FHZSU]yGOXEZW\á=DUyZQRWLPHU\MDNLOLF]QLNL]DZLHUDMUHMHVWUZDUWRFL]DGDQHMGR
LQLFMDFMLXNáDGXUHMHVWUZDUWRFLELH*FHMRUD]IODJ LQIRUPXMFRVWDQLHXNáDGX
3U]\NáDG
Odmierzenie 1
VHNRSy(QLHQLD
STEP 10
THEN
LOAD V100
‘load the value 100
TO TP12
‘to set value register of 12th timer
SET T12
‘start timer 12
STEP 20
IF
N T12
‘if T12=0 timer counted down
THEN
NOP
3RZWyU]HQLHS WOLSURJUDPXUD]\]OLF]DQLHZVWHF]
THEN
LOAD V3
‘load the value 3
TO CW3
‘to actual value register of 3rd counter
•••••••••••••••••••••••••••••••••••••••• ‘body of loop
THEN
DEC CW3
‘decrement value
IF
N C3
‘if counter finished
THEN
NOP
3RZWyU]HQLHS WOLUD]\]OLF]DQLHZSU]yG
THEN
LOAD V3
‘load the value 3
TO CP3
‘to set value register of 3rd counter
LOAD V0
‘load the value 0
TO CW3
‘to actual value register
•••••••••••••••••••••••••••••••••••••••• ‘body of loop
THEN
INC CW3
‘increment value
IF
N C3
‘if counter finished
THEN
NOP
3URFHGXU\X*\WNRZQLND
6\VWHP XPR*OLZLD ]GHILQLRZDQLH PD[ SURFHGXU X*\WNRZQLND 8DNW\ZQLHQLH
procedury powoduje zatrzymanie wykonania programu, wykonanie instrukcji zapisanych w
PRGXOH L Z]QRZLHQLH SURJUDPX ] PLHMVFD ]DWU]\PDQLD 1LH PD PR*OLZRFL Z\ZRáDQLD
SURFHGXU\]LQQHMSURFHGXU\DQL]WHMVDPHM3URFHGXU\PRJE\üSDUDPHWU\]RZDQHmax. 16
DUJXPHQWyZ OXE QLH : FHOX ]GHILQLRZDQLD SURFHGXU\ QDOH*\ Z\ZRáDü HG\WRU ]
QDVW SXMF\PLXVWDZLHQLDPLSURJUDPPRGXOH%SURJUDPQXPEHU.D*G\PRGXáPD
QLH]DOH*Q QXPHUDFM NURNyZ D Z SU]\SDGNX SURFHGXU SDUDPHWU\]RZDQ\FK ]PLHQQH
]DSLV\ZDQH V Z NRPyUNDFK )8 )8 1D SU]\NáDG SURFHGXUD QXPHU RGPLHU]DQLD
]DGDQHJRRGFLQNDF]DVXPDSRVWDü
STEP 10
THEN
LOAD FU32
‘load first parameter value
TO TP0
‘to set value register of 0 timer
SET T0
‘start timer 0
STEP 20
IF
N T0
‘if T0=0 timer counted down
THEN
NOP
:\ZRáDQLHWHMSURFHGXU\GODF]DVXVHNXQGDPDSRVWDü
THEN
CMP 0
‘call user defined module 0
WITH V100
‘with first argument 100
System manipulatora Festo
6WDQRZLVNR ODERUDWRU\MQH ]áR*RQH MHVW ] NRPSXWHUD NODV\ 3& MDNR NRQVROL RSHUDWRUVNLHM
SURJUDPRZDOQHJR VWHURZQLND SU]HP\VáRZHJR F] FL PHFKDQLF]QHM PDQLSXODWRUD ]HVSRáX
]DZRUyZ L ]DVLODF]\ 2SLV SRáF]H XNáDGX PDQLSXODWRUD ]H VWHURZQLNLHP SU]HGVWDZLD
WDEHOD]DVFKHPDWSRáF]HLVWHURZDQLDVLOQLND'&U\V
Tabela 7
(OHPHQWXNáDGX
Adres sterownika
Uwagi
VLOQLN'&SU]HND(QLN3R;
o0.0
]DáF]HQLHZ\áF]HQLHQDSL FLD
VLOQLN'&SU]HND(QLN3R;
o0.1
Z\EyU SRODU\]DFML QDSL
FLD NLHUXQNX
ruchu w osi X)
]DZyUVLáRZQLNDSLRQRZHJRR=
komora grórna
o0.2
rozkaz set
Z\SHáQLDNRPRU
]DZyU VLáRZQLND SLRQRZHJR R =
komora dolna
o0.3
rozkaz reset
RSUy*QLDNRPRU
]DZyUVLáRZQLNDSR]LRPHJRR<
o0.4
reset/set - dwie pozycje skrajne
zawór przyssawki
o0.5
rozkaz set
XDNW\ZQLDSU]\VVDZN
diody sygnalizacyjne (cz. - ziel.)
o1.0 - o1.4
rozkaz set
]DáF]D
czujnik prawy na osi X
i1.0
GRZ\NRU]\VWDQLD]LQVWUXNFMW\SX,)
F]XMQLNURGNRZ\SUDZ\QDRVL;
i1.1
dla wygenerowania akcji typu STOP dla
F]XMQLNURGNRZ\OHZ\QDRVL;
i1.2
silnika DC
czujnik lewy na osi X
i1.3
czujnik osi Y
i1.4
Czujniki indukcyjne (lewy - prawy)
i0.6 - i0.7
detekcja elementu
3U]\FLVNLGROQ\URGNRZ\JyUQ\
i1.5 - i1.7
]JáRV]HQLHRSHUDWRUD
8B]DV
9
3
3
3
3 2II
3 2Q
3 /HIW
3 5LJKW
I
(reset 0.0)
(set 0.0)
(reset 0.1)
(set 0.1)
33SU]HND(QLNL
3
]DáF]HQLHXNáDGX
3
NLHUXQHNSU]HVXZXVLOQLND
Rys. 23 Obwód sterowania silnika DC