Hello Guest it is April 25, 2024, 06:56:31 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - smurph

931
Mach4 General Discussion / Re: Mach4 Screw Error Mapping
« on: March 24, 2015, 01:08:11 AM »
Screw error mapping will work for the rack.  But it as yet untested.  So I would not say it is ready for prime time.

Steve

932
Mach4 General Discussion / Re: Mach 4 Feature Request
« on: March 11, 2015, 08:38:49 PM »
The one that comes with Mach 4 is the demo version.  Demo is not a good word, as it is fully functional as it is and does not time out or anything.  Unlicensed would be a better word.  The licensed version would have more features (not all of which I can remember at this time so please do not state that I'm being vague.)  We don't have a demo version that enables the Pro features for a limited time or some such.  Not yet.  Because we simply haven't finished it yet.

When it is done, I think Todd may be able to do a time limited license or something.

Steve

933
Mach4 General Discussion / Re: Mach4 Screw Error Mapping
« on: March 11, 2015, 04:26:09 PM »
Eventually we will have a kinematics module.  But for now we only have screw mapping and that will not do what you want.  :(

Steve

934
Mach4 General Discussion / Re: Mach4 Screw Error Mapping
« on: March 11, 2015, 02:21:41 PM »
I don't think you two understood each other.  What you are talking about is kinematics.  Screw mapping is the mapping the error in a screw or rack in only one axis of travel.

Steve

935
Mach4 General Discussion / Re: Mach4 Screw Error Mapping
« on: March 11, 2015, 12:08:36 AM »
It is new and being tested.  When it runs out good, we will document it in the setup guide.

Steve

936
Mach4 General Discussion / Re: MACH4 - Modbus
« on: March 01, 2015, 03:43:21 PM »
The screen can be changed to anything you like.  It is a bit spartan.  Believe it or not, that screen design is over 15 years old!  It came from my milling machine GUI front end for Galil controllers way back in the 90's (before I stumbled upon Mach3).  When we were developing the Mach 4 core, and hadn't really done a GUI or any sort at that time, we needed something quick and dirty to test with.  So that old code/screen design is what I had from way way back and it became wxMach.  Then when we did the user configurable GUI, the test was to see if we could duplicate wxMach with Mach4GUI.  And we did, as unfortunate as it may seem.  :)

I'll be the first to admit that I have no "flare" for GUI interfaces.  Not my cup of tea, so to speak.  In fact, I can't do anything artistic as it pertains to drawing or anything visual.  I have to leave that up to people that have the talent for it.  I like DOS screens.  And I think the Fanuc screens are "works of art".   :)

Steve

937
Mach4 General Discussion / Re: MACH4 - Modbus
« on: February 26, 2015, 04:54:32 PM »
Use the screen PLC script to push the axis values to modbus.  There is an interval to control the PLC script timing.  If you want a function of that, just make the modbus update every other PLC script run or something along those lines.  

You can connect a slider to a modbus register by also using the PLC script.  The plc script should get the value of the slider via the scr.GetValue('control name', 'property name') function (I may not have that syntactically correct).  Then push that value to the modbus register.

With wxWidgets 3.0+, toggle buttons can have images.  We started with 2.8, so toggles never got images.  So I will add that when I get a chance to get back into the GUI code.

Steve

938
Galil / Re: Galil controller compatability (what works with the plugin)
« on: February 24, 2015, 04:18:17 PM »
Linear interpolation (the original way we did movement with the Galil) can be a bit of a problem.  Because the Galil profiler tries to do what it does, profile a move!  But we have already profiled the move in Mach.  So we must disable the Galil profiler by giving it insane acceleration values.  In other words, we just want the Galil to do what we say from Mach.  But there are a lot of tools like smoothing and vector time constant that may need to be tweaked to get the best operation, depending on the physics of the machine. 

The newer Contour mode basically does not try to profile the move at all.  It is 100% in Mach's control.  It is pure position over time (PT).  The older controllers had contour mode, but the queue was only 1 slot deep.  This made it impossible to use "over the wire".  Starting with the Accelera line of controllers, Galil increase the contour queue to 512 slots just like the linear interpolation queue.  With contour mode, we can get resolutions as low as .5 ms time slices where we could only get 4ms time slices with linear interpolation. 

Also, the Galil interface is a terminal.  So it takes ASCII commands on a command line type of thing.  The controllers have to take the ASCII command and interpret it before it processes the command.  On the older controllers, this could take quite a bit of time in the scheme of things.  A quarter of a millisecond!  That would equal 4 commands in 1 millisecond.  But...  you have to get the data record in that stream too.  So the real limit with some fudge factor was a 4ms time slice.  The newer controllers are far faster (4 nanoseconds per command) allowing for faster data rates and thus smaller time slices.

That is it in a nut shell.  :)

939
Mach4 General Discussion / Re: MACH4 - Modbus
« on: February 24, 2015, 03:48:38 PM »
I learned alot from this thread, thank you.

I have an additional Modbus Question, is there a way to 'shut off' modbus , and turn it back on from a button script ?

There is a register called "mbcntl/command" that can be used to control the modbus plugin. 
Code: [Select]

hReg = mc.mcRegGetHandle(inst, "mbcntl/command");
mc.mcRegSetValueString(hReg, "start"); -- start modbus
mc.mcRegSetValueString(hReg, "restart"); -- stop then start modbus
mc.mcRegSetValueString(hReg, "stop"); -- stop modbus


You can also see the status by reading "mbcntl/status"

Code: [Select]

hReg = mc.mcRegGetHandle(inst, "mbcntl/status");
local status = mc.mcRegGetValueString(hReg);

status will equal "RUNNING" or "STOPPED"

You can test this out in the regfile diagnostics dialog.  Just by changing the command register.

Steve

940
Mach4 General Discussion / Re: MACH4 - Modbus
« on: February 24, 2015, 02:51:23 PM »
There is an orphan node in the modubs settings (inside the profile's Machine.ini).  Choose "no" or "cancel" and try to use the modbug config dialogs to get rid of it or edit the Machine.ini file.

Steve