コード例 #1
0
        private AcsAxes ConvertAxis(GantryAxes axis)
        {
            switch (axis)
            {
            case GantryAxes.Z:
                return(AcsAxes.GantryZ);

            default:
            case GantryAxes.X:
                return(AcsAxes.GantryX);

            case GantryAxes.Y:
                return(AcsAxes.GantryY);
            }
        }
コード例 #2
0
        internal AcsAxis(Api api, AcsUtils utils, BufferHelper bufferHelper, GantryAxes axisId, Axis acsAxisId,
                         IRobotControlSetting config)
        {
            this.api          = api;
            this.bufferHelper = bufferHelper;
            acsUtils          = utils;
            axisConfig        = config;
            ApplicationAxisId = (int)axisId;
            AcsAxisId         = acsAxisId;
            Name = ApplicationAxisId.ToString();
            ReloadConfigParameters();
            HomeStopCondition = string.Format("FAULT({0}).#LL", (int)AcsAxisId);
            if (!Homed)
            {
                acsUtils.ClearBits("FDEF", (int)AcsAxisId, 64);
                acsUtils.ClearBits("FDEF", (int)AcsAxisId, 32);
            }

            acsUtils.SetBits("FDEF", (int)AcsAxisId, 3);
            if (Homed)
            {
                acsUtils.SetBits("FDEF", (int)AcsAxisId, 64);
                acsUtils.SetBits("FDEF", (int)AcsAxisId, 32);
            }

            switch (ApplicationAxisId)
            {
            case 0:
                HomeBuffer = 3;
                break;

            case 1:
                HomeBuffer = 0;
                break;

            case 2:
                HomeBuffer = 1;
                break;
            }
        }
コード例 #3
0
 public bool Stop(GantryAxes axis)
 {
     return(true);
 }
コード例 #4
0
 public bool Abort(GantryAxes axis)
 {
     return(true);
 }
コード例 #5
0
 public bool MoveRelative(GantryAxes axis, double relativePosition, double vel = 0, double acc = 0, double dec = 0)
 {
     axesPosition[ConvertAxis(axis)] += relativePosition;
     return(true);
 }
コード例 #6
0
 public bool Jog(GantryAxes axis, double vel = 0, double acc = 0, double dec = 0)
 {
     return(true);
 }
コード例 #7
0
 public bool Init(GantryAxes axis)
 {
     return(true);
 }
コード例 #8
0
 public bool MoveAbsolute(GantryAxes axis, double targetPos, double vel = 0, double acc = 0, double dec = 0)
 {
     axesPosition[ConvertAxis(axis)] = targetPos;
     return(true);
 }
コード例 #9
0
 public bool IsIdle(GantryAxes axis)
 {
     return(true);
 }
コード例 #10
0
 public double GetGantryPosition(GantryAxes axis)
 {
     return(axesPosition[ConvertAxis(axis)]);
 }
コード例 #11
0
 public bool AtNegativeSwLimit(GantryAxes axis)
 {
     return(false);
 }
コード例 #12
0
 public void ClearError(GantryAxes axis)
 {
 }
コード例 #13
0
 public bool AtPositiveHwLimit(GantryAxes axis)
 {
     return(false);
 }
コード例 #14
0
 public bool AtHomeSensor(GantryAxes axis)
 {
     return(false);
 }
コード例 #15
0
 public double Velocity(GantryAxes axis)
 {
     return(0);
 }
コード例 #16
0
 public void SetRPos(GantryAxes axis, double pos)
 {
     axesPosition[ConvertAxis(axis)] = pos;
 }
コード例 #17
0
 public bool Homed(GantryAxes axis)
 {
     return(true);
 }
コード例 #18
0
 public bool Disable(GantryAxes axis)
 {
     return(true);
 }
コード例 #19
0
 public bool Ready(GantryAxes axis)
 {
     return(true);
 }
コード例 #20
0
 public bool ReloadConfigParameters(GantryAxes axis)
 {
     return(true);
 }
コード例 #21
0
 public bool Enabled(GantryAxes axis)
 {
     return(true);
 }