Hello Guest it is March 28, 2024, 11:45:47 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 - joeaverage

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 »
3051
General Mach Discussion / Re: Configuration Question.
« on: February 21, 2019, 04:19:22 PM »
Hi,
there is no one setting that will do as you want.

A tool change is initiated in Gcode with an M6 call. You can program M6 to be as you require. In fact the M6 process
can be broken into two parts, M6Start.mls and M6End.mls.

The M6Start macro you can program to go to any convenient location for the actual tool change and then the M6End macro
will return the machine to the original location (or even new location) to resume machining.

If you do not want to write your own macros you might try looking at the 'SafeZ' settings (Config/Safe Z Setup...). It will
retract the Z axis to a suitable (programmable) height but it wont move in X and Y.

Craig

3052
General Mach Discussion / Re: Laser 15W setup with 4axis USB board
« on: February 21, 2019, 05:40:10 AM »
Hi,
that USB controller board is not a good one, very little information about them, no one seems to know who
makes them and very few people have ever got them to work properly. It certainly doesn't support G31
probing and the chances it supports laser operations is even slimmer.

http://www.machsupport.com/forum/index.php/topic,38089.0.html

Craig

3053
Mach4 General Discussion / Re: spindle pause
« on: February 20, 2019, 07:21:35 PM »
Hi,
I use a program utility that converts PCB artwork into Gcode for isolation routing. One of the settings I can make
is to assign a spindle acceleration time. I specify 3 seonds for my spindle and this is an excerpt of the code it
produces:

Code: [Select]
N00000 G21
N00010 (Absolute Coordinates)
N00020 G90
N00030 G00 X0.0000  Y0.0000 
N00040 M03
N00050 G04 P3.000000
N00060 G00 Z1.0000 
N00070 G00 X66.5519 Y18.1959
N00080 G01 Z-0.4600 F100 

Note line N00050  is the delay instruction. To my knowledge most if not all CAM, or more precisely CAM posts allow
such a setting.

This is one approach, namely have the delay expressed explicitly within the Gcode.

Another approach is to have Mach wait until the spindle is up to a percentage of its ultimate speed. That requires
Mach to have some feedback from the spindle to measure its speed. You do not have that facility evidently.

Yet another approach is to have Mach wait on a signal from the VFD (or speed controller) that indicates that the spindle
is up to speed. Many VFDs have programmable monitoring outputs including two of use in this regard.
Mach itself has two input signals defined (ISIG_SPINDLE_AT_SPEED and ISIG_AT_ZERO) that allow you to utilize that
method if you wish.

The first method is as old a Gcode programming itself and one I use extensively.

For automatic control the second method, namely spindle feedback, is very convenient and accurate. Machs core already has
all the code it requires but it does require an index or encoder signal from the spindle. Depending on your spindle this may or
may not be possible.

For example my highspeed (24000 rpm, 750W) spindle has an enclosed fan and would require me to break open the fan housing
to get to some rotating part to which I could attach an index sensor. This spindle is a high quality German made spindle and
I have no intention of digging it open for a sensor. A simple Gcode delay or using signals from the VFD are more than adequate.

My high torque spindle (1.8kW 6.2Nm 3500 rpm AC servo) however has programmable outputs to which I can assign
either/or an index pulse derived from the actual encoder or one (or even both) of the quadrature channels. So there is no need
to dig into the back of the servo thus the feedback method is as simple as programming the servo drive and running a wire
to an input on my motion controller.

A simple delay is adequate for most purposes. If you were in a production environment you might think otherwise.
Lets say at least one of your tools, a facing tool or boring head, takes 3 seconds to spin up to speed. If however you picked
an endmill it would spin up in 2 seconds. Thus if you programmed your post to allow 3 seconds delay on each spindle start
then there will be occasions when the machine is waiting unnecessarily instead of producing chips and making money.
Thus the demands of business, or lack thereof, will determine the effort and expense that you will devote to the issue.

Craig

3054
Hi,
I have been thinking a bit more about your question 'can you call an M code from a different Mcode'....

What you have attempted is to call m1000 from an m6 macro. As you have discovered it does not work in the manner that
you attempted. Why?

Lets assume you are running a Gcode job, that is to say that the machine and its motion controller is under exclusive
control of Machs Gcode interpreter. It encounters an m6 code and therefore searches for the code pertaining to m6.
It relinquishes control of the motion controller to the macro but the interpreter just waits UNTIL the macro returns.

If, in executing m6, it encounters an instruction like:
mc.mcGcodeExecuteWait(inst,'m1000')....there is a problem. The instruction in essence asks the Gocode interpreter to
find and execute the code of m1000. BUT the Gcode interpreter is busy, its busy waiting....waiting for m6 to return.
There is only one Gcode interpreter ie it is single threaded so it cant respond to the mc.mcGcodeExecuteWait() instruction
because it doing something else, thankyou very much!.

This reflects that the Gcode interpreter cannot be both 'caller and callee'

The method described by MN300 and confirmed by Chaoticone uses an approach that avoids that trap.
Namely if your m6 macro includes an instruction like:
m1000()......the m6 macro becomes the caller and it calls the function m1000(). Provided Mach can find the code within the chunk
it will run and when it completes return to it caller, namely m6. Then when m6 completes it will return to its caller, namely the
Gcode interpreter. No clash.

Craig

3055
Hi,
the flow sensor is analogue. If you had a analogue comparator with an adjustable threshold the signal would
become ON/OFF and thereafter very easy to interface to Mach. Is ON/OFF control sufficient for your purpose?

The temp sensor is intriguing, I'm guessing that it has some sort of Delta-Sigma modulator built in. In order
to get a temperature reading it would be necessary to decode the signal. I'm guessing you are already doing that with
the Arduino? Can the temperature be reduced to an ON/OFF threshold?

If you want the temperature reported to Mach as a numeric value (digital rather than analogue) then you could
use any of the communication protocols between Mach and the Arduino. I'm not familiar with MQTT but there has
been some discussion on that exact subject on this board.

Quote
serial or modbus would work also, but i don't know how to start integrating those with mach4

Mach4 has both Serial and Modbus plugins, thus much of the interfacing to Mach has already been done. It would still
require that you use your Arduino to prepare signals to match the protocols expected by either of the Mach plugins.

Another possibility is to use Mach directly, ie have the pulse output signal connect directly to Mach and have a PLC or
PMC script monitor and decode the pulse signals resulting in a numeric value for temperature WITHOUT requiring
the value be transmitted to Mach for an external device.

Quote
but im considering moving to a PoKeys or a Warp9 ESS.

I commend that course of action. Its not that I have anything against Darwin but it is limited and Art has stated that it always will be.
Mach4 was ALWAYS intended to be complemented with and external motion controller. Both the 57CNC and the ESS
are worthy examples. I myself use an ESS and like it a great deal.

The 57CNC may be even better for you because, unlike the ESS, it has several analogue to digital converters built in. Thus you
could use one channel to measure and report a digital numeric value to Mach. The inclusion of the analogue channels in the
57CNC is a compelling sales feature.

Notwithstanding the 57CNCs flexibility its maximum pulse speed is considerably lower than the ESS. Additionally the ESS
plugin has received, in recent months, backlash compensation, lathe threading, spindle PID and in Beta testing as we
speak for a comprehensive THC feature. When all of these are taken together the feature set of the ESS is somewhat better
than the 57CNC and in fact rivals the more expensive Hicon by Vital Systems.

No doubt over the coming months/years the respective external motion controller manufacturers will be developing their
products in a manner to best capture new customers. Until recently I would have picked the flexibility of the 57CNC,
despite the speed disadvantage, to be a little better than the ESS. Now that equation I believe has swung in the ESS's favour.
The competition between them is very good for you and I as we get to benefit from their efforts. In truth either device
will work well.

Quote
The C10R10 BOB from CNC4PC works with the Warp 9 ESS.
This is indeed a good value BoB. You should note though it does not have a specific circuit to convert PWM to an analogue voltage
for a spindle speed control. There are other, rather more expensive boards that do have such a circuit but rather constrain the
user by dictating that certain of the ESS pins be dedicated. If however you don't mind making a few simple electronic circuits
with half a dozen components then the C10 is perfectly adequate and does not constrain the DIYer.
The MB2 breakout board by CNCRoom (approx. $180) is a highly regarded product. All three of the ESS ports are exploited.
While the manufacturer has made certain assumptions as regards the balance of inputs/outputs and the interfaces of each
it is none the less a capable board of good quality.

Craig

3056
Hi,
that is not my understanding of how Mach4 and motion controller work.

Machs tajectory planner issues position/time data in, commonly, 1ms slices. So an x axis move, where the x axis is the ONLY axis
to move would create a string of data something like this:

Time                  X                  Y                 Z               A
nnn                   1234             2345            3456        4567
nnn+1               1240             2345            3456        4567
nnn+2               1248             2345            3456        4567
nnn+3               1258             2345            3456        4567
etc

where Y=2345 is the current Y axis position, likewise Z=3456 is the current Z axis position and A=4567 is the current A axis
position in machine counts. The X axis positon at each time slice is calculated by Mach to accelerate the X axis then maintain
a constant speed (increment between slices) and then decelerate until the move is complete.

So while the Y, Z, A axes are not moving they are still explicitly part of each time slice, its just that when they are not required to
move there is no increment/decrement between time slices.

Note that once a time slice is committed to the motion controller you can't get it back. In fact if you have called an X axis
move like G0 X10 then a whole block of time slices are planned and dispatched to the motion controller buffer and once they
are committed they cannot, short of an emergency stop, be cancelled.

What you want to do is have the X axis make a move and while that move is executing perform coordinated moves
with the remaining axes Y,Z,A.

That would mean that there are two streams of position/time data, one that allows the motion controller to generate the
pulse streams to move the X axis per the above table. The other position/time data stream would have the Y, Z and
A axes incrementing/decrementing to match the Gcode move of the Y, Z,A axes with the X axis.......constant?, blank?,
what?

Clearly having two position/time data streams is not possible or sensible. The machine cannot be in two positions at once.
While the X axis is coordinated with Y, Z, and A what you propose cannot be done.

My understanding (my understanding may of course be faulty, I am hoping Smurph, Daz, Steve, Rich et al may read this and
confirm/deny my understanding) is that an out-of-band (OB) axis can behave in the manner that you want.

What I propose is that prior to Mach issuing the preparatory X axis move that the X axis be programmatically decoupled
(un-coordinated) with the remaining Y,Z,A axes and issued a jog move, in the manner of an OB axis. The motion controller
can receive the move data for an OB axis AND execute moves independently of the coordinated moves as described
by the position/time table. Once the tool change is complete the OB axis would be tested to determine whether the move is
complete and if so programmatically reconnected to the coordinated X axis and its current position be updated.

This proposal relies on the behavior of the controller regards OB axes. I believe the ESS operates in the manner I have described
but I'm not 100% certain. I take as evidence that it does behave in this manner the operation of a Step/Dir spindle. The spindle
is a special case of an OB axis and the controller can quite happily send Step/Dir pulses to the spindle independently of the
coordinated axes.

If indeed this is possible it would require some tricky an involved programming. This is all to reduce cycle time by having the
X axis move independently and concurrently with the Y, Z, A axes involved in the tool change? Is it worth it?

Craig


3057
Mach4 General Discussion / Re: spindle pause
« on: February 20, 2019, 04:15:07 PM »
Hi,
is it possible to induce your post to include a specific (Gcode) delay into the Gcocode job?

For example instead of just:
m3....
have the post insert a delay like:
m3
g4 p2500....
for example.

Craig

3058
Hi,
are any of the monitored inputs analogue?

If they are all ON/OFF types then its just a matter of digital inputs and outputs which could be controlled by
either PMC script or PLC script.

What motion controller are you using?

You could use a genuine PLC communicating with Mach via Modbus or serial.

Craig

3059
Hi,
an interesting side note.......when Machs Gcode interpreter reads a line of Gcode it reduces all letters to lowercase
and strips out leading zeros.

Thus:
M6
M06
m6 and
m06
all mean the same thing to Mach. In most cases its perfectly OK to call M06, say in your Gcode but when Mach
searches for the code to execute it will be looking for 'm6' not 'M06'. Filenames in Windows is case insensitive
so it works, but occasionally it screws up too! My recommendation (Smurph's tip) is to use lowercase letters
without leading zeros.

Quote
If you are not calling your m1000 from G Code you might want to name it something else to avoid confusion with real M code.

There are predefined m codes in Mach, like m3, m4, m30 etc. When the Gcode interpreter encounters such a call it searches
first the macros folder of the active profile, if it doesn't find it there it executes the standard code that ships with Mach.
So you can write your own m3 for instance and if its in the first search path it will be used instead of the standard m3.

Craig

3060
General Mach Discussion / Re: CNC router specs
« on: February 19, 2019, 09:51:57 PM »
Hi,

Quote
what is the difference between 3 and 4 ?

In one sense.....not much....they are both programs that use Gcode to control a machine.

Mach3 is still very popular, many people still use it and are very familiar with what it can and cannot do. All development
ceased on Mach3 five years ago. So whatever bugs it has it will always have.

Mach4 is a complete rewrite using an 'engineered' and modular approach. It is very capabale in most cases matching
Mach3 but in a number of areas it well and truly exceeds it.

If you have used neither Mach3 or Mach4 and want to start I would recommend Mach4. You can download both for free
and try them out in Demo mode.

Mach3 traditionally used a parallel port, and subject to certain limitations still does. External motion controllers like the
SmoothStepper and UC300 have meant that many of the limitations of the parallel port can be avoided.
Mach4 has a parallel port (Darwin) as well but is limited and will always be so, Mach4 was/is intended to be used
with an external controller. Thus when you consider the effective necessity of an external controller and that those controllers
are at this time limited to about five manufacturers many object to the perceived extra cost of Mach4.

Quote
some one told me that there are differences in electrical (like CNC interface) if you want 3, 4, 5 or 6 axis.

Some of the older parallel breakout boards (BoBs) were equipped to do in some cases three axes, in some cases 4 axes.
External controllers (strongly recommended) like the SmoothStepper and UC300 are regularly capable of six coordinated
axes and as many as another six out-of-band axes. Unless you choose old technology then multi axis controllers are
no problem.

Quote
NX and CATIA are CAM progs

Ok, never heard of them. If they have a post processor which can generate Mach compliant Gcode the it shouldn't be a
problem. Mach compliant Gcode is very close to Fanuc Gcode and its common to use a Fanuc post if a genuine
Mach post is not available.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 »