Loading ...
Sorry, an error occurred while loading the content.

RE: Control Vars

Expand Messages
  • vmax549
    #define PROBE_POS_X 5061 // G31 Skip signal #define PROBE_POS_Y 5062 #define PROBE_POS_Z 5063 #define PROBE_POS_A 5064 #define PROBE_POS_B 5065 #define
    Message 1 of 5 , Sep 12, 2013
    • 0 Attachment

       #define PROBE_POS_X    5061    // G31 Skip signal

      #define PROBE_POS_Y    5062
      #define PROBE_POS_Z    5063
      #define PROBE_POS_A    5064
      #define PROBE_POS_B    5065
      #define PROBE_POS_C    5066


      --- In mach1mach2cnc@yahoogroups.com, <vmax549@...> wrote:

      LOOKIN GOOD, I notice you only have 1 G30 location. Are you useing the Fanuc convention for G28/g30 where G28 is the Machine home and/or offset from Refhome and G30s (more than one) are Work Homes that can be set to different locations in Machine coords?


      Mach3 is backwards in that respect where G28 is a WORKhome and the G30 is the machine zero/or offset from RefHome.


       



      --- In mach1mach2cnc@yahoogroups.com, <mach1mach2cnc@yahoogroups.com> wrote:

      Good question.. Here is what we have in Mach4 at this time:

      /* numerical constants */
      //Parameter registers
      #define CUR_TOOL_ZLENGTH_REGISTER    2035
      #define CUR_TOOLDIA_REGISTER        2034 //Register for the amount of tool dia offset
      #define CUR_TOOL_XLENGTH_REGISTER    2033
      #define CUR_TOOL_YLENGTH_REGISTER    2036

      #define FRO_ON_OFF        2027    //FRO On or Off
      #define CUR_TOOL_NUMBER        2029    //Current tool number (T)
      #define CUR_SELECTED_TOOL    2031    //Current tool that is selected (Next T number)
      #define CUR_LENGTH_INDEX        2032    //Current Length number (H)
      #define CUR_DIA_INDEX        2028    //Current Dia number (D)
      #define CURRENT_TIP        1237    //Tool tip direction in Lathe mode for Tip Comp

      //Tool Numbering
      #define TOOLS_START    7781    //Start of Tools in Parameter list
      #define TOOL_INC        10    //Inc from tool to tool in the param list

      #define TOOL_MILL_X            0    //X offset
      #define TOOL_MILL_X_W        1    //X Wear offset
      #define TOOL_MILL_Y            2    //Y offset
      #define TOOL_MILL_Y_W        3    //Y Wear offset
      #define TOOL_MILL_HEIGHT    4    //Tool height offset
      #define TOOL_MILL_HEIGHT_W    5    //Height wear Offset
      #define TOOL_MILL_RAD        7    //Rad for comp
      #define TOOL_MILL_RAD_W        8    //wear offset for comp
      #define TOOL_MILL_POCKET    6    //Tool changer pocket


      #define TOOL_LATHE_X            0    //X offset
      #define TOOL_LATHE_X_W            1    //X Wear offset
      #define TOOL_LATHE_Y            2    //Y offset
      #define TOOL_LATHE_Y_W            3    //Y Wear offset
      #define TOOL_LATHE_Z            4    //Z offset
      #define TOOL_LATHE_Z_W            5    //Z wear offset
      #define TOOL_LATHE_POCKET        6    //Pocket # (may not be needed)
      #define TOOL_LATHE_TIPRAD        7    //Tip Rad for comp
      #define TOOL_LATHE_TIPDIR        8    //Tool tip DIR
      #define TOOL_LATHE_TOOLSLIDE    9    //AxisSlide number  and - for reversed

      #define TOOL_TYPE                  9    //Type = 0 == MILL Type != 0 == Lathe

      #define FIXTURES_START    5221    //Fixture start in Parameter list
      #define FIXTURES_INC    20    //Inc from fixture to fixture

      #define LAST_OUTPUT_X    5001
      #define LAST_OUTPUT_Y    5002
      #define LAST_OUTPUT_Z    5003
      #define LAST_OUTPUT_A    5004
      #define LAST_OUTPUT_B    5005
      #define LAST_OUTPUT_C    5006

      #define CURRENT_X        5021
      #define CURRENT_Y        5022
      #define CURRENT_Z        5023
      #define CURRENT_A        5024
      #define CURRENT_B        5025
      #define CURRENT_C        5026

      #define G_30_XPOS        5181
      #define G_30_YPOS        5182
      #define G_30_ZPOS        5183
      #define G_30_APOS        5184
      #define G_30_BPOS        5185
      #define G_30_CPOS        5186

      #define HEAD_SHIFT_X    5110
      #define HEAD_SHIFT_Y    5111
      #define HEAD_SHIFT_Z    5112
      #define HEAD_SHIFT_A    5113
      #define HEAD_SHIFT_B    5114
      #define HEAD_SHIFT_C    5115

      #define WORK_SHIFT_X    5201
      #define WORK_SHIFT_Y    5202
      #define WORK_SHIFT_Z    5203
      #define WORK_SHIFT_A    5204
      #define WORK_SHIFT_B    5205
      #define WORK_SHIFT_C    5206

      #define ORIGIN_OFFSET_X    4100
      #define ORIGIN_OFFSET_Y    4101
      #define ORIGIN_OFFSET_Z    4102
      #define ORIGIN_OFFSET_A    4103
      #define ORIGIN_OFFSET_B    4104
      #define ORIGIN_OFFSET_C    4105

      #define AXIS_OFFSET_X    5030    //Used to save the offset with the G92.3 command
      #define AXIS_OFFSET_Y    5031
      #define AXIS_OFFSET_Z    5032
      #define AXIS_OFFSET_A    5033
      #define AXIS_OFFSET_B    5034
      #define AXIS_OFFSET_C    5035

      #define G92_OFFSET_X    5050    //Used to save the offset with the G92.3 command
      #define G92_OFFSET_Y    5051
      #define G92_OFFSET_Z    5052
      #define G92_OFFSET_A    5053
      #define G92_OFFSET_B    5054
      #define G92_OFFSET_C    5055

      #define PROBE_POS_X    5061    // G31 Skip signal
      #define PROBE_POS_Y    5062
      #define PROBE_POS_Z    5063
      #define PROBE_POS_A    5064
      #define PROBE_POS_B    5065
      #define PROBE_POS_C    5066

      #define CUR_COMP_X    5157    // program x, used when cutter comp on
      #define CUR_COMP_Y    5158    // program y, used when cutter comp on
      #define CUR_COMP_Z    5159    // program z, used when cutter comp on

      #define CUR_SPINDLE_SPEED    2132
      #define TRAVERSE_RATE    2133     // rate for traverse motions .. I don't think this is needed here..
      #define FEEDRATE        2134    // feed rate in current units/min
      #define DEFAULT_UNITS     3005    //  (bit 2 = 0 Inch, bit 2 = 1 Metric)

      #define MOD_GROUP_1  4001//Group 1    // active G-code for motion
      #define MOD_GROUP_2  4002//Group 2    // active plane, XY-, YZ-, or XZ-plane
      #define MOD_GROUP_3  4003//Group 3    // absolute or incremental
      #define MOD_GROUP_4  4004//Group 4    // Arc Center mode
      #define MOD_GROUP_5  4005//Group 5    // G_93 (inverse time) or G_94 units/min
      #define MOD_GROUP_6  4006//Group 6    // millimeters or inches
      #define MOD_GROUP_7  4007//Group 7    // current cutter compensation side
      #define MOD_GROUP_8  4008//Group 8
      #define MOD_GROUP_9  4009//Group 9
      #define MOD_GROUP_10 4010//Group 10    // for cycles, old_z or r_plane
      #define MOD_GROUP_11 4011//Group 11    // Polar mode
      #define MOD_GROUP_12 4012//Group 12    // active origin (1=G54 to 9=G59.3)
      #define MOD_GROUP_13 4013//Group 13    // exact path or cutting mode

      #define ROTATION_X    2135
      #define ROTATION_Y    2136
      #define ROTATION        2137

      #define VAR_A 1
      #define VAR_B 2
      #define VAR_C 3
      #define VAR_D 7
      #define VAR_E 8
      #define VAR_F 9
      #define VAR_H 11
      #define VAR_I 4
      #define VAR_J 5
      #define VAR_K 6
      #define VAR_M 13
      #define VAR_Q 17
      #define VAR_R 18
      #define VAR_S 19
      #define VAR_T 20
      #define VAR_U 21
      #define VAR_V 22
      #define VAR_W 23
      #define VAR_X 24
      #define VAR_Y 25
      #define VAR_Z 26

      Hope that helps
      Brian


      On 9/12/2013 4:10 PM, vmax549@... wrote:
      Hiya Brian, In Mach4 do you plan on bringing out the control parameters as #vars. THings such as tool diameter, Sspeed, Feedrate, offsets both fixture and G92/52, ETC???

      I am currently working on new Subs and having these available from Gcode would be extremely handy. EVEN though you are limited without CONDITIONAL it would still be very handy in SUBs.

      I have found a few in Mach3 that were brought out to #vars but only a very few and not many that were really usefull.

      Just a thought, (;-) TP



      I see you do NOT have a skip signal error parameter . It is neccesary to KNOW if the Cycle completed without a trip. Do you plan to have a function to write the trip values to file ?? IF so please do NOT write a cycle that does not trip. It corrupts the point file when it happens IF you write the end values.

      Also do you plan a Protected Move mode to protect the probe/tip?  Scott and I have one running in Mach3 and it is NICE to know you have SOME tip protection when not in G31 mode and are travelling around the table or are on approach to a postion to start a probe cycle.

      How about a proble cycle in an ARC ?? That would be fantastic for 3d or profile probing routines

      Which brings up do you plan a Var that lets us KNOW if G31 mode is in motion?? in case you do not plan a Protected move mode.

      OK I will let you get back to work.

      (;-) TP
    Your message has been successfully submitted and would be delivered to recipients shortly.