Stránka 2 z 2

Re: Latence na LinuxCNC

Napsal: 1. 10. 2020, 6:28
od Mex
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.

Re: Latence na LinuxCNC

Napsal: 5. 10. 2020, 7:42
od Juro
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.

Re: Latence na LinuxCNC

Napsal: 5. 10. 2020, 11:26
od Mex
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.

Re: Latence na LinuxCNC

Napsal: 6. 10. 2020, 5:34
od StoupaCZ
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

Re: Latence na LinuxCNC

Napsal: 6. 10. 2020, 7:14
od robokop
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

Re: Latence na LinuxCNC

Napsal: 6. 10. 2020, 9:52
od zz912
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.

Re: Latence na LinuxCNC

Napsal: 6. 10. 2020, 12:14
od testone
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

Re: Latence na LinuxCNC

Napsal: 6. 10. 2020, 7:59
od CZ_Pascal
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ň. :!:

Re: Latence na LinuxCNC

Napsal: 7. 10. 2020, 2:13
od prcek
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?

Re: Latence na LinuxCNC

Napsal: 7. 10. 2020, 5:44
od Josef
Taky čtu a nekomentuji. Jako výsledek zájmu o ty vlákna stačí vzít počet zobrazení.