Ovládání vřetena přes RS485
Ahoj,
můj měnič* má RS485 rozhraní, mám to přes USB propojené s řídícím PC, šlo by přes to ovládat vřeteno (vyp/zap, směr, otáčky), tj. nahradit tím klasické propojení diskrétními řídícími signály? Nevím, jestli to je obecně podporované měniči ani jestli to nějak umí LinuxCNC systém. Je to takový dlouho v hlavě uložený nápad, který jsem plánoval jednoho krásného dne proklepnout. Zkusím googlit, ale kdyby někdo věděl.
Dík, T.
* CONTROL TECHNIQUES SE11200055
EDIT: Už na něco koukám: https://www.youtube.com/watch?v=1NF8EFoPlrk
můj měnič* má RS485 rozhraní, mám to přes USB propojené s řídícím PC, šlo by přes to ovládat vřeteno (vyp/zap, směr, otáčky), tj. nahradit tím klasické propojení diskrétními řídícími signály? Nevím, jestli to je obecně podporované měniči ani jestli to nějak umí LinuxCNC systém. Je to takový dlouho v hlavě uložený nápad, který jsem plánoval jednoho krásného dne proklepnout. Zkusím googlit, ale kdyby někdo věděl.
Dík, T.
* CONTROL TECHNIQUES SE11200055
EDIT: Už na něco koukám: https://www.youtube.com/watch?v=1NF8EFoPlrk
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Mám. Komplet.
Ptám se konkrétně na LinuxCNC. Asi je to popsané v tom videu, časem to zkusím.
Dík, T.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Ještě doplňující otázka, vlastně dvě - diskrétní řídící vstupy měniče používám pro manuální ovládání (ovládací prvky na soustruhu). Konkrétně zapnutí/směr (třípolohový dvojitý přepínač), frekvence (analogový potenciometr) a INHIBIT jako E-STOP.
1. bude umět MODBUS tyto signály (kromě INHIBIT doufám) overrulnout nebo se to bude muset mezi těmito použitími nějak přenastavovat?
2. Půjde INHIBIT přes MODBUS svázat s LinuxCNC (ve smyslu, že pokud na soustruhu zamáčknu E-STOP, bude to zároveň použito jako E-STOP pro běžící program)?
1. bude umět MODBUS tyto signály (kromě INHIBIT doufám) overrulnout nebo se to bude muset mezi těmito použitími nějak přenastavovat?
2. Půjde INHIBIT přes MODBUS svázat s LinuxCNC (ve smyslu, že pokud na soustruhu zamáčknu E-STOP, bude to zároveň použito jako E-STOP pro běžící program)?
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Borec na videu používí modul vfd.
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?VFD_Modbus
Nemám ho pořádně nastudovaný, ale pochopil jsem, že už je předchystaný pro nějaký vřetena.
Pokud Ti nebude vyhovovat, tak můžeš jít do čístého Modbusu pomocí komponenty:
http://linuxcnc.org/docs/2.8/html/drivers/mb2hal.html
Ten klasicky mb jsem trochu rozchodil zde:
viewtopic.php?t=38067
Ovšem u mě se vše táhne.
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?VFD_Modbus
Nemám ho pořádně nastudovaný, ale pochopil jsem, že už je předchystaný pro nějaký vřetena.
Pokud Ti nebude vyhovovat, tak můžeš jít do čístého Modbusu pomocí komponenty:
http://linuxcnc.org/docs/2.8/html/drivers/mb2hal.html
Ten klasicky mb jsem trochu rozchodil zde:
viewtopic.php?t=38067
Ovšem u mě se vše táhne.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Ahoj pánové, díky za reakce!
9600bd by imho na přenos ESTOP signálu stačilo (a zahlédl jsem tam i možnost 19200bd), spíš nevím, jestli může poslat měnič zprávu do PC bez toho, aby se ho PC nejdřív zeptalo. PC by se asi muselo pravidelně ptát a pak už by to možná pomalé bylo. Leda by tam byla pro havarijní stavy nějaká vyjímka. Není to úplná nutnost, spíše nice to have, můžu si z toho ESTOP tlačítka vytáhnout i přímý signál, jen je to další drátování a hlavně další vstup.
Koukám na konfigurační parametry mého měniče a nějak tam nic o ovládání otáček přes MODBUS nevidím, snad jen blbě koukám. Mám to tu připravené na experimenty, ještě musím vyslobodit Linux po přeinstalování Windows (obnovit grub, nějak to na první pokus neklaplo).
zz912 - Dík za inspiraci, proklikám si.
T.
9600bd by imho na přenos ESTOP signálu stačilo (a zahlédl jsem tam i možnost 19200bd), spíš nevím, jestli může poslat měnič zprávu do PC bez toho, aby se ho PC nejdřív zeptalo. PC by se asi muselo pravidelně ptát a pak už by to možná pomalé bylo. Leda by tam byla pro havarijní stavy nějaká vyjímka. Není to úplná nutnost, spíše nice to have, můžu si z toho ESTOP tlačítka vytáhnout i přímý signál, jen je to další drátování a hlavně další vstup.
Koukám na konfigurační parametry mého měniče a nějak tam nic o ovládání otáček přes MODBUS nevidím, snad jen blbě koukám. Mám to tu připravené na experimenty, ještě musím vyslobodit Linux po přeinstalování Windows (obnovit grub, nějak to na první pokus neklaplo).
zz912 - Dík za inspiraci, proklikám si.
T.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Jestli jsem to všechno nepozapomínal (už jsem Modbus neměl pěkně dlouho v ruce), tak slave nemůže bez příkazu mastera nic odeslat.
Ono by to tedy stejně asi nevadilo, protože na frekvenci povelů někde kolem 100Hz se celkem v pohodě dostaneš. A je-li v někde v řetězci člověk, tak 0.01s je hluboko pod hodnotou, která by byla omezením.
Ale stejně mi tedy konstrukce, kdy uživatel bude mačkat čudlík na měniči, a ten to bude posílat do řídícího systému, připadá dost zvláštní.
Zvlášť u bezpečnostního prvku.
Ono by to tedy stejně asi nevadilo, protože na frekvenci povelů někde kolem 100Hz se celkem v pohodě dostaneš. A je-li v někde v řetězci člověk, tak 0.01s je hluboko pod hodnotou, která by byla omezením.
Ale stejně mi tedy konstrukce, kdy uživatel bude mačkat čudlík na měniči, a ten to bude posílat do řídícího systému, připadá dost zvláštní.
Zvlášť u bezpečnostního prvku.
Chápu, ale nic zásadně špatného na tom u hobby CNC soustruhu nevidím - resp. můžu (můžem) se nad tím ještě zamyslet, ale pro tuto diskuzi předpokládejme, že je to v pohodě. Navíc ten INHIBIT (nebo nějaký ERROR) by to mohlo házet i samo, nejen v reakci na ESTOP čudlík, třeba při zablokování motoru, což by nebylo marné mít podchycené. Člověk v řetězci bude (přesně tak jsem na to taky koukal), a to žádný Bruce Lee, ale pěkně pomalý Thomeeque Jen nemám představu, jakou by třeba těch 100 dotazů za vteřinu představovalo pro řídící systém, který má zároveň generovat komplet step/dir řízení, režii.
Naposledy upravil(a) Thomeeque dne 13. 1. 2021, 10:35, celkem upraveno 2 x.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Ono fylozofie bezpečnosti by měla být taková:
- senzor dveří, relé, koncák, měnič ..... vyhodnotí nebezpečnou situaci
- senzor dveří, relé, koncák, měnič ..... jsou zapojeny sériově k bezpečnostní vyhodnocovací jednotce
- bezpečnostní vyhodnocovací jednotka u hobby stroje bude např. relé, u profi mašin např. bezpečnostní PLC
- bezpečnostní vyhodnocovací jednotka vykoná bezpečnostní funkci. Např. u hobby stroje odepne stykač pro vřeteno a odpojí relátkem napájení pohonů os.
- teď nevíš co ti zastavilo stroj, protože senzor dveří, relé, koncák, měnič ..... jsou zapojeny sériově
- proto se modbus mrkne na to, jestli to náhodou nebylo měničem a absolutně nevadí, že se na to mrkne až po 200ms od nastalé údálosti.
Tudíž pokud chceš po modbusu posílat E-stop, jdeš trochu proti proudu. Jsou i bezpečnostní komunikace EtherCAT, Profisafe ..... , kde by situace byla jiná. Ale myslím si, že modbus mezi bezpečnostní sběrnice nepatří.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Není to tak strašné.
Ovládání měniče jede v user-mode, nikoli v real-time režimu. Takže RT vlákno se s ním moc nemazlí, a procesor mu kdykoli sebere.
Teď jsem si teprve všiml, že jsi psal, že máš měnič Emerson (Control Techniques). Máš sice dost starý model, ale i tyhle umí Modbus (na max. 19.2 kbit/s).
To by ale na druhou stranu mohlo znamenat ještě mnohem pomalejší reakci (tj. že si tu zprávu přečte, až když dostepuje a to už může být sakra pozdě..)? Asi to přecijen vezmu raději přes ten vstup. Združím to s limit switchi, takže o žádný vstup nepřijdu.
Jj, je to dědula. Ale drží se (ťuk ťuk ťuk).
T.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Přes sólo drát je to samozřejmě správně.
Nicméně myslím, že se té pomalosti bojíš zbytečně. Komunikace pro UARTu procesor nijak dramaticky nezatíží.
Nakonec můžeš udělat snadný pokus. Jestli máš kromě toho PC u soustruhu ještě nějaký noťas nebo jiné PC, tak je propoj přes COM, na jedné straně spusť třeba Putty v sériovém módu a otevři si proti běžícímu LinuxCNC terminálové okno na 19200 bps. Nechej tam jet nějaké dlouhé výpisy, a uvidíš, že se se ani ta komunikace a už vůbec ne DIR/STEP nebude zadrhávat.
Nicméně myslím, že se té pomalosti bojíš zbytečně. Komunikace pro UARTu procesor nijak dramaticky nezatíží.
Nakonec můžeš udělat snadný pokus. Jestli máš kromě toho PC u soustruhu ještě nějaký noťas nebo jiné PC, tak je propoj přes COM, na jedné straně spusť třeba Putty v sériovém módu a otevři si proti běžícímu LinuxCNC terminálové okno na 19200 bps. Nechej tam jet nějaké dlouhé výpisy, a uvidíš, že se se ani ta komunikace a už vůbec ne DIR/STEP nebude zadrhávat.