Linuxcnc ethercat - EasyCAT + arduino

Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

7. 1. 2019, 7:19

no jasne ta by byla podstatne mensi ale tu nelze rict takhle od boku protoze ta zalezi na masine a jejich konstantach
ja jsem strelil ty 3m jako nejakou reznou rychlost a co se stane za tu 1ms
Vsechna prava na chyby vyhrazena (E)
atlan
Příspěvky: 3343
Registrován: 7. 2. 2011, 9:12

7. 1. 2019, 7:40

Oneskorenie bude problem az sa bude pouzivat spatna vezba.
Bol som v tom ze ethernet posle prikazy z casovou znackou (ta je korigovana oneskorenim) tak ze ak vsetko ide podla planu system presne vie kde sa co nachadza.
Prikazy su posielane dopredu.
Ak nastane problem je jedno ze o 1ms neskor. Aj tak to uz bude ta tammmm. Ked nieje mechanicka alebo elektricka zrada tak to bude 100%

Ked neni problem, nieje potreba spatnej vazby.
Servo dostane prikaz kde ma byt, a je to jeho problem aby tam bolo.
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

7. 1. 2019, 8:05

Len vás trochu skorigujem, že tie Distributed Clocks (DC), o ktorých Mex píše, sa v tomto prípade vzťahujú skôr na medzi-osú synchrónnosť ako na akékoľvek spätno-väzobné záležitosti samotného riadiaceho procesu. Teda ich význam je viac podstatný z hladiska aby všetky SLAVE jednotky vykonávali príkazy synchrónne - ergo v presne ten istý "okamih".

Synchronizácia na základe DC sa využíva vo väčšine industriálnych zberníc/systémov určených na presné riadienie - nie je to žiadna špeci vychytávka len EtherCAT-u. Často tam ide o tolerancie na úrovni nano-sekúnd.
Uživatelský avatar
CZ_Pascal
Příspěvky: 870
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

7. 1. 2019, 8:15

No ale právě proto zdůrazňuji, že záleží na tom, kde se ona zpětná vazba odehrává a jak je vše "napojeno" na řídící systém.

Jinak já jsem samozřejmě moc zvědavej jak se MEXovi podaří ten systém "hacknout" aby byl dostupný většímu množství nás hobbíků.

Zatím to vypadá jako testovací fáze, protože většina lidí (mě nevyjímaje) si s tím neporadí aby to nějko rozumně rozchodili, narozdíl od MESA karty, která prostě v drtivé většině případů funguje naprosto bezproblémově v základní distribuci a poměrně jednoduchém nastavení LinuxCNC.
A přiznám se bez mučení že to časově nedám to nějako studovat a spíš jdu prošlapanou cestičkou.

Mě by se moc líbilo kdyby se MEXovi podařilo to dostat do stavu kdy zahodím milion drátů vedoucích z PC a nahradím je jediným síťákem a ke každému prvku si dám jen "destičku" podle toho kde co potřebuji (IO, Analog, StepGen atd) Pokud to rozchodí s nějakým tím ARMem (rozumně dostupným a programovatelným hobby prostředky - něco jako jeho oblíbená "BluePill") a stejně tak i na straně LinuxCNC nebude potřeba složitě někde hackovat jádro a bůhví co ještě aby se to s tím EtherCatem bavilo RealTime. A nastavovat někde nějaký nesrozumitelný parametry v buhví jak vygenerovaným XML souboru z nichž jen 5% bude jasný co vlastně dělají atd.
..Tak pošlu slavnou MESU k šípku a budu škemrat u MEXe na zápraží ať se s námi podělí o KnowHow (zatím máme HowNo).

Pokud by to mělo vypadat nadějně tak bych i nějakou kačkou MEXovi přispěl kdyby byl výsledkem tišťák a návod jak co napájet a naprogramovat MCU/CPLD/FPGA atd.

Myslím že by se našlo dostatek lidí ochotných finančně podpořit MEXe pokud by bylo reálně a vysoce pravděpodobné že vývoj zdárně dotáhne do použitelného stavu s veřejně uvolněným zapojením a SW/Firmware atd.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

7. 1. 2019, 8:24

Pascal:

Uz to neni takove harakiri jak popisujes
Kdyz dodrzis par zasad ktere jsme tu s fupem psali tak to jde rozchodit paradne na prvni dobrou

Paklize pouzijes nejake ze slave zarizeni ktere ma primou podporu v lcec mustku tak tam jen napises na jake pozici na sbernici jaky nazev zarizeni mas a vse se ti krasne promitne do stromu v linuxcnc

Pprad odpadne to propojovani nejakych analogu nebo step diru na driver protoze pouzijes nejaky s ethercatem

Vic u lcec kde je seznam podporovanych zarizeni

U ostatnich holt musis napsat to xml
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
OompaLoompa
Příspěvky: 459
Registrován: 28. 6. 2017, 1:45
Bydliště: Západný Slovakistan

7. 1. 2019, 8:30

Pascal, pokial viem, tak reálne funkčné riešenia EtherCAT+LinuxCNC (riadenie, IO, atď) tu už dobrých zopár rokov sú - pohladaj na linuxcnc fóre.

A ak som to správne pochopil, tak Mex-ovi skôr ide o "zbastlenie" dákeho vlastného systému/prevodníka, podľa svojích predstáv.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

7. 1. 2019, 8:37

CZ_Pascal píše: 7. 1. 2019, 5:48 No ale problémem přece není v žádném případě přesnost nějakého časovacího synchronizačního obvodu :!: , ale donutit Mastera (tedy PC) aby dostatečně rychle zareagoval na podnět (tedy přerušení časovače) a zpracoval požadované výpočty servocyklu :!:
Dovolím si lehce nesouhlasit.
Pokud se zavede přesná synchronizace celého systému, tak pak na jitteru serveru příliš nezáleží (je-li v rozumných mezích, tedy řekněme max 15-25% času servoperiody). Server se sice dostane k obsluze nikoli třeba přesně v čase 5ms, ale možná v 4.9 nebo 5.1ms. Ale data, která dostane od jednotlivých komponent, byla přečtena v přesně daném okamžiku. A příkazy, které jim na základě toho server pošle, tak budou provedena opět v přesném čase.
Takže pak celý systém žije jakoby ve "virtuální časové realitě", protože i když se server dostane k lizu v nepřesném čase, tak si oprávněně může myslet, že je přesně tolik hodin, kolik teoreticky má být.
Ta "časová razítka" se totiž vztahují nejen na výstupy, ale i na vstupy.

EDIT: Já jsem ten příspěvek otevřel, odešel jsem si udělat večeři, a mezitím tady přibyly další posty. Tak možná trochu opakuju, co už zaznělo jinde.
Naposledy upravil(a) Mex dne 7. 1. 2019, 8:42, celkem upraveno 1 x.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

7. 1. 2019, 8:42

to je fakt ale ten signal bude zatizeny nejakou chybou/sumem
bude se muset naladit volneji pidka
nebo se mylim?
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

7. 1. 2019, 8:44

robokop píše: 7. 1. 2019, 8:42 to je fakt ale ten signal bude zatizeny nejakou chybou/sumem
Který?
Je to otázka na DC?
Pokud ano, tak v celé síti bychom se měli vejít do 100ns, tedy do 0.0001ms (takhle to líp vypadá ;-) ).
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

7. 1. 2019, 8:49

no kdyz ti pc prijme presne nacasovany signal zpetne vazby ale zpracuje ho v pidce o dost pozdeji protoze se chvilku zamysli
priste ho zpracuje vcas
atd...
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

7. 1. 2019, 8:57

Pár reakcí:
OompaLoompa: Ano, nějakou časovou synchronizaci se snaží dělat i jiné sítě. Některé v rámci datové komunikace, některé si na to natáhnout další drát navíc. Ale nemyslím si, že by kterákoli z nich dosahovala v tomhle parametrů EtherCATu. Tady se hoši fakt celkem pochlapili.

CZ_Pascal: Modul pro obecné I/O (digitální vstupy, digitální výstupy diferenciální i silové, možná i nějaké analogové a vstup pro enkdér) vzniknou skoro určitě. Jestli vznikne i podpora pro DIR/STEP drivery si nejsem jistý. U pomalých krokáčů by to asi nebyl problém, jestli by to zvládalo bez FPGA i rychlá serva zatím nevím.

robokop: Jasně, pro každé připojované zařízení k LinuxCNC je třeba příslušné XML. Když se to trochu dostane do ruky, tak to celkem jde. Včera jsem se dostal k EtherCAT svorkovnici Wago (nějakých 40 vstupů a 32 silových výstupů), a večer už to běhalo. Teď mám (zatím nevybalený) frekvenční měnič s kartou EtherCAT, tak ten předpokládám dneska nebo zítra taky zprovozním.
Myslím, že by to bylo fajn udělat nějakou databázi připojených a ověřených zařízení a k nim příslušná XML s nějakým popisem, aby to bylo pro nově příchozí snadno použitelné.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

7. 1. 2019, 8:59

robokop píše: 7. 1. 2019, 8:49 no kdyz ti pc prijme presne nacasovany signal zpetne vazby ale zpracuje ho v pidce o dost pozdeji protoze se chvilku zamysli
priste ho zpracuje vcas
atd...
Ta zpětná vazba ale byla získána v přesně definovaném čase (resp. její obsah odpovídá stavu v přesně definovaném čase), výstupní příkaz pak bude taky zpracován v přesně definovaném čase.
Kde v tom čase mezi tím provedu výpočet by mělo být jedno (pokud to teda stihnu do doby, když už musí být odeslán příkaz).
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

7. 1. 2019, 9:00

jo to by jsme mohli zalozit zvlast vlakno, to by byl velmi dobry pocin
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Cjuz
Příspěvky: 2422
Registrován: 17. 2. 2013, 6:27
Bydliště: Předklášteří
Kontaktovat uživatele:

7. 1. 2019, 9:17

robokop píše: 7. 1. 2019, 8:49 no kdyz ti pc prijme presne nacasovany signal zpetne vazby ale zpracuje ho v pidce o dost pozdeji protoze se chvilku zamysli
priste ho zpracuje vcas
atd...
Nevím zda to chápu správně, ale cyklus se "protáhnout" nemůže.
PLC co nám běží na EtherCatu mají periodu svého cyklu vždy menší než je ta pevně určená smyčka.
Takže pokud nastavím třeba 4ms tak PLC ukazuje čas svého cyklu cca 2,7ms a min a max podle toho jak se mění výpočty apod.
Pokud by dosáhlo těch 4ms tak je error a vše stojí.

A každému prvku na síti se řekne kolik "smyček" může ztratit než zůstane taky stát.
Na konci poznávacího procesu je omyl zcela vyvrácen a my nevíme nic. Zato to víme správně.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

7. 1. 2019, 9:43

no ja myslel nekde v ramci toho linuxcnc
tj. spatnej realtime v ramci masteru ale sbernice treba ok
Vsechna prava na chyby vyhrazena (E)
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“