Welcome to Our Community

Some features disabled for guests. Register Today.

Identifying controller firmware

Discussion in 'CNC Mills/Routers' started by SeanD, Nov 11, 2020.

  1. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    I am trying to help a friend with his CNC machine, it has the following control shown in the picture.

    I would like to find out what it could be running to identify the correct post processor.

    My current problem in testing with the OpenBuilds post processor (I know it’s not designed for this) is that it sends a G54 command on its own, then a single G53 command with the Z height I have specified in Fusion 360 for it to go to at the end of the job.

    This is working as expected but it doesn’t go back to G54 after it runs the single G53 command. If I delete the G53 command it keeps going on G54 or alternatively if I put G54 in front of all of the movement commands it works.

    If I just do what I normally do with my Blackbox, it doesn’t keep using G54, it uses the homing location of the machine instead.


    I am sure I am going about this wrong, any help in the right direction would be greatly appreciated.
     

    Attached Files:

  2. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Aug 6, 2013
    Messages:
    3,439
    Likes Received:
    1,909
    I dont know what controller that is, but I can say it is not following the standards.

    G53 is not modal, you have to give it on every line that needs it to force the machine to use machine coordinates
    G54 through G59 ARE modal, once set they are remembered and used until changed, and a G53 does not change the modal state.
    obviously that controller is not doing that.

    what is the GUI?

    if you have the latest OB Fusion post you can modify it to output the G54 after the G53 (I can only give line numbers for the latest version V1.0.21)
    copy lines 644-651 after line 721
    Code:
    // Write the WCS, ie. G54 or higher.. default to WCS1 / G54 if no or invalid WCS in order to prevent using Machine Coordinates G53
       if ((section.workOffset < 1) || (section.workOffset > 6)) {
          alert("Warning", "Invalid Work Coordinate System. Select WCS 1..6 in SETUP:PostProcess tab. Selecting default WCS1/G54");
          //section.workOffset = 1;  // If no WCS is set (or out of range), then default to WCS1 / G54 : swarfer: this appears to be readonly
          writeBlock(gWCSOutput.format(54));  // output what we want, G54
       } else {
          writeBlock(gWCSOutput.format(53 + section.workOffset));  // use the selected WCS
       }
    
    copied in-between
    Code:
             writeBlock(gFormat.format(53), gFormat.format(0), zOutput.format(toPreciseUnit(properties.machineHomeZ, MM)));  // Retract spindle to Machine Z Home
          // Insert the Spindle start command
    
    if you got that right then it will put a G54 after the G53 line which should fix their nonstandard behaviour
     
  3. SeanD

    SeanD Well-Known
    Builder

    Joined:
    Mar 23, 2019
    Messages:
    207
    Likes Received:
    65
    The CNC is an OmniCAM, really well designed machine mechanically. Only interface at this stage is a handheld unit. Not sure if the processing of the GCode is done by the handheld component or the board but I thought the G54 should persist through the G53 command on only one line.

    thanks as always for your help man. You are awesome!
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice