. .
Page 3 of 4 FirstFirst 1234 LastLast
  1. #21
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 12 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,726. Received thanks 295 times, giving thanks to others 11 times.
    I wasn't there when someone else created a gcode file from F360 which seems to run fine on the 1000MDb. I believe although I can't swear to it that he used a Fanuc PP to generate the code. That ran to about 7000 lines and "compiled" (which I suspect might just mean syntax-checked) and ran. At least, the bench-mounted servos went round and round in a way that looked plausible! That used facing, 2D adaptive clearing, and 2D contour tool paths. Complicated tool paths but basically just a bunch of G1/G2/G3 codes - just lots of them. And I've just had another look at it - turns out that the guy who generated it was using imperial units - there's a G20 at the beginning. I completely missed that first time I looked at it. It certainly seems possible (we tried it) to switch between metric and imperial units by entering G20/G21 at the MDI screen, although I am very aware that it is a very easy way to get yourself completely screwed up. I'm trying to persuade my friend that working entirely in metric units is the only right way to go although he is an imperial diehard!

    To upload pictures, switch to "advanced" mode and just above the box where you type, there is a row of icons that let you add links, upload images, etc. You might need to have posted a minimum number of posts before the system will let you do this - I'm not sure about that.

  2. #22
    Muzzer's Avatar
    Lives in Lytham St. Annes, United Kingdom. Last Activity: 18 Hours Ago Has been a member for 6-7 years. Has a total post count of 423. Received thanks 61 times, giving thanks to others 11 times.
    Yes, I based my PP on the generic Fanuc post. Didn't require a lot of work although I can't recall what changed.

    I made some notes recently when I recreated the post. https://mightyshiz.blogspot.com/2019...essor-for.html Forgive the idiotic ramblings.

    One of the key changes was to cater for the fact it doesn't recognise G28, unless the SZGH allows it.

  3. #23
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 12 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,726. Received thanks 295 times, giving thanks to others 11 times.
    Well, the good news is that according to the SZGH 1000MDb manuals, G28 is supported. I would have guessed that it is because, supposedly, the controller supports toolchangers (although my project isn't using one). I think that G28 can often translate loosely as "move to tool change position." Still good to know that they make specific reference to it.

    Bad news is that I can't find how to actually set the G28 position. There are hundreds of parameters that are settable and I'm guessing that it's in there somewhere but I haven't found it yet. A search for "reference position" in the two manuals throws up lots of references to how and where it is used, but nothing on how it is set in the first place! But we'll get there eventually...

  4. #24
    Muzzer's Avatar
    Lives in Lytham St. Annes, United Kingdom. Last Activity: 18 Hours Ago Has been a member for 6-7 years. Has a total post count of 423. Received thanks 61 times, giving thanks to others 11 times.
    Therein lies the challenge that is Chinglish. The words have been translated by a machine, rather like Google Translate, so the final words may be related to what you need to know but not the ones you'd choose.

    I don't know why I replaced the G28 commands in my post, as I see that it implements both G28 and G30. Difficult to imagine anyone omitting those when you think about it.

    Isn't the home position used by the G28 command the one that is set when you home the machine? To home these controllers, I think you press the "Return" button on the panel switch. The homing sequence etc are defined in various parameters, mainly the "Axis" ones. The actual parameter numbers may differ with your SZGH controller but here's my translation of the relevant section of the 990 manual. It may give you a pointer where to look:

    Using a home switch:
    Homing operation returns each axis to the machine home position in turn. When the parameter of feeding axis which back to datum point is 0, the axis of coordinate detects the datum point and return to the pulsing signal of “Zero”, the machine coordinate will be set to 0 automatically.
    At system power up, once alarms are cleared and the e-stop button is released, the machine should be homed for correct operation.
    Note:
    The system should be homed every time it is powered on. The homing method can be set by #38 in Axis Parameter. It can be prompted or forced.
    The method and type of homing signal can be set by #39 in Axis Parameter. Detecting the home switch can be sufficient. However, detecting the Z (index) signal of the axis motor encoder after detecting the home switch will give better precision.
    The direction for homing for each axis can be set by #40 in Axis Parameter. D2, D3 & D4 correspond to X, Y, & Z axis. 0 is forward, 1 is reverse.
    The type of the homing switch for the home position can be set by #41 in Axis Parameter. D0, D1 & D2 correspond to X, Y & Z axis. 0 is NC, 1 is #
    The maximum search distance for detecting the Z (index) pulse of the axis motor can be set by #37, #38 & #39 in Axis Parameter. The value must less than the movement of the axis due to one revolution of the motor.
    The return distance after homing can be set by #46, #47 & #48 in Axis Parameter.

  5. #25
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 12 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,726. Received thanks 295 times, giving thanks to others 11 times.
    My understanding is that the G28 reference position is not necessarily the home position although I agree reading the manual that for the 1000MDb, they might be the same thing. For example, in both Mach3 and the MyCNC software that I'm currently using with my router, you can separately define the G28 position (machine coordinates, obviously) and in fact I set it over the fixed touchplate set into the bed of my machine. Definitely not the home position! But, control systems vary so maybe SZGH and the clones think differently. I have found where the home position and homing parameters are set, use of index pulse, offset of machine zero from physical home position, etc, and I had hoped that G28 was defined in the same parameter set. But I don't think it's quite that easy...

    It does make sense to me that there are separate sets of coordinates for machine home and tool change position, but maybe that's just thinking that's been conditioned by what I have been using to date. Again, in my case, it's useful to have these separate as my G28 position is over the bed while the physical home position is over the floor - less useful when you drop a tool during a tool change!

    Actually, thinking about homing, I do need to check if the index pulse gets sent back to the controller. I'm not sure that the encoder pulse outputs (which are available on the motor) are cabled through to the controller. I don't think that we have a cable from SZGH that connects to the encoder pulse input socket on the back of the controller - I'll need to double-check that. It would mean that the controller display would act as a DRO if the manual handwheels were used. Although, as discussed elsewhere, I would discourage the owner of the machine from doing that!
    Last edited by Neale; 12-11-2020 at 10:37 PM.

  6. #26
    Muzzer's Avatar
    Lives in Lytham St. Annes, United Kingdom. Last Activity: 18 Hours Ago Has been a member for 6-7 years. Has a total post count of 423. Received thanks 61 times, giving thanks to others 11 times.
    My Acorn system allows several G28 / G30 "return" positions to be stored, for things like tool change, tool setter, park etc. But G28 seems to be quite a confusing command and is interpreted and implemented differently depending where you look. I don't recall a similar table of return positions in the Newker controller.

    There's the option to set coordinates for the electronic tool setter in mine. As I have bolted mine to the table, I use that option. The alternative is to simply sit it on the table under the tool. The advantage of that approach is that you can also use the tool setter to acquire the top of the stock, by sitting the setter on top of the stock, touching off, then automatically subtracting the height of the setter from the Z coordinate.

    There is an MPG input on mine which I use with a wired MPG but I looked into using the original DRO linear encoder inputs to display actual position rather than commanded position. Thought that sounded like a nice idea - I'd come to believe this was possible but turns out it isn't. I could still use an index pulse output from the motor servo drive (if it was available) to improve the homing accuracy but on my Bridgeport that would be lipstick on a pig.

    If you want to use the handwheels and see where the machine is, I think you'd need to have the "absolute" version of the controller which communicates with the servos through some sort of serial bus. Even then it's not clear if that mode is supported.

  7. #27
    In the Fanuc standard G28 and G30 are actually simple commands but easily miss understood and used. How G30 works also depend on the controller.

    G28 just returns to MACHINE zero, however it does this by way of going thru an intermediate point first, or it can if required. Also how it works changes depending on G90, G91 modes and it''s this that I think catches people out most.

    For instance in theory you could just type G28 and nothing else and the machine would go to the MACHINE ZERO position, however, the Fanuc standard requires you enter an Axis and a value, this value is the intermediate position the axis should go thru on it's way to MACHINE ZERO.
    In practice, the current Position the tool is located is often used for the intermediate value and the Axis then goes straight to ZERO. But here is where it can get funky, this depends on what mode you are in G90 or G91. For instance, these two example lines below will give exactly the same movement. For this example assume the tool is located at X10.
    #1
    G90
    G28 X10

    #2
    G91
    G28 X0
    Both these commands will move to the MACHINE ZERO via the intermediate point.?

    With Example, #1 X10 is the intermediate point, which is the location of the tool now so it goes straight to MACHINE ZERO.
    But with the example, #2 things are different because we are now in the INCREMENTAL mode so we are no longer going thru an intermediate point but rather moving an intermediate distance on the way to ZERO. So X0 is seen as moving zero distance and then the axis goes to MACHINE ZERO.
    Now if the code read as below it would be different again.
    G91
    G28 X10
    In this case, the X-axis would move 10mm positive from its current location then move to MACHINE ZERO.

    Now G30 is actually classed as a move to a secondary ZERO position and depending on the controller can actually have several ZERO positions.
    But again in practice, it gets used exactly like G28 because of how it works.
    G30 works just like G28 and sends the Axis to ZERO by going through an intermediate position but G30 works by going to the secondary ZERO which is set in the controller parameters. Depending on the controller you can have several G30 ZERO positions that are stored in parameters and called by using a "P" address.
    So G30 P3 X10 would move to or thru intermediate point X10 then use the value stored in parameter #3 and move the X to this ZERO location.

    However, often just G30 X10 would be used and in this case, because no "P" address is given it assumes "P1" as a default ZERO value and because many people don't program the Controllers Secondary ZERO position or the controller doesn't have this option then G30 is used just like G28 and sends the axis to ZERO.

    But in essence, both G28 and G30 simply just move to MACHINE ZERO via an intermediate point.
    -use common sense, if you lack it, there is no software to help that.

    Email: [email protected]

    Web site: www.jazzcnc.co.uk

  8. The Following User Says Thank You to JAZZCNC For This Useful Post:


  9. #28
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 12 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,726. Received thanks 295 times, giving thanks to others 11 times.
    Thanks, Dean, that has clarified a few things. After reading the manual quite a few times, I was coming to the conclusion that G28 was effectively "move to machine zero", but with an optional intermediate point. Similar to Mach3 and MyCNC except that these allow a G28 position definition rather than assuming machine zero. I'm used to seeing code that has something like:
    G28 G91 Z0
    G90
    near the end - meaning raise to machine Z0 before going to ref posn in XY, so you don't clout anything on the way. What I'm not sure about (because the manual isn't that easy to understand) is whether this sequence would work on the SZGH controller as there is something about not moving along an axis if it is not specified in the G28, so you would actually need something like:
    G28 G91 X Y Z0
    G90
    - but maybe not!
    Looking at G30, I get the impression that it does exactly the same as G28 except that it uses the current work coord zero. But I'm guessing a bit here as the manual is not at all clear. In particular, it describes G28 in detail, then mentions G281/282/283/284 which do the same thing but only in X/Y/Z/A axis. It also talks about G301/302/303/304 which are similar but G30 is not mentioned in this section at all - although it is in the table of recognised gcodes.

    So, in practice, on this controller, if you have a fixed position tool setter or tool change position, would you arrange for this to be at machine coord zero, and arrange home switches at limits of travel but with appropriate offsets for the home position? Then G28 would work in the way that we currently know and love (including use of G91/90 as in my code snippet above).

  10. #29
    Quote Originally Posted by Neale View Post
    I'm used to seeing code that has something like:
    G28 G91 Z0
    G90
    near the end - meaning raise to machine Z0 before going to ref posn in XY, so you don't clout anything on the way.
    No Neale it doesn't mean that, this is what confuses people. G91 sets the mode to incremental so "Z0" doesn't mean go to ZERO. It means the intermediate move length is ZERO units long and then the Axis moves to the ZERO position. So in your case, it's just moving to ZERO, the result is the same thing but only because the value is ZERO, if it had been Z-10 then it would move -10 from the current position then moved to ZERO. Try it.!

    The reason G91 is often used is that sometimes you don't know the current location (ie: after a canned drilling cycle) so can't specify the current location as the intermediate location for the G28 move. So G91 incremental works better because you are now telling it to move a distance rather than to a location, Hence Z0 is moving ZERO units then it goes to MACHINE ZERO.

    Quote Originally Posted by Neale View Post
    What I'm not sure about (because the manual isn't that easy to understand) is whether this sequence would work on the SZGH controller as there is something about not moving along an axis if it is not specified in the G28, so you would actually need something like:
    G28 G91 X Y Z0
    G90
    - but maybe not!
    Looking at G30, I get the impression that it does exactly the same as G28 except that it uses the current work coord zero. But I'm guessing a bit here as the manual is not at all clear. In particular, it describes G28 in detail, then mentions G281/282/283/284 which do the same thing but only in X/Y/Z/A axis. It also talks about G301/302/303/304 which are similar but G30 is not mentioned in this section at all - although it is in the table of recognized gcodes.

    So, in practice, on this controller, if you have a fixed position tool setter or tool change position, would you arrange for this to be at machine coord zero, and arrange home switches at limits of travel but with appropriate offsets for the home position? Then G28 would work in the way that we currently know and love (including use of G91/90 as in my code snippet above).
    If it follows the common Fanuc standard, which I think it does, then it should work as I explained where G28 just moves to Machine ZERO but through an intermediate position. Only G30 with it's secondary parameters can move to different positions which are defined in the controls parameters and as shown called with a "p" call in the code ie: G91 G30 P301 Z0 where the "P301" is the parameter address in the controller and the value in this parameter is the location. The Z0 is again saying move Zero units for the intermediate move because we are in G91 Mode.

    What I think the manual is saying with G281/282/283/284/ is that it stores the ZERO values for each axis in these parameters, these parameters can then be called in macro's, etc using the "p" address. ie: G0 P282 is like saying G28 Y
    Last edited by JAZZCNC; 13-11-2020 at 11:39 PM.
    -use common sense, if you lack it, there is no software to help that.

    Email: [email protected]

    Web site: www.jazzcnc.co.uk

  11. #30
    Something else I think should be pointed out for sake of clarity and might also explain why G28 sometimes doesn't work as expected is better explination of the intermediate move and how it works. The intermediate move is NON optional for both G28 and G30 and it must be included along with an Axis definition for it to work. But this is what can make it appear to work strangely.?
    The G28/G30 commands is exclusively a move to MACHINE Zero Position, however, there's a sting in it's tail which is what bites people, so lets say you command:
    G90 G28 X0 Y0 Z0 what do you think will happen.?
    You'd assume X0,Y0,Z0 would mean move the axis to Machine Zero. . . .But it won't.!
    Remember the intermediate move MUST happen, so in this case X0,Y0,Z0 are the intermediate move coordinates but in what Coordinates system.? Machine or Work.?? . . Yep the intermediate moves are in WORK coords, so in this case it would go to the WORK ZERO, then to the MACHINE ZERO. And you can imagine the carnage that could happen if the tool was located at the other end of the machine and all 3 axis set off going for WORK ZERO together before heading to MACHINE ZERO.!!

    So this is why G90/G91 become so important when using G28/30. Often G28 will be proceeded with G91 to put into incremental mode to make it easier with the intermediate move then straight after the G28 move the next line will be G90 to put back into Absolute mode which is safer to work in.

    Little differences BIG end results if get it wrong.!
    Last edited by JAZZCNC; 14-11-2020 at 01:22 AM.
    -use common sense, if you lack it, there is no software to help that.

    Email: [email protected]

    Web site: www.jazzcnc.co.uk

Page 3 of 4 FirstFirst 1234 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Upgrade questions fro beaver mill VBRP Mk2 with Anilam Crusader II controls
    By Breg90 in forum Milling Machines, Builds & Conversions
    Replies: 11
    Last Post: 25-05-2020, 08:08 PM
  2. RFQ: Semi automatic welding system Linear beam control system
    By richway in forum Projects, Jobs & Requests
    Replies: 0
    Last Post: 24-01-2017, 08:54 PM
  3. Replies: 3
    Last Post: 18-05-2014, 03:40 AM
  4. Replies: 0
    Last Post: 06-02-2014, 09:52 PM
  5. drive control system
    By oadamo in forum General Electronics
    Replies: 1
    Last Post: 22-05-2011, 07:30 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •