www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

CANopen

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Avtomatizacija v industriji
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.72
Kraj: Ljubljana

PrispevekObjavljeno: Čet Okt 20, 2011 2:56 pm    Naslov sporočila:  CANopen Odgovori s citatom

CANopen je višjenivojski standardiziran protokol, ki temelji na CAN-u (Controller Area Network).

CANopen je nekakšna nadgradnja CAN-a. Definira nekaj precej uporabnih komunikacijskih objektov, kot npr.:
- "Heartbeat" producer/consumer;
- "Emergency message";
- "Process Data Objects" za hitro komunikacijo (producer/consumer(s));
- "Service Data Objects" za dostop do vseh možnih parametrov (master/slave);
- "Sync" producer/consumer;
- "Network Management";
- ...

Glej http://www.can-cia.org/, standard CiA DS301.


Na razpolago je tudi odprtokodni stack za CANopen:
http://sourceforge.net/projects/canopennode/
Trenutno je narejen za 16 in 32 bitne PIC-e in pa za SC2x3, noben problem pa ne bi bil prenos tudi na kakšnega ARM-a.

P.S.: Nekaj o CANopen-u je bilo napisanega že v temi CAN (Controller Area Network).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.72
Kraj: Ljubljana

PrispevekObjavljeno: Čet Okt 20, 2011 3:14 pm    Naslov sporočila:   Odgovori s citatom

videosony je napisal/a:
Pozdravljen!
CANopen je napredoval pri meni, uporabljam EMS Wunsche USB CAN interface in Portov "CANopen device monitor". Ventili se vklaplajo. Zanima me pa, kje definiram heatbeat in na naterem naslovu naprava pošilja podatke o ventilih ?


Če nimaš kupljenega Portovega monitorja, ga lahko uporabljaš kot demo, s tem da moraš nastaviti CAN_ID ventilskega otoka na 32 (Najbrž z DIP stikali). Potem pa moraš dobiti EDS datoteko za ta ventil (gotovo jo dobiš na internetu). EDS datoteko odpreš z monitorjem in vsi parametri ventila so ti na razpolago. (heartbeat se nastavlja na indeksu 1017).

Dostop do teh parametrov gre preko CANopen SDO protokola (master/slave). Na ta način imaš na razpolago čisto vse parametre, vendar stvar ni preveč primerena za hitro izmenjavo procesnih podatkov (digitalni vhodi, izhodi).

Procesni podatki se izmenjujejo preko PDO protokola. V vsaki napravi lahko definiraš več tako 'Receive' PDO-jev kot 'Transmit' PDO-jev. Vsak PDO se obnaša kot navadno CAN sporočio z določenim CAN naslovom, določenimi pravili pošiljanja in določeno vsebino. V CANopen mreži lahko določeno PDO sporočilo pošilja samo ena naprava, sprejema pa ga lahko poljubno število naprav.
Parametre PDO-ja nastavljaš preko SDO protokola (mapping and communication parameters).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
videosony
Član
Član



Pridružen-a: Čet 15 Nov 2007 1:32
Prispevkov: 21
Aktiv.: 0.10
Kraj: Maribor

PrispevekObjavljeno: Pet Okt 21, 2011 3:23 pm    Naslov sporočila:   Odgovori s citatom

Hvala, napisal si razumljivo, upam da bo še komu koristilo. Še vseeno ne vem kako nastavim heartbeat (v programu). EDS dadoteko naprave imam.

Ali v demo verziji "CANopen Device Monitor" lahko nastavim kje naj bodo podatki in heartbeat ?

Jaz naslova 0x1017 nimam, imam pa 0x100C "guard time" , 0x100D "life time factor" , 0x100E "node guarding identifier" ali lahko razložiš kaj to pomeni ?


Pod "PDO Configuration Frame" sem našel da je "1st Receive PDO Parameter" na naslovu 0x200+Node_ID in tam lahko krmilim ventile (2 byte).
Kako to prestavim da bo na "2st Receive PDO Parameter) ?
"COB-ID" je naslov na katerem je podatek kaj pa pomeni "Transmission type" ki je vedno 0xFE ?

Kako nastavljene parametre trajno zapišem v otok ? Po izklopu napajanju niso enaki parametri kot sem jih spremenil pred tem?

Hvala
Boštjan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.72
Kraj: Ljubljana

PrispevekObjavljeno: Pet Okt 21, 2011 4:11 pm    Naslov sporočila:   Odgovori s citatom

Kaže da ventili ne podpirajo Heartbeata. Podpirajo pa "Node guarding", ki je starejši in težji za uporabo.

Prvi "Receive Process Data Object" (RPDO 1) se nastavlja z dvojimi parametri: "1st Receive PDO Parameter" in "1st Receive PDO Mapping". Če hočeš, da bo tak RPDO2 mu vpiši enake parametre.

V "Transmission type" lahko nastaviš npr. da bo PDO sinhroniziran, itd. Najbrž kaj več piše v navodilih za ventil. Lahko pa pogledaš v standard CiA301.

Za shranjenje parametrov poskusi:
Object 1010h: Store parameters
Vpiši: 0x65766173 (to je ascii koda znakov 's', 'a', 'v', 'e' - 'e' je MSB)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
videosony
Član
Član



Pridružen-a: Čet 15 Nov 2007 1:32
Prispevkov: 21
Aktiv.: 0.10
Kraj: Maribor

PrispevekObjavljeno: Pon Okt 24, 2011 10:52 am    Naslov sporočila:   Odgovori s citatom

Tudi 1010h nimam za shranit parametre. Če izberem v programu Extras--store/restore non-volatile Parameters--store all parameters, mi napiše: "This device does not support parameter saving in non-volatile memory for the specified parameter section."

Ali to pomeni da v to napravo ne gre shranjevat parametrov?
Jaz pošljem naslov in podatek za vklop ventilov ali lahko dobim povratno informacijo o vklopljenih ventilih?

Spodaj so linki EDS datoteke in navodil če bo kaj pomagalo.

Link EDS uporabljene datoteke:
http://www.boschrexroth.com/modules/oragetblob.dll/RB01RMV.zip?db=brmv2&item=advasta.v$m$d$lobvalues&&id=5229,20,20869

Link navodil za uporabo OD (Object Dictionary)je na strani 25.
http://www.boschrexroth.com/modules/BRMV2PDFDownload.dll?db=brmv2&lvid=20323&mvid=5229&clid=20&sid=1719CD550F1017693E1522F75C516BEE&sch=M

lp Boštjan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.72
Kraj: Ljubljana

PrispevekObjavljeno: Pon Okt 24, 2011 12:28 pm    Naslov sporočila:   Odgovori s citatom

Povezava do navodil za uporabo mi ne deluje, ker najbrž nisem registriran.
EDS sem pogledal.

Kaže, da parametrov v tem ventilu ni možno shranjevati preko CANopen-a. Mogoče v navodilih piše za kakšen drug način.
Če imaš v mreži nek CANopen master, ti ta lahko nastavi parametre ob vsakem zagonu. Npr. moj stack to omogoča.

Stanje ventilov lahko pregledaš, če prebereš parametre na 6200 ali 6300. Lahko pa ta parameter "mapaš" v TPDO 1 in se ti bo pošiljal npr. ob vsaki spremembi.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
videosony
Član
Član



Pridružen-a: Čet 15 Nov 2007 1:32
Prispevkov: 21
Aktiv.: 0.10
Kraj: Maribor

PrispevekObjavljeno: Pon Okt 24, 2011 12:32 pm    Naslov sporočila:   Odgovori s citatom

Popravljen link navodil:
http://www.boschrexroth-us.com/borexmvz2/Detailview.jsp;jsessionid=1719CD550F1017693E1522F75C516BEE?language=en-GB&publication=NET&ccat_id=50050&edition_id=20622&document_id=20621
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
videosony
Član
Član



Pridružen-a: Čet 15 Nov 2007 1:32
Prispevkov: 21
Aktiv.: 0.10
Kraj: Maribor

PrispevekObjavljeno: Pon Okt 24, 2011 1:35 pm    Naslov sporočila:   Odgovori s citatom

Torej če prav razumem, ni možno shranjevat parametre v vse CANopen naprave in je tiste niso možne shranit parametre potrebno z masterom konfigurirat po vsakem zagonu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.72
Kraj: Ljubljana

PrispevekObjavljeno: Pon Okt 24, 2011 1:39 pm    Naslov sporočila:   Odgovori s citatom

V navodilih nisem zasledil, kako bi shranil parametre. Najbrž je edina možnost, da se jih nastavi ob vsakem zagonu.

Če ni nujno, najbrž parametrov niti ni treba spreminjati. Če hočeš, da ti ventil javlja stanje, poskusi malo s nastavitvami v navodilih na strani 15.

Za vsebino CAN sporočil preglej PDO parametre. V device monitorju npr. označiš parameter 1400, nato preklopiš na zavihek "PDO" in klikneš gumb "read from device".
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
videosony
Član
Član



Pridružen-a: Čet 15 Nov 2007 1:32
Prispevkov: 21
Aktiv.: 0.10
Kraj: Maribor

PrispevekObjavljeno: Pon Okt 24, 2011 3:19 pm    Naslov sporočila:   Odgovori s citatom

Ja to sem ugotovil če kliknem "Read from Device" mi pokaže nastavljene vrednosti, če kliknem "Send PDO" pa jih pošlje.

Ventile krmilim prek PDO (0x200+Node_ID)
CAN_ID 00000220 data : 04 - 01


Če pa izberem index 6200 pod index 001 pa se zgodi naslednje:

(Receive SDO 0x600+Node_ID)
CAN_ID 00000620 data : 40 - 00 - 62 - 01 - 00 - 00 - 00 - 00


(Transmit SDO 0x580+Node_ID)
CAN_ID 000005A0 data : 4F - 00 - 62 - 01 - 04 - 00 - 00 - 00

Ali veš kaj pomeni prvi byte pri receive (40) in transmit (4F) ?
2 in 3 byte = index
4 byte je pod index
5 byte je vrednost za vklop ventilov
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
janiP
Član
Član



Pridružen-a: Čet 23 Okt 2008 23:00
Prispevkov: 145
Aktiv.: 0.72
Kraj: Ljubljana

PrispevekObjavljeno: Pon Okt 24, 2011 5:59 pm    Naslov sporočila:   Odgovori s citatom

To so pa pravila SDO protokola. Niti ni nujno da jih poznaš, ker itak z device monitorjem dostopaš do spremenljivke.

Za razlago si preberi tukaj ali pa poglej v standard CiA301.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.72
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Dec 07, 2011 11:45 am    Naslov sporočila:   Odgovori s citatom

Junija 2012 bo v Ljubljani seminar v zvezi s CAN / CANopen.
Organizira CiA.
Udeležba je 120 oz. 140 eur.
Več informacij je tukaj: http://www.can-cia.org/index.php?id=633&tx_seminars_pi1[showUid]=198

Citiram:
CANopen introduction
CANopen application layer
CANopen device model
Communication services (PDO, SDO, NMT, etc.)

Overview about CANopen additional frameworks
CANopen manager
Layer setting services (LSS)
CANopen Safety
CANopen gateways
Redundancy concepts

System design
Overview about CANopen device- and application profiles

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Avtomatizacija v industriji Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group