Hello Guest it is April 19, 2024, 03:45:11 PM

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

251
Mach4 General Discussion / Re: Modbus Programming guidance needed
« on: November 26, 2020, 04:56:34 PM »
Oh, there is a nice MODBUS PLC simulator that is a great learning/test tool. 

https://sourceforge.net/projects/modrssim2/

Steve

252
Mach4 General Discussion / Re: Modbus Programming guidance needed
« on: November 26, 2020, 04:52:34 PM »
MODBUS is going to be VERY device specific.  All of the device manufacturers use different terminologies and even give register information differently.  MODBUS, for the record, is always base 1 and decimal.  THAT is the standard.  But some device manufacturers give register information in base 0 and hex!!!  So yeah, it can be very confusing and there is no manual besides the ones from the manufacturers.  However, here is a nice writeup on the MODBUS protocol itself.  Having a good understanding of what MODBUS is supposed to be can help you untangle the mess of device documentation out there. 

https://www.modbusdriver.com/doc/libmbusmaster/modbus.html

The Mach 4 MODBUS plugin just maps I/O or registers to the device.  That is basically ALL it does.  There really isn't any MODBUS "programming" as in some special MODBUS script.  The MODBUS plugin just maps Mach resources (registers and I/O) to the device.  Then you can use any LUA scripting as you would with any other Mach resources from any other plugin. 

Steve


253
Those switches will work fine.  The roller switches are usually used in with ramps.  Nice build, BTW.  :) 

5 limit switches and 3 home switches.  There usually isn't a lower limit switch on the Z axis because when the spindle has a tool inserted, it can't reach the lower limit anyway without drilling into the table. 

On machine tools, the limits are usually wired as normally closed and the ESS limits are setup to be active low.  That way if the limit switch wire is damaged, the machine stops. 

E-Stop is usually wired into the power circuit that runs the drives/motors.  Without power, motors will stop!  So hitting the e-stop button should interrupt/cut the power to the drives/motors.  The power circuit might also include a relay allows the ESS to monitor the circuit.  That way both ESS and Mach may be updated as to the state of the e-stop button (ISIG_EMERGENCY in the mach signals).

Steve

254
Mach4 General Discussion / Re: MACH4 4th axis Limit switch
« on: November 14, 2020, 02:49:33 AM »
Mach may see the homing signal light up, but it does absolutely nothing with it.  Homing is the responsibility of the motion controller itself.  If the switch isn't also being used as a limit, maybe the motion controller is seeing the home switch light up and stopping movement?  If so, maybe you need to talk to the motion controller manufacturer. 

Steve

255
Mach4 General Discussion / Re: Jogging Really Rough With New MPG Pendant
« on: November 14, 2020, 02:27:04 AM »
Hmm...  My screen set works as expected regarding the incremental vs. continuous.  The label changes from continuous to incremental and the increment size enable/disables.  Maybe your screen set has been modified? 

What screen set are you using?  What build did you install? 

Steve

256
Mach4 General Discussion / Re: macro for Home Axis
« on: November 14, 2020, 02:06:00 AM »
Why do you need a script?  Just place a button on the screen, click on it, then find the event button on the properties window (it has a little lightening bolt) then select the "Home C" action on the left up action.  The button will only work when the machine is NOT in automatic mode (meaning idle and not in a cycle).  So be sure to set the "Enable With Machine" and the proper "Enabled States".

Steve

257
First off, the CV wizard is really intended to control CV based off of angles.  It is mainly only needed for 2.5D work on machines that are about as rigid as a wet noodle and the programmer is too lazy for program realistic speeds for it.  :)  If you are doing 3D work or very granular G code, then you probably do not need the CV wizard at all.  Blow the CV section out of the Machine.ini of the profile or create another profile and don't run the CV wizard. 

Next, CV is really a misnomer, IMHO.  It is really VB (Velocity Blending).  Thus CV is wholly dependent on your motor acceleration parameters.   The higher the acceleration parameters you can use, the better CV will hold to the actual path.  So run your accel parameters up until the steppers start screaming and losing steps and then back it down.  It may just have really soft acceleration parameters even though it was professionally configured. 

And also check your look ahead buffer.  Pop it up to 200 or so from the default 20 and see if that helps. 

For me, my 3D profiling stuff is silky smooth.  But I'm using a Mach4/Galil with analog DC servos that have torque that allows for insane acceleration parameters.  And it absolutely chews through very granular G code. 

Steve

258
Mach4 General Discussion / Re: Mach 4 Feature Request
« on: November 14, 2020, 01:11:25 AM »
Tangential knife feature.

When the blade is cutting through a thickness stock material, the blade cuts a larger width at the top most layer of the stock while the bottom has the least width. This creates an overcut into the stock which is not desired because it destroys structure of such stock and makes cut lines where not wanted.

To fix this, please make a feature that, the user inputs the upper width while the bottom width remains zero (point).  When the software cuts the path, it will stop the width input by the user, pull out, rotate 180 degrees and go to the end of the path and go back into the stock and reverse direction for the remainder of the input width. Then it lifts out and goes to the next segment.

The code process is simple, it seems. The program knows when to pull out based on cutting angle. Then just measure to pull out the input width earlier, then move to the other end of the input width, but cut in reverse to finish the cut.

That will allow precise (what cnc is designed for) cuts. This would allow me to use one less tool and less CAD editing.

To make it easier for the user, they simply dive down their knife into the stock and measure the top. Or, have a software feature that does a quick calculation based on the angle of the blade and depth of the stock.

You could perhaps have a G code post processor that does these movements.  Because it isn't intuitive when you have G code that says go positive, but it actually lifts, flips, and then travels negative.  Once you get away from the machine actually doing what you have told it to do with G code, I believe you no longer have a proper solution. 

So I really think this is a job for CAM and post processor.  Make the post processor spit out the G code to perform these movements.

Steve

259
Mach4 General Discussion / Re: Sending Info to a Database from a Script
« on: October 24, 2020, 01:17:01 AM »
MySQL plus any ODBC capable database.  However, for ODBC, the database must offer a 32 bit ODBC interface.  Most do.  So pretty much the sky is the limit. 

Steve

260
Mach4 General Discussion / Re: Files containing an M0 or M1 will not load.
« on: September 05, 2020, 12:44:34 PM »
The game plan is to get a new release available but that is proving difficult with all that is going on.  In the mean time, there is 4524 out on the FTP site which is VERY nice.  Bugs fixed and features added make it much nicer than 4300.

So the best course of action, IMHO, is to use a newer build which "Tigger ZA" alluded to.  However, 4300 can be made to work by setting parameters 8110 and 8111 to something that you are not using for a M code number.  For example, if you don't have M codes M200 and M201, set parameter 8110 to 200 and parameter 8110 to 201.  You can do this with G10 L50 while Mach is running or simply modify the parameters.ini file when Mach is not running.  That last part is important.  Mach cannot be running if you directly modify the profile's parameters.ini file.  :) 

If the parameters do not exist in the file or are set to 0 zero, then that is what is causing the problem.  Parameters 8110 and 8111 set the waiting start and end M codes for multi-path synchronization.  If 8110 is set to 0, then the interpreter will wait on M0!

Here is a snippet of a parameters.ini file that sets these parameters to 200 and 201.

[8110]
Desc=Waiting M code range minimum value.
Type=1
Value=200
[8111]
Desc=Waiting M code range maximum value.
Type=1
Value=201

Steve