gaged / moccagui

Automatically exported from code.google.com/p/moccagui
0 stars 1 forks source link

ini parameter MAX_LINEAR_VELOCITY nicht korrekt ausgewertet ? #17

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Es geht um die maximal-werte der Schieber für die Geschwindigkeit.

Was muss man tun um das problem zu reproduzieren?
1. im ini file werte für MAX_LINEAR_VELOCITY in DISPLAY und TRAJ section
eintragen
2. EMC2 mit mocca starten

Was sollte passieren? 
Die maximale Geschwindigkeit für MDI/Satzlauf wird durch die TRAJ bzw AXIS
section bestimmt.
Die maximale Geschwindigkeit für jog wird durch die DISPLAY section
bestimmt. Falls da kein Eintrag steht, wird der Wert aus der TRAJ section
genommen
so ist es bei AXIS.

Was passiert stattdessen?
wenn in der DISPLAY section ein Wert steht, wird dieser immer für jog und
MDI/Satzlauf benützt, Werte in der TRAJ/AXIS section werden dann ignoriert (?)

mocca version: binary 8. Feb
emc2 vesion: 2.3.4
widget kit: gtk2

Original issue reported on code.google.com by gerd.gle...@gmail.com on 17 Feb 2010 at 9:53

GoogleCodeExporter commented 9 years ago
glaube das ist in function IniRead(FileName: string): Boolean, Zeile 287
  if not GetIniDouble('DISPLAY','MAX_LINEAR_VELOCITY',d,1) then
    if not GetIniDouble('TRAJ','MAX_LINEAR_VELOCITY',d,1) then
      GetIniDouble('TRAJ','MAX_VELOCITY',d,1);
  Vars.MaxLinearVel:= d * 60;

zuerst TRAJ auswerten
  if not GetIniDouble('TRAJ','MAX_LINEAR_VELOCITY',d,1) then
    if not GetIniDouble('TRAJ','MAX_VELOCITY',d,1);
       GetIniDouble('DISPLAY','MAX_LINEAR_VELOCITY',d,1) then
  Vars.MaxLinearVel:= d * 60;

Eigentlich sollte DISPLAY hier gar nix tun, besser in AXIS suchen (größten ?
kleinsten Wert ?)

-Gerd

Original comment by gerd.gle...@gmail.com on 18 Feb 2010 at 6:12

GoogleCodeExporter commented 9 years ago

Original comment by gerd.gle...@gmail.com on 18 Feb 2010 at 9:30

GoogleCodeExporter commented 9 years ago
Thomas, ich hab den anhängenden code bei mir mit r71 getested, aber da ich die 
neue
version nicht kompilieren kann, will ich nichts posten.
Wenn du willst kannst du das einfügen (ca Zeile 290, in mocini)
die variable MaxLinearJogVel im Vars record ist NEU.
Es ist glaub ich immer noch nicht 100% AXIS kompatibel, aber schon besser.

(* some modification from Gerhard Gleixner
   to seperate between max jog and max speed
   added member MaxLinearJogVel to Vars record
   issue #17
*)
  if not GetIniDouble('TRAJ','MAX_LINEAR_VELOCITY',d,1) then
    if not GetIniDouble('TRAJ','MAX_VELOCITY',d,1) then
      GetIniDouble('DISPLAY','MAX_LINEAR_VELOCITY',d,1); (* not final sol., eval AXIS *)
  Vars.MaxLinearVel:= d * 60;

  if not GetIniDouble('DISPLAY','MAX_LINEAR_VELOCITY',d,1) then
    if not GetIniDouble('DISPLAY','MAX_VELOCITY',d,1) then
     if not GetIniDouble('TRAJ','MAX_LINEAR_VELOCITY',d,1) then
      GetIniDouble('TRAJ','MAX_VELOCITY',d,1);
  Vars.MaxLinearJogVel:= d * 60;

(* end mod *)

Original comment by gerd.gle...@gmail.com on 19 Feb 2010 at 11:31

GoogleCodeExporter commented 9 years ago
fehlt natürlich noch diese Änderung:

  State.MaxJogVel:= Round(Vars.MaxLinearJogVel); (* Gx, issue #17 *)

Original comment by gerd.gle...@gmail.com on 19 Feb 2010 at 11:36