HCAxisManager.cs 4.3 KB
using HuichuanLibrary;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OnlineStore.DeviceLibrary
{
    public class HCAxisManager : AxisManager
    {
        public override void AbsMove(string portName, short slvAddr, int targetPosition, int targetSpeed=0,int ptpAcc=0,int ptpDec=0)
        {
              HCBoardManager.AbsMove((short)slvAddr, targetPosition, targetSpeed, ptpAcc, ptpDec);
        }
         
        public override void AlarmClear(string portName, short slvAddr)
        {
            HCBoardManager.ClearAxisSts((short)slvAddr);
        }

        public override void ClearSpeed()
        {             
        }

        public override void CloseAllPort()
        {             
        }

        public override void ColsePort(string portName)
        {             
        }

        

        public override int GetActualtPosition(string portName, short slvAddr)
        {
            return (int)HCBoardManager.GetAxisCurrPos(slvAddr);
        }

        public override int GetAlarmStatus(string portName, short slvAddr)
        {
          AxisSts axisS=  HCBoardManager.GetAxisSts(slvAddr);
            return axisS.ALM;
        }

        public override int GetBusyStatus(string portName, short slvAddr)
        {
            AxisSts axisS = HCBoardManager.GetAxisSts(slvAddr);
            return axisS.BUSY;
        }

        public override int GetHomeEndStatus(string portName, short slvAddr)
        {
            return (int) HCBoardManager.GetHomeStatus(slvAddr); 
        }

        public override int GetHomeSingle(string portName, short slvAddr)
        {
            AxisSts axisS = HCBoardManager.GetAxisSts(slvAddr);
            return axisS.ALM;
        }

        public override int GetLimitNegativeSingle(string portName, short slvAddr)
        {
            AxisSts axisS = HCBoardManager.GetAxisSts(slvAddr);
            return axisS.NEL;
        }
         

        public override int GetLimitPositiveSingle(string portName, short slvAddr)
        {
            AxisSts axisS = HCBoardManager.GetAxisSts(slvAddr);
            return axisS.PEL;
        }

        public override int GetTargetPosition(string portName, short slvAddr)
        {
            return (int)HCBoardManager.GetAxisPrfPos(slvAddr);
        }

        public override void HomeMove(string portName, short slvAddr, int highVel, int lowVel, int acc)
        {
            HCBoardManager.StartHomeMove(slvAddr,(uint) highVel, (uint)lowVel, (uint)acc);
        }

        public override void InitSlvAddr(string portName, short slvAddr)
        {
          
        }

        public override void InitSlvAddr(string portName, short slvAddr, int targetSpeed, int addSpeed, int delSpeed)
        { 
        }

        public override bool IsHomeMoveEnd(string portName, short slvAddr)
        {
           return  HCBoardManager.HomeingIsEnd(slvAddr);
        }

        public override bool isInPosition(ConfigMoveAxis Axis, int PPosition, bool isLog = false)
        {
            return HCBoardManager.IsInPosition(Axis.GetAxisValue(), PPosition,Axis .CanErrorCountMax);
        }

        public override bool OpenPort(string portName)
        {
            return true;
        }

        public override void RelMove(string portName, short slvAddr, int position, int targetSpeed = 0, int ptpAcc = 0, int ptpDec = 0)
        {
            HCBoardManager.RelMove(slvAddr, position, targetSpeed, ptpAcc, ptpDec);
        }
     
        public override bool ServerOnStatus(string portName, short slvAddr)
        {
            AxisSts axisS = HCBoardManager.GetAxisSts(slvAddr);
            return axisS.ServoOn.Equals(1);
        }

        public override void ServoOff(string portName, short slvAddr)
        {
            HCBoardManager.ServoOff(slvAddr);
        }

        public override void ServoOn(string portName, short slvAddr)
        {
            HCBoardManager.ServoOn(slvAddr);
        }

        public override void SpeedMove(string portName, short slvAddr, int speed)
        {
            HCBoardManager.SpeedMove(slvAddr, speed);
        } 
        public override void SuddenStop(string portName, short slvAddr)
        {
            HCBoardManager.AxisStop(slvAddr);
        }
    }
}