EC Motor CAN – komunikační profil
PMControl s.r.o.
PMControl s.r.o.
ECMotor CAN profil
Strana: 2
Komunikační profil CAN Možnosti řízení EC motoru: - komunikace RS232/RS485 - komunikace CAN - uživatelský program
Komunikace CAN_ - vychází z komunikačního protokolu CANopen - zachovává definované typy komunikačních objektů COB - využívá 11-ti bitový identifikátor zprávy COB_ID konstrukce: typ COB = 4b adresa modulu=7b ( viz.tabulka ) - vlastní definice objektů SDO index 2000h...5FFFh -> "Manufactuter Specific Profile Area" - typy dat I16 = 16bit signed U16 = 16bit unsigned B16 = 16bit binary I32 = 32bit signed - data jsou vysílána v pořadí byte "low to high" např. 1234h vysláno: 34h 12h např. 1234567h vysláno: 67h 45h 23h 01h Komunikační objekt COB mnemo popis NMT Network Management SYNC Synchronizace EMCY Emergency TIME Time Stamp TPDO1 Transmit Proces Data RPDO1 Receive Proces Data TPDO2 Transmit Proces Data RPDO2 Receive Proces Data TPDO3 Transmit Proces Data RPDO3 Receive Proces Data TPDO4 Transmit Proces Data RPDO4 Receive Proces Data TSDO Transmit Servis Data RSDO Receive Servis Data NODG NodeGuard aa,aa aaaa MA EC
adresa node master EC motor
Identifikator zpravy COB ID hex dec. bin 000h 0 000 0000 0000 080h 128 000 1000 0000 080h+ aa 128 + aa 000 1.aa aaaa 100h 256 + aa 001 0000 0000 180h+ aa 364 + aa 001 1.aa aaaa 200h + aa 512 + aa 010 0.aa aaaa 280h + aa 640 + aa 010 1.aa aaaa 300h + aa 768 + aa 011 0.aa aaaa 380h + aa 896 + aa 011 1.aa aaaa 400h + aa 1024 + aa 100 0.aa aaaa 480h + aa 1152 + aa 100 1.aa aaaa 500h + aa 1280 + aa 101 0.aa aaaa 580h + aa 1408 + aa 101 1.aa aaaa 600h + aa 1536 + aa 110 0.aa aaaa 700h + aa 1792 + aa 111 0.aa aaaa motoru v c_set.adr0 ( object 200Dh) PLC, PC s interface CAN, ...
Nastavení EC motoru pro komunikaci CAN - jen pro interface EC113 ( viz manual...) a verzi software ECA19 a vyšší - připojit motor k PC pomocí RS232 a zapnout motor - spustit program "EC motor Setings" s adresou motoru = 0 - v menu SETUP,záložka .. , c_set (viz. object 200Dh) nastavit adresu motoru 1-15 nastavit komunikační rychlost CAN 1-7 uložit do EEPROM ( Ctrl Enter) - provést HW reset motoru ( vypnout na 30s nebo mod=RESET ) - programu "EC motor Setings" při nastavení adresy=0 komunikuje s motory bez ohledu na nastaveni adresy v c_set - pro správnou funkci sběrnice CAN je třeba připojit mezi vodiče CANH a CANL zakončovací odpor 120R ( např. do svorkovice)
směr MA->EC EC->MA EC->MA MA->EC
EC->MA MA->EC
PMControl s.r.o.
ECMotor CAN profil
Strana: 3
Implementované komunikační objekty: NMT - Network Management NMT - reset motoru MA: proveď reset EC: bez odpovědi
82h Oxh
COB NMT
ID 000h
DLC 2
kod reset adresa motoru v c_set.adr0
data1 82h
U8 U8
data2 0xh
data3
data4
data5
data6
data7
data8
kod CANopen ( object 200Dh)
EMCY - Emergency - vypnutí SW/HW ochrany motoru - odmítnutý příkaz komunikace - nastavením bitu c_sss.bcse - příkaz uživatelského programu UPRG EMCY hlášení po chybě EC: chybové hlášení
0010h m_sss c_sss m_ssm
COB ID EMCY 08xh
( object 200Ch) DLC 8
nespecifikovana chyba chybové stavy motoru chybové stavy komunikace základní stav motoru
data1 10h
U16 B16 B16 B16
data2 00h
data3 data4 m_sss
data5 data6 c_sss
data7 data8 m_ssm
data5
data7
kod CANopen ( object 200Eh) ( object 200Ch) ( object 200Fh)
TPDO1 Proces Data Object - odpověď na RPDO1 - žádost o stav z MA - nastavením bitu c_sss.bcss - příkaz uživatelského programu UPRG PDO1 stav motoru MA: pošli stav EC: posílám stav
COB ID RPDO1 20xh TPDO1 18xh
( object 200Ch)
DLC 0 8
h_poz skutečná poloha ze snímače m_eci stavy vstupů a výstupů m_ssm základní stavy motoru
data1
data2
data3
data4
h_poz
I32 B16 B16
data6
m_eci
data8
m_ssm
( object 2012h) ( object 200Ah) ( object 200Fh)
SDO Service Data Object SDO index MA: povel / dotaz EC: potvrzení / odpověď
ID x DLC cs
index subi. data
COB RSDO TSDO
ID 60xh 58xh
DLC 4..8 4..8
data1 cs cs
data2 data3 index index
data4 subi. subi.
data5
data6 data7 data data
identifikátor zprávy adresa motoru 1-15 ( 01h-0Fh) v c_set.adr0 ( object 202Fh) délka zprávy 0...8 EC příjem : není kontrolována ( zkrátit dle typy dat nebo doplnit 00h na DLC=8 ) EC vysilani: zkrácena dle typu dat specifikace typu zprávy "command specifier" použit pouze zkrácený typ přenosu "expedited transfer" => max 4byte dat zápis w MA: 22h "zápis" EC: 60h "potvrzení" čtení r MA: 40h "pošli" EC: 40h "posílám" index objektu 2000h ... 203Fh objekty motoru a uživatele 2040h ... 2045h specialní funkce subindex objektu modifikuje přístup k položkám objektu ( délka, funkce..) přenášená data v pořadí byte "low to high"
data8
PMControl s.r.o.
ECMotor CAN profil
SDO 2000h-203Fh Proměnné motoru a užívatele CAN index 2000h 2001h 2002h 2003h 2004h 2005h 2006h 2007h 2008h 2009h 200Ah 200Bh 200Ch 200Dh 200Eh 200Fh
subi. x x x x x x x x x x 0h 0h 0h 0h 0h 0h
UPRG adresa 00h/00h 01h/04h 02h/08h 03h/0Ch 04h/10h 05h/14h 06h/18h 07h/1Ch 08h/20h 09h/24h 0Ah/28h 0Bh/2Ch 0Ch/30h 0Dh/34h 0Eh/38h 0Fh/3Ch
bitově přístupné objekty a stavová slova type r/w class mnemo popis x x URAM12 user memory x x x URAM13 user memory x x x URAM14 user memory x x x URAM15 user memory x x x URAM16 user memory x x x URAM17 user memory x x x URAM18 user memory x x x URAM19 user memory x x x URAM20 user memory ---– – – B16 rw – m_eci stavy vstupů a výstupů B16 rw – S_err maska SW ochrany B16 r – c_sss stavové slovo komunikace B16 rw – m_set řídící slovo motoru B16 r – m_sss chybové slovo motoru B16 r – m_ssm stavové slovo motoru
CAN index 2010h 2011h 2012h 2013h 2014h 2015h 2016h 2017h 2018h 2019h 201Ah 201Bh 201Ch 201Dh 201Eh 201Fh
subi. 1h 0h 1h 1h 0h 0h 0h 0h 0h 0h 0h 0h 0h 0h 0h 0h
UPRG adresa 10h/40h 11h/44h 12h/48h 13h/4Ch 14h/50h 15h/54h 16h/58h 17h/5Ch 18h/60h 19h/64h 1Ah/68h 1Bh/6Ch 1Ch/70h 1Dh/74h 1Eh/78h 1Fh/7Ch
proměnné motoru - jen pro čtení type r/w class mnemo popis I32 r P p_pox okamžitá pozice regulace I16 r V p_vex okamžitá rychlost regulace I32 r P h_poz skutečná pozice I32 r P h_tet absolutní poloha pro vektorové řízení I16 r V h_vel skutečná rychlost I16 r M iq_ref změřený proud -> moment U16 r V udc napětí stejnosměrného meziobvodu U16 r T tsn teplota snímače U16 r T tcu tepelné využití motoru I16 r P p_err okamžitá chyba polohy – – – ---– – – ---– – – ---– – – ---– – – ---– – – ----
CAN index 2020h 2021h 2022h 2023h 2024h 2025h 2026h 2027h 2028h 2029h 202Ah 202Bh 202Ch 202Dh 202Eh 202Fh
subi. 1h 1h 1h 1h 0h 0h 0h 0h 0h 0h 0h 0h 0h 0h 0h 0h
UPRG adresa 20h/80h 21h/84h 22h/88h 23h/8Ch 24h/90h 25h/94h 26h/98h 27h/9Ch 28h/A0h 29h/A4h 2Ah/A8h 2Bh/ACh 2Ch/B0h 2Dh/B4h 2Eh/B8h 2Fh/BCh
proměnné motoru - zápis type r/w class mnemo popis U32 rw – u_tim systemový čas I32 rw P P_lil limit polohy spodní I32 rw P P_lih limit polohy horní I32 rw P p_pon požadovaná pozice I16 rw V p_ven požadovaná rychlost U16 rw A p_acc nastvené zrychlení U16 rw D p_dec nastvené zpomaleni I16 rw M p_mon omezení momentu – – – ---– – – ---– – – ---– – – ---– – – ---– – – ---– – – ---U16 rw – c_set definice komunikace
Strana: 4
PMControl s.r.o. CAN index 2030h 2031h 2032h 2033h 2034h 2035h 2036h 2037h 2038h 2039h 203Ah 203Bh 203Ch 203Dh 203Eh 203Fh
ECMotor CAN profil subi. x x x x x x x x x x x x x x x x
UPRG adresa 30h/C0h 31h/C4h 32h/C8h 33h/CCh 34h/D0h 35h/D4h 36h/D8h 37h/DCh 38h/E0h 39h/E4h 3Ah/E8h 3Bh/ECh 3Ch/F0h 3Dh/F4h 3Eh/F8h 3Fh/FCh
Strana: 5
inicializované proměnné UPRG type r/w class mnemo popis x x x URAM00 user memory x x x URAM01 user memory x x x URAM02 user memory x x x URAM03 user memory x x x URAM04 user memory x x x URAM05 user memory x x x URAM06 user memory x x x URAM07 user memory x x x URAM08 user memory x x x URAM09 user memory x x x URAM10 user memory x x x URAM11 user memory – – – ---– – – ---– – – ---– – – ----
---URAMxx x type r/w class
neobsazeny index - nelze zapisovat a číst -> chyba EMCY pole proměnných pro uživatelský program využití definované v uživatelském programu formát proměnné (u16, i16, b16, i32) typ přístupu w – zápis, r – čtení, rw – zápis i čtení třída proměnné pro přepočet na fyz. veličiny, viz tabulka (rychlost, poloha, zrcyhlení, proud, moment, napětí)
Class Name
Conversion const. Unit
V A D P M C V T K --
0.1875 0.0146484375 0.0146484375 0.1171875 0.000135 0.000135 0.01 0.01 0.8 1
Velocity Acceleration Deceleration Position Torque Current Voltage Temperature Time machine unit
Minimum
Maximu m RPM -32768 32767 RPM/ms 0 4096 RPM/ms 0 4096 DEG -99999999 99999999 Nm 0 16384 A -50000 50000 V -50000 50000 °C -20000 20000 ms 0 32768 0 65535
SDO zapiš I16,U16,B16 MA: zapiš EC: potvrzeno
COB RSDO TSDO
ID DLC 60xh 6/8 58xh 4
data1 22h 60h
data2 ii ii
data3 20h 20h
data4 00h 00h
data5 d0 --
data6 d1 --
data7 0 --
data8 0 --
SDO zapiš I32 MA: zapiš EC: potvrzeno
COB RSDO TSDO
ID DLC 60xh 6/8 58xh 4
data1 22h 60h
data2 ii ii
data3 20h 20h
data4 01h 01h
data5 d0 --
data6 d1 --
data7 d2 --
data8 d3 --
SDO pošli I16,U16,B16 MA: pošli EC: posílám
COB RSDO TSDO
ID DLC 60xh 4/8 58xh 6
data1 40h 40h
data2 ii ii
data3 20h 20h
data4 00h 00h
data5 0 d0
data6 0 d1
data7 0 --
data8 0 --
SDO pošli I32 MA: pošli EC: posílám
COB RSDO TSDO
ID DLC 60xh 4/8 58xh 8
data1 40h 40h
data2 ii ii
data3 20h 20h
data4 01h 01h
data5 0 d0
data6 0 d1
data7 0 d2
data8 0 d3
ii -0
nižší byte indexu ( index = 2000h+ ii) data nejsou vysílána data nejsou vysílána nebo možno doplnit hodnotou 00h na DLC=8
Příklad 1: Zadej požadovanou rychlost p_ven = 1234h adresa motoru c_set.adr0=03h ( použito ve všech dalších příkladech !!!) požadovaná rychlost p_ven : index= 2024h subi.= 00h
PMControl s.r.o.
ECMotor CAN profil
SDO zapiš I16,U16,B16 MA: p_ven=1234h EC: potvrzeno
COB RSDO TSDO
ID DLC 603h 8 583h 4
data1 22h 60h
data2 24h 24h
Strana: 6 data3 20h 20h
data4 00h 00h
data5 34h
data6 12h
data7 00h
data8 00h
data3 20h 20h
data4 01h 01h
data5 67h
data6 45h
data7 23h
data8 01h
Příklad 2: Zadej požadovanou polohu p_pon = 1234567h požadovaná poloha p_pon : index= 2023h subi.= 01h SDO zapiš I32 MA: p_pon = 1234567h EC: potvrzeno
COB RSDO TSDO
ID DLC 603h 8 583h 4
data1 22h 60h
data2 23h 23h
Příklad 3: Načti požadovanou rychlost p_ven požadovaná rychlost p_ven : index= 2024h subi.= 00h SDO pošli I16,U16,B16 MA: pošli p_ven EC: posílám p_ven
COB RSDO TSDO
ID DLC 603h 8 583h 6
data1 40h 40h
data2 24h 24h
( dříve zapsáno p_ven = data3 20h 20h
data4 00h 00h
data5 00h 34h
1234h )
data6 00h 12h
data7 00h
data8 00h
Příklad 4: Načti požadovanou polohu p_pon požadovaná poloha p_pon : index= 2023h subi.= 01h ( dříve zapsáno p_pon = 1234567h ) SDO pošli I32 MA: pošli EC: posílám
p_pon p_pon
COB RSDO TSDO
ID DLC 603h 4 583h 8
data1 40h 40h
data2 23h 23h
data3 20h 20h
data4 01h 01h
data5
data6
data7
data8
67h
45h
23h
01h
PMControl s.r.o.
ECMotor CAN profil
Strana: 7
SDO 2000h-200Fh Bitově orientované objekty 200Dh číslo bitu dec. hex. 15 0Fh 14 0Eh 13 0Dh 12 0Ch 11 0Bh 10 0Ah 09 09h 08 08h 07 07h 06 06h 05 05h 04 04h 03 03h 02 02h 01 01h 00 00h
m_set řídící bity motoru -cgr cbi cdi funkce ECI200 -maska mnemo popis 8000h 4000h cgr dec=acc pro generator profilu GR_MAX 2000h cbi blokovani BIO v potenciometru ... 1000h cdi kladný směr otáčeni 0800h ECI200 definice funkce 0-15 0400h 0200h 0100h 0080h 0040h 0020h 0010h 0008h cen aktivace enable 0004h 0002h clp aktivace limitu polohy 0001h cdn po dosažení pozice do modu 03
200Fh číslo bitu dec. hex. 15 0Fh 14 0Eh 13 0Dh 12 0Ch 11 0Bh 10 0Ah 09 09h 08 08h 07 07h 06 06h 05 05h 04 04h 03 03h 02 02h 01 01h 00 00h
m_ssm stavové slovo motoru ber bwa bxx bio bpz bru bpo bup bci bco maska mnemo popis 8000h ber celkový stav chyba ( HW,SW,Reset) 4000h bwa stav warning viz. m_sss 2000h bxx uživatelský flag v uživatelském programu 1000h bio indikace vstupu BIO 0800h bpz výkonová část zapnuta 0400h bru motor se točí 0200h bpo motor v danné pozici 0100h bup běží uživatelský program 0080h bci bit CAN_Rx prijem (pri CAN=IO) 0040h bco bit CAN_Tx vyslani (pri CAN=IO) 0020h bex externi start osciloskopu 0010h mod pracovní mod motoru - viz tab T_MOD 0008h 0004h 0002h 0001h
200Eh číslo bitu dec. hex. 15 0Fh 14 0Eh 13 0Dh 12 0Ch 11 0Bh 10 0Ah 09 09h 08 08h 07 07h 06 06h 05 05h 04 04h 03 03h 02 02h 01 01h 00 00h
m_sss chybové stavy motoru bid brs bhw bsw buh bul bih bep bts btm btb maska mnemo popis 8000h bid chyba integrity dat ve FLASH a EEPROM 4000h brs proběhl RESET -> nutná nova inicializace 2000h bhw vypla HW ochrana 1000h bsw vypla SW ochrana 0800h buh max napájecí napětí 0400h bul min napájecí napětí 0200h bih max. moment / proud Iq 0100h bep max. chyba regulace polohy 0080h bts max. teplota snímače( změřeno) 0040h btm max. využití motoru ( teplotní model) 0020h btb max. využití brzdy ( teplotní model) 0010h bek chyba komunikace z c_sss 0008h ben disable ( BIO=0 povoluje m_set.cen) 0004h bee chyba ECI modulu 0002h bll min .limit polohy 0001h blh max. limit polohy
- bity jsou nastaveny pro zjistění chyby - vynulovat je nutno příkazem (např. SDO index=2045h subi.=0)
--
--
--
cen
--
clp
cdn
1=BIO vypíná vykonovou čast
bex
mod motoru
bek
ben
bee
bll
blh
PMControl s.r.o.
ECMotor CAN profil
Strana: 8
202Fh číslo bitu dec. hex. 15 0Fh 14 0Eh 13 0Dh 12 0Ch 11 0Bh 10 0Ah 09 09h 08 08h 07 07h 06 06h 05 05h 04 04h 03 03h 02 02h 01 01h 00 00h
c_set
řídící slovo komunikace mapm adr1
maska 8000h 4000h 2000h 1000h 0800h 0400h 0200h 0100h 0080h 0040h 0020h 0010h 0008h 0004h 0002h 0001h
mnemo mapm
popis maska příkazu monitoru 0-15
adr1
adresa skupiny CAN
cfk ccc
rychlost RS232: 0 = 9 ,6kBd 1 = 38kBd rychlost CAN : 000 = CAN_OFF -> IO 001 = 10kBd 010 = 20kBd 101 = 250kBd 110 = 500kBd
200Ch číslo bitu dec. hex. 15 0Fh 14 0Eh 13 0Dh 12 0Ch 11 0Bh 10 0Ah 09 09h 08 08h 07 07h 06 06h 05 05h 04 04h 03 03h 02 02h 01 01h 00 00h
c_sss stavy komunikace bcer bcef bcse bcss maska mnemo popis 8000h bcer CAN chyba formatu komunikace 4000h bcef CAN nesprávný příkaz 2000h 1000h 0800h 0400h 0200h bcse CAN pošli zprávu "chyba" 0100h bcss CAN pošli zprávu "stav " 0080h 0040h 0020h bcok RS232 příjmut platný paket 0010h bcep RS232 nesprávný příkaz 0008h 0004h 0002h 0001h
200Ah
m_eci
číslo bitu dec. hex. 15 0Fh 14 0Eh 13 0Dh 12 0Ch 11 0Bh 10 0Ah 09 09h 08 08h 07 07h 06 06h 05 05h 04 04h 03 03h 02 02h 01 01h 00 00h
maska 8000h 4000h 2000h 1000h 0800h 0400h 0200h 0100h 0080h 0040h 0020h 0010h 0008h 0004h 0002h 0001h
adr0
cfk
cfc
adr0
1-15
011 = 50kBd 100 = 125kBd 111 = 1MBd
adresa motoru CAN / RS232 1-15
bcok bcep CANESR.FER
stavové slovo vstupů a výstupů s ECI200- návrh nedoděláno !!! mnemo brfc
popis přečti funkci
in9 in8 in7 io6 io5 io4 io3 ou2 ou1 ou0
vstup 9 vstup 8 vstup 7 vstup / výstup 6 vstup / výstup 5 vstup / výstup 4 vstup / výstup 3 výstup 2 výstup 1 výstup 0
Bitové operace Pro bitově orientované objekty typu B16 ( 2000h-200Fh ) je možno kromě SDO pro čteni a zápis U16 využít logické funkce : subi.= 02h SET nastav bity dle masky subi.= 03h CLR nuluj bity dle masky subi.= 04h NEG neguj bity dle masky
PMControl s.r.o.
ECMotor CAN profil
SDO B16 nastav bity MA: nastav bity EC: potvrzeno
COB RSDO TSDO
ID DLC 60xh 6/8 58xh 4
data1 22h 60h
data2 ii ii
Strana: 9 data3 20h 20h
data4 02h 02h
data5 b0 --
data6 b1 --
data7 0 --
data8 0 --
SDO B16 nuluj bity MA: nuluj bity EC: potvrzeno
COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 4
data1 22h 60h
data2 ii ii
data3 20h 20h
data4 03h 03h
data5 b0 --
data6 b1 --
data7 0 --
data8 00h
SDO B16 neguj bity MA: neguj bity EC: potvrzeno
COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 4
data1 22h 60h
data2 ii ii
data3 20h 20h
data4 04h 04h
data5 b0 --
data6 b1 --
data7 0 --
data8 00h --
b1b0
maska bitů viz . SDO 2000h-2000Fh bitově orientované objekty
Příklad 5: Nastavení, nulovaní a negace bitu m_ssm.bxx ( uživatelský flag ) stavové slovo motoru m_ssm : index =200Fh , z popisu 200Fh m_ssm bit bxx : maska = 2000h subindex dle funkce : subi. = 02h-> SET 03h->CLR
04h->NEG
SDO B16 nastav bity MA: nastav bit m_ssm.bxx EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 8 4
data1 22h 60h
data2 0Fh 0Fh
data3 20h 20h
data4 02h 02h
data5 00h
data6 20h
data7 00h
data8 00h
SDO B16 nuluj bity MA: nuluj bit m_ssm.bxx EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 8 4
data1 22h 60h
data2 0Fh 0Fh
data3 20h 20h
data4 03h 03h
data5 00h
data6 20h
data7 00h
data8 00h
SDO B16 neguj bity MA: neguj bit m_ssm.bxx EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 8 4
data1 22h 60h
data2 0Fh 0Fh
data3 20h 20h
data4 04h 04h
data5 00h
data6 20h
data7 00h
data8 00h
SDO 2040h ..2045h - Funkce řízení motoru CAN index subi 2040h 0h 2040h 1h 2041h 0h 2042h 0h 2043h 0h 2043h 0h 2044h 0h 2044h 0h 2045h 0h 2045h 1h 2045h 2h 2045h 3h 2045h 4h 2046h x 2047h x
data a1a0 a1a0 ---m0 0000h u1u0 0000h u1u0 ----------------
parametr type U16 U16 -U16 U16 U16 U16 U16 -----x x
funkce řízení motoru definované pro CAN r/w r r r w w w w w w w w w w x x
mnemo
-------
popis čtení dat U16 z fyzické adresy a1a0 čtení dat U32 z fyzické adresy a1a0 načti číslo verze SW ( type U16) nastav mod motoru dle tabulky T_MOD zastav uživatelský program 1 spusť uživatelský program 1 od adresy u1u0 zastav uživatelský program 2 spusť uživatelský program 2 od adresy u1u0 nuluj chybové stavy ( warning m_sss, m_ssm, c_sss ) nuluj pozici když stoji nuluj pozici za behu ( jen v mod=05 rychlostní !!!) nuluj pozici absolutně+ ( dle absolutní polohy snímače ) nuluj pozici absolutně- ( dle absolutní polohy snímače ) nevyužito nevyužito
2040h Čtení z fyzické adresy - jen pro ladění SDO pošli U16 z adresy MA: pošli EC: posílám
COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 6
data1 40h 40h
data2 40h 40h
data3 20h 20h
data4 00h 00h
data5 a0 d0
data6 a1 d1
data7 0 --
data8 00h --
PMControl s.r.o.
ECMotor CAN profil
SDO pošli U32 z adresy MA: pošli EC: posílám
COB RSDO TSDO
a1a0 d1d0 d3d2d1d0
ID 60xh 58xh
DLC 6/8 8
data1 40h 40h
Strana: 10
data2 40h 40h
data3 20h 20h
data4 01h 01h
data5 a0 d0
data6 a1 d1
data7 0 d2
data8 00h d3
- fyzická adresa U16 - data U16 - data U32
Příklad 6: Čtení z fyzické adresy - jen pro ladění - uživatel nezná fyzické adresy index: 2040h subi.: 00h předpoklad: p_ven : a1a0 = 367h p_ven = 1234h index: 2040h subi.: 01h předpoklad: p_pon : a1a0 = 365h- p_pon = 1234567h SDO pošli U16 z adresy MA: pošli (367h) EC: posílám ( 367h)
COB RSDO TSDO
ID 603h 583h
DLC 8 6
data1 40h 40h
data2 40h 40h
data3 20h 20h
data4 00h 00h
data5 67h 34h
data6 03h 12h
data7 00h
data8 00h
SDO pošli U32 z adresy MA: pošli (365h) EC: posílám (365h)
COB RSDO TSDO
ID 603h 583h
DLC 8 8
data1 40h 40h
data2 40h 40h
data3 20h 20h
data4 01h 01h
data5 65h 67h
data6 03h 45h
data7 00h 23h
data8 00h 01h
DLC 4/8 6
data1 40h 40h
data2 41h 41h
data3 20h 20h
data4 00h 00h
data5 0 v0
data6 0 v1
data7 0 --
data8 0 --
data5
data6
data7
data8
BEh
00h
2041h Načtení čísla verze firmware SDO pošli verzi SW MA: pošli EC: posílám
COB RSDO TSDO
v1v0
ID 60xh 58xh
- verze firmware
Příklad 7: Načti číslo verzi firmware index: 2041h subi.: 00h načteno : 00BEh -> 00h = ECA SDO pošli verzi SW MA: pošli verzi EC: posílám verzi
COB RSDO TSDO
ID 603h 583h
BEh =19010
DLC 4 6
data1 40h 40h
=> SW = ECA19.0 data2 41h 41h
data3 20h 20h
data4 00h 00h
PMControl s.r.o.
ECMotor CAN profil
Strana: 11
2042h Nastav pracovní mod motoru SDO pracovní mod MA: nastav mod EC: potvrzeno
COB RSDO TSDO
m0 T_MOD mod dec. hex. 0 00h 1 01h 2 02h 3 03h 4 04h 5 05h 6 06h 7 07h 8 08h 9 09h 10 0Ah 11 0Bh 12 0Ch 13 0Dh 14 0Eh 15 0Fh
ID 60xh 58xh
data1 22h 60h
data2 42h 42h
data3 20h 20h
data4 00h 00h
data5 m0 --
data6 00h --
data7 0 --
data8 0 --
- pracovní mod motoru - viz tabulka T_MOD
základní pracovní mody mnemo popis MON servisni mod OFF vypnutí výkon.části STP nouzové zastavení PON zapnuti výkonové části MOM momentová regulace VEL rychlostní regulace POZ polohová regulace
VELP
DLC 6/8 4
rychlost z potenciometru
tabulka pracovních modů motoru mod zákaznické pracovní mody dec. hex. mnemo popis 16 00h ARRP ARROW rychlostní profil 17 01h ETY1 Mavet stará etyketovačka 18 02h ETY2 Mavet nová etyketovačka 19 03h VYSR Vyškov regulace SX_VYS 20 04h VYSL Vyškov ladění SX_VYL 21 05h 22 06h 23 07h 24 08h 25 09h 26 0Ah 27 0Bh 28 0Ch M24 starý monitor 29 0Dh ERR stav chyba 30 0Eh JMP laděni 31 0Fh RES HW reset motoru
- navoleny mod možno načíst z m_ssm.mod ( object 200Fh) - vypnutím můstku mod=1 se ruší stav chyba mod=29 pokud je vše v pořádku možno pokračovat libovolnýn modem - zapnutí můstku nelze provést dokud se motor točí - mody 28-31 jsou interní pracovní mody - nevyužívat - zákaznické mody 16-20 nezapínat bez odpovídajícich datových struktur v URAM !!! - mod 2 přejde po zastaveni automaticky do modu 3 ( stojí s momentem )
Příklad 8: Přepni na rychlostní pracovní mod motoru index: 2042h subi.: 00h rychlostní mod = 05h SDO pracovní mod MA: nastav mod = rychlost EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 6 4
data1 22h 60h
data2 42h 42h
data3 20h 20h
data4 00h 00h
data5 05h
data6 00h
data7
data8
data1 22h 60h
data2 43h 43h
data3 20h 20h
data4 00h 00h
data5 u0 --
data6 u1 --
data7 0 --
data8 0 --
2043h Ovládání uživatekského programu 1 SDO user program 1 MA: spusť program EC: potvrzeno u1u0 SDO user program 1 MA: zastav program EC: potvrzeno
COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 4
- adresa sekce uživatelského programu definovaná při překladu COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 4
data1 22h 60h
data2 43h 43h
data3 20h 20h
data4 00h 00h
data5 00h --
data6 00h --
data7 0 --
data8 0 --
data1 22h 60h
data2 44h 44h
data3 20h 20h
data4 00h 00h
data5 u0 --
data6 u1 --
data7 0 --
data8 0 --
2044h Ovládání uživatekského programu 2 SDO user program 2 MA: spusť program EC: potvrzeno
COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 4
PMControl s.r.o.
ECMotor CAN profil
SDO user program 2 MA: zastav program EC: potvrzeno
COB RSDO TSDO
ID 60xh 58xh
DLC 6/8 4
data1 22h 60h
data2 44h 44h
Strana: 12 data3 20h 20h
data4 00h 00h
data5 00h --
data6 00h --
data7 0 --
data8 0 --
Příklad 9: Zastav UPRG2 a spusť UPRG1 od adresy 0FF42h ( adresa generována při překladu UPRG ) UPRG2 index: 2044h subi.: 00h data: 0000h -> stop UPRG1 index: 2043h subi.: 00h data: FF42h -> start SDO user program 2 MA: zastav UPRG2 EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 8 4
data1 22h 60h
data2 44h 44h
data3 20h 20h
data4 00h 00h
data5 00h
data6 00h
data7 00h
data8 00h
SDO user program 1 MA: spusť UPRG1 EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 8 4
data1 22h 60h
data2 43h 43h
data3 20h 20h
data4 00h 00h
data5 42h
data6 FFh
data7 00h
data8 00h
COB RSDO TSDO
ID 60xh 58xh
DLC 4/8 4
data1 22h 60h
data2 45h 45h
data3 20h 20h
data4 ff ff
data5 0
data6 0
data7 0
data8 0
data3 20h 20h
data4 01h 01h
data5
data6
data7
data8
2045h Fukce nulování SDO nulování MA: nuluj EC: potvrzeno ff
- funkce (subindex) nulování dle T_CAN
Příklad 10: Nuluj pozici - motor stojí index 2045h subi.: 01h SDO nulování MA: nuluj pozici EC: potvrzeno
COB RSDO TSDO
ID 603h 583h
DLC 4 4
data1 22h 60h
data2 45h 45h