Simulace

Odpovědět
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

22. 12. 2020, 8:15

Když si píšete program v LCNC ručně a chcete si ho zkusit pustit bez pohybu stroje jak to děláte? Máte druhý LCNC v režimu simulace a až když je program odladěný, otevřete "ostrý" LCNC a spustíte program? Nebo někde v GMOCCAPY je možnost spuštění simulace, kterou jsem nenašel?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
Erythros
Příspěvky: 33
Registrován: 7. 10. 2014, 7:48

27. 12. 2020, 2:59

Jdeš na to pozpátku. Gmoccapy nemůže mít simulační mód, je to pouze proces s grafickým uživatelským rozhraním. A jako takový neví (nezajímá jej), jak vypadají ostatní vrstvy. Aby ta simulace k něčemu byla, je nutné nasimulovat co nejpřesněji stav skutečného stroje, jeho pohony, dynamiku apod. Pokud se omezíme jen na nejjednodušší řešení, chceš minimálně omezit maximální rychlost a zrychlení posuvů a zapojit signály enable a alarm, plus samozřejmě koncové spínače. To můžeš udělat sestavou derivátorů a integrátorů, respektive jednou z limitX komponent a komparátorem, který bude hlídat, že je poloha v mezích pracovního prostoru.

Toto pak napojíš v HALovské sdílené paměti na místo toho, kde jsou nyní napojeny budiče motorů (obecně nějaký ven směřující driver: EtherCAT, Hostmot2, Serial port, Parport atd.)

Každopádně to budeš spouštět jako rozdílnou konfiguraci (vstup linuxcnc skriptu). Nebo druhá možnost je si napsat skriptík, který to přepne dynamicky v HALu a spouštět jej z Gmoccapy. Další možnost je každý signál (ve smyslu jak signály chápe LinuxCNC) přes muxovou komponentu a přepínat to pomocí HALovské logiky. Fantazii se meze nekladou.

V žádném případě to ovšem nebude automatické a předpřipravené.
Naposledy upravil(a) Erythros dne 27. 12. 2020, 7:55, celkem upraveno 1 x.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

27. 12. 2020, 5:22

zz912 píše: 22. 12. 2020, 8:15 Když si píšete program v LCNC ručně a chcete si ho zkusit pustit bez pohybu stroje jak to děláte? Máte druhý LCNC v režimu simulace a až když je program odladěný, otevřete "ostrý" LCNC a spustíte program? Nebo někde v GMOCCAPY je možnost spuštění simulace, kterou jsem nenašel?
Co má být výsledkem takové simulace?
Jestli jde o simulaci g-kódu, tak na to je asi lepší použít nějaký simulační SW, řekl bych.
Je jich dost, a některé jsou zdarma.

Pokud jde o simulaci chování řídicího systému, tak se dá nakonfigurovat virtuální mašina s ďábelskými parametry - obrovskou rychlostí a zrychlením.
Tohle používám velmi často pro otestování limitů řídicího SW, ale i HW. Na výstupu není připojen žádný skutečný driver a motor.

Pokud chci testovat HW (tedy např. maximální rychlost generování DIR/STEP), tak na výstupy řízení připojím logický analyzátor a hned vidím, jak kvalitní ten výstup je.
A pokud chci zjistit, jestli mi to někde už neztrácí kroky, tak si na ty výstupy připojím takový bastl - malou desku s procesorem, která čte signály DIR/STEP a podle toho počítá souřadnice, kde by se reálné vřeteno pohybovalo. Pokud se nic neztrácí, tak na konci musí být na 0:0.
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

27. 12. 2020, 7:28

Asi bych měl začít od začátku. G-cód na frézku generuji ve Fusion 360 a tak mi tato simulace ani nechyběla. Prostě jsem měl vše odladěné ve Fusionu a na mašině jsem to jen pustil.

Teď jsem dal dohromady pro kamaráda velmi jednoduchý CNC soustruh a začal jsem přemýšlet, kam ho nasměrovat, jak začít. Stále si pohrávám s myšlenkou jak se zbavit závislosti na Fusionu. Stale ho oklešťují a jednou příjde doba, kdy to bude potřeba řešit, Nejdřív jsem chtěl používat EstlCAM, ale ten je jen pro frézku. Pak jsem prošel zdejší fórum a spousta ze zdejších uživatelů psala, že soustruh považují za jednoduchý stroj a že pro jejich potřeby jim stačí si psát G-cod ručně.

Tudíž jsem kamarádovi ukazoval prostředí Gmoccapy, ukázal jsem mu jog, MDI, pak jsem ukázal prostředí pro načtení programu. Napsal jsem jednoduchý program G90, G00 ..., G01..., M30 a on se mě zeptal, jak si to nejdřív odsimuluje? A já si uvědomil, že jsem ve svých začátcích také vše simuloval, akorát u 3D tiskárny, stačilo jen nezapnout zdroj driverů, u původní elektroinstalace frézky stačilo vytáhnout LPT kábl. Profi frézky mají simulace včetně zobrazení 3D odebírání materiálu. CNC laser, který jsme měli v práci, měl také tlačítko simulace.

Byl jsem překvapen tím, že LCNC takové tlačítko nemá a ani ho vývojáři nepovažují za nutnost. Proto jsem zde položil svůj dotaz, zda jsem něco v Gmoccapy nepřehlédl.

Pak jsem hledal na netu dál a našel, že tohle tlačítko již někdo už zpastil:
https://forum.linuxcnc.org/21-axis/3787 ... n?start=30

Nechal jsem to uležet v hlavě a rozhodl se, že budu mít dva LinuxCNC. Jeden komunikující s Mesou a druhý simulátor, který nastavím podobně jako ten první.

Ono defakto mi LCNC nabízí to co potřebuji, simulátor má, ale jinak než jsem byl zvyklý => akceptuji to a jedu dál.

Jediná nevýhoda tohoto přístupu je ta, že mohu snadněji udělat chybu v tvorbě simulátoru, a například mu tam něco nenadefinuji, co by mě nenapadlo, že mám definovat.

Děkuji všem za předchozí přízpěvky.
LinuxCNC - MESA 7i96
zz912.webnode.cz
RaS
Příspěvky: 8589
Registrován: 26. 3. 2009, 9:12
Bydliště: Úvaly

27. 12. 2020, 9:17

Podle me jdes proti proudu.. ti co psali gcody rucne a tvrdi ze je to ok jeste nevyzkouseli nebo neumi ovladat cam a nebo delaj jen jednoduche operace.. vyzkouseji cam a rikaji jak mohli zit bez tiho..
jakykoliv cam je urcite prinos
věčný rýpal,který musí mít poslední slovo, odpůrce low-cost zařízení končících v naprosté většině případů v hromadě šrotu
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
kiko01
Příspěvky: 1572
Registrován: 27. 10. 2008, 9:06
Bydliště: Martin,Slovakia
Kontaktovat uživatele:

27. 12. 2020, 9:23

Konkretne ma sustruhu bez pohanaciek ten cam asi az tak prebny nieje. Pokial nerobim nejake nemonotonne kontury upichovakom tak idem rucne cyklami...
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

28. 12. 2020, 8:49

RaS píše: 27. 12. 2020, 9:17 Podle me jdes proti proudu.. ti co psali gcody rucne a tvrdi ze je to ok jeste nevyzkouseli nebo neumi ovladat cam a nebo delaj jen jednoduche operace.. vyzkouseji cam a rikaji jak mohli zit bez tiho..
jakykoliv cam je urcite prinos
Absolutně souhlasím, Tvůj výrok nerozporuji. Já sám jsem konstruktér mechaniky, takže pro mě tvorba 3D modelu je dením chlebem. Když už mám model, tak to proženu nějakým CAMem a nic neřeším. Ovšem co navrhuješ pro člověka, s kterým jsem právě dodělal nějaký CNC stroj a on neumí nic? Neumí si udělat 3D model, neumí žádný CAM, neumí ani ovládat tu mašinu s LCNC. Mě baví CNC stroje stavět, ale už mě nebaví je používat, takže potřebuji stroj dát do takového stavu, aby jeho majitel měl šanci se ho naučit nějak používat. Co mě štvě na Fusionu, tak že ho stále vylepšují, takže když někoho něco ve Fusionu naučím a pak za pár měsíců k němu dojdu, tak už jsou ikonky úplně jinak a nejdřív si ho zase musím naučit sám, abych mohl poradit. Ono něco jiného je 20-ti letý kluk, kterému řeknu dvě slova youtube+Fusion360 a pak se za měsíc příjdu podívat jak frčí jeden výrobek za druhým a něco jiného je 60-tý letý děda, který má milión různých koníčků a do toho se chce ještě učit CNC stroje.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
Erythros
Příspěvky: 33
Registrován: 7. 10. 2014, 7:48

28. 12. 2020, 6:52

Tak asi tě trochu zarmoutím, ale automatické a především kontinuální aktualizace jsou něco, co už pomalu přichází i do světa řídících systémů. S tím se člověk bude muset naučit žít, nebo prostě mít stroj kompletně odstřižený od internetu (což bude postupně taky těžší a těžší).
Profi frézky mají simulace včetně zobrazení 3D odebírání materiálu. CNC laser, který jsme měli v práci, měl také tlačítko simulace.

Byl jsem překvapen tím, že LCNC takové tlačítko nemá a ani ho vývojáři nepovažují za nutnost. Proto jsem zde položil svůj dotaz, zda jsem něco v Gmoccapy nepřehlédl.
LinuxCNC je spíš framework, na kterém si kdokoliv může řídící systém pro stroj postavit, než řídící systém sám o sobě. Tudíž to samé, co popisuješ u profi frézek, je možné implementovat i v prostředí LinuxCNC.
Jediná nevýhoda tohoto přístupu je ta, že mohu snadněji udělat chybu v tvorbě simulátoru, a například mu tam něco nenadefinuji, co by mě nenapadlo, že mám definovat.
Asi nejlepší způsob bude simulátor vytvářet z konfigurace fyzického stroje. Tak by nemělo dojít k tomu, že něco bude nastavené jinak. Prostě jen na místo Hostmot2ky v HALu připojíš simulační budiče, koncové spínače a estop.
Odpovědět

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