Suggestion for improvement to SOFT LIMIT feature - DDCSV2.1 - Standalone CNC Motion Controller - Digital Dream Technology support
View: 11396|Reply: 15
Print Previous Topic Next Topic

Suggestion for improvement to SOFT LIMIT feature

[Copy Link]

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
Landlord
Posted at 2018-10-14 17:39:34 | All floors
I agree with math_indy. Poor working with the soft limitd, this is one of the biggest problems with DDCSV. Solve it simply.
But with manual movements and when executing G-code, the algorithm should be different.

With manual movements, the axis can rest on its ending, because it needs time to slow down.
The solution is to enter the parameter "speed limit near the ends of the axes" and "offset from the ends axes for the speed limit".
That is, we set, for example, that at a distance of 20 mm from the ends of the axes, the speed of any axis cannot exceed 300 mm / min.
And when approaching this zone, the axis slows down to the set value.

When doing G-code, you need to do it differently. The controller should not execute the program at all if there is an excess of soft limit in it.
This is logical. Since the workpiece will be spoiled.
To do this, you need to make the controller scan all the lines of G-code before execution.
But the height of the Z axis changes with tool changes. Therefore, it is necessary that he scan the G-code lines from this tool change to the next.
That is, the algorithm is as follows:
-Change tool
-After replacement - scanning the program until the next M6
-If an exceeded soft limit is detected on any of the axes - a message box is displayed "Exceeding soft limit along the axis -, in the row number ----. Continuation is impossible"
-If there is no excess - the continuation of the program.

Naturally, you need to do so that this feature can be turned on and off for each of the axes separately.
Reply Support Opposition

Use props Report

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
Sofa
Posted at 2018-10-15 19:36:43 | All floors
Thanks Ytliu. The problem with the soft limit when manually moving the axes is solved. You, as always - the best.

There is an error in this firmware:
-Parameter # 448, can be equal, only 1 and 2. And you wrote that it can be equal to 25.4.

As for the soft limit in the G-code mode, I assumed that the controller might not have enough power to scan the entire program.
I have a good solution. And this solution will simultaneously solve the problem of incorrect calculation of the processing area for visualizing the tool path.
As they say in Russia "we will kill two rabbits with one shot" :-)
The fact is that perhaps the DDCSV processor is too weak for such tasks. But the power of a PC is enough to scan several thousand lines of G-code in a few moments.
I propose to implement the definition of the processing area, at the level of the postprocessor.
That is, at the beginning of any G-code file, 6 variables are defined that define the boundaries of the axes for this program.
The controller, after each M6 command, compares the machine coordinates with the value of these variables. And if they go beyond the soft limit, a message box is displayed.
Also, the value of these variables is used to determine the size of the visualization area of ​​the tool path.
At the end of the program, the value of these variables is reset to 0.
If the variables are not defined, the implementation of the soft limit occurs by the usual algorithm.

On a PC, this is implemented as follows: a simple program is written that scans the G-code file for maximum and minimum XYZ values.
Then it appends the necessary information to the beginning of the file and overwrites the open file.
The program has no interface. All its settings are stored in the ini file. Opening a G-code file is done from the command line, or by dragging and dropping a G-code file onto a program shortcut, or from the Windows context menu (that is, all 3 methods work).

Basically, the program will be automatically executed after the postprocessor. In many postprocessors, there is a function to open the finished G-code file defined by the program. Usually, this is a notebook. And in this case, we change in the settings of the CAM system, the Windows notepad to our program. Thus, program files are created already modified, without "extra gestures."
But it remains possible to modify the files manually, by dragging the G-code file onto the program shortcut, or from the Windows context menu.

I will create the program myself if you implement this feature on DDCSV.
If you do this, the soft limit function will be implemented on DDCSV, better than on most professional CNC machines.
This will certainly interest buyers. And the visualization function of the tool path finally works fine.
Reply Support Opposition

Use props Report

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
Bench
Posted at 2018-10-15 20:08:10 | All floors
Two more errors were identified:
-When # 2031 = Yes, the acceleration-deceleration of the axes varies greatly with G1 / G0. Try running G-code.
-When M101, after the appearance of the signal Probe, usually used the command G92, which determines the new coordinates.
But, it works, only at value XYZ - 0.
That is, this code will work:
M101
G1 X100 F300
G90G92X0
G1 X-10
M102

And this is not:
M101
G1 X100 F300
G90G92X2
G1 X-10
M102
Reply Support Opposition

Use props Report

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
Floor
Posted at 2018-10-16 00:12:36 | All floors
Thanks Ytliu. I got it.
I would like to adjust the function of the parameter # 2031.
When enabled, the acceleration of the axes varies greatly with G1 / G0.
Reply Support Opposition

Use props Report

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
5#
Posted at 2018-10-16 18:06:19 | All floors
ytliu Posted at 2018-10-16 06:15
Please tell me your relevant parameters and provide a simple test gcode . Thank you

Sending my settings and test program.
The fact is that to accelerate-decelerate axes in G-code mode, it uses data from parameters 45-48.

As for the external program for calculating the processing area, I think you can assign another important function to it, which is very lacking in DDCSV:
Calculate the time until the end of the program and until the next tool change. The value will be written at the beginning of the program, in the form of a variable.
And knowing this data, DDCSV will be able to:
-Rightly define the processing area for the soft limit
-Rightly define the processing area for the visualization of the tool path
-Display the time until the end of the program or until the next tool change (this is very important when changing the tool manually)

Most postprocessors can run an exe file with parameters.
Complex postprocessors (such as Powermill and Solidcam) allow you to implement these features without an external program. Only by their own means.

How do you rate this idea? Do you like her?

17.rar

4.96 KB, Down times: 496

Reply Support Opposition

Use props Report

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
6#
Posted at 2018-10-29 22:02:04 | All floors
Video of malfunction of parameter # 2031.
https://radikal.ru/video/wkq5retOtHU
Reply Support Opposition

Use props Report

15

Threads

139

Posts

517

Credits

Senior Member

Rank: 4

Credits
517
7#
Posted at 2018-10-30 18:19:19 | All floors
Perhaps we do not understand each other.
I have #45-#48=3 and #99=400. That is, #99 is more than #45-#48 and not less.
In the video, I execute the code:
G1 X30 F600
G1 X0
For manual movements, there must be a low acceleration in order to more accurately position the axes.
For G-code, there should be as much as possible acceleration, because:
-It reduces processing time.
-The axies must accelerate to working speed as quickly as possible, because some materials cannot be cut at low speed. This leads to overheating of the cutter, burning of the material or sticking of the material to the cutter.

If this is the case, please make it disabled. Because such a decision makes it impossible to use this setting in most cases.
Because:
With a low acceleration rate, many materials cannot be cut.
There are many such materials. For example: wood, pure aluminum, thermoplastic plastics, and so on.

Also, if you set a high acceleration speed for axes in manual mode, the axes are difficult to position.
Reply Support Opposition

Use props Report

You need to log in before you can reply Login | Register now

This forum Credits Rules

Shenzhen Digital Dream Numerical Technology Co., Ltd. support
Adress:507,A Building,Leibo Industry Zone,No. 22 Jinxiu East Road,Kengzi Street,Pingshan district,Shenzhen City,P.R. of China
Phone:13244704799
E-mail:info@ddcnc.com

TEL

0755-87654321

Wchat

Website designed by DigitalDream Technology Support
Quick Reply Back to top Back to list