Frézovací CNC centrum Hartford VMC-850 - retrofit
další videiko, zapojení rozvaděče. Sice né tak zajímavé jako předchozí videa, ale koho už omrzely vánoční pohádky které teď běží v TV tak se může mrknout jak tvořím rozvaděč.
https://youtu.be/NVVxZMwBBxo
Přikládám aktuální schema. Ještě to není finální a přibydou nějaké úpravy - schema ovládacího panelu, hydraulika, jinak chlazení atd.
- otázka:
Nepřišel jsem na to jak separovat požadavek operátora od stavu (zelené/červené) GUI tlačítka machine on/off (gmoccapy). Je na to nějaký fígl? U estopky to jde krásně, ta má hal piny. Zde je jen machine.on , macine.off - což dělá totéž jako když kliknu myškou na ikonu. Pak macine.is-on výstupní stav.
Chci když kliknu myškou na macine.on -> serva dostanou povel k aktivaci a LinuxCNC čeká -> pokud je vše ok tak serva vyšlou signál do LinuxCNC -> teprve potom macine.on zezelená
jednoduše řečeno nechci aby ikona hned po kliknutí zezelenala ale teprve až dostane povel OK od serv.
Jediné co mě napadá je hodit to na fyzické tlačítko a to v GUI deaktivovat, tomu bych se ale chtěl vyhnout protože když přijde někdo neznalý tak bude bušit do gui a divit se že se nic neděje
https://youtu.be/NVVxZMwBBxo
Přikládám aktuální schema. Ještě to není finální a přibydou nějaké úpravy - schema ovládacího panelu, hydraulika, jinak chlazení atd.
- otázka:
Nepřišel jsem na to jak separovat požadavek operátora od stavu (zelené/červené) GUI tlačítka machine on/off (gmoccapy). Je na to nějaký fígl? U estopky to jde krásně, ta má hal piny. Zde je jen machine.on , macine.off - což dělá totéž jako když kliknu myškou na ikonu. Pak macine.is-on výstupní stav.
Chci když kliknu myškou na macine.on -> serva dostanou povel k aktivaci a LinuxCNC čeká -> pokud je vše ok tak serva vyšlou signál do LinuxCNC -> teprve potom macine.on zezelená
jednoduše řečeno nechci aby ikona hned po kliknutí zezelenala ale teprve až dostane povel OK od serv.
Jediné co mě napadá je hodit to na fyzické tlačítko a to v GUI deaktivovat, tomu bych se ale chtěl vyhnout protože když přijde někdo neznalý tak bude bušit do gui a divit se že se nic neděje
Za 1. respekt k schématům. Výborná práce, určitě to sežralo dost času , i když to evidentně umíš...
Podobný problém jsem řešil, ale v Machu. Ovšem pokud to gmoscapy přímo neumí, tak řešení by se dalo použít stejné - ovšem pro 100% funkčnost možná trochu náročné na implementaci.
Já si vytvořil table se všemi funkcemi stroje které chci sledovat. K tomu dodělal navazující funkce.
Nevím jestli má smysl do podrobně vysvětlovat. Ale jednoduše řečeno - GUI editor (kde se to normálně nastavuje) jsem vlastně úplně obešel. Všechny prvky ke každé strojní funkci definuji v tom table (do table se to importuje z csv dat - to je ta funkce importFromCsv).
Jsou tam prvky jako vstupní pin, výstupní, ovládací tlačítko z pultu (ctrlButton), GUI objecty které se k tomu vztahují, maximální delay a případně i nějaké další.
Všechno to funguje dohromady, jak při inicializaci ze strany operátota z pultu, GUI tlačítka nebo M kódu. Co má čekat na input, čeká po maximální delay na input. Pokud jsou dosazeny GUI prvky, aktualizuje je.
Takže jsem pro to vytvořil úplně vlastní logiku kde mohu zadat i maximální delay, co se všechno má stát při inicializaci které funkce ... atd. Mohl bych funkčnost vysvětlit i podrobněji (mám v plánu k tomu dodělat dokumentaci). Tak jak to mám já, tak je to trošku náročný řešení (ovšem šlo by to zjednodušit). Pro mě to bylo hlavně o učení se co je všechno možné a jak to je či není náročné. A taky jsem to dělal jako takovou univerzální "nadstavbu".
Podobný problém jsem řešil, ale v Machu. Ovšem pokud to gmoscapy přímo neumí, tak řešení by se dalo použít stejné - ovšem pro 100% funkčnost možná trochu náročné na implementaci.
Já si vytvořil table se všemi funkcemi stroje které chci sledovat. K tomu dodělal navazující funkce.
Nevím jestli má smysl do podrobně vysvětlovat. Ale jednoduše řečeno - GUI editor (kde se to normálně nastavuje) jsem vlastně úplně obešel. Všechny prvky ke každé strojní funkci definuji v tom table (do table se to importuje z csv dat - to je ta funkce importFromCsv).
Jsou tam prvky jako vstupní pin, výstupní, ovládací tlačítko z pultu (ctrlButton), GUI objecty které se k tomu vztahují, maximální delay a případně i nějaké další.
Všechno to funguje dohromady, jak při inicializaci ze strany operátota z pultu, GUI tlačítka nebo M kódu. Co má čekat na input, čeká po maximální delay na input. Pokud jsou dosazeny GUI prvky, aktualizuje je.
Takže jsem pro to vytvořil úplně vlastní logiku kde mohu zadat i maximální delay, co se všechno má stát při inicializaci které funkce ... atd. Mohl bych funkčnost vysvětlit i podrobněji (mám v plánu k tomu dodělat dokumentaci). Tak jak to mám já, tak je to trošku náročný řešení (ovšem šlo by to zjednodušit). Pro mě to bylo hlavně o učení se co je všechno možné a jak to je či není náročné. A taky jsem to dělal jako takovou univerzální "nadstavbu".
BF30 přestavěná, Optimum F100 přestavěná
Kamodel.cz
Mach4
Kamodel.cz
Mach4
Nebránil bych se drobné modifikaci Gmoccapy.
https://github.com/LinuxCNC/linuxcnc/bl ... y.py#L2636
Pokud tu změnu budeš mít někde zanesenou v nějakém readme souboru, tak bych proti tomu nic neměl.
Chceš tam mít i to fyzické tlačítko? Nebo Ti bude stačit jen to GUI tlačítko?
https://github.com/LinuxCNC/linuxcnc/bl ... y.py#L2636
Pokud tu změnu budeš mít někde zanesenou v nějakém readme souboru, tak bych proti tomu nic neměl.
Chceš tam mít i to fyzické tlačítko? Nebo Ti bude stačit jen to GUI tlačítko?
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Docela mě Tvůj problém s aktivací driverů zaujal. Pro Tebe v krátkém časovém horizontu bude nejlepší to vyřešit "prasácky" (tak jak jsem Ti to doporučil) přes Gmoccapy, kdy si Gmoccapy zkontroluje ready piny z driverů.
Proč píšu prasácky? Protože GUI nemá dělat žádné řízení stroje. GUI má být interface mezi uživatelem a jádrem programu.
Velkou revolucí pro mě v LCNC je Chatgpt. Nezkoušel jsem jiné jazykové modely. Mě tenhle vyhovuje a na to co funguje nešahám. S každým dalším projektem, si s ním více rozumím. Teď jsem se s ním rozhodl vyřešit problém aktivace driverů. Nejdříve je potřeba si s Chatgpt vyjasnit, co je potřeba, proto jsem ho tlačil do toho, ať nenavrhuje žádné kódy, že si budeme jen povídat o tom, co by se mělo udělat. Po dvou dnech povídání, jsem po něm chtěl, ať mi udělá výpis toho na čem jsme se domluvili. Mužeš se mrknout.
Myslím si, že až to budu mít hotové, tak nikdo z developerů LCNC nebude mít čas to kvůli rozsáhlosti projít a do oficiálního LCNC se to asi nedostane. Ovšem pokud bys měl o tuto modifikace zájem, budeš si ji moct z mého profilu na Githubu stáhnout (až bude hotová). Podmínka je, že se budeš naučit kompilovat LCNC se zdrojáků.
Důvod proč to dělám, je to, že Chatgpt využívám jako svého učitele. Nechci ať dělá věci za mě, ale ať mi to vysvětlí. Než jsem začal řešit tento konkrétní problém, tak jsem věděl, že ve zdrojácích je nějaká složka task, ale vůbec jsem netušil k čemu je. Dnes se pokusím o úpravu tasku.
Proč píšu prasácky? Protože GUI nemá dělat žádné řízení stroje. GUI má být interface mezi uživatelem a jádrem programu.
Velkou revolucí pro mě v LCNC je Chatgpt. Nezkoušel jsem jiné jazykové modely. Mě tenhle vyhovuje a na to co funguje nešahám. S každým dalším projektem, si s ním více rozumím. Teď jsem se s ním rozhodl vyřešit problém aktivace driverů. Nejdříve je potřeba si s Chatgpt vyjasnit, co je potřeba, proto jsem ho tlačil do toho, ať nenavrhuje žádné kódy, že si budeme jen povídat o tom, co by se mělo udělat. Po dvou dnech povídání, jsem po něm chtěl, ať mi udělá výpis toho na čem jsme se domluvili. Mužeš se mrknout.
Myslím si, že až to budu mít hotové, tak nikdo z developerů LCNC nebude mít čas to kvůli rozsáhlosti projít a do oficiálního LCNC se to asi nedostane. Ovšem pokud bys měl o tuto modifikace zájem, budeš si ji moct z mého profilu na Githubu stáhnout (až bude hotová). Podmínka je, že se budeš naučit kompilovat LCNC se zdrojáků.
Důvod proč to dělám, je to, že Chatgpt využívám jako svého učitele. Nechci ať dělá věci za mě, ale ať mi to vysvětlí. Než jsem začal řešit tento konkrétní problém, tak jsem věděl, že ve zdrojácích je nějaká složka task, ale vůbec jsem netušil k čemu je. Dnes se pokusím o úpravu tasku.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
možno som nepochopil presne pointu toho, čo chcete dosiahnuť.
ja som to spravil tak, že signál z safety relé som pretiahol cez všetky kontrolné relé na meničoch a potom som ho dal cez vstup na (halui.machine.is-on)
ak niečo nie je pripravené, tak gmoccapy, ktoré používam je v stave "starting"
mýlim sa?
tyjo, děkuju že ses do toho tak ponořil
GUI se mi líbí, mám touch monitor a je to rychlejší a příjemnější než tlačítka. Ale když mám mokrou ruku tak jsou lepší tlačítka, chtěl bych zachovat obojí.
zatím to mám zapojené na tvrdo a když nějaký driver nenastartuje tak lcnc vyhodí ferror když chci pohnout s osou.
Stává se tak jen když zapínám mašinu, C2000 si na start vezme dost proudu a občas jeden driver vyhodí fault podpětí, je třeba před machine ON resetovat, jinak lcnc vyhodí ferror. Fault jsem (na rozdíl od erroru) do LCNC netahal, ale natáhl jsem do LCNC Servo ON.
a čím zapínáš macine ON? pokud používáš fyzické tlačítko a na to tlačítko v grafickém uživatlelském rozhraní nesaháš tak se tě tento problém netýkár4cv píše: ↑31. 12. 2025, 11:09možno som nepochopil presne pointu toho, čo chcete dosiahnuť.
ja som to spravil tak, že signál z safety relé som pretiahol cez všetky kontrolné relé na meničoch a potom som ho dal cez vstup na (halui.machine.is-on)
ak niečo nie je pripravené, tak gmoccapy, ktoré používam je v stave "starting"
mýlim sa?
prvý krok je fyzické tlačidlo, ktoré zapne safety relé a zopne napájanie zo meničov.
druhý krok je F2 - čo je vlastne skratka ku tlačidlu v GUI.
ak by si to chcel presne, budem musieť pozrieť v mašine poslednú verziu HALu. v zálohe mám len staršie vývojové...
problém je že když zmáčknu softwarové tlačítko v GUI tak GUI přejde okamžitě do stavu ON.
už si nevzpomínám jak se to tvářilo když třeba safety relay (sice safety relay by mělo být zapojené spíše do error okruhu než machine on) drží pin Machine OFF. Buď bylo GUI nadřazené a tento pin ignorovalo a nebo GUI ani nevyslalo signál k odblokování SR a vznikl problém slepice/vejce.
Představoval bych si to tak jako na obrázku, ten TimeOut je už jen taková nepotřebná třešnička na dortu, to bych už zmáknul HAL komponentou. Ale GUI tlačítko Machine On je někde ve zdrojácích na tvrdo připojené k LCNC On
už si nevzpomínám jak se to tvářilo když třeba safety relay (sice safety relay by mělo být zapojené spíše do error okruhu než machine on) drží pin Machine OFF. Buď bylo GUI nadřazené a tento pin ignorovalo a nebo GUI ani nevyslalo signál k odblokování SR a vznikl problém slepice/vejce.
Představoval bych si to tak jako na obrázku, ten TimeOut je už jen taková nepotřebná třešnička na dortu, to bych už zmáknul HAL komponentou. Ale GUI tlačítko Machine On je někde ve zdrojácích na tvrdo připojené k LCNC On
Super, že jsem to tady hodil, a že jste reagovali. Nejdůležitější informace pro mě je ta, že to co by Meki potřeboval, tak je postupné spouštění driverů, tak aby síť nebyla zatížena skokově naráz všema driverama. Řeknu ChatGpt, že máme změnu zadání.
Ono je potřeba nekombinovat čtyři věci:
1) deaktivace bezpečnosti (deaktivace STO, nebo přivedení silového napájení, nebo ......) SRPCS => driver
2) nahození driveru pomocí signálu ON (nebo ENable, nebo neg ENable) Linux=>driver
3) signál ready driver=>LinuxCNC
4) signál fault driver=>LinuxCNC
Levné drivery mají jen signál EN, takže tady se toho moc nevymyslí. U tvé dospělé mašiny bych zapojil vše. Kromě bodu 1 můžeš vše ovládat přes sběrnici, pokud je ty drivery mají a nemusíš se s tím drátovat.
Bod 1)
Zkratka SRPC znamená SafetyRelatedPartofControlSystem. Dalo by se to přeložit jako bezpečnostní část řídícího systému. Tento název vznikl z toho důvodu, že spoustu řídících systémů má v sobě bezpečnostní část a využíváš například stejné PLC jak k technologickým, tak k bezpečnostním akcím. Nic takového LinuxCNC s Mesakartami samozřejmě nemá. Takže je nutné používat externí bezpečnostní systém. U tvého stroje pod pojmem bezpečnostní systém si lze zjednodušeně představit dobře zapojené bezpečnostní relé + tlačítko nouzového zastavení. Je to velmi zjednodušené. Jestli jsem to dobře pochopil, tak rc4v, to má stejně jako já. Z bezpečnostního relátka mám vyvedené dráty ze svorek RESET na tlačítko, které není nijak spojené s LinuxCNC. Tímto tlačítkem nahodím bezpečnost stroje, přivedou se mi napětí na STO vstupy na driveru a u LowCost driverů přivedu silové napětí. Toto RESET tlačítko by mohlo být za určitých podmínek i ovládané z LinuxCNC, ale takhle z toho mám lepší pocit bezpečí. Tato SRPCS slouží k tomu, že se mi nerozpohybuje stroj při zmáčknutém tlačítku nouzového zastavení.
"Nahození" bezpečnosti stále nepustí proud do motorů, ale není zajištěno, že když se Ti zblázní řídící systém, tak se něco nepohne. Řídící systém se většinou sám od sebe nezblázní, když je dobře udělán, ovšem při analýze bezpečnosti se s tím musí počítat.
Bod 2)
Signálem Enable se nahodí drivery a způsobí to, že drivery pustí do serv proud.
K tomuto má LinuxCNC signály které se jmenují joint.N.amp-enable-out
Pokud máš drivery s STO, tak enable napoj sem a nevýmýšlej kompromisy, které se řeší u Low-cost driverů.
Zde by nebylo špatné do LCNC dodělat to sekvenční nabíhání driverů postupně.
Bod 3)
Jelikož u driverů nastává fáze, kdy nabíhají, nejsou v chybě avšak zároveň nejsou připravené, tak mají signál ready. Dokud signál ready není aktivní je nutno zabránit operátorovi aby cokoliv dělal.
V současné době umí LinuxCNC jen nahodit joint.N.amp-enable-out (a další) a okamžitě se přepne do stavu ON. Já pracuji na mezistavu, který jsme s AI pojmenovali starting a v této době bude operátor informován, že stroj nabíhá a bude operátorovi zakázáno cokoliv dělat. Operátor bude moct maxiámálně toto startování zrušit. U těch driverů to žádná revoluce nebude, ty nabíhají docela rychle, ale bude to mít přínos pro stroje, kde nabíhá třeba hydraulický agregát, nebo kompresor. Tam už bude fajn operátora informovat, ať počká než se mu natlakuje hydraulika.
Bod 4)
Na toto je LCNC opět nachystán, má na to HAL piny joint.N.amp-fault-in a spindle.N.amp-fault-in .
Tyto signály mi už fyzicky jednou zachránili kamarádův stroj. Zkoušeli jsme, kolik vřeteno zvládne šponu, přetížili jsme vřeteno, spadlo do chyby, zastavilo se. Jelikož jsem měl zapojenej signál fault v LCNC, tak se zastavili i osy, jinak by to byla minimálně zlomená fréza, možná nabourané vřeteno.
Pokud shrnu Mekiho situaci, tak základní problém je, že nemá nataženo do LCNC signál fault z driverů. Pokud by to měl, tak by mu mašina vždy spadla, při výpadku na podpětí.
Nepochopil jsem Mekiho větu:
" Fault jsem (na rozdíl od erroru) do LCNC netahal"
Nechápu rozdíl mezi fault a error, takže situace může být úplně jiná než si myslím.
Další věc, co by Meki měl řešit, je předejití problému podpětí při nabíhání. Řešení bych viděl v sekvenčním nabíháním driverů. Lze to řešit dvěma způsoby:
1) čistý způsob - pohrát si s task modulem v LinuxuCNC
2) akceptovatelný způsob - udělat si HAL componentu, která by byla aktivována jedním vstupním signálem pomocí joint.0.amp-enable-out a měla by pro každý driver výstupní HAL pin na zapnutí (bod 2), které by se spínaly sekvenčně
Ono je potřeba nekombinovat čtyři věci:
1) deaktivace bezpečnosti (deaktivace STO, nebo přivedení silového napájení, nebo ......) SRPCS => driver
2) nahození driveru pomocí signálu ON (nebo ENable, nebo neg ENable) Linux=>driver
3) signál ready driver=>LinuxCNC
4) signál fault driver=>LinuxCNC
Levné drivery mají jen signál EN, takže tady se toho moc nevymyslí. U tvé dospělé mašiny bych zapojil vše. Kromě bodu 1 můžeš vše ovládat přes sběrnici, pokud je ty drivery mají a nemusíš se s tím drátovat.
Bod 1)
Zkratka SRPC znamená SafetyRelatedPartofControlSystem. Dalo by se to přeložit jako bezpečnostní část řídícího systému. Tento název vznikl z toho důvodu, že spoustu řídících systémů má v sobě bezpečnostní část a využíváš například stejné PLC jak k technologickým, tak k bezpečnostním akcím. Nic takového LinuxCNC s Mesakartami samozřejmě nemá. Takže je nutné používat externí bezpečnostní systém. U tvého stroje pod pojmem bezpečnostní systém si lze zjednodušeně představit dobře zapojené bezpečnostní relé + tlačítko nouzového zastavení. Je to velmi zjednodušené. Jestli jsem to dobře pochopil, tak rc4v, to má stejně jako já. Z bezpečnostního relátka mám vyvedené dráty ze svorek RESET na tlačítko, které není nijak spojené s LinuxCNC. Tímto tlačítkem nahodím bezpečnost stroje, přivedou se mi napětí na STO vstupy na driveru a u LowCost driverů přivedu silové napětí. Toto RESET tlačítko by mohlo být za určitých podmínek i ovládané z LinuxCNC, ale takhle z toho mám lepší pocit bezpečí. Tato SRPCS slouží k tomu, že se mi nerozpohybuje stroj při zmáčknutém tlačítku nouzového zastavení.
"Nahození" bezpečnosti stále nepustí proud do motorů, ale není zajištěno, že když se Ti zblázní řídící systém, tak se něco nepohne. Řídící systém se většinou sám od sebe nezblázní, když je dobře udělán, ovšem při analýze bezpečnosti se s tím musí počítat.
Bod 2)
Signálem Enable se nahodí drivery a způsobí to, že drivery pustí do serv proud.
K tomuto má LinuxCNC signály které se jmenují joint.N.amp-enable-out
Pokud máš drivery s STO, tak enable napoj sem a nevýmýšlej kompromisy, které se řeší u Low-cost driverů.
Zde by nebylo špatné do LCNC dodělat to sekvenční nabíhání driverů postupně.
Bod 3)
Jelikož u driverů nastává fáze, kdy nabíhají, nejsou v chybě avšak zároveň nejsou připravené, tak mají signál ready. Dokud signál ready není aktivní je nutno zabránit operátorovi aby cokoliv dělal.
V současné době umí LinuxCNC jen nahodit joint.N.amp-enable-out (a další) a okamžitě se přepne do stavu ON. Já pracuji na mezistavu, který jsme s AI pojmenovali starting a v této době bude operátor informován, že stroj nabíhá a bude operátorovi zakázáno cokoliv dělat. Operátor bude moct maxiámálně toto startování zrušit. U těch driverů to žádná revoluce nebude, ty nabíhají docela rychle, ale bude to mít přínos pro stroje, kde nabíhá třeba hydraulický agregát, nebo kompresor. Tam už bude fajn operátora informovat, ať počká než se mu natlakuje hydraulika.
Bod 4)
Na toto je LCNC opět nachystán, má na to HAL piny joint.N.amp-fault-in a spindle.N.amp-fault-in .
Tyto signály mi už fyzicky jednou zachránili kamarádův stroj. Zkoušeli jsme, kolik vřeteno zvládne šponu, přetížili jsme vřeteno, spadlo do chyby, zastavilo se. Jelikož jsem měl zapojenej signál fault v LCNC, tak se zastavili i osy, jinak by to byla minimálně zlomená fréza, možná nabourané vřeteno.
Pokud shrnu Mekiho situaci, tak základní problém je, že nemá nataženo do LCNC signál fault z driverů. Pokud by to měl, tak by mu mašina vždy spadla, při výpadku na podpětí.
Nepochopil jsem Mekiho větu:
" Fault jsem (na rozdíl od erroru) do LCNC netahal"
Nechápu rozdíl mezi fault a error, takže situace může být úplně jiná než si myslím.
Další věc, co by Meki měl řešit, je předejití problému podpětí při nabíhání. Řešení bych viděl v sekvenčním nabíháním driverů. Lze to řešit dvěma způsoby:
1) čistý způsob - pohrát si s task modulem v LinuxuCNC
2) akceptovatelný způsob - udělat si HAL componentu, která by byla aktivována jedním vstupním signálem pomocí joint.0.amp-enable-out a měla by pro každý driver výstupní HAL pin na zapnutí (bod 2), které by se spínaly sekvenčně
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
trochu si odporuješ. ak máš driver so vstupmi STO, tak ich máš pripojiť na Safety relé, obidva kanáli A+B.zz912 píše: ↑31. 12. 2025, 2:30 ... Z bezpečnostního relátka mám vyvedené dráty ze svorek RESET na tlačítko, které není nijak spojené s LinuxCNC. Tímto tlačítkem nahodím bezpečnost stroje, přivedou se mi napětí na STO vstupy na driveru a u LowCost driverů přivedu silové napětí. Toto RESET tlačítko by mohlo být za určitých podmínek i ovládané z LinuxCNC, ale takhle z toho mám lepší pocit bezpečí. Tato SRPCS slouží k tomu, že se mi nerozpohybuje stroj při zmáčknutém tlačítku nouzového zastavení.
...
Pokud máš drivery s STO, tak enable napoj sem a nevýmýšlej kompromisy, které se řeší u Low-cost driverů.
ako inak chceš spraviť bezpečnosť?
enable je enable.
tu je možno chyba v zapojení. tie výstupy fault a error sú digitálne alebo relé? a aká je ich funkcia? - treba naštudovať dokumentáciu.Meki píše: ↑31. 12. 2025, 11:25
zatím to mám zapojené na tvrdo a když nějaký driver nenastartuje tak lcnc vyhodí ferror když chci pohnout s osou.
Stává se tak jen když zapínám mašinu, C2000 si na start vezme dost proudu a občas jeden driver vyhodí fault podpětí, je třeba před machine ON resetovat, jinak lcnc vyhodí ferror. Fault jsem (na rozdíl od erroru) do LCNC netahal, ale natáhl jsem do LCNC Servo ON.
ja mám občas výpadok driveru na plazme (ochrana pri kolízii) a hneď mi zhodí "niečo?" a zastaví mašinu a vypne enable. ak je treba resetovať driver, tak enable F2 sa dá aktivovať až po nabehnutí driverov. mačkať ho môžem aj počas, ale neostane zelené a nejde nič robiť. Ale podrobnosti zistím až na dielni...
Momentálně to mám zapojené takto:
1, při spuštění napájení se zapíná napájení servodriveru (jen napájení, silovina je vyplá) a vřetenový vfd C2000 není zaplý vůbec (bohužel c2000 nemá oddělené napájení od siloviny jako tomu je u ASDA servodriveru, prý bych musel dokoupit nějakou rozšiřující kartu).
2, Když v GUI odmáčknu Estop tak se zapne C2000 + silovina do servodriveru ale servodrivery čekají na Machine On
3, Machnie On aktivuje servodrivery (C2000 se tento stav netýká, ta se aktivuje až s signálem FWD nebo REW)
Estop aktivuje STO u C2000, Estop u servodriveru a vypne silové stýkače.
Nepoužil jsem bezpečnostní relé ale relátka pro jednotlivé stupně bezpečnostních okruhů: S tím resetem při spuštění bych si hlavu nelámal, vedle u profi soustruhu s sinumerikem musím při spuštění napájení taky nejprve zmáčknout reset jinak nejdou nahodit pohony, safety rele se musí po spuštění resetovat. Pak už můžu pohony zapínat a vypínat i bez resetu dokud zase nevypnu i napájení. U hartforda podobně, pokud nesáhnu na estopku tak je C2000 nabitý a serva si můžu zapínat a vypínat i bez resetu.
a navíc to bude stát cca 40k kč.
Alarm (neboli error,fault) mám zapojený ale jak je vidět z obrázku, undervoltage spadá pod warning = nevidím jej v LinuxCNC ale servozesilovač se nespustí. Alarm je nadřazený warningům. V parametrech ale lze některé věci přeřadit z warningu na alarm popřípadě si s tím pohrát ale teď si nejsem jistý jestli tento WARN jen blokuje Servo ON a nebo deaktivuje driver, myslím že když je driver už spuštěný tak se nic neděje. Zase nechci aby mi drobné kolísání vypínalo stroj při práci
1, při spuštění napájení se zapíná napájení servodriveru (jen napájení, silovina je vyplá) a vřetenový vfd C2000 není zaplý vůbec (bohužel c2000 nemá oddělené napájení od siloviny jako tomu je u ASDA servodriveru, prý bych musel dokoupit nějakou rozšiřující kartu).
2, Když v GUI odmáčknu Estop tak se zapne C2000 + silovina do servodriveru ale servodrivery čekají na Machine On
3, Machnie On aktivuje servodrivery (C2000 se tento stav netýká, ta se aktivuje až s signálem FWD nebo REW)
Estop aktivuje STO u C2000, Estop u servodriveru a vypne silové stýkače.
Nepoužil jsem bezpečnostní relé ale relátka pro jednotlivé stupně bezpečnostních okruhů: S tím resetem při spuštění bych si hlavu nelámal, vedle u profi soustruhu s sinumerikem musím při spuštění napájení taky nejprve zmáčknout reset jinak nejdou nahodit pohony, safety rele se musí po spuštění resetovat. Pak už můžu pohony zapínat a vypínat i bez resetu dokud zase nevypnu i napájení. U hartforda podobně, pokud nesáhnu na estopku tak je C2000 nabitý a serva si můžu zapínat a vypínat i bez resetu.
Chystám se vyměnit stávající B2 drivery za A2 a řídit je přes EtherCAT. Na bazaru jsem kdysi koupil servosety a chtěl jsem je použít ale nedávno jsem se rozhodl že je vyměním. Hlavním důvodem bylo že chci driverum posílat polohu jako command, né jako step/dir. tím odpadne podvojná regulace polohy a mělo by to zlepšit dynamiku. Jen už jsem to stihl zadrátovat do rozváděče
jak konkrétně chceš dát vědět uživatelovi? message by byla myslím otravná, (vypínám Machine On i když si chci třeba jen odskočit na záchod, drivery jsou napájené ale hydraulika nebzučí a serva nejsou napájené). Nešlo by jen změnit grafiku na "zamáčknuté tlačítko"? myslím že nějakou takovou animaci jde při spouštění mžikově zahlédnout i teď.zz912 píše: ↑31. 12. 2025, 2:30 Bod 3)
Jelikož u driverů nastává fáze, kdy nabíhají, nejsou v chybě avšak zároveň nejsou připravené, tak mají signál ready. Dokud signál ready není aktivní je nutno zabránit operátorovi aby cokoliv dělal.
V současné době umí LinuxCNC jen nahodit joint.N.amp-enable-out (a další) a okamžitě se přepne do stavu ON. Já pracuji na mezistavu, který jsme s AI pojmenovali starting a v této době bude operátor informován, že stroj nabíhá a bude operátorovi zakázáno cokoliv dělat. Operátor bude moct maxiámálně toto startování zrušit.
vidíš, o tom pinu vím ale nenapadlo mě to píchnout do něj. Zatím jsem to napíchl na estop. Ono by to vlastně mělo být totéž ale bez Message uživateli.zz912 píše: ↑31. 12. 2025, 2:30 Bod 4)
Na toto je LCNC opět nachystán, má na to HAL piny joint.N.amp-fault-in a spindle.N.amp-fault-in .
Tyto signály mi už fyzicky jednou zachránili kamarádův stroj. Zkoušeli jsme, kolik vřeteno zvládne šponu, přetížili jsme vřeteno, spadlo do chyby, zastavilo se. Jelikož jsem měl zapojenej signál fault v LCNC, tak se zastavili i osy, jinak by to byla minimálně zlomená fréza, možná nabourané vřeteno.
Omlouvám se, špatně jsem to napsal. Místo Fault jsem měl na mysli Warning.
Alarm (neboli error,fault) mám zapojený ale jak je vidět z obrázku, undervoltage spadá pod warning = nevidím jej v LinuxCNC ale servozesilovač se nespustí. Alarm je nadřazený warningům. V parametrech ale lze některé věci přeřadit z warningu na alarm popřípadě si s tím pohrát ale teď si nejsem jistý jestli tento WARN jen blokuje Servo ON a nebo deaktivuje driver, myslím že když je driver už spuštěný tak se nic neděje. Zase nechci aby mi drobné kolísání vypínalo stroj při práci
Jsem na konci sítě asi 3km od trafa tak mi zde celkem kolísá napětí. Chtěl jsem nejdříve zkusit snížit parametrzz912 píše: ↑31. 12. 2025, 2:30 Další věc, co by Meki měl řešit, je předejití problému podpětí při nabíhání. Řešení bych viděl v sekvenčním nabíháním driverů. Lze to řešit dvěma způsoby:
1) čistý způsob - pohrát si s task modulem v LinuxuCNC
2) akceptovatelný způsob - udělat si HAL componentu, která by byla aktivována jedním vstupním signálem pomocí joint.0.amp-enable-out a měla by pro každý driver výstupní HAL pin na zapnutí (bod 2), které by se spínaly sekvenčně