LinuxCNC pro obecné řízení

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

29. 9. 2020, 6:50

Dvě takové koncepční otázky:
1 - Používáte někdo LinuxCNC k řízení nějaké obecné technologie (nikoli CNC)?
2 - Jak přistupujete ke skládání nebo tvorbě HAL komponent?

Rozvedu:
1 - Zajímají mě success-stories, tedy nasazení LinuxCNC v nějaké oblasti pro obecné řízení. Třeba řízení nějaké průmyslové linky, nebo třeba zavlažování skleníku či řízení klimatizace/vytápění nebo cokoli jiného.

Já jsem zatím LinuxCNC používal jen na frézce a podobných CNC hejbátkách. Ale skoro bych řekl, že je to škoda. Že ten potenciál je větší.
Pak se z toho už sice nevyužije to vlastní CNC (zpracování g-kódu, plánování drah atd.), ale využil by se pěkně předchystaný systém pro RT řízení.
O to víc mi to dává smysl třeba při použití nikoli na PC, ale na nějakém malém HW. Viz třeba vlákno viewtopic.php?t=37463
Použít pro řízení krabičku za 20 USD se spotřebou 2W tomu otevírá i oblasti, kde nějaké řízení velkým PC nedává smysl.

Pokud jste na něco mimo CNC LinuxCNC použili, tak by mě hodně zajímalo, jestli jste to řešili psaním vlastních komponent, nebo skládáním standardně dodávaných komponent.

2 - No a s tím trochu souvisí ta druhá otázka - jak koncepčně přistupujete k tvorbě konfigurace pro daný stroj?
Docela mě udivuje poměrně omezená šíře standardně obsažených komponent pro HAL. Schází tam i takové (podle mě) základní věci jako násobení a dělení, navíc většina komponent umí pracovat jen s jedním typem proměnných. Takže to často znamená řetězit spoustu komponent pro konverzi mezi jednotlivými typy atd.
Protože se mi to takhle nelíbí, tak si spoustu komponent píšu sám. Ale udivuje mě, že to jiným lidem nechybí.
Tak proto se ptám. Třeba to celé pojímám blbě a unikají mi výhody toho předchystaného řešení.

Díky za názory, případně success-stories.
Grad
Příspěvky: 2073
Registrován: 13. 7. 2014, 9:32

29. 9. 2020, 7:43

Zdá se mne, že se to snažiš už dost přeohnout.
Nepoužívá se pro takové úkoly spíš nějaký systém druhu SCADA? Je toho mraky najdeš i open source, také pro Linux i na Malinu...
To určitě víš, tak o co jde?
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

29. 9. 2020, 7:51

Tak jednak LinuxCNC trochu znám, a to je vždycky výhoda.
Pak je to léty prověřený a spolehlivý systém. Navíc dlouhodobě podporovaný a rozvíjený, což je velmi důležité.
No a ty předchystané prostředky jsou velmi fajn. Jak vývojové (umožňující pohodlně psát v mém oblíbeném C nebo v Pythonu), tak systémové (třeba podporu EtherCATu).

Pokud jsi někdy nějaký open-source systém SCADA použil, tak prosím napiš. Určitě nejen já si rád rozšířím obzory.
Díky.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22386
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

29. 9. 2020, 8:32

myslis neco jako toto:
https://www.codesys.com/
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

29. 9. 2020, 8:46

Jojo, Codesys je známá firma. Dokonce dělá systém i pro RaspberryPi nebo BeagleBone. A to včetně EtherCATu.

Je to ale komerční a uzavřené řešení.
Má to výhody/nevýhody běžného PLC: pokud po tom chceš něco, na co je to připravené, tak pak je implementace celkem snadná a rychlá.
Ale běda, pokud bys chtěl něco trochu jiného, než jak to naplánoval výrobce.

Napsat si podobnou obsluhu jako modul do HALu je (možná) pracnější. Ale zase to máš kompletně pod svou kontrolou. A můžeš to udělat jak jen to Tvá fantazie a schopnosti dovolí. A ještě to můžeš psát v (pro mě) velmi příjemném jazyce C.

Já samozřejmě svůj pohled na svět nikomu nenutím. Naopak si rád přečtu, jak to řeší jiní.
Díky.
Grad
Příspěvky: 2073
Registrován: 13. 7. 2014, 9:32

29. 9. 2020, 8:53

Myslel jsem si že od znalosti LinuxCNC vítr fouka :)

Ne, žádný SCADA systém jsem nepoužil, ale kdo ví.
Ale vážně, před několika lety jsem uvažoval že pro inteligentní vytápění s možnosti rozšiřování na inteligentní dům použiju Arduina transformovaná na PLC a chvíli se v tom hrabal. Z toho vyplynulo, že při rozšíření na inteligentní dům bude dalším stupněm SCADA.

Nakonec jsem tu prvotní inspiraci i dohledal.
Prvotně mne nakoplo video níže a web http://plcladdersimulator.weebly.com/pro-edition.html


Přes to programování PLC jsem se dostal pak i k tomu SCADA systému...
https://www.plcacademy.com/scada-system/
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

29. 9. 2020, 9:35

Grad píše: 29. 9. 2020, 8:53 Myslel jsem si že od znalosti LinuxCNC vítr fouka
No tak samozřejmě, že se člověk snaží využít spíš to, co zná.
Když si chci něco přečíst nebo se na něco podívat, tak taky primárně hledám něco v českoslovenštině nebo angličtině, protože tyto jazyky znám. A ne třeba ve francouzštině nebo španělštině. Tam bych šel jen když by to mělo opravdu nějakou nepominutelnou výhodu.

Všelijakých malých hraček s jednochipy jsem už udělal spoustu. Ten LinuxCNC je ale přece jen vyšší level.
Programování PLC mi nikdy k srdci nepřirostlo. Žebříky (ladder diagram) už vůbec ne. Třeba ten Codesys by se dal zkousnout, protože se to programuje přece jen v trochu normálním jazyku. Ale pohodlnost programování v C to stejně nedosahuje (z mého pohledu, jiní lidé to můžou mít úplně jinak).
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

30. 9. 2020, 1:00

Mex píše: 29. 9. 2020, 6:50 Docela mě udivuje poměrně omezená šíře standardně obsažených komponent pro HAL. Schází tam i takové (podle mě) základní věci jako násobení a dělení, navíc většina komponent umí pracovat jen s jedním typem proměnných. Takže to často znamená řetězit spoustu komponent pro konverzi mezi jednotlivými typy atd.
Protože se mi to takhle nelíbí, tak si spoustu komponent píšu sám. Ale udivuje mě, že to jiným lidem nechybí.
No, mě to neudivuje. Spíše nevím, kdo by o to stál. Lidi, co si neumí (a nechtějí se naučit) napsat vlastní HAL komponentu, tak půjdou spíš do PLC-čka a do žebříků. A lidi co si umí napsat svou komponentu si rovnou napíšou komponentu tak jak potřebují a nebudou se otravovat nějakým řetězením standardních komponent v HALu.

Naopak bych řekl, že je tam těch HAL component pro obecné využití LinuxCNC až moc a že je nevyužiješ. Sám bych si dovedl představit "s nadsázkou", že bych v HALu měl jen vlastní komponenty a příkaz NET.
Grad píše: 29. 9. 2020, 7:43 Zdá se mne, že se to snažiš už dost přeohnout.
Nepoužívá se pro takové úkoly spíš nějaký systém druhu SCADA? Je toho mraky najdeš i open source, také pro Linux i na Malinu...
To určitě víš, tak o co jde?
Už od začátku co se zajímám o LinuxCNC, tak jeho potenciál vidím úplně stejně jako MEX. SCADA je až nadřazený systém toho, na co chce MEX LinuxCNC použít. Dovedu si představit aplikace různých manipůlátorů řízených několika servy, které opakují a skládají třeba něco furt dokola. Nahrazení vačkových mechanismů dvěma krokáči se zpětnou vazbou atd.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

6. 10. 2020, 8:35

Tak ja som nieco take robil a bola to docela sranda . (tabletky IBALGIN to istily)
Na videu je divno zostrihany proces vyroby palet. Tu modro/cerveno/zltu sablonu, kde nakladam polotovar na palety si vyraba zakaznik sam podla objednavky jeho zakaznika. (cca 20 druhov rozmerov palet). Mal som k dispozicii iba jednu sablonu, pricom by mali obehovat v linke dve rovnake a tak som to video musel nejako nastrihat.
Ma to 4 linearne osi,
11 strielacich klincovaciek z toho 3 zo spodu.
dopravniky vozikov
kvantum pneumatiky (to je na dalsi obor, kde by sa uzivil aj nejaky inzinier)
asi 20 vlastnych G kodov, 10 M kodov,

Musel som si upravit AXIS aby som vyhodil rozne nepotrebne tlacidla a system ich nehladal, a hlavne to vyzadovalo par malych programov v pythone, ktore rataju klince a prepisuju stav v spinboxoch.

Najvacsi oriesok to bolo cele koncepcne zladit, aby sa 4 isi nedostali do komfliktu v hocijakej polohe. Napr. ak chcem posunut osou X tak os Z a A musia byt v urcitej polohe atd. (1000 podmienok vo vlastnom G kode).

[youtube]https://www.youtube.com/watch?v=2BfmMF9PnUE&t=32s[/youtube]
rocnik 1976 -stolár, trosicka uz aj strojar.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22386
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 10. 2020, 9:01

velmi pekny projekt
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1355
Registrován: 25. 5. 2008, 7:16

6. 10. 2020, 9:14

Krásná práce.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
Thomeeque
Příspěvky: 8912
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

6. 10. 2020, 9:23

Omlouvám se za trochu přízemní dotaz, ale za jak dlouho se takováto mašina zaplatí?
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

6. 10. 2020, 9:42

359875 dni, 15 hod, 32min, Srandujem.
Nepoznam ekonomicku situaciu zakaznika, tak netusim. Podla jeho slov, ma problem s ludmi.
Zbijanie a narezavania dreva na palety nie je nejak odborna kvalifikovana praca a tak si tuto pracu vyhladavaju miestny ludia s nizsim vzdelanim a sebavedomim. Potom vznika problem s dochvilnostou ,zodpovednostou, spolahlivostou a hlavne s alkoholom zamestnavanych ludi.

Este sa riesia casy pohybov rychlosti pohybov v programoch a pneumatike. Uz to ide sviznejsie ako na videu.

Ale tato linka bola odpoved na MEXovu otazku ci niekto riesi vyuzitie Linuxcnc trochu inak.

ked sme uz trochu mimo tak jedna otazocka: Je mozne pokracovat v programe g kodu tak aby sa necakalo na urcitu os pokial nedosiahne svojho ciela? T.j. ak sa mi presuva vozik v ose Y z bodu "A" do bodu "B" tak mu to trva urcitu dobu. A to by som uz chcel aby program necakal na tuto os Y a program g kodu pokracoval dalej aj napriek tomu ze os Y nie je este v pozicii.

Ono to je v konflikte s celou logikou cnc problematiky.
rocnik 1976 -stolár, trosicka uz aj strojar.
Milan199
Příspěvky: 2928
Registrován: 18. 8. 2010, 9:04

6. 10. 2020, 10:11

Juro píše: 6. 10. 2020, 9:42
ked sme uz trochu mimo tak jedna otazocka: Je mozne pokracovat v programe g kodu tak aby sa necakalo na urcitu os pokial nedosiahne svojho ciela? T.j. ak sa mi presuva vozik v ose Y z bodu "A" do bodu "B" tak mu to trva urcitu dobu. A to by som uz chcel aby program necakal na tuto os Y a program g kodu pokracoval dalej aj napriek tomu ze os Y nie je este v pozicii.

Ono to je v konflikte s celou logikou cnc problematiky.
Nemohu odpovědět zda to umožní LinuxCNC protože ho neznám. Patrně to půjde, ale není to vůbec jednoduché.
V principu se musí CNC kod "odštěpit" od základní interpolace. CNC // ISO // kod není na paralelní procesy vůbec stavěn. Je možné vytvořit samostatné funkce // jeď požadovanou rychlostí o / na souřadnici //. To třeba umí i některé drivery, ale potom musí být řízeny pomocí nějakého Profinetu, Modbusu a podobně.

Vyšším stupněm je možnost "spřažení" os do interpolací. Například definuješ, že v bloku "drážka" bude interpolace tvořena osou X+Y+C. Osa Z tedy jede v samostatném režimu. Po ukončení bloku je opět nastavena základní konfigurace XYZC.
Ošetření třeba soft dorazů a kolizních stavů je asi tak desetinásobek práce rozštěpení jádra interpolátoru.
Uživatelský avatar
Juro
Příspěvky: 1612
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

6. 10. 2020, 10:41

Milan199 píše: 6. 10. 2020, 10:11
V principu se musí CNC kod "odštěpit" od základní interpolace. CNC // ISO // kod není na paralelní procesy vůbec stavěn. Je možné vytvořit samostatné funkce // jeď požadovanou rychlostí o / na souřadnici //. To třeba umí i některé drivery, ale potom musí být řízeny pomocí nějakého Profinetu, Modbusu a podobně.
Myslel som aj na toto ale to by som musel cele rozhasit. Drivery mi umoznuju jednym signalom vykonat urcity navoleny pocet krokov, ale to chce prepinat driver do roznych modov. A to uz je problem ked mam vsade PID slucku so systemom.
rocnik 1976 -stolár, trosicka uz aj strojar.
Odpovědět

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