#linuxcnc-devel | Logs for 2016-12-19

[03:33:00] <KGB-linuxcnc> 03Chris Morley 05qtvcp-2.7 4b06272 06linuxcnc 10configs/sim/axis/qtvcp.ini 03configs/sim/axis/qtvcp_postgui.hal 10lib/python/qtvcp/qt_makepins.py 10src/emc/usr_intf/qtscreen/qtscreen.py qtscreen -add ability to display a screen or vcp panel * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=4b06272
[03:33:00] <KGB-linuxcnc> 03Chris Morley 05qtvcp-2.7 220bcf0 06linuxcnc 10src/hal/user_comps/qtvcp.py qtvcp -strip [-ini path] from argv so qtvcp can be a screen * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=220bcf0
[06:29:40] <KGB-wlo> push to master branch: http://linuxcnc.org/
[06:29:48] -linuxcnc-github:#linuxcnc-devel- [13wlo] 15andypugh pushed 1 new commit to 06master: 02https://github.com/LinuxCNC/wlo/commit/576cf27e11bf63937deb32b2f93c3b5e4f7fda3f
[06:29:48] -linuxcnc-github:#linuxcnc-devel- 13wlo/06master 14576cf27 15andypugh: remove repeated word...
[18:28:22] <andypugh> Ponder: I wonder if there is a way to use a position.txt file but still home to index? ie, get an good-quality home position, using the stored position as a low resolution guide to which turn of the screw the machine is on.
[18:29:27] <andypugh> I am trying to avoid moving the saddle of the lathe all the way down and back again, it’s a pain if the tailstock or steady have been left in place overnight.
[18:37:02] <Tom_L> is there room after the coordinate system parameters to store the offset as a user variable or something?
[18:38:30] <andypugh> Possibly. The question is more how to use that information if one has it.
[18:39:19] <Tom_L> 0,0 will be positive to those numbers
[18:39:25] <andypugh> I might have to look at how position.txt works. I might be able to modulo it and use it to set the home position HAL pin (I think we have one)
[18:42:08] <andypugh> Actually it seems that we don’t.
[18:42:08] <Tom_L> lcnc stops storing them after 5390, i'm not sure if you can add more beyond that
[18:42:48] <Tom_L> where are user vars stored or are they persistent?
[19:13:12] <andypugh> I think that anything that you add to the .vars file become persistent. (though only if you exit LinuxCNC normally)
[19:21:09] <andypugh> pcw_home: What was that new magentic absolute encoder you mentioned several weeks ago?
[19:24:57] <pcw_mesa> https://www.broadcom.com/products/motion-control-encoders/absolute-encoders/single-turn-encoders/as38-h39e-s
[19:32:29] <andypugh> I found another, interestingly: http://www.encoder.co.uk/products/product.asp?id=20111102143549_ENCODER_7055
[19:34:10] <andypugh> Though the Broadcom oneis cheaper
[19:34:21] <andypugh> But not exactly cheap
[19:36:16] <andypugh> The other one is all-magnetic, which feels like it might be an advantage
[21:00:15] <cradek> using position.txt to help with index-only homing sounds smart
[21:00:52] <cradek> you might even (often) be able to tell when it's failed (if homing moves you too much)
[21:05:16] <zeeshan> !zlog
[21:05:18] <zeeshan> zlog
[21:05:29] <pcw_home> andypugh: (should you read this later) the Broadcom has about 16X better accuracy : ~1/16000 of a turn vs 1/1029 (and 512x as much velocity resolution)
[21:05:46] <zeeshan> no one answered me :{
[21:07:53] <cradek> CaptHindsight suggested the obvious, which is to use a realtime thread if you need realtime response
[21:08:24] <cradek> maybe you didn't see it - you disconnected right afterward
[21:11:05] <zeeshan> i did see it
[21:11:19] <zeeshan> how do you activate real time thread w/ a userspace component?
[21:11:31] <zeeshan> also if you use too many real time threads
[21:11:49] <cradek> you can't, you build a realtime component, then just addf it like the others
[21:11:49] <zeeshan> will it affect servo performance?
[21:12:04] <cradek> you'd probably just add it to the existing servo thread
[21:12:16] <cradek> that's how classicladder (for example) works
[21:12:20] <zeeshan> so every scan
[21:12:29] <zeeshan> it not only looks at servo position feedback loop parameters for example
[21:12:34] <zeeshan> but it'll have an additional thing to look at?
[21:12:41] <cradek> you can add whatever you want to the servo thread
[21:12:45] <zeeshan> (trying to understand the architecture)
[21:13:07] <cradek> you have to at least read your position, run the motion controller, and write outputs
[21:13:22] <cradek> but any nontrivial machine setup will add stuff to that
[21:13:30] <zeeshan> i think real time thread is really overkill for what i'm doing
[21:13:35] <cradek> are you sure you don't want to use classicladder?
[21:13:47] <zeeshan> im trying to monitor lathe chuck clamp pressure and tail stock pressure
[21:13:48] <cradek> it doesn't matter, it runs anyway
[21:14:09] <zeeshan> yes, but if i add a lot of stuff to the servo thread
[21:14:14] <zeeshan> does that not hurt performance of the servos
[21:14:19] <zeeshan> cause there are additional lines to process?
[21:14:21] <cradek> those don't seem like they'd change very fast, but there's nothing wrong with doing a few more comparisons in the servo thread
[21:14:29] <cradek> eh
[21:14:42] <cradek> a computer can do a LOT of piddly math in a millisecond
[21:15:27] <zeeshan> i really do not want to run into what i did with the userspace stuff when i was controlling vfd speed over modbus
[21:15:29] <zeeshan> that was terrible
[21:15:52] <zeeshan> it felt like the userspace component updated every 250ms
[21:16:08] <cradek> sure, and even that's not guaranteed
[21:16:12] <zeeshan> and i think i need to learn C now
[21:16:17] <cradek> if you need guarantees, you have to use realtime
[21:16:22] <cradek> that's the whole point of it
[21:16:33] <zeeshan> because from what i've seen all real time components are written in c
[21:16:38] <zeeshan> not python :(
[21:16:40] <cradek> are you sure you don't want to use classicladder?
[21:16:44] <zeeshan> nahh
[21:16:47] <zeeshan> i really want it hard coded
[21:16:53] <cradek> ladder is code
[21:17:17] <cradek> source code and program and debugger simultaneously
[21:17:23] <cradek> it's pretty awesome actually
[21:17:43] <cradek> if you want to write components by hand, use halcompile
[21:18:03] <cradek> http://linuxcnc.org/docs/html/hal/comp.html
[21:18:18] <zeeshan> i will learn these things in due time
[21:18:24] <zeeshan> i'm trying to make sure i can do them!
[21:18:31] <zeeshan> so i can invest the time learning in the right things
[21:18:51] <zeeshan> i think classic ladder will do what i want
[21:19:00] <zeeshan> classlader_rt
[21:19:04] <zeeshan> *classic
[21:19:21] <cradek> *all* the logic in my vmc is done in ladder
[21:19:28] <zeeshan> including atc?
[21:19:30] <cradek> the hal files just hook things in and out of ladder, nothing happens there
[21:19:33] <cradek> yes
[21:20:02] <cradek> and spindle control and the probe and monitoring lube level and missing air pressure and estop and everything else
[21:20:07] <zeeshan> i think having a tail stock pressure monitor will be bad ass!
[21:20:14] <zeeshan> it'll prevent parts flying out! :D
[21:20:20] <cradek> calculating carousel position
[21:20:31] <cradek> deciding which way to turn it, the shorter way
[21:20:47] <zeeshan> boy that sounds like a lot less work than what i did with my mill
[21:20:56] <cradek> it's really great
[21:20:56] <zeeshan> i was writing userspace components for the lube
[21:21:07] <zeeshan> how do you tie in modbus with it?
[21:21:10] <cradek> you can SEE the inputs and outputs and what ladder is doing -- they light up on the screen as it's running
[21:21:18] <zeeshan> yes like a plc program
[21:21:18] <cradek> I've not used modbus
[21:21:54] <zeeshan> when i press the manual tool change button on my mill
[21:22:09] <zeeshan> it does a series of checks, if the spindle is turning (using encoder feedback)
[21:22:16] <zeeshan> if machine is on, if button is pressed
[21:22:25] <zeeshan> it then turns on the hydraulic pump
[21:22:40] <zeeshan> then waits for the pressure switch to trip
[21:22:46] <zeeshan> and then it activates the tool change
[21:22:52] <Tom_L> zeeshan, better start writing a flow chart for your ladder :)\
[21:23:14] <zeeshan> now you're tempting me to re-write that stuff in classicladder
[21:23:19] <zeeshan> i'm not sure how i'd activate the VFD
[21:23:24] <zeeshan> cause currently im doing that through modbus
[21:23:46] <cradek> there's various modbus hal components but I don't know how they work
[21:23:52] <zeeshan> it'd be nice to be able to have real time modbus!
[21:24:02] <cradek> I think I helped set up the automation direct modbus component once, and it worked
[21:24:03] <zeeshan> cause then you can monitor spindle loads etc live
[21:24:16] <zeeshan> cradek: they arent real time
[21:24:16] <cradek> heh mine has a meter on the panel
[21:24:36] <cradek> I'm not surprised since it's a slow serial protocol
[21:24:37] <zeeshan> and by real time i mean they take 250 ms to respond
[21:24:52] <zeeshan> real time to me really is <50ms
[21:25:33] <zeeshan> i'm really looking forward to this lathe conversion one day :)
[21:25:41] <zeeshan> take a lot of what i've learned from the milkl
[21:25:45] <zeeshan> and make it better on the lathe