vzpostavitev can-bus komunikacije z labview · dpcante-020b080, of company advanced motion...

52
Boštjan Lorbek VZPOSTAVITEV CAN-BUS KOMUNIKACIJE Z LABVIEW Diplomsko delo Maribor, september 2010

Upload: others

Post on 12-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Boštjan Lorbek

VZPOSTAVITEV CAN-BUS KOMUNIKACIJE Z

LABVIEW

Diplomsko delo

Maribor, september 2010

I

Diplomsko delo Interdisciplinarnega univerzitetnega študijskega programa

Študent: Boštjan Lorbek

Študijski program: UN ŠP Mehatronika

Smer: Mehatronika 1. stopnja

Mentor FERI: red. prof. dr. Riko Šafarič

Mentor FS: izred. prof. dr. Karl Gotlih

Lektor(ica): Tadejka Topolovec

Maribor, september 2010

II

III

ZAHVALA 1

Zahvaljujem se mentorjema za pomoč in

vodenje pri opravljanju diplomskega dela. Prav

tako se zahvaljujem mlademu raziskovalcu g.

Francu Hanţiču za pomoč pri diplomskem delu.

Hvala tudi prof. dr. Bojanu Gergiču za nekatere

napotke med delom diplomske naloge.

Posebna zahvala velja staršem, ki so mi

omogočili študij.

IV

VZPOSTAVITEV CAN-BUS KOMUNIKACIJE Z LABVIEW

Ključne besede: Komunikacija, CAN-BUS

UDK: 621.391(043.2)

Povzetek

Komunikacije v električnih napravah predstavljajo izmenjavo pomembnih podatkov

med seboj. Kompleksna naprava je sestavljena iz več krmilnih enot, katere

komunicirajo med seboj. Vsaka krmilna enota pa ima vgrajeno bazo pravil, s pomočjo

katere lahko razume drugo enoto. Komercialni krmilnik DPCANTE-020B080, podjetja

Advanced Motion Controls, ima za krmiljenje linearnega motorja podporo CAN-BUS

komunikacije, katero je potrebno povezati z osebnim računalnikom. Sam krmilnik ima

ţe integrirano bazo, katero je potrebno preučiti, ter izdelati bazo podatkov, katere bomo

uporabili za komunikacijo našega krmilnika z osebnim računalnikom.

V

CAN-BUS COMMUNICATION LINKS ESTABLISHMENT WITH

LABVIEW

Key words: Communication, CAN-BUS

UDK: 621.391(043.2)

Abstract

Communication in electrical devices represents the exchange of relevant information

among themselves. A complex system is composed of several control units, which

communicate with each other. Each control unit has a built-in database of the rules.

With this database the control unit can understand other units. A commercial Controller

DPCANTE-020B080, of company Advanced Motion Controls, has a support by the

CAN-BUS communication to control the linear motor, which is necessary to connect

the PC. The controller has an integrated database, which is necessary to be studied. The

user has to create his own database used for communication of the controller with the

PC.

VI

VSEBINA

1 UVOD ................................................................................................................................................. 1

2 PREDSTAVITEV TESTNE NAPRAVE DRSNIH VRAT ................................................................ 3

2.1 LINEARNI MOTOR .............................................................................................. 3

2.1.1 Podatki uporabljenega linearnega motorja ................................................. 5

2.2 KOMERCIALNI REGULATOR ............................................................................... 6

2.3 NAPAJALNIK ...................................................................................................... 7

2.4 LINEARNI MAGNETNI DAJALNIK ......................................................................... 8

2.4.1 Splošne zahteve linearnega dajalnika .......................................................... 9

2.4.2 Kratek opis delovanja ................................................................................. 10

2.5 CANOPEN PROTOKOL ...................................................................................... 10

2.5.1 CANopen ..................................................................................................... 10

2.5.2 CAN standard ............................................................................................. 13

2.6 LABVIEW ....................................................................................................... 14

3 IZDELAVA GONILNIKA ZA VZPOSTAVITEV KOMUNIKACIJE ........................................... 16

3.1 KONFIGURACIJA CAN OMREŢNEGA VMESNIKA ............................................... 17

3.2 POŠILJANJE IN PREJEMANJE BAJTOV! ............................................................... 18

3.2.1 Določanje položaja in vrnitev naprave v začetni položaj .......................... 23

3.3 POVPREČENJE IZMERJENIH VREDNOSTI ............................................................ 25

3.4 VKLOPNA IN IZKLOPNA LOGIKA ....................................................................... 27

3.5 PREIZKUS DELOVANJA ..................................................................................... 28

4 ZAKLJUČEK ................................................................................................................................... 32

5 VIRI, LITERATURA ....................................................................................................................... 34

6 PRILOGE ......................................................................................................................................... 36

6.1 GONILNIK ZA VZPOSTAVITEV CAN-BUS KOMUNIKACIJE ............................... 36

6.2 PODATKOVNI LISTI .......................................................................................... 36

6.3 SEZNAM SLIK ................................................................................................... 36

6.4 SEZNAM PREGLEDNIC ...................................................................................... 38

6.5 NASLOV ŠTUDENTA ......................................................................................... 38

6.6 KRATEK ŢIVLJENJEPIS...................................................................................... 39

VII

UPORABLJENE KRATICE

CAN - področno serijsko komunikacijsko omreţje (Controller–area network, CAN-

bus).

CANopen - protokol področno serijskega komunikacijskega omreţja.

V/I – vhodno izhodne enote.

ECU – centralno procesna enota (CPU).

VI – virtualen inštrument.

PVM – pulznoširinska modulacija.

SVM – prostorsko vektorska modulacija.

a – pospešek.

Rc – upornost navitja.

L – induktivnost navitja.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 1

1 UVOD

Namen in cilj te diplomske naloge je raziskati uporabnost električnega linearnega

motorja, za pogon električnih drsnih vrat. Diplomska naloga je financirana na podjetju

DOORSON d.o.o., Milenkova ulica 9, 2000 Maribor, ki je to nalogo financirala.

Diplomska naloga zajema komunikacijo CAN-BUS med komercialnim regulatorjem

podjetja Advanced Motion Controlc, model DPCANTE-020B080 in računalnikom na

katerem je naloţen programski paket LabVIEW 9 podjetja National Instruments. Drsna

vrata so kompleksna naprava iz več krmilnih enot, katere komunicirajo med seboj.

Komunikacijski protokol, ki ga uporabljam je CANopen. CAN je področno serijsko

komunikacijsko omreţje, namenjeno za povezavo krmilnih modulov, senzorjev in

aktuatorjev, ter za nadzor, upravljanje in diagnosticiranje porazdeljenih procesov, ki

delujejo v realnem času. Omreţni sistem je bil razvit za namen v avtomobilističnih

proizvodnih sistemih. Komunikacija je vzpostavljena s komercialnim regulatorjem, ki

ima nalogo, da z njim reguliramo in krmilimo navor, hitrost in poloţaj. Regulator je

digitaliziran in uporablja prostorsko vektorsko modulacijo. Regulator ima sposobnost, da

lahko ukazne signale generira sam, ima programabilne digitalne ali analogne vhode in

izhode. Linearni motor katerega krmilimo, je proizvod podjetja H2W Technologies, Inc.

Je alternativa rotacijskemu motorju, velika prednost ki jo ima, je visoko pospeševanje.

Motor prenaša silo preko mehanske povezave, namesto preko povezave magnetnega

polja. Os, ki jo poganja naš motor ne potrebuje stika med premikajočimi deli, posledično

se nam zmanjšajo vibracije in obraba. Na konstrukcijo linearnega motorja imam pritrjen

linearni magnetni dajalnik LM10. LM10 je brezkontaktni magnetni dajalnik pomika,

informacijo o pomiku dobi s pomočjo magnetnega merilnega traku, ki je pritrjen na

celotno dolţino drsnih vrat. Brezkontaktno merjenje poloţaja odpravi probleme obrabe,

zagotavlja trpeţnost in minimalno histerezo, zato ta sistem omogoča visoko natančnost

in zanesljivost merjenja tudi pri visokih hitrostih in pospeških. Regulator je vgrajen v

omarico, v kateri je vgrajen tudi napajalnik proizvajalca Advanced Motion Controls serije

PS1600W. PS1600W je nereguliran napajalnik. Načrtovan je tako, da zagotavlja

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 2

najboljšo razmerje med ceno in Wattom. Komunikacija je vzpostavljena preko

računalniškega programskega paketa LabVIEW 9, ki sodi med vodilne programe na

trţišču. Programski paket omogoča vzpostavitev komunikacije, opazovanje in

spreminjanje delovanja drsnih vrat.

Program, ki sem ga izdelal mi omogoča opazovati hitrost, poloţaj in tok linearnega

motorja, ki premika drsna vrata. Omogoča mi tudi preprosto poloţajno krmiljenje, da

lahko nastavim ţelen poloţaj. Programska struktura je razdeljena na osem delov:

konfiguriranje CAN omreţnega vmesnika, inicializacija razporeda (potrebna je za

povprečenje vrednosti), pošiljanje in prejemanje bajtov, povprečenje, izpis vrednosti

(poloţaj, tok, hitrost), logika za ročno določanje poloţaja, javljanje napak, vklopna in

izklopna logika.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 3

2 PREDSTAVITEV TESTNE NAPRAVE DRSNIH VRAT

Slika 1: Drsna vrata.

Na sliki 1 lahko so prikazana testna drsna vrata, ki so krmiljena s komercialnim

regulatorjem DPCANTE-020B080, podjetja Advanced Mootion Controls. Testna vrata je

izdelalo in financiralo podjetje DOORSON d.o.o., Milenkova ulica 9, 2000 Maribor in

sluţijo za raziskovalne namene, za razvijanje novih in boljših rešitev za trţišče. Moja

naloga je razviti in vzpostaviti komunikacijo s programskim paketom LabVIEW.

2.1 Linearni motor

Linearni motor je vrsta elektromotorja, ki pretvarja električno energijo v translacijsko

gibanje. Linearni elektromotor je posebna oblika elektromotorja, brez rotirajočih delov.

Njegovo sestavo si lahko predstavljamo tako, da prereţemo klasični rotacijski motor na

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 4

polovico in izravnamo rotor in stator, ju poloţimo enega nad drugim in ţe dobimo

linearni elektromotor.

Slika 2: Sestava linearnega motorja (a) stator prereţemo po črti, b) stator izravnamo, c)

rotor poloţimo nad stator, d) dvostransko obleganje rotorja, e) enostransko obleganje

rotorja).

Z linearnim motorjem lahko doseţemo zelo velike pospeške in hitrosti, zato jih

najpogosteje srečujemo v pogonski tehniki pri avtomatiziranih procesih (obdelovalni

stroji). Pri rotacijskih motorjih moramo uporabiti različne konstrukcijske rešitve pri

pretvarjanju rotacijskega gibanja motorja v premočrtno gibanje. Najpogostejša rešitev je z

uporabo vretena in matice, pri čemer se zmanjša togost in zanesljivost sistema.

c)

PREREZ PO

ČRTI

ROTOR STATOR NAVITJE

a) b)

d) e)

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 5

Prednosti uporabe linearnega elektromotorja:

velike hitrosti,

natančnost nastavljanja poloţaja,

nizka hrupnost,

hitra odzivnost.

Slabosti uporabe linearnega elektromotorja:

visoka cena,

segrevanje.

2.1.1 Podatki uporabljenega linearnega motorja

Slika 3: Uporabljen linearni motor.

Tabela 1: Podatki motorja

Model Kp Ic Ip a Rc L masa

[N/A] [A] [A] [m/s] [Ω] [mH] [Kg]

BLDA-02 [13.7] [3.1] [9.3] [15.7] [7.3] [2] [0.22]

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 6

2.2 Komercialni regulator

Reguliranje linearnega motorja je izvedeno s pomočjo komercialnega regulatorja

DPCANTE-020B080, ki ga je razvilo podjetje Advanced Motion Controls, pod serijo

produktov DigiFlex® Performance™. Njegov namen je reguliranje servomotorjev vseh

tipov. Reguliramo lahko navor, hitrost in poloţaj. Regulator je popolnoma digitaliziran in

uporablja prostorsko vektorsko modulacijo (SVM). Prednost popolne digitaliziranosti je,

da lahko uporabljam višje BUS napetosti, zmanjša pa se tudi izguba toplotne energije v

primerjavi s pulzno širinsko modulacijo (PVM) [4].

Sposobnost tega regulatorja je, da lahko ukazne signale generira sam ali pa jih napaja od

zunaj. Za povezavo z drugimi komponentami med sabo in za konfiguracijo ali nastavitev

pogona, lahko uporabim CANopen ali pa RS-232 serijski vmesnik. Ima tudi namenske

programabilne digitalne in analogne vhode in izhode. Vse uporabljene parametre

shranjuje v vgrajen trajni pomnilnik [4].

Slika 4: Komercialni regulator.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 7

Za komunikacijo z regulatorjem je potrebno preučiti CANopen standard. Preučiti pa je

treba tudi na kakšen način poteka pošiljanje in prejemanje ukazov. Regulator pošilja oz.

prejema 8 bajtno heksadecimalno kodo, pri čemer prvi 4 bajti vsebujejo informacijo oz.

ukaz, zadnji 4 bajti pa vsebujejo informaciji o veličini (npr. hitrost znaša 0,3 m/s) [5].

Ukaze, ki jih bom pošiljal, bodo imeli ID naslov 607, vse ostale ukaze in njihove kode si

lahko ogledate v tabeli 1 in 2 [6].

TABELA 2: UKAZ ZA 1. BAJT.

1. BAJT STATUS

40 Branje

42 Informacija

22 Pisanje

TABELA 3: UKAZI ZA 2., 3., 4. BAJT.

2. IN 3. BAJT 4. BAJT NALOGA

6077h 0h Preberi dejanski tok motorja.

606Ch 0h Preberi dejansko hitrost motorja.

6064h 0h Preberi dejansko lego motorja.

6040h 80h Vrni se v začetno stanje.

6040h 0Fh Omogoči delovanje.

6040h 04h Onemogoči delovanje.

2.3 Napajalnik

Za napajanje linearnega motorja in regulatorja je uporabljen napajalnik enakega

proizvajalca (Advanced Motion Controls). Napajalnik PS16H40 spada v serijo

nereguliranih napajalnikov PS1600W. Ta nereguliran enosmerni (DC) vir električne

energije, je sprejemljiva rešitev za večino aplikacij, kot nadomestek ojačevalnikov za

spreminjanje izhoda in komponent izmeničnega nihanja napajalnika.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 8

Napajalnik serije PS1600W je načrtovan tako, da zagotavlja najboljše razmerje med ceno

na Wattom. Ima več navitij za prilagoditev evropskim ali ameriškim omreţnim

napetostim (240V 50Hz ali 120V 60Hz). Ima tudi več različnih izhodnih navitij za

napetosti 30V, 36V ali 40V, pri čemer imam pri navitjih za 30V in 40V, štiri enaka

sekundarna navitja, za 36V pa dva enaka sekundarna navitja. Izhodna navitja lahko med

sabo zaporedno ali vzporedno poveţemo, da dobim še druge izhodne napetosti in tokove

[7].

Slika 5: Napajalnik PS16H40.

2.4 Linearni magnetni dajalnik

Za spremljanje informacij o hitrosti in poloţaju potrebujem ustrezno senzorsko napravo.

Za ta sistem z drsnimi vrati je zelo primeren linearni magnetni dajalnik, saj

brezkontakten način delovanja odpravi problem obrabe, zagotavlja trpeţnost in

minimalno histerezo, s tem pa omogoča natančno in zanesljivo merjenje tudi pri visokih

hitrostih in pospeških. Iz teh razlogov je uporabljen linearni magnetni dajalnik podjetja

RLS, model LM10 [9].

LM10 je brezkontaktni magnetni dajalnik pomika, sestavljen iz zaprte merilne glave in

samolepilnega magnetnega traku. Merilna glava LM10 ima vgrajeno LED diodo, ki sluţi

za laţje določanje pravilnega delovanja merilne glave. Merilna letev je lahko dolga do

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 9

100, zračna reţa med merilno glavo, ki je nameščena nad letvijo pa mora biti dolga od 1

do 5mm. Na merilni letvi moramo zmeraj nastaviti referenčno točko, ki je lahko vdelana

ţe ob izdelavi ali pa jo kasneje prilepimo s pomočjo orodja za namestitev značk.

Merilna glava ima digitalne izhode (moţni so tudi analogni izhodi), ki omogočajo

ločljivost na 1µm, 2µm, 5µm, 10µm,20µm in hitrost dajalnika 4 m/s [9].

Slika 6: Linearni magnetni dajalnik, proizvajalca RLS, model LM10.

2.4.1 Splošne zahteve linearnega dajalnika

Napajalna napetost: od 4,5 V do 7 V (vsebuje zaščito pred obrnjeno

polariteto).

Poraba energije (brez obremenitve): <30 mA za digitalni izhod <50 mA za analogni

izhod.

Stopnja zaščite: IP68 (po standardu IEC 60529).

Delovna temperatura: od -10°C do +80°C.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 10

2.4.2 Kratek opis delovanja

Diferencialni magnetorezistivni senzor se pomika vzdolţ po merilni letvi. Zaradi

sprememb magnetnega pretoka nastaneta sinusni in kosinusni signal. Z notranjo

interpolacijo sinusnega in kosinusnega signala lahko doseţemo ločljivost do 1µm [9].

Slika 7: Način delovanja linearnega magnetnega dajalnika.

2.5 CANopen protokol

2.5.1 CANopen

CAN je področno serijsko komunikacijsko omreţje, namenjeno za upravljanje, povezavo

krmilnih modulov, senzorjev in aktuatorjev, ter nadzor in diagnosticiranje porazdeljenih

procesov, ki delujejo v realnem času. Omreţni sistem je bil sprva razvit za

avtomobilistične proizvodne sisteme. Razvilo ga je podjetje Robert BOSCH GmbH iz

Stuttgarta v Nemčiji, leta 1987. Ker je CAN prenos podatkov izredno zanesljiv, cenovno

prijazen je zelo zastopan tudi izven avtomobilistične industrije. Najnovejši izdelki

uporabljajo CAN kot dopolnilo z drugimi omreţnimi sistemi, kot so npr.: LIN (nizko

cenovno serijsko omreţje za elektroniko), MOST (za uporabo zabavne elektronike v

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 11

avtomobilih) in FLEXRAY (za uporabo zaščitenih komunikacij). CAN je standardiziran

za industrijske aplikacije, Field Bus pa je razširjen pri krmiljenju procesov [8].

CAN zagotavlja trpeţno in cenovno ugodno omreţje, ki pomaga napravam v medsebojni

komunikaciji. Največja prednost uporabe CAN komunikacije je v tem, da se izredno

zmanjša število povezav, saj potrebuje procesor samo en vmesnik, da lahko komunicira z

ostalo periferijo, npr. s senzorji, aktuatorji itd. Zato ne uporablja njegovih vhodnih in

izhodnih enot za komunikacijo z ostalimi napravami iz sistema, posledično se zmanjšajo

tudi stroški izdelave, kar pride do izraza še posebej pri velikih serijah.

Slika 8: Prednost CAN vodila.

CAN protokol omogoča velike dolţine komunikacijskega vodila, pri niţjih hitrostih

prenosa tudi do 1 km. Po CAN vodilu pošiljamo kratka sporočila z hitrostjo prenosa od

100kbit/s do 2Mbit/s. CAN ima optimizirano obnašanje in se sam avtomatsko

sinhronizira. Dostop na vodilih lahko ima več nadzornih parov, njihov dostop na vodilo

pa je naključen, da se izogiba trkom. Število vozlišč na enotnem omreţju je omejeno le

teoretično, s številom razpoloţljivih identifikatorjev. Številke vozlišč se trenutno giblje

do 32 ali 64 na omreţje, vendar so na trţišču tudi proizvajalci, ki omogočajo mreţe do

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 12

110 vozlišč. Hitrost prenosa podatkov je odvisna od celotne dolţine vodnika, povezanega

z oddajniki. Za vse naprave v ISO11898 standardu poteka hitrost pri 1 Mbit/s, če je

dolţina vodnika krajša od 40 m, za večje dolţine vodnikov pa je potrebno zmanjšati

hitrost prenosa [8].

Tabela 4: Hitrost je odvisna od dolžine vodnika.

Slika 9: Hitrost prenosa.

Komunikacija je enaka za vse izvedbe CAN. Vendar pa obstajata dve različni izvedbi

CAN komunikacije, to sta popolni CAN (full CAN) in osnovni CAN (basic CAN). V

osnovni CAN konfiguraciji obstaja tesna povezava med CAN krmilnikom in

mikrokrmilnikom. Povezava mikrokrmilnika, ki ima še druge funkcije povezane z

sistemom za upravljanje bo prekinjena, da se ukvarja z vsakim CAN sporočilom. Popolni

CAN vsebuje dodatno strojno opremo za zagotavljanje sporočil ''streţnika'', ki samodejno

Hitrost Dolžina vodnika

125kbit/s nad 500 m

250kbit/s nad 200 m

500kbit/s nad 100 m

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 13

prejema in pošilja CAN sporočila v mikrokrmilnik. Pri popolnem CAN-u izvedejo

naprave obseţno filtriranje na dohodna sporočila, da zmanjšajo obremenitev na

mikrokrmilniku [8].

2.5.2 CAN standard

CAN je v celoti opisan v standardu ISO 118998. CAN komunikacijski protokol ISO

11898 opisuje, kako informacija potuje med napravami v omreţju in je v skladu z OSI

(Open System Interconnection) modelom, ki je plastno definiran. Dejanska komunikacija

med napravami, ki jih povezuje fizični medij (vodilo), je definirana z fizično plastjo

ISO/OSI referenčnega modela. Maksimalna dolţina omreţja je odvisna od frekvence,

števila vozlišč in hitrosti povečanja ţic [8].

Slika 10: ISO111898 arhitektura.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 14

2.6 LabVIEW

LabVIEW programi se obravnavajo kot virtualni inštrumenti (VI), ker lahko razne

merilne inštrumente, osciloskope in multimetre virtualno prikaţemo. LabVIEW vsebuje

veliko paleto orodij za analizo, simulacijo, zdruţevanje in shranjevanje podatkov, kot tudi

za iskanje napak v programski kodi [1].

Slika 11: Logotip.

V LabVIEW-u lahko izdelam uporabniku prijazne čelne plošče na katerih imam vse

potrebne gumbe in prikazovalnike rezultata. Elementi, s katerimi lahko spreminjam

vrednosti so lahko različnih vrst: tipka, stikalo, vrtljivo stikalo ali vrtljiv gumb. Za

prikazovalne elemente lahko izberem LED diode, grafe vseh vrst, kazalčne

prikazovalnike, numerične indikatorje itd. [2]. Povezave med elementi izdelam tako, da

odprem blokovni del programa, ter v njem sprogramiram našo napravo preko blokovne

kode oz. G-kode. Programski jezik vsebuje simbole, ki jih je potrebno povezati v

pravilnem zaporedju. Nekateri simboli imajo potem povezavo z elementom na čelni

plošči, ki sluţi za prikaz izmerjene vrednosti. Simbole premikam, povezujem, označujem

s pomočjo orodij, ki se nahajajo v orodni vrstici ''Tools''.

LabVIEW omogoča, da izmerjene podatke lahko shranjujem in si jih kasneje tudi

ogledam oz. analiziram. To storim s pomočjo opcije ''File I/O''. Pomembno je samo, da

vem, v katero knjiţnico shranimo podatke, (ASCI, TDMS, itd.) [3] ker če ţelim podatke

kasneje analizirati v določenem programu, mora ta program podpirati to knjiţnico.

Program omogoča tudi komunikacijo z različnimi napravami, kot tudi podatkovnimi

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 15

karticami, video kamerami in regulatorji [2]. Vse kaj potrebujemo v tem primeru so

pravilni vmesniki in gonilniki, ki si jih lahko snamem z internetne strani podjetja

National Instruments (http://www.ni.com/devzone/idnet/d/). Če pa nimam na razpolago

primernega gonilnika, si tega izdelamo sami, kar je tudi namen moje diplomske naloge.

Slika 12: Primer programa za regulacijo enosmernega elektromotorja (levo spodaj: čelna

plošča, desno zgoraj: blokovni diagram).

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 16

3 IZDELAVA GONILNIKA ZA VZPOSTAVITEV

KOMUNIKACIJE

Če ţelim opazovati odzive testnih vrat s pomočjo programskega paketa LabVIEW,

moram izdelati golilnik, ki mi bo to omogočal. Sprva je bil namen naloge, da bom

opazoval samo odzive toka, hitrosti in poloţaja, kasneje, med samo izdelavo gonilnika,

pa sem se odločil, da gonilniku dodam opcijo za nastavljanje poloţaja. Struktura

gonilnika je prikazana na sliki 13.

Slika 13: Struktura gonilnika.

Iz slike 13 je lepo razvidno, da je program sestavljen iz več manjših podprogramov. Za

podprograme sem se odločil zato, ker zmanjšajo strukturiranost samega programa. Prav

tako pa se poveča preglednost programa, saj je priporočljivo, da je program zasnovan za

ustrezno velikost monitorja. Program je sestavljen iz dveh struktur izven ''While'' zanke -

konfiguriranja CAN omreţnega vmesnika in inicializacije razporeda za povprečenje.

Znotraj zanke pa se nahajajo glavne strukture podprograma: pošiljanje in prejemanje

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 17

bajtov, povprečenje, izpis meritve, vklopna in izklopna logika, logika za primerjavo in

določanje pozicije, javljanje napake.

3.1 Konfiguracija CAN omrežnega vmesnika

Konfiguracijo CAN omreţnega vmesnika potrebujem, da lahko nastavim vse parametre,

ki so potrebni za vzpostavitev komunikacije s komercialnim regulatorjem.

Slika 14: Način kako konfiguriramo CAN omreţni vmesnik.

Slika 15: Podprogram za konfiguracijo.

ObjName- določim CAN omreţni vmesnik. Za določitev uporabljam sintakso ''CANx'',

kjer je ''x'' številka, ki označuje CAN omreţni vmesnik (uporabimo CAN0, CAN1, do

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 18

CAN63). CAN omreţni vmesnik je fizično priklopljen na naš računalnik in ga lahko

določim z uporabo Measurement & Automation Explorer (MAX).

CAN Network Interface Config- določa jedro konfiguracije lastnosti CAN omreţja, ki

vsebuje vse potrebne informacije kot so: Start On Open (pomeni ali se naj konfiguracija

izvede takoj ob zagonu programa, nastavljeno je na prevzeto stanje''1''), Baud Rate

(določim hitrost prenosa podatkov, sam sem uporabil hitrost 500kbit/s), Read Queue

Length (določim največje število neprebranih okvirjev za branje v čakalni vrsti v CAN

omreţnem vmesniku), Write Queue Length (največje število okvirjev za notranje pisanje

v čakalni vrsti za pošiljanje po CAN omreţnem vmesniki), Standard Comparator (je CAN

razsodba za ID standard), Standard Mask (se uporablja v zvezi s Standard Comparator in

sluţi za filtriranje vhodnih CAN okvirjev), Extended Comparator (sluţi za razširjanje

Standard Comparator-ja na 29 bitov), Extended Mask (se uporablja v zvezi z Extended

Comparator-jem in sluţi za filtriranje vhodnih CAN okvirjev).

Error out- opisuje napake ki se pojavijo med izvajanjem virtualnega inštrumenta. Napaka

se izpiše s pomočjo treh indikatorjev: status (mi sporoči, če je sploh prišlo do napake),

code (identifikacijska številka napake), source (opis napake z besedo).

Slika 16: Simbol za odprtje CAN povezave z napravo.

ObjHandle out – je vrednost, ki povezuje vse kasnejše CAN podpograme.

3.2 Pošiljanje in prejemanje bajtov!

Za pošiljanje in prejemanje bajtov sem izdelal podprogram, katera blokovna struktura je

prikazana na sliki 17.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 19

Slika 17: Blok diagram pošiljanja in prejemanja bajtov.

V osnovi je program izdelan s pomočjo opcije Flat Sequence structure, ki deluje po

principu filmskega traku, kar pomeni, da se izvajajo programi znotraj strukture

zaporedoma. To pomeni, da program najprej prebere vrednost hitrosti, z 2ms

zakasnitvijo, pozicijo in tok, na koncu pa še vpiše novo vrednost poloţaja, če seveda dobi

ukaz, da mora spremeniti pozicijo, v nasprotnem primeru se ta del programa ne izvaja.

Del programa za pošiljanje in branje bajtov je prikazan na sliki 18. Program se začne

izvajati, ko na čelni plošči vklopim tipko WRITE (piši), s tem ukazom povzročim, da se

začnejo pošiljati ukazi za spremljanje hitrosti, toka in pozicije, s pomočjo podprograma

CWrite (slika 19). Med pošiljanjem in branjem bajtov, sem vgradil zakasnitev 2 ms, da

ima regulator čas prebrati in poslati podatke. V podprogram pripeljem nekatere vhodne

(ObjHandle IN, Error out, Arbitration Id, Data Length, WRITE (v obliki globalne

spremenljivke) in izhodne ( Result T, Result H, Result P, ObjHandle out OUT, Error

out), TOK, HITROST, POLOŽAJ, primerjava (v obliki globalne spremenljivke))

informacije iz glavnega programa.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 20

Slika 18: Del programa za pošiljanje in branje bajtov (na sliki je prikazano branje

hitrosti).

Slika 19: podprogram, ki mi omogoča vpisovanje 8-bajtne kode v regulator.

Na CAN Writhe podprogram moram pripeljati naslednje vrednosti: ObjHandle,

(poveţemo ga iz ObjHandle out od CANOpen podprogramom), DataLength

(vrednost, ki pove koliko bajtov podatkov bom poslal, sam pošiljam 8 bajtov velike

informacije), Data (vsebuje 8 bajtno kodo, ki jo ţelim vpisati v regulator), IsRemote (če

imam vrednost 0, mi ta predstavlja CAN podatkovni okvir), Error in (poveţem ga z

Error out od CANOpen podprogramom), ArbitrationId (določa ID za posredovanje

CAN podatkov, jaz sem moral uporabiti vrednost 607).

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 21

Slika 20: Podprogram za branje trenutne hitrosti.

Program za branje trenutne vrednosti hitrosti je v osnovi razdeljen na štiri dele. Program

deluje tako, da prebere 8 bajtno kodo, ki jo pošlje regulator preko podprograma

CANReed. Na CANReed-u imam priklopljen virtualni inštrument, ki mi sluţi za

kasnejšo preverjanje stanj, če je med obratovanjem prišlo do napake, da si znatno

zmanjšam čas iskanja le- te. Kodo, ki vsebuje informacijo o trenutni hitrosti, je potrebno

razčleniti na 8 delov, da lahko primerjam posamezne bite in jih kasneje tudi dešifriramo v

številčno vrednost, ki naj bi predstavljala trenutno hitrost. Dešifriranje kode je

predstavljeno na sliki 21.

Slika 21: Dešifriranje kode za hitrost.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 22

Dešifriranje kode poteka tako, da prve 4 bajte primerjamo s konstantami in če so enaki,

dobim s pomočjo digitalne logike na izhodu ''Result'' logično 1, ki kasneje v programu

omogoči povprečenje vrednosti. Ker druga polovica kode vsebuje informacije o

vrednosti hitrosti, ki jo je prav tako potrebno dešifrirati v celo desetiško številko. Za

dešifriranje potrebujem opcijo Join Numbers, ki zdruţi številko oz. bajt iz dveh delov,

pri tem opravilu pa moram biti pozoren, kateri bajt ima večji pomen, saj ob napačni

zdruţitvi dobim drugačno vrednost. Da omogočim širšo uporabo, sem dodal več

indikatorjev, ki mi izpišejo vrednost v heksadecimalni in v desetiški obliki, program pa

izpiše tudi koliko bajtov sem zdruţili.

Po dešifriranju vrednosti, je potrebno le še preračunati v ustrezne merske enote in

pravilno izbrati formulo za faktor povečanja, ki sem jo pridobil s podatkovnega lista od

regulatorja. Če sem opazoval hitrost, sem dobival vrednosti v razdelkih na sekundo

(razdelki od linearnega magnetnega dajalnika), zato sem moral preračunati vrednost v

m/s. Enako je bilo pri poloţaju in toku, ko sem razdelke preračunal v metre in tok v

ampere. Na sliki 22 je prikazano preračunavanje merskih enot za hitrost, tok in poloţaj.

Slika 22: Preračunavanje merskih enot (a) hitrost, b) tok c) poloţaj).

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 23

3.2.1 Določanje poloţaja in vrnitev naprave v začetni poloţaj

Gonilniku sem dodal tudi moţnost spreminjana poloţaja s pomočjo vrtljivega gumba na

čelni plošči. Ob določanju poloţaja pa moj sistem potrebuje tudi tipko za vrnitev v

začetno stanje (Reset). Na sliki 23 je prikazan način, kako sem omogočil vpisovanje

ţelenega poloţaja.

Slika 23: Del programa, ki sluţi za določanje pozicije.

Program deluje tako, da se v primeru spremembe na vrtljivem gumbu, začne izvajati

zanka. To se zgodi zaradi logike za primerjanje in določanje poloţaja, ki se nahaja v

glavnem programu, slika 24. Logika deluje tako, da imam ob zagonu programa drsni

gumb na vrednosti 0, ob spremembi vrednosti gumba se spremeni stanje, kar povzroči,

da ima globalna spremenljivka stanje 1, ki povzroči, da se pošlje na regulator informacija

o novem poloţaju.

Slika 24: logike za primerjanje in določanje pozicije.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 24

Znotraj zanke je podprogram, ki mi generira potrebno 8 bajtno kodo za poloţaj, ki ga

ţelim doseči z mojimi drsnimi vrati oz. linearnim elektromotorjem. Znotraj tega

podprograma imam izvedene tudi ukaze za vrnitev v prvotno stanje (Reset), ter da

omogočam oz. onemogočam delovanje regulatorja (Enable, Disable). Zgradba programa

je prikazana na sliki 25.

Slika 25: Program ki mi omogoča določanje poloţaja.

Program deluje tako, da se preko globalne spremenljivke vrednost vrtljivega gumba

prenese v program, kjer potem po logiki dešifrira desetiško število in jo pretvori v 4

bajtno heksadedecimalno kodo. Še pred dešifriranjem pa je potrebno pretvoriti mersko

enoto meter v razdelke na magnetnem traku, da imam večjo natančnost reguliranja

poloţaja. Če pride med delovanjem do nepredvidljivih napak, pa je vgrajeno moţnost

zaustavitve delovanja in ga je mogoče postaviti v začetno stanje. Tako, da ob vklopu na

katero od teh tipk začne delovati del programa, ki je prikazan na levi strani slike 24,

razlika nastane samo v levi ''Case'' strukturi, ko se izvede generiranje 8 bajtne kode, ki je

potrebna za ţeleno funkcijo. Na sliki 26 je prikazano generiranje 8 bajtne kode za ukaz za

vrnitev v začetno stanje.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 25

Slika 26: generiranje 8 bajtne kode za ukaz za vrnitev v začetno stanje.

3.3 Povprečenje izmerjenih vrednosti

Opazovane vrednosti, ki jih regulator pošilja, niso primerne za uporabo, saj ima naprava

veliko natančnost, kar povzroči, da vrednosti zelo nihajo, zato je potrebno povprečiti

vrednosti, da dobim gladek prehod med meritvami. Povprečenje vrednosti je razdeljeno

na dva dela. Prvi del se izvaja izven ''While'' zanke, inicializacija matrike, v katero se naj

shranjujejo meritve in ji določi koliko meritev naj povpreči. Pri vpisovanju novih

vrednosti uporabljam ukaz ''Shift Registers'' katerega naloga je, da prenese vrednost iz

prejšnjih iteracij skozi ''While'' zanko za naslednjo ponovitev. Na robu zanke se pojavi v

obliki terminalov, na katerega priključim ţeleno vrednost. Terminal na desni strani zanke

vsebuje puščico gor in hrani podatke o zaključku ponovitev. Drug del povprečenja pa se

izvaja posebej, v ta namen izdelanim podprogramom. Glej sliko 27.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 26

Slika 27: Podprogram za povprečenje vseh vrednosti.

Podprogram je zasnovan tako, da pripeljemo vrednosti iz ''Shift Registers-a'' in trenutne

vrednosti toka, poloţaja in hitrosti. Program vsebuje tri ''case'' strukture, ki se vklapljajo

samo takrat, ko regulator pošlje vrednost za njih. Podrobno delovanje delovanja struktur

je prikazano na sliki 21. Na primer, da dobivamo informacijo za tok, potem je stanje

''Result T'' 1, pomeni, da se bo zagnala prva struktura, ki povpreči vrednosti toka. Znotraj

strukture je izdelan podprogram, ki izračunava povprečno stanje. Prikazan je ne sliki 28 .

Slika 28: Zanka povprečenja.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 27

Program deluje tako, da najprej primerja število povprečij in koliko meritev je bilo

izvedenih. Ko je bilo doseţeno število meritev 50 ali več, se vrednost vpiše v matriko, v

kateri se seštejejo vse vrednosti med sabo, skupna vsota pa se potem deli s številom

povprečij. Sam sem se odločil, da bom povprečil 50 vrednosti skupaj, ker je takrat odziv

najbolj kvaliteten in natančen.

3.4 Vklopna in izklopna logika

Na čelni plošči je pet gumbov za različne ukaze delovanja gonilnika. Čelna plošča

vsebuje gumb WRITE, ki sluţi za vklop pisanja podatkov v regulator. Z njim zaţenem

delovanje. Ko gumb postavim v stanje ''izklopljeni'' moj program še vedno deluje, vendar

se ne pošiljajo podatki na regulator. Program popolnoma zaustavim šele s tipko ''STOP''.

Program ima tudi moţnost, da postavimo regulator v začetno stanje (sistem resetiram), ali

pa omogočim oz. onemogočim stanje regulatorja.

Ker govorimo o gonilniku mora ta imeti moţnost vklapljanja in izklapljanja tudi izven

čelne plošče. Ta problem sem odpravil s pomočjo globalne spremenljivke ''Write freme

2'', deluje pa tako, da program vklopi tipka ''WRITE'' na čelni plošči ali tipka ''WRITE'' v

kakšnem drugem programu. Oba gumba sta pripeljana na logična ''ali'' vrata, ki delujejo

tudi v primeru, ko je vsaj en gumb od obeh vklopljen, tako bo stanje logičnih vrat na

izhodu logična 1.

Slika 29: Vklopna logika.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 28

Tudi tipke ''RESET'', ''ENABLE'' in ''DISABLE'' sem izvedel kot globalne

spremenljivke,saj se s tem zmanjša število povezav, ki bi morale biti pripeljane v

podprogram ''PISI polozaj'', ki se nahaja znotraj podprograma ''podprogram _pisi''.

Način izklapljanja programa deluje na podoben način kot vklapljanje, vendar preden se

program zaustavi, mora pred tem zaustaviti pošiljanje podatkov. Tega sem se lotil preko

Flat Sequence structure opcije, podrobnosti so prikazane na sliki 30.

Slika 30: Izklopna logika.

Program je zasnovan tako, da v primeru napake ob izklopu to tudi javi. Simbol za

javljanje napake se imenuje ''Simple Error Handler VI''. Napako javi v primernem oknu.

Na sliki 31 je prikazan virtualni inštrument, ki javlja napako.

Slika 31: Javljanje napake.

3.5 Preizkus delovanja

Za preizkus delovanja je potrebno vse komponente med seboj sestaviti. Sestava

komponent oz. struktura programa je v osnovi potekala po načinu, prikazanem na

blokovnem diagramu, prikazanem na sliki 13. Podrobna blokovna plošča gonilnika

izdelanega v LabVIEW-u pa je prikazana na sliki 32. Gonilnik vsebuje tri izhodne

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 29

virtualne inštrumente, ti prikazujejo vrednost toka, poloţaja in hitrosti. Čelna plošča

programa vsebuje vse potrebne gumbe za ukaze in virtualne inštrumente za spremljanje

vrednosti.

Slika 32: Blokovna plošča programa v LabVIEW.

Slika 33: Čelna plošča (a) konfiguracija CAN omreţnega vmesnika, b) Tipka za vklop

pošiljanja ukazov, c) Tipka za zaustavitev procesa merjenja, d) Tabela, kjer lahko

a

b c

d

e g

h f

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 30

spremljamo zadnjih šest izmerjenih vrednosti, e) Vzpostavimo regulator v začetno stanje

ali onemogočim oz. omogočim delovanje, f) Virtualni inštrumenti, ki prikazujejo

trenutne vrednosti toka hitrosti in poloţaja, g) Vrtljiv gumb za nastavljanje poloţaja vrat,

h) Okence, ki izpiše napako če je do te prišlo.

Povezava med regulatorjem in računalnikom poteka preko USB-CAN vmesnika NI-USB-

8473 (slika 34). Ker vmesnik vsebuje D-SUB (CAN protokola) priključek, je bilo potrebno

izdelati vodnik, ki je imel na eni strani mreţni RJ-45 priključek, na drugi pa D-SUB.

Podrobnosti priklapljanja ţičk vodnika, si lahko ogledamo na sliki 35.

Slika 34: USB-CAN vmesnik NI USB-8473.

Slika 35: Priključki vodnika (levo RJ-45, desno D-SUB ).

Ko imamo regulator priklopljen na računalnik, lahko zaţenemo program. Zagon poteka

tako, da v orodni vrstici stisnem gumb ''Run''. Za začetek pošiljanja podatkov, pa je

potrebno na čelni plošči programa vklopiti stikalo ''WRITE'' in regulator ţe pošilja

informacije o toku, hitrosti in poloţaju. Za laţjo predstavo rezultatov je potrebno še

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 31

izdelati grafični vmesnik, ki bo izrisoval grafe poteka in omogočil kasnejšo obdelavo

podatkov v drugih programih. Grafični vmesnik nisem izdelal sam, izdelal ga je sošolec s

katerim sva sodelovala v projektu Testnega pogona drsnih vrat.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 32

4 ZAKLJUČEK

V diplomskem delu sem preučil delovanje linearnega motorja, pri katerem sem ugotovil,

da je primeren za sistem, ki zahteva veliko natančnost in velike hitrosti ter pospeške.

Nato sem se lotil podrobnega preučevanja CANopen protokola, pri katerem sem spoznal,

da je bil prvotno razvit za avtomobilsko industrijo, ker pa je zelo vsestransko uporaben,

ga je moţno najti v vseh modernih sistemih. Njegov namen je, da znatno zmanjša število

povezav, posledično se zmanjša tudi cena izdelka. CAN protokol uporablja dva

napetostna nivoja pošiljanja podatkov CAN_Hi (od 1 V do 2,5 V) in CAN_Lo (od 2,5 V

do 4,5 V). Potem sem se lotil razvijanja gonilnika, ki bo omogočil vzpostavitev povezave

z regulatorjem, da bo mogoče opazovati odzive linearnega elektromotorja. Najprej sem

preučil knjiţnico bajtov, katere sem kasneje uporabil za komunikacijo. Ugotovil sem, da

potrebujem 8 bajtno heksadecimalno kodo za komunikacijo z regulatorjem. Prvi štirje

bajti sluţijo za ukaz regulatorju (npr. mi pošlje trenutno vrednost toka). Po preučevanju

vseh potrebnih 8 bitnih kod, sem se lotil izdelati program za vzpostavitev komunikacije z

regulatorjem. Pomagal sem si z nekaterimi primeri, ki sem jih dobil zraven študentske

verzije programskega paketa LabVIEW.

V naslednjem koraku je bil namen izdelati načrt, kako bo moj program sestavljen. Prišel

sem do spoznanja, da potrebujem več podprogramov, za laţji pregled samega gonilnika.

Gonilnik je v osnovi sestavljen iz konfiguracije CAN omreţnega vmesnika,

podprograma, kamor pošiljam in sprejemam informacije trenutnega stanja drsnih vrat in

podprograma za povprečenje vrednosti. Za povprečenje sem se odločil zato, da sem

zgladil prehode med izmerjenimi točkami, ker so bili le-ti zelo nestabilni in ker se kasneje

ni dalo analizirati vrednosti delovanja. Samemu gonilniku sem dodal moţnost krmiljenja

poloţaja, za to dodatno moţnost sem se odločil zato, ker če sem ţelel opazovati delovanje

drsnih vrat, sem moral imeti istočasno vklopljen še en računalniški program, s katerim

sem potem nastavljal premikanje. Podatke, ki sem jih dobival od regulatorja sem še moral

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 33

pretvoriti v ustrezne enote, ker so bile komponente izdelane v ZDA in tam uporabljajo

druge merske enote, kot pri nas v Evropi. Na koncu je bilo še potrebno izdelati vklopno

in izklopno logiko, ki omogoča uporabniku prijazno delovanje.

Dobra lastnost gonilnika za vzpostavitev komunikacije je, da je zelo enostavno zdruţljiv

z grafičnim vmesnikom, saj potrebujemo pri grafičnem vmesniku samo tri vhode, kjer

prejemamo informacijo o trenutnem stanju. Vsi gumbi za nadzor so izvedeni s pomočjo

globalnih spremenljivk, ker ne potrebujemo nobenih povezav. Gonilnik je primeren tudi

za druge aplikacije oz. sisteme, samo da je takrat potrebno preučiti knjiţnico CANopen

protokola, ki ga podpira novi regulator, razen če uporabljam enakega, potem knjiţnica

bajtov ostane enaka. Slaba lastnost gonilnika je, da ne more istočasno prejemati

informacije od serijske komunikacije in od CAN-a. Ko sem imel regulator istočasno

priklopljen na serijsko komunikacijo, preko katere je bila izvedena kaskadna regulacija,

nisem imel moţnosti nastavitve poloţaja, kljub temu pa sem še vedno lahko opazoval

odzive, sem imel veliko teţav. Glede celotnega sistema testnih vrat z linearnim

motornim pogonom, je velika slabost to, da je sam sistem zelo drag, stroški proizvodnje

pa bi se sicer nekoliko zmanjšali, če bi pričeli s serijsko izdelavo teh drsnih vrat.

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 34

5 VIRI, LITERATURA

[1] Robert H. Bishop, Learning with LabVIEW 8. Pearson Education Inc. 2007.

[2] National Instruments, LabVIEW Core1 Course Manual, 1. Izdaja, North Mopac

Expressway, Austin, Texas 2009.

[3] National Instruments, LabVIEW Core2 Course Manual, 1. Izdaja, North Mopac

Expressway, Austin, Texas 2009.

[4] ADVANCED Motion Controls, Komercialni regulator DPCANTE-020B080

(online), 2010, (citirano 13.9.2010), Dostopno na naslovu:

http://www.a-m-c.com/download/datasheet/dpcante-020b080.pdf

[5] ADVANCED Motion Controls, Strojna oprema – Priročnik za vzpostavitev

CANopen komunikacije, (online), 2010, (citirano 13.9.2010), Dostopno na naslovu:

http://www.a-m-c.com/download/manual/AMC_DPCANopen_InstallManual.pdf

[6] ADVANCED Motion Controls, Priročnik ukazov za CANopen komunikacijo,

(online), 2010, (citirano 13.9.2010), Dostopno na naslovu:

http://www.a-m-c.com/download/manual/AMC_CANopenCommunicationManual.pdf

[7] ADVANCED Motion Controls, Napajalnik – PS16 Series, (online), 2010, (citirano

13.9.2010), Dostopno na naslovu:

http://www.a-m-c.com/download/datasheet/ps16h40.pdf

[8] CANopen, CANopen protokol, (online), 2010, (citirano 13.9.2010), Dostopno na

naslovu:

http://www.can-cia.org

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 35

[9] RLS, LM10 magnetni sistem merjenja pomika, (online), 2010, (citirano 13.9.2010),

Dostopno na naslovu:

http://www.rls.si/default.asp?prod=lm10&lang=slovene

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 36

6 PRILOGE

6.1 Gonilnik za vzpostavitev CAN-BUS komunikacije

Gonilnik za vzpostavitev CAN-BUS komunikacije, se nahaja na priloţeni zgoščenki.

6.2 Podatkovni listi

Podatkovni listi, se nahajajo na priloţeni zgoščenki.

6.3 Seznam slik

Slika 1: Drsna vrata. ............................................................................................................ 3

Slika 2: Sestava linearnega motorja (a) stator prereţemo po črti, b) stator izravnamo, c)

rotor poloţimo nad stator, d) dvostransko obleganje rotorja, e) enostransko

obleganje rotorja). ....................................................................................................... 4

Slika 3: Uporabljen linearni motor. .................................................................................... 5

Slika 4: Komercialni regulator. ........................................................................................... 6

Slika 5: Napajalnik PS16H40. ............................................................................................ 8

Slika 6: Linearni magnetni dajalnik, proizvajalca RLS, model LM10. .............................. 9

Slika 7: Način delovanja linearnega magnetnega dajalnika. ............................................ 10

Slika 8: Prednost CAN vodila. .......................................................................................... 11

Slika 9: Hitrost prenosa. .................................................................................................... 12

Slika 10: ISO111898 arhitektura. ..................................................................................... 13

Slika 11: Logotip............................................................................................................... 14

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 37

Slika 12: Primer programa za regulacijo enosmernega elektromotorja (levo spodaj: čelna

plošča, desno zgoraj: blokovni diagram). .................................................................. 15

Slika 13: Struktura gonilnika. ............................................................................................ 16

Slika 14: Način kako konfiguriramo CAN omreţni vmesnik. .......................................... 17

Slika 15: Podprogram za konfiguracijo. ............................................................................ 17

Slika 16: Simbol za odprtje CAN povezave z napravo. .................................................... 18

Slika 17: Blok diagram pošiljanja in prejemanja bajtov. .................................................. 19

Slika 18: Del programa za pošiljanje in branje bajtov (na sliki je prikazano branje

hitrosti). ..................................................................................................................... 20

Slika 19: podprogram, ki mi omogoča vpisovanje 8-bajtne kode v regulator. .................. 20

Slika 20: Podprogram za branje trenutne hitrosti. ............................................................. 21

Slika 21: Dešifriranje kode za hitrost. ............................................................................... 21

Slika 22: Preračunavanje merskih enot (a) hitrost, b) tok c) poloţaj). .............................. 22

Slika 23: Del programa, ki sluţi za določanje pozicije. .................................................... 23

Slika 24: logike za primerjanje in določanje pozicije........................................................ 23

Slika 25: Program ki mi omogoča določanje poloţaja. ..................................................... 24

Slika 26: generiranje 8 bajtne kode za ukaz za vrnitev v začetno stanje. .......................... 25

Slika 27: Podprogram za povprečenje vseh vrednosti. ...................................................... 26

Slika 28: Zanka povprečenja. ............................................................................................ 26

Slika 29: Vklopna logika. .................................................................................................. 27

Slika 30: Izklopna logika. .................................................................................................. 28

Slika 31: Javljanje napake. ................................................................................................ 28

Slika 32: Blokovna plošča programa v LabVIEW. ........................................................... 29

Slika 33: Čelna plošča (a) konfiguracija CAN omreţnega vmesnika, b) Tipka za vklop

pošiljanja ukazov, c) Tipka za zaustavitev procesa merjenja, d) Tabela, kjer lahko

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 38

spremljamo zadnjih šest izmerjenih vrednosti, e) Vzpostavimo regulator v začetno

stanje ali onemogočim oz. omogočim delovanje, f) Virtualni inštrumenti, ki

prikazujejo trenutne vrednosti toka hitrosti in poloţaja, g) Vrtljiv gumb za

nastavljanje poloţaja vrat, h) Okence, ki izpiše napako če je do te prišlo. ............... 29

Slika 34: USB-CAN vmesnik NI USB-8473. ................................................................... 30

Slika 35: Priključki vodnika (levo RJ-45, desno D-SUB ). ............................................. 30

6.4 Seznam preglednic

TABELA 1: PODATKI MOTORJA ............................................................................................................... 5

TABELA 2: UKAZ ZA 1. BAJT .................................................................................................................. 7

TABELA 3: UKAZI ZA 2., 3., 4. BAJT ..................................................................................................... 7

TABELA 4: HITROST JE ODVISNA OD DOLŢINE VODNIKA ............................................................. 12

6.5 Naslov študenta

Ime in priimek: Boštjan Lorbek

Naslov: Turški Vrh 3

Pošta: 2283 Zavrč

Tel.študenta: 031-269-875

Elektronski naslov študenta: [email protected]

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 39

6.6 Kratek življenjepis

Ime in priimek: Boštjan Lorbek

Rojen: 2. avgusta 1988

Osnovna šola: 1994-2003 OŠ Cirkulane – Zavrč

Srednja šola: 2003-2007 Srednja elektro šola Ptuj (ŠC Ptuj),

smer: Elektehnika; program: Elektrotehnik elektronik

Visoka šola: 2007-2010 FERI, Univerza Maribor, smer: Mehatronika UN

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 40

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 41

Vzpostavitev CAN-BUS komunikacije z LabVIEW Stran 42