Hello Guest it is April 26, 2024, 08:58:41 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tbyrd0918

Pages: 1
1
General Mach Discussion / Involuntary axis movement
« on: March 28, 2014, 08:59:26 AM »
Hey all,
  We have used the ESS with great success. Here comes the but... we have a machine that seems to take on a mind of its own. Not consistently, but seemingly random movement from the X axis on an OD grinding machine. We will be out of any axis movement, just minding our own business measuring the part, and when we look back at the screen, wouldn't you know, the X axis has moved in maybe .0003" or .004" . We are holding parts very close at 0 to .0002". It only occurs randomly 1 in 4 or 1 in 20 or 30 or whatever. I have changed the debounce numbers to 500 with no results. Any bright ideas on where to continue? We have replaced the computer, the keyboard and mouse. We have isolated the computer and separately the motor contact coils with isolation control transformers. The entire machine is isolated from the rest of the shop with a 20KVA stepdown transformer from 480V to 240V. We have another OD grinder 20 feet away with an exact duplicate of the screens and misc files and has no issues.  UPDATE: I just put another computer on the machine with XP and am getting the same results. RF noise? Ground loops? M code bug? Mach3 bug?
Tom

2
General Mach Discussion / Out of place axis movement
« on: December 06, 2013, 09:57:41 AM »
I've set up a couple OD grinders with Mach3 latest version .067. One grinder seems to do fine while the other, with identical code, makes "extra" movements. I've attached the part of the script that seems to be the culprit. Any ideas? I've deleted code that follows the problem.
 Tom

rem M1053 For PLUNGE GRIND To DIMENSION
Option Explicit
Dim FinishDim As Double
Dim ToGrind As Double
Dim HoldToGrind As Double
Dim Current As Double
Dim Remainder As Double
Dim SparkoutCounter As Integer
Dim RoughToGo As Double
Dim FinishToGo As Double
Dim RoughInc As Double
Dim FinishInc As Double
Dim Sparkouts As Integer
Dim LeftX As Double
Dim RightX As Double
Dim LeftFeedX As Double
Dim RightFeedX As Double
Dim PlungeFeedY As Double
Dim LeftDwell As Double
Dim RightDwell As Double
Dim AmountToGrind As Double

LeftDwell = GetOEMDRO(1110)
RightDwell = GetOEMDRO(1120)
FinishDim = GetOEMDRO(1056)
ToGrind = 0
AmountToGrind = 0
Current = 0
Remainder = 0
SparkoutCounter = 0
RoughToGo = 0
FinishToGo = 0
RoughInc = GetOEMDRO(1052)
FinishInc = GetOEMDRO(1053)
Sparkouts = GetOEMDRO(1054)
LeftX = GetOEMDRO(1060)
RightX = GetOEMDRO(1061)
LeftFeedX = GetOEMDRO(1162)
RightFeedX = GetOEMDRO(1163)
PlungeFeedY = GetOEMDRO(1064)


Current = GetOEMDRO(801)
ToGrind = Current - FinishDim
HoldToGrind = ToGrind * 1000000
ToGrind = HoldToGrind * .000001
AmountToGrind = ToGrind

rem last final Left over
Current = GetOEMDRO(801)
FinishDim = GetOEMDRO(1056)
Remainder = Current - FinishDim
HoldToGrind = Remainder * 1000000
Remainder = HoldToGrind * .000001

If (FinishDim <> Current) Then
   Code "M8 M3"
   Sleep 2000
rem turn On side travel
   If GetUserLed (1101) Then   (feed from left)
      Code "G90G01 X" & RightX & "F" & LeftFeedX
      Code "G04 P" & RightDwell
      Code "G90G01 Y" & FinishDim & "F" & PlungeFeedY     (*************** after this code the Y axis feeds back to original number,  before feed move)
      Remainder = 0                                                       (***** it doesn't do it when I run it on a computer in my office)
   End If
   If GetUserLed (1100) Then   (feed from right)
      Code "G90G01 X" & LeftX & "F" & RightFeedX
      Code "G04 P" & LeftDwell
      Code "G90G01 Y" & FinishDim & "F" & PlungeFeedY
      Remainder = 0
   End If
   
End If


Code "M9 M5"


3
General Mach Discussion / Macro Timer?
« on: August 30, 2013, 08:52:48 AM »
I am trying to find the OEM Button or OEM Code that turns the timer on and off.  I am writing macros to cut some parts on the lathe and I would like to be able to start and stop the timer so that the people in the shop get an idea of how long it is going to take between parts.  Is there a code or Do OEM Button or something that I Can put at the Beginning and the End of my macros to start and stop the timer?

4
General Mach Discussion / Axis movement problems while running code.
« on: June 24, 2013, 10:11:32 AM »
This started just today and I don't know what is going on.  Once I hit cycle start my my Z moves down to the part it is going to cut but before it gets to the piece it stops; the axis just stops moving.  I can hit cycle start again without stopping the program and it will move again but then stop shortly after.  I restarted Mach 3 and my computer but the problem still persisted, it even did the same thing to my Y axis twice.  I've tried changing the Debounce settings, it seemed to help at first (by that i mean it moved further than it had before) but then it stopped again.

Any Ideas on what is going on???

5
SmoothStepper USB / SS not allowing config
« on: June 29, 2012, 11:45:12 AM »
We have been running the SS with Mach3 with all latest releases for several
weeks now. When we try to access the Plugin configuration, the drop down menu
only shows "-". I've had this happen on other machines also. I'm using a custom
Mach3 screen that I made. If I reinstall and use a standard Mach3 screen, the
drop down works fine. Is there a setting I have set wrong or what? I need to change
something in the config screen but cant get there.

Tbyrd

6
I having trouble with code being skipped over. When I step through the following it works as you would expect, but when you run it from the command line or from within a Gcode file, it skips over almost all of it. I will here a solenoid activate and deactivate but that's about it. Surely I'm doing something simply wrong. I've tried using While Ismoving() Wend and it causes it to hang in the while loop. Any suggestions?

tbyrd

REM M4016 Tip Measure
Dim AmountOff
Dim NewYGrindPos
Dim OldYGrindPos
Dim AllowableOff
Dim RejectAmount
Dim UserCounter
Dim AbsoluteAmount

rem 'Makes sure machine is homed and calibrated
If (GetOEMLED(807)) Then
     Message ("Not Homed Yet")
     Else
     If (GetOEMLED(808)) Then
          Message ("Not Homed Yet")
          Else
          If (GetOEMLED(809)) Then
            Message ("Not Homed Yet")
            Else
            If (GetUserLED(2012)) Then
                 Message ("Not Calibrated Yet")
                 Else
                 Message ("Good to Go!")
     

               rem Code "M1003" 'Gripper back
               rem M1003 Gripper Back
            DeActivateSignal (output6)   
            ActivateSignal (output5)
            While Not IsActive (OEMTRIG5)
                 Message ("I'm goin' back!")
                 Sleep 50
            Wend
            Message ("Made it") 

            Code "G90G00 B1.0"

            rem Code "M4017" 'Measure pin down
            REM M4017 Measure Pin Down
            DeActivateSignal (output8) 'Measure Pin Up
            ActivateSignal (output7)   'Measure Pin Down
            While Not IsActive (OEMTRIG7)
                Message (" I'm working on it")
                Sleep 50
            Wend
             Message ("Made it!")

            rem Code "M2040" 'Goto Load position all axis
            REM M2040 GoTo X Y And Z load And unload
            Dim ZLoadUnload
            Dim XOpenPos
            Dim YOpenPos
            XOpenPos = GetOEMDRO(2014)
            YOpenPos = GetOEMDRO(2017)
            ZLoadUnload = GetOEMDRO(2018)

            rem Code "M1003" 'Gripper back
            rem M1003 Gripper Back
            DeActivateSignal (output6)   
            ActivateSignal (output5)
            While Not IsActive (OEMTRIG5)
                 Message ("I'm goin' back!")
                 Sleep 50
            Wend
            Message ("Made it") 

            Code "G90G00 Y" & YOpenPos
            Code "G90G00 X" & XOpenPos
            Code "G90G00 Z" & ZLoadUnload

            rem Code "M2060" 'goto Z Measure
            REM M2060 GoTo Z MEASURE
            Dim ZMeasure
            ZMeasure = GetOEMDRO(2019)

            rem Code "M1003" 'Gripper back
            rem M1003 Gripper Back
            DeActivateSignal (output6)   
            ActivateSignal (output5)
            While Not IsActive (OEMTRIG5)
                 Message ("I'm goin' back!")
                 Sleep 50
            Wend
            Message ("Made it") 

            Code "G90G00 Z" & ZMeasure

            rem Code "M1002" 'advance arm
            rem M1002 Gripper Forward
            DeActivateSignal (output5) 
            ActivateSignal (output6)
            While Not IsActive (OEMTRIG4)
                 Message ("I'm goin' forward!")
                 Sleep 50
            Wend
            Message ("Made it")

            rem Code "M4018" 'Measure pin up
            REM M4018 Measure Pin up
            DeActivateSignal (output7) 'Measure Pin Down
            ActivateSignal (output8)   'Measure Pin Up
            While Not IsActive (OEMTRIG6)
                Message (" I'm working on it")
                Sleep 50
            Wend
             Message ("Made it!")

            rem Code "M1005" 'release gripper
            rem M1005 gripper release
            DeActivateSignal (output10)
            ActivateSignal (output9)
            While Not IsActive (OEMTRIG2)
                 Message ("I'm trying to let go")
                 Sleep 50
            Wend
            Message ("You're FREE!")

            rem Code "M1003" 'retract arm
            rem M1003 Gripper Back
            DeActivateSignal (output6)   
            ActivateSignal (output5)
            While Not IsActive (OEMTRIG5)
                 Message ("I'm goin' back!")
                 Sleep 50
            Wend
            Message ("Made it") 

            Code "G90G00 B.05"

            While Not (IsActive (OEMTRIG1))
               Code "G91G00 B-.001"
               Sleep 50
            Wend

            While (IsActive (OEMTRIG1))
               Code "F.5"
               Code "G91G01 B.00005"
               Sleep 20
            Wend                     

            AmountOff = GetOEMDRO(804) '182
            OldYGrindPos = GetOEMDRO(2011)
            RejectAmount = GetOEMDRO(2004)
            GrindsBetweenCounter = GetOEMDRO(2008)

            Code "G90G00 B1.0"

            rem Code "M4017" 'Measure Pin Down
            REM M4017 Measure Pin Down
            DeActivateSignal (output8) 'Measure Pin Up
            ActivateSignal (output7)   'Measure Pin Down
            While Not IsActive (OEMTRIG7)
                Message (" I'm working on it")
                Sleep 50
            Wend
             Message ("Made it!")
 
            Call SetUserDRO(2001, AmountOff)

            AbsoluteAmount = Abs(AmountOff)

            If (AbsoluteAmount > .001) Then
               If (AmountOff > 0) Then
               AmountOff = .001
            End If
            If (AmountOff < 0) Then
               AmountOff = -.001
            End If
         
            NewYGrindPos = OldYGrindPos - AmountOff

            Call SetUserDRO(2011, NewYGrindPos)

            If (AbsoluteAmount > RejectAmount) Then
               Call SetUserDRO(2009, 0)
               rem Code "M1011"
               rem M1011 Shoot off bad tip
               ActivateSignal (output3)
               Sleep 500
               DeActivateSignal (output3)
            Else
               Call SetUserDRO(2009, GrindsBetweenCounter) 'resets counter
               rem Code "M1010"
               rem M1010 Shoot off good tip
               ActivateSignal (output4)
               Sleep 500
               DeActivateSignal (output4)
            End If
         End If
      End If
   End If
End If
   

7
I have a number of while loops in my code where it checks for position after a pneumatic cyl. move for example. When I run the code, it blows by the code like it isn't there. When I step through the code it seems to loop as I would expect it to. any ideas? Here is some sample code.

while not isactive(input4)
  message("still going")
  Sleep 50
Wend
  Message("you made it")

tbyrd

8
Is there a way to turn on an output for a brake when an axis is not moving, and turn it off when I do move it? I can do this in the code no problem, but I want to be able to do it even if you manually jog that axis.

T. Byrd

9
CVI MachStdMill (MSM) / Feedrate with SS and MSM problem
« on: September 03, 2010, 03:44:07 PM »
Dave,
  I'm having a problem with my feedrate not acting right.  I was using beta_5 and all was good.  I changed to beta_9 and Mach 3.043.019 and my Feedrate within the Gcode doesn't always work properly.  F3 runs 9ipm, F20 runs 20ipm,  F3 at 30% runs about 3ipm, F20 about 6ipm.  I looked to see what settings have been changed but can't find any. 1 out of 10 or 15 times F3 does run 3ipm and oddly F20 runs 60ipm!  Something strange is going on.  MDI seems to always be accurate.  any suggestions?
T. Byrd

10
General Mach Discussion / Reading IO issues
« on: June 08, 2010, 02:54:18 PM »
I've been using this exact code on 3 machines with good success for several months.  All of a sudden, wham!!  No worky!! I have the v. 3.042.040 of Mach and 2.06.00  driver for my SmoothStepper version v015ogx2 plugin. When I run the M1000 macro, it moves the cylinder down, but it never says "made it".  I can look on the diagnostics screen in Mach and it shows the switch is made. The logic is I keep recurring the codes until it makes the switch. When it makes, it drop out of the code.  I have this same code only reversed and checking a different switch for "up" and it still works fine.  What I would really like is a word like "IsNotActive". It would allow me to stay in the same M code with a "while" statement. Any clues, or better way of coding?

  T.Byrd

 
'rem  M1000 down cylinder till switch
DeActivateSignal (output4)
ActivateSignal (output9)
If IsActive (input2) Then
Code "(made it)"
Else
Code "M3000"
End If   

'rem M3000 cylinder down return
Code "M1000 (I AM WORKING ON IT!)"



Pages: 1