Hello Guest it is March 29, 2024, 05:37:16 AM

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.


Messages - muecker

Pages: 1
1
General Mach Discussion / Encoders and DRO's + Softlimit Warnings
« on: March 27, 2007, 07:54:19 AM »
Firstly on the encoder issue, my DRO's changed when i upgraded to 2.00.060. I use DRO's 170,171, and 172, which originally had displayed the encoder position with the offsets factored in. Now my Y axis is showing its position always with the G54 offset added to it, regardless of the active offset. I dont know if Z axis was affected since i dont use any z-offsets, but the X-axis was not. Not only that, before the upgrade i had to set my encoder counts per unit to .2 for the X and Y and .124 for the Z when the encoders put out 1000CPI. Now, after the upgrade, i had to change the Y and Z to 1000, and again the X axis was unchanged. Any ideas on how to get my DRO's working correctly?

The second issue is with the softlimits. All of my movement is within the softlimits, they are close but within limits. Now the first run, i always get a softlimit warning that i can aknowledge and it will run thru without a problem. Then a random amount of runs later, the error will come up again. Its really annoying, especially since the error is hidden behind the mach screen. And i dont want to run without softlimits, in case someone decides to do something wrong and smash up the tool. Any fixes for that?

I can always go back to the original software, but would prefer to use the latest rev.

Thanks,

Max

2
I didnt notice that i put those do loops in there. I'll try changing it.

Thanks

3
VB and the development of wizards / Help with optimising button script
« on: March 26, 2007, 02:35:33 PM »
I have two buttons that operators use, one for homing and one for setting a height controlled by external PLC. When either of these buttons are pressed, the CPU usage max's out at 100%. Usually it works fine, but occasionally after using them, they report machine crashes. Below are the two scripts. Is there a way to optimise these, or if not are these scripts really the culprit?

Here they are:

Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Dim LevelSet As Boolean
dim ctr1 as Long
Dim TS as single
Dim TE as single
Dim TT as single
Dim Checked as Boolean

Checked = false
ctr1 = -100000
Ready = 0

SystemReady =  GetUserLED(1020) and not GetUserLED(1024) and not IsActive(input1) and not IsActive(input4) and IsOutputActive(output10)
If SystemReady then

Ready = MsgBox ("Machine Must be Idle, Press Okay to Continue",305,"Solder Height Check")

If Ready = 1 Then 'move to solder check position
Zheight = GetOEMDRO(1051)
XPos = GetOEMDRO(1052)
YPos = GetOEMDRO(1053)
code "g55"
Do While IsMoving()
loop
code "g1 z0 f20"
Do While IsMoving()
loop
code "g0 x" & XPos
Do While IsMoving()
loop
code "g0 y" & YPos
Do While IsMoving()
loop
code "g1 f20"
Do While IsMoving()
loop
code "g1 z" & Zheight
Do While IsMoving()
loop
ActivateSignal(Output9)
Do Until ctr = 100000
ctr = ctr +  1
Loop
DeActivateSignal(Output9)
TS = Timer
Do Until IsActive(Input3)
TE = Timer
TT = TE -TS
If TT > 60 then
Checked = true
Exit Do
Else
End If
Loop
code "g55"
code "g1 z0 f20"
code "g0 x0 y0"
Else
End If
If Checked = true then
MsgBox("Level Check Failed")
Else
End If

Else
MsgBox("System not Ready")
End If


And the other:

Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Dim Zhomed As Boolean
Dim Yhomed As Boolean
Dim Xhomed As Boolean

DoOEMButton( 1024 )
While IsMoving()
   Wend
Zhomed = GetOEMLED(809)
If Zhomed = true then
DoOEMButton(1003)
Else
DoOEMButton( 135)
End If

DoOEMButton( 1023 )
While IsMoving()
   Wend
Yhomed = GetOEMLED(809)
If Yhomed = true then
DoOEMButton(1003)
Else
DoOEMButton( 134)
End If

DoOEMButton( 1022 )
While IsMoving()
   Wend
Xhomed = GetOEMLED(809)
If Xhomed = true then
DoOEMButton(1003)
Else
DoOEMButton( 133)
End If

4
VB and the development of wizards / Re: Internal variables
« on: January 04, 2007, 05:49:23 PM »
I dont think that is completly correct in regards of what im looking for.

I can create a button with the following code.

     Steps = GetParam("StepsPerAxisX")

     MsgBox(Steps)

I can do this without ever using a SetParam, and the button will return the steps per inch that are input in the motor tuning section. Those are the parameters that i am trying to get a list of. i.e. , how would i know what the velocity of the x-axis is? Would it be "VelocityAxisX", or could it be "VelocityX"? I have no way of knowing without a list.

-Max

5
VB and the development of wizards / Re: Internal variables
« on: January 04, 2007, 01:05:27 PM »
Sorry for not specifying, but i am refering to the VB scripting. With the information that i have found, the only two variables that i am aware of are StepsPerAxisX, and AccelerationX. I was hoping to find a full list of these variables.

-Max

6
VB and the development of wizards / Re: Internal variables
« on: January 04, 2007, 11:09:13 AM »
I cant seem to find this "Mach Mill manual". The only thing i have found is listed in the customizing mach 2 manual, section 4.4.3, page 4-6, referencing the stepsperaxisX and accelerationX parameters. And some parameters listed in a table in the mach3 mill manual Fig 10.1, pg 10-8, listing some parameters that pertain mostly to offsets. Any help with finding this manual?

Thanks again

-Max

7
VB and the development of wizards / Internal variables
« on: January 04, 2007, 09:05:19 AM »
Is there a list anywhere of the internal variables that can be accessed via GetParam and SetParam?

Thanks,

Max

8
VB and the development of wizards / Checking for movement
« on: December 27, 2006, 12:58:01 PM »
I have an issue with the IsMoving() function. I'm trying to run it in a macro pump and everytime i use it i get an error with "cannot find recovery points, Solution too complex". I'm trying to use it in conjuntion with a door switch to pause the program. Code looks like this:

Moving = IsMoving()
DoorOpen = IsActive(Input4)
If DoorOpen and Moving then
      call DoOEMButton (1001)         'Set Safety Fault if door open and moving   
      call DeActivateSignal (Output7)
      call SetUserLED (1024,1)
Else
End If

If i rem out the Moving = IsMoving(), then it will run, but does not stop when the door is opened, since moving = false. And i want this action to happen only if it is moving and the door is open, not if the door is open only. Any ideas?

Thanks,
Max

Pages: 1