Latence na LinuxCNC

Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

1. 10. 2020, 6:28

Ať nezakládám nové vlákno, dám to sem.

LinuxCNC mě stále nepřestává překvapovat.
Doposud jsem používal kernelovou verzi RTAI. A to proto, že tady vychází latence lépe, všechno podstatné běží přímo na úrovni jádra a tak do toho ostatní procesy moc nemůžou kecat. Pak se dá slušně používat LinuxCNC i přes LPT.

Ale vývoj směřuje (bohužel) k user-space variantě, tj. k běhu pod RT-PREEMPT.
Tak jsem si nainstaloval novou stabilní verzi LinuxCNC na distribuci Debian Buster 10 64bit s verzí 2.8.0.

Malá odbočka: nová distribuční verze přišla po velmi-velmi dlouho době. A překvapilo mě, jak je (podle mě) odfláknutá.
Instalačka má přes 2 GB, což zas není tak úplně málo. Ale přitom tam schází podle mě tak základní věci jako Samba, NFS, SSHD, RT testy atd.
Vždyť to jsou základní nástroje, jak to používat: otestovat vhodnost daného PC (RT testy), připojit to do sítě (Samba, NFS) a umožnit vzdálený přístup (SSHD).
Člověk Linuxu znalý si to tam jistě snadno doinstaluje sám. Ale nepoužívají to jen lidé Linuxu znalí, a pak je to případně zbytečně odradí.
Konec odbočky.

Abych i na systému s PREEMPT-RT dosáhl aspoň trochu rozumné latence, tak jsem vyčlenil jedno jádro pro real-time. Mám to na 3-jádrovém počítači, tak samozřejmě poslední jádro, tj. jádro 2 (parametrem isolcpus=2).

No ale teď přichází moje překvapení: systém to jádro sice vyřadil z plánování pro běžné procesy, ale nepošle na něho ani ty real-time, které by tam podle mě patřit měly. Tedy jádro vlastní obsluhy HALu, a v mém případě taky ještě EtherCAT master. Systém prostě to jádro nechal úplně prázdné, zcela nevytížené.

Výpis RT programů, které by tam zřejmě měly být. Je vidět, že mají nastaveno, že můžou jít na všechna jádra, tedy 0,1,2 (to je ten 4. sloupeček ve výpisu). Běžné programu tam mají uvedeno jen 0,1:
1214 OTHER 0 0,1,2 29 24 rtapi_app
1219 OTHER 0 0,1,2 10295 777 EtherCAT-OP


No a výpis, na kterém jádru je systém reálně spustil (ani jeden neběží na vyčleněném jádru 2, viz 1. sloupeček výpisu):
1 /usr/bin/rtapi_app load threads name1=master period1=1000000
0 [EtherCAT-OP]


Tak buď je něco špatně v LinuxCNC, nebo v mojí hlavě.
Nebo se musí ještě nějak extra konfigurovat jak s tím má systém zacházet? Poradí prosím nějaký znalec?
Na RTAI verzích se EtherCAT master správně umístil na jádro 2. Obsluha CNC tam běží v kernelovém režimu, takže ta tam není vidět vůbec.

******************

A ještě poznámka k otázce, kterou tohle vlákno kdysi začalo. Tedy jak je možné, že někdy latence vyjde zdánlivě záporná.
LinuxCNC to opravdu dělá tak, že počítá s nějakým zpožděním a naplánuje svou obsluhu o něco dřív, než by odpovídalo požadovanému nastavení. Takže ne třeba po 1ms, ale například po 0.99ms. Když mu to pak někdy jde dobře od ruky, tak může skončit dřív, než by správně měl vůbec začínat.
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

5. 10. 2020, 7:42

k odbocke:
Tiez som si natiahol 2.8.0 na bustri a tiez som sa divil ze tam nie je absolutne nic zakladneho ( napr. obycajny nastroj na napajanie monitora Xface ci ako sa to vola), ale prisudzoval som to za dobru myslienku lepsej latencii a tak som zostal kludny a potichu vsetko dotahoval.

Narozdiel od teba vidim pokrok v 2.8-cke. Napr. perfekt podpora gantry vo vsetkych osiach, podpora xhc-whb04b 6 ose, podpora dalsich mesa kariet v pncconfigu, (okrem 7i95 co aktualne potrebujem, ale to nejako zvladnem) par frciek v Axise a co este dalej-uvidim.

S ostatnymi tvojimi poznatkami ako napr. jadrom atd. sa budes musiet asi uspokojit s monologom.
rocnik 1976 -stolár, trosicka uz aj strojar.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

5. 10. 2020, 11:26

Já jsem nechtěl nějak kritizovat tu verzi 2.8.0.
S tím malým souborem standardně distribuovaných HAL-modulů to byl takový obecný povzdech. Ta sada je taková už dlouho. Pro lidi, kteří si umí komponenty napsat sami, to asi není problém. Ale to přece jen asi ne každý uživatel zvládá a ne každého to baví.

K tomu spouštění komponent na jednotlivých jádrech atd. jsem to dál zkoumal. A zřejmě i vyzkoumal.
Ale protože to téma tady evidentně nikoho nezaujalo, tak jsem nechtěl pálit čas psaním nějakých postů, které stejně nikdo číst nebude. Už tak mě to stálo moře času.

CNC a řízení už tady obecně moc nefrčí. Lidi, kteří tady o tom dřív psávali, jsou dneska už mimo nebo jsou mlčenliví.
Teď tu spíš letí koronáč, střelba gumovými projektily, nadávání na Zemana a tak. Pokud už je náhodou něco ze strojařiny (něco jiného než nákup-prodej), tak se to většinou týká kličkových mašin.
StoupaCZ
Příspěvky: 543
Registrován: 2. 6. 2017, 8:12

6. 10. 2020, 5:34

Mex píše: 5. 10. 2020, 11:26 K tomu spouštění komponent na jednotlivých jádrech atd. jsem to dál zkoumal. A zřejmě i vyzkoumal.
Ale protože to téma tady evidentně nikoho nezaujalo, tak jsem nechtěl pálit čas psaním nějakých postů, které stejně nikdo číst nebude. Už tak mě to stálo moře času.
Mě by to určitě zajímalo. Jestli se ti podařilo tomu PREEMPT-RT vyčlenit samostatné jádro, tak určitě uvítám rady jak to udělat i tvoje zjištění, jak to běhá.

Díky moc.
Milan
Sieg SX4, Interkrenn IKD-400, Vernier Minishape 28
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22390
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 10. 2020, 7:14

ja jsem taky zvedavej kde byl problem s tim odsunem na vlastni jadro

jinak jsem dost zasekanej a v zasade k tomu nemam co dodat, z me strany je mlceni souhlas

modulu tam je opravdu malo
je tam par obecnych ktere se hodi kazdemu jiste bych uvital nejaky dynamicky security modul ktery by reagoval na ruzne estopy, nedostatky tlaku vzduchu hydrauliky koncaky atd.. musel by byt dynamicky konfigurovatelny atd
vzdy to ted pisu na miru mozna by se lidem hodil nejaky univerzal
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1357
Registrován: 25. 5. 2008, 7:16

6. 10. 2020, 9:52

Mex píše: 5. 10. 2020, 11:26 CNC a řízení už tady obecně moc nefrčí. Lidi, kteří tady o tom dřív psávali, jsou dneska už mimo nebo jsou mlčenliví.
Teď tu spíš letí koronáč, střelba gumovými projektily, nadávání na Zemana a tak. Pokud už je náhodou něco ze strojařiny (něco jiného než nákup-prodej), tak se to většinou týká kličkových mašin.
No já Tvé příspěvky čtu, ale hraješ trochu vyšší ligu. Tudíž buď jim nerozumím, nebo rozumím, ale nemám co bych dodal, nebo si myslím, že rozumím a odpovím. Pak se mlátím do hlavy, protože se pak občas přijde na to, že ty(nebo někdo jiný) jsi mluvil o koze a já o voze.
LinuxCNC - MESA 7i96
zz912.webnode.cz
testone
Sponzor fora
Příspěvky: 7208
Registrován: 3. 12. 2010, 5:56
Bydliště: Slaný

6. 10. 2020, 12:14

Mexi, i já to čtu
sice je to pro mě z 99% španělská vesnice, ale možná mi v palici občas něco z toho uvízne
třeba jsem mezi řádky díky těmhle diskusím zjistil, že existuje něco jako real time řízení a že ta bedna co mám na stole na podobné srandy zas tak úplně vhodná není :D
myslím ža v tomhle nejsem sám
piš, díky
Obvykle se dějí věci obvyklé. Méně často se dějí věci neobvyklé a zcela vyjímečně se dějí věci vyjímečné...
Masturn 40 CNC, Hermle UWF1200H CNC a pár klasik
http://www.radialengine.cz" onclick="window.open(this.href);return false;
http://www.autopejsek.cz" onclick="window.open(this.href);return false;
Uživatelský avatar
CZ_Pascal
Příspěvky: 870
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

6. 10. 2020, 7:59

Mex píše: 5. 10. 2020, 11:26 Já jsem nechtěl nějak kritizovat tu verzi 2.8.0.
S tím malým souborem standardně distribuovaných HAL-modulů to byl takový obecný povzdech. Ta sada je taková už dlouho. Pro lidi, kteří si umí komponenty napsat sami, to asi není problém. Ale to přece jen asi ne každý uživatel zvládá a ne každého to baví.

K tomu spouštění komponent na jednotlivých jádrech atd. jsem to dál zkoumal. A zřejmě i vyzkoumal.
Ale protože to téma tady evidentně nikoho nezaujalo, tak jsem nechtěl pálit čas psaním nějakých postů, které stejně nikdo číst nebude. Už tak mě to stálo moře času.

CNC a řízení už tady obecně moc nefrčí. Lidi, kteří tady o tom dřív psávali, jsou dneska už mimo nebo jsou mlčenliví.
Teď tu spíš letí koronáč, střelba gumovými projektily, nadávání na Zemana a tak. Pokud už je náhodou něco ze strojařiny (něco jiného než nákup-prodej), tak se to většinou týká kličkových mašin.
Ahoj MEXi,

Rozhodně se nenech odradit tím že na Tvé posty reaguje míň lidí než by sis zasloužil, abys nevedl jen monolog. Přiznám se, že poslední dobou patřím už spíše do té kategorie "mlčenlivých" :oops: , neboť energie na hobby je čím dál míň (peněz též), ale se zájmem pročítám vetšinu Tvých postů a jsem za ně velice rád. Tvůj postřeh že zde CNC už tolik nefrčí je další z důvodů, proč člověk pomalu zapomíná přihlašovací heslo na nějakou reakci. Pokud tedy "zvěčníš" své nabyté znalosti zde na fóru, budu je (a nejspíše nejen já) se zájmem pročítat (a snít že snad časem některé z nich převedu i v praxi na své hračce).
Moc děkuji za Tvé příspěvky, které mají hlavu a patu a vysokou technickou úroveň. :!:
prcek
Příspěvky: 692
Registrován: 31. 10. 2016, 2:26

7. 10. 2020, 2:13

Pridavam se k tem ctoucim, ale nekomentujicim, nemam cas na vlastni hrani uz nekolik mesicu, tak aspon ctu, jak si hraji jini.
Predpokladam, ze k tomu, abys dostal RT proces na vyhrazene jadro jsi mu musel na nej nastavit afinitu?
--
Všechno je snadné, než to zkusíš sám.
Josef
Sponzor fora
Příspěvky: 5699
Registrován: 19. 11. 2006, 9:25
Bydliště: Valašsko

7. 10. 2020, 5:44

Taky čtu a nekomentuji. Jako výsledek zájmu o ty vlákna stačí vzít počet zobrazení.
Odpovědět

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