The Shop > CNC

DDCSV1.1 4 Axis controller

<< < (176/202) > >>

blades:
Impressive! Nicely done!!

JPoepsel:
Hi Folks!  (Yes, I’m looking NYC CNC ;-)
 
I tried to figure out, what the build in variables in DDCSV1.1 mean and want to share my results with you. The only source of information I used are the *.nc files shipped with the device, so the list is definitely far away  from being complete.  (BTW: I used the RATTM Motor version where the Chinese comments are already translated into English).
 
May be, the “original” software developer, to whom Benedikt and Chris have access, can make an “external secure copy” of the files describing the parameters so that we don’t have to make educated guesses any more but get real information…
 
So, here the list of internal variables:
 
#400   coordinate system Z axis zero offset?
 
#450   absolute coordinate programming mode or incremental coordinate mode (<0: incremental)
#451   X coordinate of tool workpiece at start of command
#452   Y coordinate of tool workpiece at start of command
#453   Z coordinate of tool workpiece at start of command
#454   A coordinate of tool workpiece at start of command
#455   Current coordinate system (0:“Mach”, 1:G54, … 6:G59)
 
#488      X parameter passed to function
#489      Y parameter passed to function
#490      Z parameter passed to function
#491      A parameter passed to function
#492      B parameter passed to function
#493      C parameter passed to function
#494      I parameter passed to function
 
#496      K parameter passed to function
#497      R parameter passed to function
 
 
I think, parameters #500… are not system fix but filled especially for the functions  called thereafter (parameter passing), but I’m not sure)
(Parameters used in Probe.nc: )
#571   system uses the fixed position tool (bool)     (param #71!)
#572   defined tool position X?                       (param #72!)
#573   defined tool position Y?                       (param #73!)
#574   defined tool position Z?                       (param #74!)
#575   Z axis retracts after probe                    (param #75!)
#578   Z axis retraction speed after probe
 
(Parameters of O100: )
#516   Coordinate system (count differ to #455! 0..7! May be 7 maps to “current”, 1..7 to G54 … G59,Mach)
#582   Safety height?
 
(From G28: )
#800   X Zero Position of “Mach” relative to “home”
#801   Y Zero Position of “Mach” relative to “home”
#802   Z Zero Position of “Mach” relative to “home”
#803   A Zero Position of “Mach” relative to “home”
#804   X Zero Position of G54 relative to “home”
#805   Y Zero Position of G54 relative to “home”
#806   Z Zero Position of G54 relative to “home”
#807   A Zero Position of G54 relative to “home”
#808   X Zero Position of G55 relative to “home”
#809   Y Zero Position of G55 relative to “home”
#810   Z Zero Position of G55 relative to “home”
#811   A Zero Position of G55 relative to “home”
#812   X Zero Position of G56 relative to “home”
#813   Y Zero Position of G56 relative to “home”
#814   Z Zero Position of G56 relative to “home”
#815   A Zero Position of G56 relative to “home”
#816   X Zero Position of G57 relative to “home”
#817   Y Zero Position of G57 relative to “home”
#818   Z Zero Position of G57 relative to “home”
#819   A Zero Position of G57 relative to “home”
#820   X Zero Position of G58 relative to “home”
#821   Y Zero Position of G58 relative to “home”
#822   Z Zero Position of G58 relative to “home”
#823   A Zero Position of G58 relative to “home”
#824   X Zero Position of G59 relative to “home”
#825   Y Zero Position of G59 relative to “home”
#826   Z Zero Position of G59 relative to “home”
#827   A Zero Position of G59 relative to “home”
 
 
(From O100, O101: )
#840 X machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#841 Y machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#842 Z machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#843 A machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#844 X machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#845 Y machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#846 Z machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#847 A machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#848 X machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#849 Y machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#850 Z machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#851 A machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#852 X machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#853 Y machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#854 Z machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#855 A machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#856 X machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#857 Y machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#858 Z machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#859 A machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#860 X machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#861 Y machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#862 Z machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#863 A machine tool position of coordinate system #516 (not sure what 0..7 mean!)
#864 X machine tool position of coordinate system #516 (not sure what 0..7 mean, from Probe.nc: “current”?!)
#865 Y machine tool position of coordinate system #516 (not sure what 0..7 mean, from Probe.nc: “current”?!)
#866 Z machine tool position of coordinate system #516 (not sure what 0..7 mean, from Probe.nc: “current”?!)
#867 A machine tool position of coordinate system #516 (not sure what 0..7 mean, from Probe.nc: “current”?!)
 
 
(From probe.nc, see also O100, O101):
#864   current machine tool coordinate position X
#865   current machine tool coordinate position Y
#866   current machine tool coordinate position Z
 
#870   probe thickness?                               (param #69?)
 
 
Some general hints, questions:
 
G-Codes of number  No are implemented as subprograms O900+No.
 
RDRECODE[#1]   something like interpreting a string as G-code  on the fly, See O102??
I guess this is a very powerful function, but I have no clue how it works…
 
 
M101 Probe detection macro start?
M102 Probe detection macro end?
 
List of defined G-Codes and Macros in the system lib:
 
(G12 I)                                                 CW Circle cutting
(G13 I)                                                 CW circle cutting
(G28 X Y Z A)                                     Return to home position
(G81 X Y Z R K)                                  Simple drilling cycle
(G82 X Y Z R K P)                              Drilling cycle with dwell  (Counterboring)
(G83 X Y Z R Q K)                             Peck drilling cycle (Full Retract)
(G102 X Y AX B C L)                        oblique ellipse X length X width A oblique ellipse long axis and X axis angle B initial angle C terminating angle L angle step length
(G103 X Y AX B C L )                        Inclined ellipse X Length X width A Oblique ellipse Long axis and X axis angle B Initial angle C End angle L Angle step size
(G110 X Y Z R)                                   Milling of the rectangular plane X Length Y Width Z Milling plane depth R Tool radius
(G111 I Z R)                                        Clockwise milling plane I Circular plane radius Z Milling plane depth R Tool radius
(G112 I Z R)                                        Counterclockwise milling plane I Circular plane radius Z Milling plane depth R Tool radius
(O100)                                                 Return to zero The safety height is the workpiece coordinate
(O101)                                                 sub program: safez
(O102)                                                 Run the recording track
(O103)                                                 Return to zero The safety clearance is machine coordinate
 
If anybody has more information, better understanding of the sources ore detects any error in the list: PLEASE share it here!
 
Josef
 

WeldingRod:
 :mmr:
OK, I went and tested the functions that JPoepsel found.  All I can say is SCORE!
All of this is with this preface code: G17 G21 G90 G94 G54.  Thus, I am expecting all of this to happen in the XY plane, which it does.

G12, G13, I is radius of the circle.  It starts with a +X motion to the radius, finishes at center
G102  Clockwise from the top, G103 is counterclockwise
   A; the ANGLE of the major axis.  0 degrees is aligned with Y
   45 is +x +y direction
   Center of the elipse is at start.  It goes back to the start position when it finishes.
G110 starts at current position, Goes +X and +y half the cutter, goes to Z position
    X is the X measure of the rectangle, starts toward +X
   steps toward +y by 1 cutter diameter each pass, goes back to start position afterwards
G111 Mills outward from center in circles, finishes at start position, with a radial step outward in the +X direction
   As an example, G111 I10 Z-10 R1 works
G112 is opposite rotation
   **** Works with R2 and R2.9, just does a stair step at R3 if the circle is only 30mm or so.  A really big circle will get you a stairstep outward, then a revolution or two.
   Has a hitch/jolt once per rev. as it steps outward
   Tool path display doesn't work right for this

G81 XYZ is the step over distance from the start point. K is the number of cycles. 
   Basically drills a set of holes in a line.  DOES NOT go back to start point
   R is drill depth

G82 P is pause, looks like milliseconds, Everything else the same as G81
G83  Q is distance per peck cycle, Everything else the same as G81.
   So, if you are drilling 10mm deep and set Q for 2mm, it will take 5 peck cycles to get to bottom.

Will_D:
Hi Josef,

Indeed great work. I have also been exploring the language functions and the parameters as well.

It appears that #455 and #516 are equivalent, and take the values  0:Mach, 1..7 = G54..G59

I have also checked:
#568 is indeed parameter #68
#569 is parameter be #69  (#70 is the electrical level)

You mention
"#864 X machine tool position of coordinate system #516 (not sure what 0..7 mean, from Probe.nc: “current”?!)"

My probe.nc does not reference these parameters. Could you please attatch (as a .txt file) your probe.nc file

Does your probe functions work? What are Mode 1 and Mode 2 probing?

Cheers

Will

JPoepsel:
Hi Will!

You are right, #516 is not used directly in probe.nc.

I’m ab it confused at the moment :loco:.
I found your translated probe.nc in this forum (https://madmodder.net/index.php/topic,12427.msg148354.html#msg148354 ) and I think also in this forum there was a post with the nc files of the RATTM RMHV2.1 version with the translated comments (sorry, I do not find the post at the moment, I downloaded the files the time I read the post some weeks ago). I did not check it  that time and thought, that the files on my device (I bought a RATTM RMHV2.1) are identical – but they are not! The ones on my device are not translated!?
“Your” probe.nc is different to this two versions at all. It does a three times test and an averaging, “my” does only a one time test…
I will put  the translated probe.nc I downloaded at the end of this post so you can compare. The question is: where did you get your version?! (BTW: a rough look showed no differences in your slib.nc to mine) .

But to come back to “the real thing”: In Probe.nc  the first ()-comment (in all versions) is

(Reads the current machine tool coordinate position ¶ÁÈ¡µ±Ç°µ¶¾ß»úÐµ×ø±êλÖÃ)

followed by

#20=#864
#21=#865
#22=#866

so I assumed that #864.. are the current machine tool coordinate positions ;-)

In the system lib I found #864 (to be precise: #866) also used in subprogram O100 for the “case statement” of #516. If #516 is 7, #864 is used for correction (with this #[#1+2] indirect addressing trick). #516 may range from 0 to 7 (not 0..6)! This is why I said that #516 is different to #455.

Some words about M101 and M102 used in probe.nc:

In Probe.nc the following is used

M101
G91 G01Z-100 F100
M102
G04 P0   

I’m now more or less sure that M101 means “enable stop movement if probe enabled and probe contact closed” and M102 means “disable stop movement on probe contact”.
So, if M101 is “active”, the probe contact acts like the normal limit contacts! I did not try this, but I think, this also works on any movement in any direction, not only on Z. The G04 P0 is “for  synchronization”, whatever that means.
This in mind it should not be a problem to write a macro which finds the middle of inner/outer circles, rectangles… (assuming, the probe can touch in X/Y directions):headbang:. The result (the center) may be stored as a local zero-position of G55 or any other local coordinate system for readout or other usage…

You asked, whether my probe function works and what are the differences between mode 1 and 2 ?! To be honest: I don’t know. I tried it and I have an idea, but I do not use it at the moment  (need some practice with my machine until I risk a tool lost ;-) ) . Here my idea:  Mode 1 uses the probe and sets Z to 0 in the local coordinate system (with some offsets) after probe contact. Mode 2 uses an internal variable to store the first probe result done after an All-Zero-Setting of coordinates by the user. This internal variable is used from the second probe on to use differences to the first to calculate relative tool offsets (see also comments in Probe.nc. Since the probe mode number in Probe.nc is not used (at least I don’t can figure it out), there must be some other “magic” build in the system)).

Josef

P.S.: Here “my” (unmodified) Probe.nc (translated version):

G04P0 ;Pause for 0s£¬The current machine coordinate position is correctly read for subsequent programs ΪºóÐø³ÌÐòÕýÈ·¶ÁÈ¡µ±Ç°»úÐµ×ø±êλÖÃ
M5;Close the spindle ¹Ø±ÕÖ÷Öá
(Reads the current machine tool coordinate position ¶ÁÈ¡µ±Ç°µ¶¾ß»úÐµ×ø±êλÖÃ)
#20=#864
#21=#865
#22=#866
;Determines whether the system uses the fixed position tool presetting mode or the current position setting mode
(¹Ì¶¨¶Ôµ¶Ä£Ê½Ï£¬Çó³öX¡¢Y¡¢ZµÄ½ø¸øÁ¿)
IF#571EQ0GOTO1
#1=#572-#20
#2=#573-#21
#3=#574-#22
GOTO2
(X, Y, Z feedrate is cleared in current tool setting mode µ±Ç°¶Ôµ¶Ä£Ê½Ï£¬X¡¢Y¡¢Z½ø¸øÁ¿ÇåÁã)
N1#1=0
#2=0
#3=0
(Move to the initial position of the tool ÒÆ¶¯µ½¶Ôµ¶³õʼλÖÃ)
N2G91G00Z#3
G91G00X#1Y#2
(100% speed detection of 100mm knife detection signal ÒÔ100ËÙ¶ÈÏÂ̽100mm¼ì²â¶Ôµ¶ÐźÅ)
N1M101
G91G01Z-100F100
M102
G04P0 ;Pause for 0s ÔÝÍ£0s
#402=#400;Save the coordinate system Z axis zero offset ±£´æ×ø±êϵZÖáÁãµãÆ«ÖÃ
#403=1;Set the automatic correction coordinate system flag ÉèÖÃ×Ô¶¯ÐÞÕý×ø±êϵ±êÖ¾
#404=-#870;Save the thickness of the block, if the thickness of the blade before the parameter is 0, the system will use the variable correction on the block thickness parameters in order to complete the first knife ±£´æ¶Ôµ¶¿éºñ¶È£¬Èç¹û֮ǰ¶Ôµ¶¿éºñ¶È²ÎÊýΪ0£¬ÏµÍ³½«²ÉÓøñäÁ¿ÐÞÕý¶Ôµ¶¿éºñ¶È²ÎÊý£¬ÒÔÍê³ÉµÚÒ»´Î¶Ôµ¶
G91G01Z#575F#578;The tool is completed and the Z axis retracts ¶Ôµ¶Íê³É£¬ZÖá»ØÍË

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version