Announcement

Collapse
No announcement yet.

CnC programs....Turbo-Mach3

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Originally posted by BigJohnT View Post
    Thanks Sparky_NY. You can actually run machines with only HAL and a Glade GUI as shown in this thread.

    And yea the CHNC is an air hog in the worst way but the drives are very tolerant of a phase converter.

    HAL is so simple with only a few commands but seems to be intimating to most until they get their feet wet. My biggest hurdle learning HAL was typos. If you have not read the Basic Hal chapter it is a good couple of pages to read.

    What was difficult to understand at first for you?

    John
    Difficult to understand at first? I still get myself into trouble LOL Here are some of the things that gave me fits in the past

    The components: they are not all listed in one place, same for their docs, takes hunting around. Depending on the type of component they are found in different lists/places. Mux hidcomp pid for example, all in different spots in the docs.

    Components again..... different types are loaded differently and determining when to put them in which thread base/servo. I recently could not get a component to run, found it was a realtime component so it had to go in base thread and have a T parameter assigned for it to work. Assigning a T parameter value is still a mystery to me, ie how to pick the number to use.

    A fair amount is still not documented well enough for beginners. Setting up my servos I recently found myself looking for info on "output_scale", never did find a explanation of the term, how to determine its value to set and so on. I ended up figuring it out by trial and error after searching everywhere. Most the docs I found on "output_scale" listed the term without a word of explanation.

    I have two things to chase down in the near future
    1) When linuxcnc is launched for my lathe, there are default G and M codes listed in the window of commands in effect. I have yet to find where those initial setup commands originate from so I can edit them. I want my lathe to power up in the feed per rev mode and in diameter mode. It looks like I could add those commands in the rs274 section of the ini file but it would be nice to just edit the setup string that is being used by default. I would think that the init setup string of G and M codes should be in the machine ini file or somewheres easily accessible but such is not the case.

    2) The linuxcnc demo g-code program loads by default every time the machine is started. I want to get rid of that and have it start without that file auto-loading. I would much rather it start with no program loaded or a blank file. On a hunt I did find where the file is called up, it was buried deep within a linuxcnc ini/config file or some such thing. I don't remember now but it was a bear to hunt down. I have fears of hitting cycle-start by accident with that file loaded and hearing some loud crash noises as a result.

    I now have gotten pretty good working with the hal. I got my gang tool lathe about done using the mesa 7i77. There is still programming to be done to assign M codes to the collet closer and the 2 speed spindle shift as well as getting that 2 speed spindle all setup so it displays and controls through g-code programs and plays nice with the vfd drive and so on.

    It was very painfull at first migrating to linuxcnc from mach. I nearly gave up after the first few days. Finding a computer that would run the program was another real battle, even the foxconn pc with the atom processor presented a battle. I don't give up easily though and things slowly got easier. I can see where many people might abandon using linuxcnc after the first few hours/days of trying to get started. I am very glad I hung in there.
    Last edited by Sparky_NY; 09-19-2012, 10:23 AM.

    Comment


    • #62
      Wow, just noticed, 2300 views of this thread !!!!! I guess there is some interest in the subject.

      Comment


      • #63
        1) Is this what you are looking for..
        http://linuxcnc.org/docs/2.5/html/co...4ngc_section_a

        RS274NGC_STARTUP_CODE = G01 G17 G20 G40 G49 G64 P0.001 G80 G90 G92 G94 G97 G98 - A string of NC codes that the interpreter is initialized with. This is not a substitute for specifying modal g-codes at the top of each ngc file, because the modal codes of machines differ, and may be changed by g-code interpreted earlier in the session.

        2) http://linuxcnc.org/docs/2.5/html/co...play_section_a

        OPEN_FILE = /full/path/to/file.ngc - The file to show in the preview plot when AXIS starts. Use a blank string "" and no file will be loaded at start up.


        As far as hal comps.. It takes me a few tries usually to get things right (and I have written them also)

        99% of them are here http://linuxcnc.org/docs/2.5/html/

        under - Realtime components and kernel modules

        I am glad you stuck with it. You can see know why I an others are such advocates of linuxcnc.

        Originally posted by Sparky_NY View Post
        Difficult to understand at first? I still get myself into trouble LOL Here are some of the things that gave me fits in the past

        The components: they are not all listed in one place, same for their docs, takes hunting around. Depending on the type of component they are found in different lists/places. Mux hidcomp pid for example, all in different spots in the docs.

        Components again..... different types are loaded differently and determining when to put them in which thread base/servo. I recently could not get a component to run, found it was a realtime component so it had to go in base thread and have a T parameter assigned for it to work. Assigning a T parameter value is still a mystery to me, ie how to pick the number to use.

        A fair amount is still not documented well enough for beginners. Setting up my servos I recently found myself looking for info on "output_scale", never did find a explanation of the term, how to determine its value to set and so on. I ended up figuring it out by trial and error after searching everywhere. Most the docs I found on "output_scale" listed the term without a word of explanation.

        I have two things to chase down in the near future
        1) When linuxcnc is launched for my lathe, there are default G and M codes listed in the window of commands in effect. I have yet to find where those initial setup commands originate from so I can edit them. I want my lathe to power up in the feed per rev mode and in diameter mode. It looks like I could add those commands in the rs274 section of the ini file but it would be nice to just edit the setup string that is being used by default. I would think that the init setup string of G and M codes should be in the machine ini file or somewheres easily accessible but such is not the case.

        2) The linuxcnc demo g-code program loads by default every time the machine is started. I want to get rid of that and have it start without that file auto-loading. I would much rather it start with no program loaded or a blank file. On a hunt I did find where the file is called up, it was buried deep within a linuxcnc ini/config file or some such thing. I don't remember now but it was a bear to hunt down. I have fears of hitting cycle-start by accident with that file loaded and hearing some loud crash noises as a result.

        I now have gotten pretty good working with the hal. I got my gang tool lathe about done using the mesa 7i77. There is still programming to be done to assign M codes to the collet closer and the 2 speed spindle shift as well as getting that 2 speed spindle all setup so it displays and controls through g-code programs and plays nice with the vfd drive and so on.

        It was very painfull at first migrating to linuxcnc from mach. I nearly gave up after the first few days. Finding a computer that would run the program was another real battle, even the foxconn pc with the atom processor presented a battle. I don't give up easily though and things slowly got easier. I can see where many people might abandon using linuxcnc after the first few hours/days of trying to get started. I am very glad I hung in there.

        Comment


        • #64
          Originally posted by lazlo View Post
          Awesome!! You've taken your first step in becoming a cone head
          So THAT's why I felt the urge to drink a whole six-pack at once and light up an entire pack of cigarettes!
          Milton

          "Accuracy is the sum total of your compensating mistakes."

          "The thing I hate about an argument is that it always interrupts a discussion." G. K. Chesterton

          Comment


          • #65
            Originally posted by DICKEYBIRD View Post
            I stuck the CD into my workshop shop CAD/Internet surfing PC and it booted to Ubuntu (v10.4) from the CD great.


            I run Ubuntu 10.4 on a partition on my laptop and find myself using it far more than the Windows side.

            Works fine for browsing, but I thought you needed one of two previous versions to use with LinuxCNC?
            George
            Traverse City, MI

            Comment


            • #66
              Originally posted by skunkworks View Post
              1) Is this what you are looking for..
              http://linuxcnc.org/docs/2.5/html/co...4ngc_section_a

              RS274NGC_STARTUP_CODE = G01 G17 G20 G40 G49 G64 P0.001 G80 G90 G92 G94 G97 G98 - A string of NC codes that the interpreter is initialized with. This is not a substitute for specifying modal g-codes at the top of each ngc file, because the modal codes of machines differ, and may be changed by g-code interpreted earlier in the session.

              2) http://linuxcnc.org/docs/2.5/html/co...play_section_a

              OPEN_FILE = /full/path/to/file.ngc - The file to show in the preview plot when AXIS starts. Use a blank string "" and no file will be loaded at start up.


              As far as hal comps.. It takes me a few tries usually to get things right (and I have written them also)

              99% of them are here http://linuxcnc.org/docs/2.5/html/

              under - Realtime components and kernel modules

              I am glad you stuck with it. You can see know why I an others are such advocates of linuxcnc.
              I seen both the references you gave but there is no present startup code or openfile lines in my ini file (created by pncconf), yet a ton of G and M codes are loaded at startup as is the demo gcode file. In my searching I did see the references you mentioned BUT that is NOT the source of the startup code or demofile that is loaded by the default setup. The references you cited are apparently executed in addition to the imbedded information. That imbedded info is not talked about anywhere, something lacking in the documentation.

              As for the hal components, one task I did was interface a shuttle express jog pendant. The shuttleexpress component documentation is such that I gave up on trying to get that to work. I went with hidcomp which is nowheres listed in the link you gave, still I found it after hours of hunting around and found it to be the easiest and best way of interfacing my shuttle express as well as the game controller. Finding information is always a hunt unfortunately. Information is all out there but its scattered around.

              I am glad I hung in there though, with the kind of power linuxcnc offers there is also the resultant complexity. Its painfull but worth it.

              Comment


              • #67
                The reason why you didn't find anything on hidcomp is because it was created by a user and has not been added to the package.
                http://wiki.linuxcnc.org/cgi-bin/wik...utedComponents

                as far as the defaults - I think you are right. If there are no defaults setup in the ini - the spash screen gets loaded and certain Gcodes are set as default. I think you would have to either ask a developer what is what or look though the souce code... (I would not either)

                sam

                Originally posted by Sparky_NY View Post
                I seen both the references you gave but there is no present startup code or openfile lines in my ini file (created by pncconf), yet a ton of G and M codes are loaded at startup as is the demo gcode file. In my searching I did see the references you mentioned BUT that is NOT the source of the startup code or demofile that is loaded by the default setup. The references you cited are apparently executed in addition to the imbedded information. That imbedded info is not talked about anywhere, something lacking in the documentation.

                As for the hal components, one task I did was interface a shuttle express jog pendant. The shuttleexpress component documentation is such that I gave up on trying to get that to work. I went with hidcomp which is nowheres listed in the link you gave, still I found it after hours of hunting around and found it to be the easiest and best way of interfacing my shuttle express as well as the game controller. Finding information is always a hunt unfortunately. Information is all out there but its scattered around.

                I am glad I hung in there though, with the kind of power linuxcnc offers there is also the resultant complexity. Its painfull but worth it.

                Comment


                • #68
                  Originally posted by skunkworks View Post
                  The reason why you didn't find anything on hidcomp is because it was created by a user and has not been added to the package.
                  http://wiki.linuxcnc.org/cgi-bin/wik...utedComponents

                  as far as the defaults - I think you are right. If there are no defaults setup in the ini - the spash screen gets loaded and certain Gcodes are set as default. I think you would have to either ask a developer what is what or look though the souce code... (I would not either)

                  sam
                  Yes, I now know hidcomp is a contributed component. Notice how you posted a linkfor it on the linuxcnc website where there is "another stash" of components available for use yet not listed in the prior document you cited? That is exactly the sort of scattering of info that confuses beginners to no end. What components that are out there for use and their docs are scattered in different places.

                  As for the startup string, again this is the sort of thing that confuses the hell out of beginners. " I have a bunch of startup codes showing, yet my startup_codes in my ini file are not there????? this does not agree with what the the docs say "

                  None of this sort of stuff is apparent to users that have been at it a while. A beginner goes crazy with such things and often gives up. I never did find out about assigning a T parameter to a realtime component, how to choose a value and such, it remains a mystery still after hours and hours of searching though different docs.

                  Comment


                  • #69
                    The problem is that linuxcnc docs are all written by experienced users and as a result these docs often "assume" the reader (beginner) will understand some of the terminology used. Often, the docs lack more detail sorely needed by beginners. This sort of problem is not unique to linuxcnc.

                    John Stevenson addressed the age old problem well in his post as well as how to select a "proof reader"
                    http://bbs.homeshopmachinist.net/thr...451#post796451

                    Comment


                    • #70
                      Originally posted by Sparky_NY View Post
                      Yes, I now know hidcomp is a contributed component. Notice how you posted a linkfor it on the linuxcnc website where there is "another stash" of components available for use yet not listed in the prior document you cited? That is exactly the sort of scattering of info that confuses beginners to no end. What components that are out there for use and their docs are scattered in different places.

                      As for the startup string, again this is the sort of thing that confuses the hell out of beginners. " I have a bunch of startup codes showing, yet my startup_codes in my ini file are not there????? this does not agree with what the the docs say "

                      None of this sort of stuff is apparent to users that have been at it a while. A beginner goes crazy with such things and often gives up. I never did find out about assigning a T parameter to a realtime component, how to choose a value and such, it remains a mystery still after hours and hours of searching though different docs.
                      User contributed components are not in the docs nor is anything on the user maintained wiki site.

                      I agree the components are difficult at first to find any info on and some still have very terse descriptions if any at all. I did try and list all the components in the Integrator Manual and give reference to the man pages. Most of the man pages for the components are auto generated from the .comp file so clues like "abs.N (requires a floating-point thread)" don't mean much to a beginner.

                      Just thinking out loud here but do you think some kind of road map in a READMEFIRST doc would help a beginner? If so what should it contain?

                      What do you mean assigning a T parameter to a realtime component?

                      John
                      My Web Site

                      Comment


                      • #71
                        Originally posted by Sparky_NY View Post
                        The problem is that linuxcnc docs are all written by experienced users and as a result these docs often "assume" the reader (beginner) will understand some of the terminology used. Often, the docs lack more detail sorely needed by beginners. This sort of problem is not unique to linuxcnc.

                        John Stevenson addressed the age old problem well in his post as well as how to select a "proof reader"
                        http://bbs.homeshopmachinist.net/thr...451#post796451
                        The docs were originally written by the programmers and totally rewritten by a redneck that had to figure out each and every thing then translate it as best as possible to normal language. Keep in mind the developers were painfully correct in the manuals if you could decipher them. The biggest problem I faced early on was the same information being in more than one place and that was a huge mess. I focused on putting everything that a user would need in the User Manual and everything the integrator would need to build and configure a machine in the Integrators Manual. Then I added the Getting Started Manual. The Hal Manual still needs to be merged with the Integrators Manual. Any how after all that sorting out and removing duplicate information the page count for the manuals was reduced by almost 1/2. And they are always a work in progress...

                        John
                        My Web Site

                        Comment


                        • #72
                          Originally posted by BigJohnT View Post
                          User contributed components are not in the docs nor is anything on the user maintained wiki site.

                          I agree the components are difficult at first to find any info on and some still have very terse descriptions if any at all. I did try and list all the components in the Integrator Manual and give reference to the man pages. Most of the man pages for the components are auto generated from the .comp file so clues like "abs.N (requires a floating-point thread)" don't mean much to a beginner.

                          Just thinking out loud here but do you think some kind of road map in a READMEFIRST doc would help a beginner? If so what should it contain?

                          What do you mean assigning a T parameter to a realtime component?

                          John
                          My mistake, I said a T parameter, it is actually tmax
                          sample setp toggle2nist tmax 3607

                          That whole tmax parameter, what its value means, a unit of measure, and how to pick a value is a total mystery. I have tons of time searching around on this subject, I found hints but not a decent article on the subject.

                          Here is a beginners observation: You mention listing the components in the integrators manual

                          As a beginner, I would be looking in the hal manual for such information. Am I wrong?

                          The info is all out there, its just hard to find and often not where you would expect it.

                          I think what we need is a new book, linuxcnc for dummies LOL
                          Last edited by Sparky_NY; 09-19-2012, 12:14 PM. Reason: opps missed the prior post about combining the hal and integrators manual down the road

                          Comment


                          • #73
                            Originally posted by Sparky_NY View Post
                            My mistake, I said a T parameter, it is actually tmax
                            sample setp toggle2nist tmax 3607

                            That whole tmax parameter, what its value means, a unit of measure, and how to pick a value is a total mystery. I have tons of time searching around on this subject, I found hints but not a decent article on the subject.

                            Here is a beginners observation: You mention listing the components in the integrators manual

                            As a beginner, I would be looking in the hal manual for such information. Am I wrong?

                            The info is all out there, its just hard to find and often not where you would expect it.

                            I think what we need is a new book, linuxcnc for dummies LOL
                            tmax is the maximum time the component took to execute. It is read/write so you could clear it if you desired. Both tmax and time are really for developer information and is iirc automagiclly added when a component is generated by comp. There is so much information about LinuxCNC that I had trouble finding this about tmax.

                            Well the component listing is in the Hal Manual after all...

                            The Getting Started Guide was my attempt at a LinuxCNC for Dummies...

                            John
                            My Web Site

                            Comment


                            • #74
                              To add to johns post - Can I ask why you thought tmax needed to be set? (what problem it seemed to solve?)

                              sam

                              Originally posted by Sparky_NY View Post
                              My mistake, I said a T parameter, it is actually tmax
                              sample setp toggle2nist tmax 3607

                              That whole tmax parameter, what its value means, a unit of measure, and how to pick a value is a total mystery. I have tons of time searching around on this subject, I found hints but not a decent article on the subject.
                              Last edited by skunkworks; 09-19-2012, 12:52 PM.

                              Comment


                              • #75
                                Originally posted by BigJohnT View Post
                                tmax is the maximum time the component took to execute. It is read/write so you could clear it if you desired. Both tmax and time are really for developer information and is iirc automagiclly added when a component is generated by comp. There is so much information about LinuxCNC that I had trouble finding this about tmax.

                                Well the component listing is in the Hal Manual after all...

                                The Getting Started Guide was my attempt at a LinuxCNC for Dummies...

                                John
                                Interesting, toggle2nist would not run/update until I added setp toggle2nist tmax 3607

                                If I understand what you replied then a setp should not have been necessary??? Didn't work until I added that setp.

                                I don't want to fill this thread with such technical details, I suppose that I should be asking such things in the linuxcnc forum, that way other beginners might find the information when they search the forum.

                                As always, you are a fantastic help John, even though the road can be a little rough for beginners it is important for them to note that help is out there when they get stumped.

                                I am just the type of personality that will spend a eternity hunting around before I go post a question.

                                Comment

                                Working...
                                X