00:04:40 rayh has joined #emc-mazak 00:06:44 rayh: got some good news 00:32:29 alex_joni has left #emc-mazak 04:18:16 rayh is now known as rayh-away 05:02:01 rayh-away has quit 05:04:29 rayh-away has joined #emc-mazak 05:37:21 rayh-away has quit 15:32:54 jmkasunich has joined #emc-mazak 16:34:38 alex_joni has joined #emc-mazak 16:34:53 alex_joni has left #emc-mazak 19:58:35 rayh has joined #emc-mazak 20:41:10 alex_joni has joined #emc-mazak 21:16:10 logger_mzk has joined #emc-mazak 21:16:10 Users on #emc-mazak: logger_mzk alex_joni rayh jmkasunich @ChanServ 21:28:41 jmkasunich: a very nice document I stumbled upon: http://www.maxonmotorusa.com/files/download/pdf/epos-firmware-specification-e.pdf 22:06:04 you guys know about this: http://www.isd.cme.nist.gov/projects/omacapi/ 22:06:12 some very wild stuff done with emc by NIST 22:23:47 I saw a bit of it a while back. They do have some very unexpected stuff they do with it. 22:24:05 right, activeX & co :) 22:40:11 jmkasunich: around? 22:40:19 * alex_joni has a suggestion for estop 22:40:19 yah 22:40:28 shoot 22:40:32 you might want to use the one inside iocontrol 22:40:49 it works nicely up to the gui 22:40:55 btw, iocontrol is exactly what is on my mind right now 22:41:11 heh.. if you got questions, comments, ideas.. I'm around 22:41:13 setting up a simlated machine to see what you did in iocontrol 22:41:21 * alex_joni is setting up a nightly emc2.tar.gz 22:41:37 * alex_joni tries to remember :) 22:42:23 I only read the NML messages 22:42:36 it only read NML messages 22:42:41 and outputs HAL pins based on that 22:42:49 the only thing is on the spindle 22:42:55 there I exported all kinds of signals 22:43:12 you'd want only the speed stuff I guess (if you got a servo controlling the spindle) 22:43:29 not got that far yet 22:43:36 right now looking at the estop 22:43:41 right 22:44:07 there's iocontrol.0.estop-out 22:44:17 that needs to go to a relay or whatever 22:44:27 to interrupt the external estop chain 22:45:04 iocontrol.0.estop-in is a sensing thing (from the motenc, or whereever), and it sends a NML message if estop is tripped 22:45:07 so emc stops 22:45:29 how does it interact with the normal F1 thing? 22:45:46 ie: hit F1 to come out of estop, hit it again to stop 22:45:58 yes 22:46:09 that's estop-out 22:46:26 and ideally it should be connected to estop-in at the end of the estop chain 22:46:48 not sure I follow (this really wants a drawing) 22:47:07 emcmachine -> estop-out -> estop chain ... (various other estop sources, buttons, limits, etc) .. -> estop-in -> emc 22:47:25 picture it like this: 22:47:31 you have the 24V on the estop? 22:47:43 on the mazak there is a chain of real (physical) devices, all in series. Power into the chain is +24V (always on), and power appears at the end of the chain when all is well 22:48:00 that signal goes to a PC input, becomes a HAL signals ESTOP_IN 22:48:12 right 22:48:26 exactly like I thought 22:48:35 iocontrol.0.estop-in 22:48:35 it also goes thru a relay on a breakout board, and then to the coil of a small contactor that interrupts all machine control power 22:48:59 ok.. now to have it even safer you have another relay 22:49:05 in series with that one 22:49:23 and this relay should be controlled by iocontrol.0.estop-out 22:50:15 at least that's how I would do it 22:50:17 that's the relay on the breakout board 22:50:28 and software estop trigger should break a contact 22:50:31 and cut all power 22:50:46 just like a normal estop button 22:51:04 so as I see it you have 2 options: 22:51:21 there is an additional requirement 22:51:36 take the chain of estop (before the relay) and run it through emc (which functions as another estop switch) 22:51:49 and then it reaches the relay you spoke about 22:51:59 if ESTOP_IN goes away (even momentarily), we must turn off ESTOP_OUT (the breakout board relay) to force the operator to explicitly reset 22:52:57 right 22:53:05 IOW we are responsible for latching the estop 22:53:12 that's why I would do it with 2 circuits 22:53:14 and it should reset on F1 22:53:20 right 22:53:27 to be the safest.. 22:53:43 have the external estop circuit run all the way to the relay 22:53:51 and emc only sees it as an input 22:53:51 which relay? 22:54:00 the one you talked about 22:54:12 there are two :-( we need nomenclature 22:54:27 ESTOP_OUT relay is the one on the breakout board, controlled by the PB 22:54:29 24V -> estop1 -> estop2 -> ... -> pointA -> relay1 -> gnd 22:54:46 pointA is seen by emc as estop-in 22:54:49 ESTOP_RELAY is a largish power relay that shuts off everything 22:55:04 24V -> estop1 -> estop2 -> ... -> pointA -> ESTOP_RELAY -> gnd 22:55:04 actually: 22:55:55 24V --- estop1 --- estop2 --- . . . --- estopN --- pointA --- ESTOP_OUT (contacts) ---- ESTOP_RELAY (coil) --- ground 22:56:12 point A is ESTOP_IN, just like you said 22:56:16 what's ESTOP_OUT ? 22:56:26 relay controlled by EMC 22:56:30 two purposes: 22:56:32 ahh.. ok then 22:56:36 1) lets EMC itself drop out power 22:56:40 it's just like I thought 22:56:42 2) latching 22:56:57 we were talking about the same thing all along :P 22:56:59 when ESTOP_IN goes away (even momentary) ESTOP_OUT turns off 22:57:07 and stays off till F1 22:57:11 yep 22:57:23 should work exactly like this 22:57:38 I have a RT component that does that part of the logic, so that it responds to even a very short dropout of ESTOP_IN 22:58:00 that component looks at ESTOP_IN and another signals called ESTOP_RESET 22:58:07 and it drives ESTOP_OUT 22:58:29 right.. so you can still connect that before iocontrol.foo 22:58:37 it will turn ESTOP_OUT on only if ESTOP_IN is on and it sees a rising edge on ESTOP_RESET 22:58:52 ESTOP_RESET should pulse high when you hit F1 22:59:00 * alex_joni looks at that 22:59:35 once ESTOP_OUT is on, it ignores ESTOP_RESET. If ESTOP_IN goes off, then ESTOP_OUT goes off and stays off 23:01:51 oh.. fsck it .. 23:01:55 someone saved on coding :P 23:02:11 * alex_joni can fix that.. 23:02:23 if you hit F1 you generate a ESTOP_RESET 23:02:28 from GUI to task 23:02:41 EMC_TASK_STATE_ESTOP_RESET to be more precise 23:02:55 now task decides it's safe to reset estop or not 23:03:02 based on estop-in 23:03:24 but it sends ESTOP_ON to aux instead of ESTOP_RESET 23:03:43 so you have 2 choices: 23:04:17 either use ESTOP_ON as the estop_reset signal to your module, or I'll add another message ESTOP_RESET (to task, and iocontrol) 23:04:55 * jmkasunich is looking for the NML messages that are related to ESTOP 23:05:18 the ones I described above 23:05:26 there are several groups 23:05:31 from task to GUI 23:06:26 and from task to aux 23:06:53 task-GUI: are called // types for EMC_TASK state 23:06:53 enum EMC_TASK_STATE_ENUM { 23:06:53 EMC_TASK_STATE_ESTOP = 1, 23:06:53 EMC_TASK_STATE_ESTOP_RESET = 2, 23:06:53 EMC_TASK_STATE_OFF = 3, 23:06:53 EMC_TASK_STATE_ON = 4 23:06:55 }; 23:07:44 actually the message is called EMC_TASK_SET_STATE 23:07:50 with one of the above states 23:14:33 the other NML messages are from Task to Aux (iocontrol in our case) 23:14:52 #define EMC_AUX_ESTOP_ON_TYPE ((NMLTYPE) 1206) 23:14:52 #define EMC_AUX_ESTOP_OFF_TYPE ((NMLTYPE) 1207) 23:15:13 AUX_ESTOP_OFF gets sent on EMC_TASK_STATE_ESTOP_RESET 23:23:03 sorry, dealing with a mini.tcl funny at the moment 23:23:29 heh.. mini :X 23:27:52 ok.. got questions on the estop stuff ? 23:28:35 back on that now 23:28:41 running mini at the moment 23:28:46 it seems inverted 23:29:02 mini is inverted? 23:29:13 when the button says "ESTOP PUSH" that means the machine is ready, and if you push it it will trip (shut down) 23:29:18 yes 23:29:22 that's a nice feature 23:29:40 I remember spending about 2h trying to figure out a way to come out of estop 23:29:47 and I didn't realize it was out of estop :D 23:29:47 but at that point, iocontrol.0.estop-out is false 23:29:58 hmmm.. really? 23:30:22 that's odd.. 23:30:26 halmeter doesn't lie (I don't think) 23:30:27 with tkemc it worked ok 23:30:36 no.. I tested with halmeter aswell 23:30:46 no= halmeter doesn't lie 23:31:00 when I push the button, it changes to ESTOPPED 23:31:13 and iocontrol.0.estop-out goes TRUE ?!? 23:31:19 hang on 23:31:22 * alex_joni looks at mini 23:32:44 how about when it's green? and says ESTOP_RESET ? 23:35:05 that is after F2, I think, I haven't tried to go there 23:35:32 hang on.. rebooting to linux 23:35:35 will take a bit 23:35:43 alex_joni has quit 23:40:15 alex_joni has joined #emc-mazak 23:40:19 back 23:42:51 hmm.. seems to work ok here 23:43:13 when it's ESTOPPED then iocontrol.0.estop-out is TRUE 23:43:42 and when ESTOP-RESET or ESTOP-PUSH then iocontrol.0.estop-out is FALSE 23:44:13 I guess it depends on your definition of the state of estop 23:44:25 right 23:44:25 I think of TRUE as "ready to run" and FALSE as "stopped" 23:46:35 you can adjust if you want.. 23:46:52 but ESTOP = TRUE to me means estop is triggered :) 23:47:34 ok.. back to messages