Results 1 to 9 of 9

Thread: A few honest questions

  1. #1
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default A few honest questions

    I'd like to ask Camsoft a few questions, without causing any kind of a war. Yet, I want to do it publicly, so that others can see and add their useful input.

    I don't have an ax to grind right here, but I have wondered a few things as I have used the Camsoft GUI for a while.

    Here are some of the questions:
    The use of the optional skip character, commonly the forward slash: now as background to this, I know that Camsoft and the Galil motion card seem to have a "program length buffer". This means unlimited lookahead, but I really have no idea how other "black box" cnc's handle this problem with hundreds of line lookahead, either.

    What happens is that, even though I might program a button on the GUI to act as the "Block skip", it really has no effect unless I reload the current nc program. I contrast this behaviour with the Fanuc style control, which monitors the state of the optional skip switch (might be called block delete, too) on the fly. This permits the machinist to make a decision while the program runs, as to whether he wants to skip an upcoming certain block or not. He does not have to reload the program to make the block skip functional.

    So, if I have made myself clear, is there any way to improve this emulation of the Fanuc "block skip" switch? Or perhaps, the way I am thinking of using it "in real time" so to speak, is unusual? What is the consensus on using the Block skip switch?

    Secondly, and I think this is quite an important issue, is interrupting an nc program to change an insert. This could be a common requirement, I think. As I understand it (using version 14.7), I would want to go into Jog mode, and move the tool to clearance or something, change the insert, and then resume the program.

    I created some logic which saves the current position when the jog window is activated. I have a button which will permit me to return the machine to exactly where it was when the jog mode was entered. But this is kind of useless, because now the main program has been cancelled already because at present, going into Jog mode cancels the execution of the nc program. Is there any way to work around this?

    Thirdly, and this might be what your answer would be to the question I just asked, but I really don't understand the utility of the mouse driven "graphic viewport mid program start". Feel free to expound on the virtues of this for all to read about. Although the feature was introduced some time ago, I have not played around with it to any extent. Here is the problem with the concept as I imagine it: just clicking somewhere on the graphic backplot of the part seems a tad crude, as a way to safely get going in a program that was already underway. If the graphic backplot has any degree of 3d complexity to it, how is it possible to pick the restart point? I ask this because I really want to know if I have missed some vital clues as to how this should work. Oh, for sure I know about the prompts for tool change, spindle on, etc, but that could even be a source of confusion and error if the user makes a mistake. What if he clicks on a toolpath for the wrong tool? Since I have not used the Camsoft GUI for mill yet, I can only imagine bad things happening. I just don't understand how there could be enough intelligence in the program to make this sort of start, safe to do.

    Finally, fourth question, the onscreen editor could use some more concise functions, in order to make it clear what is going on, and to save unnecessary mouse clicks to make it all happen. Currently, whenever I edit a program, it is usually for the sake of permanent change that I intend to keep. This means I have to click Save, then do it, then open the file manager, go and look for the nc program's name and reload it, to make certain that the changes I have edited in, are indeed in effect. Otherwise, I will be running the file from the temporary version (mdi.job) loaded in the mdi window. This version will be lost if I shut down the program, and if I don't think to go in and change the file name from mdi.job to whatever it should be. I feel that this is an unusual amount of work to have to go to, when the norm should be that original file saved on the hard drive should be the one that is written to, and saved, and automatically reloaded without all this fuss. To me it would seem to be much less common that I would actually want to auto-save a temporary alteration of a file, and risk losing my edits on the "real" file.

    However, I would be in favour of having one backup copy of the permanent file made, each time the file is edited. This would simply be such a thing as changing the file extension to .bak, and then creating the new file containing all the edits under the current .job extension.

    Now, if I choose to do a mid-program start from the mdi window, this makes more sense to me, and seem safer. However, what I don't like about doing this, is that by starting mid program this way, the GUI assumes that this is now the current program in its entirety. That is, after I get to the M30 or M2, the GUI reloads from the previous midprogram start point. I think this is risky. I think that the entire original program should reload after a midprogram start. Maybe there is a way to force this to happen that I don't know about?

    Sorry for this being so long, but I had the time just now to sit down and write it all out. I look forward to discussion and tips on these questions.

    Thanks.

    Similar Threads:
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  2. #2
    Registered
    Join Date
    Apr 2003
    Location
    United States
    Posts
    306
    Downloads
    0
    Uploads
    0

    Default

    Answers for Hu,

    Someone once said about software development that " one human year is like ten years ".

    Some of us here at CamSoft have been around for only a few years, so we are going to answer the questions as they pertain to the current version V15.3, which may or may not be related to the version you are using. Also there are 5 different levels plus a Lite and Plus versions as well.

    (1) To directly answer your question. All you need is to use the ISTHERE command, which we don't know if you have or not. This way you can test to see IS THERE a \ backslash if so EXIT. You may even make an IF THEN test to see if a certain switch, button or toggle has Block Skip enabled or not to ignore this statement or make it automatic. We should also say that CNC Lite/Plus works the way you described already.

    (2) In the current version you have several choices to select from to accomplish what you described. Three important methods include a command called INSPECT, Visual Mid-Program Restart using the graphics veiwport and a simpler point to a line of code and begin there in the MDI window. This first two are very powerful and addresses your desires. This last one you have and is nothing that special. We don't believe you have the first two methods and if you do, it has changed over the last couple of years, since you have had an update. We believe you would like both of these features very much.

    (3) There is a lot to the Visual Program Re-Start feature. In short you can now zoom in and tumble the 3D graphics in the viewport to exactly choose the precise starting point. This may be mid-way on a line or half way on a circumference of an arc. if you make a mistake choosing there is also a pop-up information window that displays a few things such as the G code line your pointing to and mathematical intersection of the mouse and geometry item. There are several warnings, prompts and also the ability to manually insert extra code if need be. Keep picking until your satisfied then click on the green check ICON. There is a new brochure that you can download in either MS Word DOC file or PDF format on the left side menu of the home page called "Download Brochure" at www.cnccontrols.com The PDF file format is much more complete and more attractive.

    (4) Things have changed, but first the key is after an edit should that change be permanent or temporary. If temporary a new job file is created called MDI.JOB file. Which if the change is good, then save it, under any name permanently. As you pointed out the reason for this that it is much less common to auto-save a temporary alteration of a file, and risk losing your edits on the "real" file. In the current version the save button does not exit the program, it hasn't for some time now. This allows you after an edit to simply press the save, run or exit button next. The .BAK file extension is a good idea, but you could now as easily rename the file while saving too then immediately run it.

    Tech Support
    CamSoft Corp.
    (909) 674-8100
    support@camsoftcorp.com
    www.cnccontrols.com

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  3. #3
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default

    Thanks for those answers.

    With respect to question 1:
    I do have the ISTHERE command all right, but I just never thought to incorporate this into every G and M code to achieve the block skip function. I believe that this is what you are suggesting, am I correct?

    My only worry (perhaps unfounded) is that this is a lot of "extra logic", to add this into every G and M code. Tell me, does this have any kind of detrimental effect on running gcode at a high block rate through the controller?

    I'm a little hazy on the details of the lookahead buffer in CNC Professional, but I understand that the lookahead is actually the full program amount, is this true? If it were true, then what would happen if I flip the block delete switch while the program is running? How can the control cope with the two conflicting requirements: to be ready to interrupt the program at any moment (based on the status of the Block Skip switch or button), but also to run the whole program with complete program lookahead? I would wonder how any high speed controller can cope with this, not just the Camsoft cnc.

    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  4. #4
    Registered
    Join Date
    Apr 2003
    Location
    United States
    Posts
    306
    Downloads
    0
    Uploads
    0

    Default

    Hu,

    Remember CNC pro will do this automatically for you when you either load the program or edit it and CNC Lite/Plus does this already.

    You really have two separate questions here.

    So to answer your first question directly we would suggest a single macro called from your G code file. It would be easiest to make one two line macro. Since macros are public or in other words global to all routines you only have to write it once and all routines in the system can share it from where ever it's called.

    Since the logic is compiled when the CNC.EXE starts, it wouldn't take any more time as if we were to hardcoded it in as we do when it loads or is edited.

    This is related to the next question because when it loads, it's true, it looks ahead the full program length, but if you were to flip a physical switch to enable block delete while it was running and moving, then the macro method would catch it on the fly as cutting. It would do the same if you turned it off quickly.

    The key to this not to use both methods at the same time. So on the tool parameter screen leave the block skip character blank. Remember the Block Skip character is selectable to any character you want to use for block skip and a blank is acceptable. This way it will not automatically skip those \ blocks while loading, rather it will depend on the state of your switch to skip those blocks on the fly, even while moving.

    Tech Support
    CamSoft Corp.
    (909) 674-8100
    support@camsoftcorp.com
    www.cnccontrols.com

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  5. #5
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default

    Thanks very much. That is all very good information. Now I'll go and try it out.

    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  6. #6
    Registered
    Join Date
    Apr 2003
    Location
    United States
    Posts
    306
    Downloads
    0
    Uploads
    0

    Default

    Hu,

    Here ya go. We wrote the macro for you. Just remember to change the variable names if you are currently using them.

    [[On the fly BlockSkip]]
    \2=0
    LOADING \1:IF \1=0 THEN EXIT
    ISTHERE /;\2;\3


    Example of usage

    [On the fly BlockSkip]:IF \2>0 THEN EXIT

    Tech Support
    CamSoft Corp.
    (909) 674-8100
    support@camsoftcorp.com
    www.cnccontrols.com

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  7. #7
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default

    Thanks, I appreciate your support: it helps allay any fears that I won't be happy with the mill retrofit, when I actually get into doing it.

    Can you elaborate a little bit on this new command called "INSPECT"?

    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  8. #8
    Registered
    Join Date
    Apr 2003
    Location
    United States
    Posts
    306
    Downloads
    0
    Uploads
    0

    Default

    INSPECT

    This command combined with the use of the [INSPECT SAVE]] and [INSPECT RESUME] macros will allow the interruption of a part program in progress and then allow the user to jog away. After an inspection of the part, the user can then resume the part program where it left off.

    EXAMPLE: INSPECT

    Tech Support
    CamSoft Corp.
    (909) 674-8100
    support@camsoftcorp.com
    www.cnccontrols.com

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  9. #9
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4826
    Downloads
    0
    Uploads
    0

    Default

    Perfect! Looks like someone beat me to the punch on requesting that command

    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


Tags for this Thread

Posting Permissions

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


About CNCzone.com

    We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

Follow us on

Facebook Dribbble RSS Feed