Hello Guest it is August 02, 2021, 11:51:01 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 - TPS

391
General Mach Discussion / Re: Macro pauses my program
« on: December 03, 2020, 02:09:35 AM »
sorry there was a small mistake in the code.

Code: [Select]

'------------------------------------------------------------------------------------------------------------
Private Declare Function GetTickCount Lib "kernel32" () As Long
'------------------------------------------------------------------------------------------------------------

Const LastMsDRO = 1300 'DRO for data
Dim CurrentMs As Long
Dim LastMs As Long
'------------------------------------------------------------------------------------------------------------

Const BlowTime = 1000  'Blowing Time


Sub Main

'Read data
'-------------------------------------------------------
CurrentMs = GetTickCount()
LastMs = GetUserDRO(LastMsDRO)

If(CurrentMs < LastMs) Then
LastMs = CurrentMs
End If

'check OEMLED to activate
If GetUserLed(1300) = 1 Then
SetUserLed(1300,0)
ActivateSignal(OUTPUT2)
LastMs = CurrentMs
End If

If(CurrentMs > (LastMs + BlowTime)) Then
DeactivateSignal(OUTPUT2)
End If

'save Data
'-------------------------------------------------------
SetUserDRO(LastMsDRO, LastMs)

End Sub



392
with
Code: [Select]
SetModOutput(81,GetOemDro(804)*4.095)

the value is scaled to 0-100 not to 0-1000

for 0-1000 use
Code: [Select]
SetModOutput(81,GetOemDro(804)*0.4095)

to set b axis to Zero use

Code: [Select]
SetOemDro(804,0)

393
Hi Tom,

Thank you for your information.
I meant the value of the GetOemDro(804).
Your assumption is that its range is 1-1000. But, where can we set that range?
Is it like a default value?



see it like a virtual axis there is no range to define, only Thing is to Zero it before you start.

394
---I put B... if the value is over a certain value,

witch value?

395
General Mach Discussion / Re: Macro pauses my program
« on: December 02, 2020, 09:34:08 AM »
code for macropump would be something like this:
Code: [Select]

'------------------------------------------------------------------------------------------------------------
Private Declare Function GetTickCount Lib "kernel32" () As Long
'------------------------------------------------------------------------------------------------------------

Const LastMsDRO = 1300 'DRO for data
Dim CurrentMs As Long
Dim LastMs As Long
'------------------------------------------------------------------------------------------------------------

Const BlowTime = 1000  'Blowing Time


Sub Main

'Read data
'-------------------------------------------------------
CurrentMs = GetTickCount()
LastMs = GetUserDRO(LastMsDRO)

If(CurrentMs < LastMs) Then
LastMs = CurrentMs
End If

'check OEMLED to activate
If GetUserLed(1300) = True Then
SetUserLed(1300,0)
ActivateSignal(OUTPUT2)
LastMs = CurrentMs
End If

If(CurrentMs > (LastMs + BlowTime)) Then
DeactivateSignal(OUTPUT2)
End If

'save Data
'-------------------------------------------------------
SetUserDRO(LastMsDRO, LastMs)

End Sub

code for activation macro would be this:
Code: [Select]
SetUserLed(1300,1)

396
hello Eric,

here: https://www.machsupport.com/forum/index.php?topic=9312.0

is a oemdro list.

correct code would be:
Code: [Select]
SetModOutput(81,GetOemDro(804)*4.095)

UserDro's are for free usage.

what do you mean with the full scale of the B-axis range?
 

397
Hello Eric,

will have a look this afternoon at my machine.
i have used a analog Output there.
let you know.

Regards Tom

398
can you pls post one of your files, and describe where (line) it stops?

399
you can write a custom macro for this for example M400.M1s

and in Gcode it is yust called be using M400

400
General Mach Discussion / Re: Macro pauses my program
« on: December 01, 2020, 02:03:28 AM »
you can use macropump macro to do this.