Scott,
I have tried your program, but I can't get it to do anything. I have ensured "Run Macropump" is checked. It is weird how you have to restart and recheck it twice to get it to stay.
Here is the code you wrote:
'Goto angle
'Macropump.m1s
DesiredAnglePos = GetUserDRO(2000) 'angle entry dro on your screen
CurrentAngPos= GetOEMDRO(29) 'encoder1 DRO from your die
if GetOEMLED(164) or GetOEMLED(165) then 'if the CW or CCW led is on
if GetOEMLED(164) then 'if the spindle CW led is on.
if CurrentAngPos <= DesiredAnglePos then
ActivateSignal(OUTPUT2) 'coil A cw
else
DeActivateSignal(OUTPUT2)
end if
end if
if GetOEMLED(165) then 'if the spindle CCW led is on.
if CurrentAngPos >= DesiredAnglePos then
ActivateSignal(OUTPUT3) 'coil B ccw
else
DeActivateSignal(OUTPUT3)
end if
end if
end if
I have listed the following Inputs/Outputs:
OEMDRO 29
UserDRO 2000
OEMLED 164
OEMLED 165
Under the Spindle tab in the Ports and Pins page, I have assigned CW (M3) and CCW (M4) to pins 2 and 3.
Here is my program. As shown, the current angle exceeds the input angle. Therefore, LED 165 should be lit and output 3 should be energized. Unfortunately this isn't happening. The labels display what OEM Code I typed:

Here is my macropump. I saved this in the correct profile under the \Macros\ folder.

Here is my pins screen:

And lastly, here is my general config screen:

I apologize for the length of this post. I just want to provide as much useful information as possible to you.