Stránka 1 z 2

Spuštění M příkazu tlačítkem E-stop

Napsal: 17. 1. 2014, 2:16
od hans
Zdravím,

na své frézce mám dvě vřetena, jedno hlavní frézovací a druhé pomocné vrtací, které se pomocí pístu vysouvá pod hlavní vřeteno. Hlavní frézovací vřeteno se ovládá klasicky příkazy M3 a M5, to pomocné se ovládá příkazy M150 pro start a M151 pro zastavení. Rychlost otáček mám nastavenou natvrdo v měniči, protože rychlost otáček nepotřebuji ovládat. V případě stlačení nouzového tlačítka (E-stop) se mi zastaví posuvy a hlavní vřeteno, ale pokud je puštěné pomocné vřeteno, tak se mi nezastaví.
Lze nějak udělat to, aby v případě zmáčknutí e-stop se spustil příkaz M151 a zastavil mi toto vřeteno?
Přikládám hal a ini soubory i soubory s eMkovými příkazy.

Díky za pomoc!

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 17. 1. 2014, 2:44
od robokop
das tam AND podminku na to vreteno do ktere bude vstupovat signal pro spusteni toho vretena a signal ze estop je vporadku

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 17. 1. 2014, 3:33
od gnat
estop ovládaný softwarově ? to se smí ? to bych neriskoval ani doma na té stolní mikrofrézce.

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 17. 1. 2014, 5:25
od RaS
proč estop softwaerově o tom tady nikdo nepsal.. jen přidá podmínku pro to pomocné vřeteno že musí být spuštěné za předpokladu že je neaktivní estop.. tuhle podmínku přidá na výstup kterej spíná to vřeteno, s estopem jako takovým to nemá nic společného.. jen naloaduje v halu jeden and se dvěma vstupy a přidá ho před výstup na ovládání pomocného vřetene, výstup zapojí na výstup který spíná vřeteno a jeden vstup na původní výstup a druhej vstup na negovanej estop ..

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 20. 1. 2014, 2:48
od hans
Díky za odpověď. Snažím se to nastavit, ale nedaří se. Estop je udělaný v halu zatím takto:

loadrt and2
addf and2.0 servo-thread

#ESTOP
net estop-A0 iocontrol.0.user-enable-out => and2.0.in0
net estop-A1 hm2_5i20.0.gpio.001.in_not => and2.0.in1
net estoploop and2.0.out => iocontrol.0.emc-enable-in

Tu konfiguraci mám odněkud staženou a uniká mi její smysl, hlavní je že funguje, až na to vypnutí malého vřetene. Podle toho, co píšete, by to mělo vypadat asi takto:

loadrt and2 count=2 (protože už jedna funkce and2 se v konfiguraci používá)

net estop-A0 iocontrol.0.user-enable-out => and2.1.in0
net estop-A1 hm2_5i20.0.gpio.001.in_not => and2.1.in1
net estoploop and2.1.out => setp hm2_5i20.0.gpio.023.out 0 (pin 023 zapíná / vypíná vřeteno)

Takhle mi to ale píše, že estoploop už je přiřazená někde jinde, takže nevím, jak to správně zadat.

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 20. 1. 2014, 2:51
od robokop
Tam nejak motas net a setp ne?

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 20. 1. 2014, 3:55
od Bas
Ahojky Hanzi

Tím co jsi psal v posledním příspěvku jsi jen předělával původní Estop na druhou načtenou krabičku

# --- NAČÍTÁNÍ KRABIČEK ---
loadrt and2 count=2 ...... tím count=2 říkáš, že má načíst dvě krabice AND2

pak musíš obě nadefinovat

# --- NASTAVENÍ KRABIČEK ---
addf and2.0 servo-thread
addf and2.1 servo-thread

A pak propojit podle požadovaného schématu....

Koukni sem http://www.c-n-c.cz/viewtopic.php?f=34&t=10774" onclick="window.open(this.href);return false; do toho souboru MCFH32halsx.pdf je tam schéma mého HALu. A dole je klasický Estop (ze kterého vycházíš) jak to funguje.

# --- ESTOP --- z mého Hall
net estop-A0 iocontrol.0.user-enable-out => and2.0.in0
net estop-A1 hm2_5i23.0.gpio.024.in_not => and2.0.in1
net estoploop and2.0.out => iocontrol.0.emc-enable-in

setp hm2_5i23.0.gpio.040.is_output true
net estoploop => hm2_5i23.0.gpio.040.out
setp hm2_5i23.0.gpio.040.invert_output true

Snad tě aspoň nasměruju
Nemůžeš propojovat další signály se stejným názvem (estoploop) ale můžeš se na něho napojit (tím že použiješ jen název signálu)
a to sept takle použít taky nemůžeš.
Lumír

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 20. 1. 2014, 6:50
od Bas
Snažil jsem se to rozepsat... pošlu to sem a sám jsem zvědav jak to dopadne a co řeknou místní GURU

# --- NAČÍTÁNÍ KRABIČEK ---
loadrt and2 count=2 ...... tím count=2 říkáš, že má načíst dvě krabice AND2

pak musíš obě nadefinovat

# --- NASTAVENÍ KRABIČEK ---
addf and2.0 servo-thread
addf and2.1 servo-thread

# --- ESTOP --- původní e-stop tam nic neměň
net estop-A0 iocontrol.0.user-enable-out => and2.0.in0
net estop-A1 hm2_5i20.0.gpio.001.in_not => and2.0.in1
net estoploop and2.0.out => iocontrol.0.emc-enable-in


net estoploop and2.1.in0 ...tím napojíš and2.1in0 na původní výstup z e-stopu (jen ten signál rozdvojíš... já s ním spínám relé které povoluje start posuvů, vřetena a dalších věcí)
setp estop-mv and2.1.in1 ...a s tím si nevím rady... jestli musíš nasetovat předem nebo rovnou stačí setovat M150/M150 (to "estop-mv" je jen název signálu), možná tam ten řádek vůbec nemusí být a nebo má mít trochu jiný tvar
... jak tak nad tím přemýšlím asi bys to měl jen nasetovat na nulu!
setp and2.1.in1 0 .. aby se ti náhodou neroztičilo jen tak po startu


# male vreteno start / stop - M150-M151
setp hm2_5i20.0.gpio.023.is_output true
setp hm2_5i20.0.gpio.023.invert_output true
net malevreteno and2.1.out => hm2_5i20.0.gpio.023.out ...tím propojíš and2.1.out s výstupem na malé vřeteno a signál nazveš "malevreteno"


A soubory: ...těma bys měl setovat vstup in1 do and2.1...
M150

#!/bin/sh

halcmd setp and2.1.in1 0

exit 0

M151

#!/bin/sh

halcmd setp and2.1.in1 1

exit 0

protože dle: http://www.linuxcnc.org/docs/devel/html ... nd2.9.html" onclick="window.open(this.href);return false;
je and out=1, když in0=1 i in1=1 v opačném případě je out=0

Lumír

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 21. 1. 2014, 3:00
od hans
Lumíre,
děkuji za pomoc.

Ten řádek setp estop-mv and2.1.in1 jsem vypustil a začalo to fungovat. Jediná nevýhoda je, že se při vymáčknutí e-stopu vřeteno znova rozjede. Ale pokud to obsluha ví, už s tím bude počítat a neřešil bych to.

To Robokop: Motám motám, ono to tak bývá při metodě pokus - omyl :D

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 21. 1. 2014, 6:04
od Bas
Ahoj,
tak to jsem sám rád, že se to povedlo...
L

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 21. 1. 2014, 7:30
od robokop
do toho se dostanes
ono je to jen par stavebnich kamenu

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 24. 1. 2014, 1:58
od Bas
ahoj,
... no zas tak pár možných kamenů to není... to bych si dovolil odporovat!!!
seznam kamínků je až dole: http://www.linuxcnc.org/docs/devel/html/" onclick="window.open(this.href);return false;
Je jich mraky!!!!!!!!!!vyznat se v nich a uměl je použít je na každém z nás...
já třeba mám velké problémy vymyslet a zvláště nakreslit si, nějakou tu PC logiku (prostě mezi ty konektory a LCD nevidím a bez Martina bych se nikam nedostal)

Nicméně tohle to jsem řešil před rokem a HANZI:
tak to přehoď až za tlačítko v EMC2 "ON"
vyměň ten řádek:
net estoploop and2.1.in0 ... a nahraď ho za:
net machine-is-enabled => and2.1.in0 #ten symbol uprostřed je jen orientační... hall ho nebere v potas a je jen pro tebe, ale to snad víš...
a nebo:
net machine-is-on => and2.1.in0 ... správný signál vysleduješ ve druhém sloupci emc "show Hal Configuriation" /Siglans když si je naházíš do druhé zálošky
WATCH je budeš moct sledovat jak se chovají.... když je budeš v EMC přepínat... přihoď si tam i estoploop a uvidíš...

tím jsi tu krabičku and2.1 přehodil úplně někam jinam a je to úplně jiné schéma....
Ale bude se to vřeteno spínat jen podle Mcodů a jestli je EMC ON, takže bude fungovat Estop jak by měl....
L (Ale možná se pletu...... :-))

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 24. 1. 2014, 7:25
od RaS
pak se mu vřeteno sice neroztočí jakmile nahodí estop, ale jakmile ještě potom dá ON ne? alespoň myslím že to tak bude, to mu neřeší zas tak problém.. on by potřeboval aby se mu to po estopu už nenahodilo nikdy samo.. musel by tam mít nějakej logickej blok kterej bude reagovat třeba na změnu signálu ovládajícího to vřeteno..

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 24. 1. 2014, 7:52
od robokop
takze neco co reaguje na hranu
treba edge?

Re: Spuštění M příkazu tlačítkem E-stop

Napsal: 24. 1. 2014, 8:32
od RaS
něco takovýho, já teď z hlavy nevím jak se ty bloky jmenujou chce to projít a vyzkoušet.. prostě dá signál "zapni vřeteno" na to bude reagovat krabička reagující na změnu signálu a na estop off pokud estop spadne už nikdy nebude tenhle blok aktivní resp až zase po signálu zapni vřeteno, prostě se nestane to že nahodí estop a zase pojede vřeteno..