Vítej, Host. Prosím přihlaš se nebo se zaregistruj.
24.04.2026, 21:11:26

Domů Nápověda Vyhledávání Přihlásit Registrovat
 
Fórum k produktům firmy ELSACO Kolín  

+  PROMOS fórum
|-+  FRED - grafické vývojové prostředí
| |-+  FRED - platforma PL2 (CCPU)
| | |-+  CCPU a XCOM přes CAN
0 uživatelů a 1 Host prohlíží toto téma. « předchozí další »
Stran: [1] Dolů Tisk
Autor Téma: CCPU a XCOM přes CAN  (Přečteno 4101 krát)
libor
moderátor+

Příspěvků: 388



« kdy: 27.06.2011, 06:21:01 »

Na jedné akci máme CCPU-03 a také XCOM-21. Nyní potřebujeme do CCPU-03 dostat data (cca 16 hodnot) z dalšího místa po sériové lince, ale již není žádná volná. K XCOM-21 by to bylo možné připojit, ale jak dostat data z XCOM-21 do CCPU-03? Bylo by možné využít CAN?

Dotaz zákazníka (viz výzva).
Zaznamenáno

libor
moderátor+

Příspěvků: 388



« Odpověď #1 kdy: 27.06.2011, 06:49:21 »

Pro spojení CCPU-03 a XCOM-21 je CAN možné využít, a to SDO přenosy. Má to ovšem svá omezení. SDO přenos je pomalejší než PDO, CCPU-03 očekává rychlé odezvy a dále se SDO používají pro přenos informací na panel CDKM.

V projektu pro XCOM-21 tak lze použít moduly SDOinter slave jen v případě, že v projektu pro CCPU-03 není modul CKDM pro obsluhu tohoto displeje. V opačném případě (CCPU-03 obsluhuje CKDM) je nutné, aby reakce XCOM byla co nejrychlejší. Je proto nutné použít modul SDOinter slave (dyn), který lze natáhnout na potřebný počet přenášených dat.

Moduly pro CANovskou komunikaci na platformě XCOM (XCPU atd.) potřebují pro svou funkci modul CAN main, ve kterém se nastavuje adresa pro SDO slave komunikaci. Tu nastavím tak, aby nekolidovala s dalšími zařízeními na sběrnici CAN (viz obrázek v příloze - nastaveno na adresu 15). Dále v modulu SDOinter slave (dyn) nastavíme, která CAN sběrnice se má na XCOM využít (pokud jich má více) - v našem případě je to 0 = CAN0 a samozřejmě si nastavíme index, na kterém data bude možno získat. Subindex má modul SDOinter slave (dyn) vždy od 0.

Zapojení zkušebního projektu je na posledním obrázku.

(připojené soubory vidí pouze registrovaní uživatelé)
Zaznamenáno

libor
moderátor+

Příspěvků: 388



« Odpověď #2 kdy: 27.06.2011, 06:56:22 »

V projektu pro CCPU použijeme moduly SDO z knihovny a nastavíme jim správné parametry, které jsou v našem případě:

- adresa = 15 (nastaveno v modulu CANmain v projektu pro XCOM)
- index = 10000 (nastaveno v modulu SDOinter slave (dyn))
- subindex = 0 až 17 (při modulu SDOinter slave (dyn) začíná rozsah vždy od 0 a počet je dán délkou modulu)

Oba projekty (včetně modulů a projektové skupiny) jsou v příloze.

(připojené soubory vidí pouze registrovaní uživatelé)
Zaznamenáno

libor
moderátor+

Příspěvků: 388



« Odpověď #3 kdy: 27.06.2011, 06:59:46 »

Důležité je, aby XCOM měl možnost souvisle vykonávat činnost modulu SDOinter slave (dyn), a to po dobu, která je nutná k přenosu všech SDO. Komunikace 16 SDO trvá přibližně 1 - 1.5s a po tuto dobu nesmí přesáhnout čas smyčky v XCOM 10ms. Bude-li XCOM vykonávat ještě nějakou další komunikaci po sériové lince, tak je nutné, aby tato komunikace probíhala např. 1x za 5s.
Zaznamenáno

Stran: [1] Nahoru Tisk 
« předchozí další »
Skočit na:  


Poháněno MySQL Poháněno PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines Validní XHTML 1.0! Validní CSS!