GlobalGet and var Name

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: GlobalGet and var Name

Re: GlobalGet and var Name

by ArtF » Fri Jan 29, 2016 3:53 pm

Thanks for the test, and for that tidbit, I wasnt aware the pos could only be set in pos mode.. but I see why. If its a problem I can separate the calls so it can be done on the fly..

  To make a controller takes a village, thx for joining in.

Art

Re: GlobalGet and var Name

by MaynardC » Fri Jan 29, 2016 2:56 pm

Because I am in speed mode, found I had to switch to Pos mode for it to work.

Code: Select all

            Engine.FreeSetAxisType(this.axis,0);
            Engine.SetFreePos(null,0);
            Engine.FreeSetAxisType(this.axis,1);
Thanks for getting this working
Maynard

Re: GlobalGet and var Name

by ArtF » Fri Jan 29, 2016 2:04 am

M:

Use

Engine.SetFreePos( a,b,c,d );


Art

Re: GlobalGet and var Name

by MaynardC » Thu Jan 28, 2016 10:08 pm

Works like a charm!! As I change the slider, it ramps up and down smooth as can be. THANKS but, one other question.
The GetTruePos now doesn't reset ,as I would expect, but how do I set it. Something like Engine.SetTruePos(axis, pos)

Thanks again
Maynard

Re: GlobalGet and var Name

by ArtF » Thu Jan 28, 2016 9:16 pm

Maynard:

I just uploaded a new version, Id be interested in knowing if it clears up your problems
with that slider and speeds

Art

Re: GlobalGet and var Name

by ArtF » Thu Jan 28, 2016 8:47 pm

HI Maynard:

  >> Do you know if there is some minimum controls I need to make it functiona l. If it's

  I dont. Ive been adding and building to a purpose, and fixing as I go. In the context of moving motors,
I think it needs a Gcode window.. and Im not too sure it needs much else.

  When I get a bit further, Ill try to reduce the screen and fix whatever hooks can cause trouble.

Ill loo at the speed setting, I know you cant change an axis type without stopping all axis, but
I may be able to smooth that speed change out so the undesirable circumstance go away..

Art

Re: GlobalGet and var Name

by MaynardC » Thu Jan 28, 2016 7:55 pm

Thanks Art,

I think Engine.GetCurPos(1) function should be Engine.GetAxisPos(1). Engine.GetTruePos(6) works as expected. I tried attaching the speed to a slider, and got very choppy behavior, with it randomly stopping on some settings. After a bit of playing I discovered  I'm getting some strange behavior with FreeSetSpeed, which calls Engine.FreeSetConstant( axis, Speed ). If I try changing the speed with "Engine.FreeSetConstant( axis, Speed )" while the motor is running, the motor will toggle between stopped and the set speed on each call to the function. This also resets the Engine.GetTruePos(6) value.

Also, I'm trying to build a simple screen with as few controls as possible. I tried just adding and EStop button(with VarName set to EStop), but I get an error(7871) followed by a crash. Do you know if there is some minimum controls I need to make it functional. If it's not a simple answer, don't worry. I'm not using much of the stock screen,and trying to clean up the clutter.

Maynard

Re: GlobalGet and var Name

by ArtF » Thu Jan 28, 2016 2:26 pm

Maynard:

This is now online, if you redownload you can use the command,

a = Engine.GetTruePos(1); for x Axis for example.

This returns work coordinates, and doesnt matter if its a speed axis or not..

a = Engine.GetCurPos(1) ; will return the work coordinates, but zero if its a speed axis..

etc.

Thx , hope it helps,
Art

Re: GlobalGet and var Name

by ArtF » Thu Jan 28, 2016 2:21 pm

Maynard:

  For a secondary pokeys I could add that, but the primary pokeys is under buffered control, this means
it runs a motion loop every 5ms or so that keeps it refreshed. It means everything I do in there, I pay a small
penalty for in time.. so I tend to keep it clean.
  Now, every few ms it updates the indexes anyway, but zeros the speed one. What Ive done is create a shadow
copy called TruePositions that keep strack of the real indexes in realtime. Im adding an Engine.GetTruePos and a Engine.GetAxisPos to the code, so you can pull any of the 8 coordinates in either mode.


Art

Re: GlobalGet and var Name

by MaynardC » Thu Jan 28, 2016 1:50 pm

Would it be difficult or suitable to add a method to get the steps directly off Pokeys as part of the Motion() library.

Maynard

Top