Пример #1
0
        public void GetAxisAndChannelByRobotIn(Robot_In Io, ref AxisNum Axis, ref ushort Channel)
        {
            switch (Io)
            {
            case Robot_In.IO_IN_AirCylGoArrive:
            {
                Axis    = AxisNum.Axis_X;        //使用IO卡的 X_IN1
                Channel = 1;
            }
            break;

            case Robot_In.IO_IN_AirCylBackArrive:
            {
                Axis    = AxisNum.Axis_X;        //使用IO卡的 X_IN4
                Channel = 4;
            }
            break;

            case Robot_In.IO_IN_GraspDeviceNozzleCheck:
            {
                Axis    = AxisNum.Axis_X;        //使用IO卡的 X_IN5
                Channel = 5;
            }
            break;

            case Robot_In.IO_IN_GraspSalverNozzleCheck1:
            {
                Axis    = AxisNum.Axis_Y;        //使用IO卡的 Y_IN1
                Channel = 1;
            }
            break;

            case Robot_In.IO_IN_GraspSalverNozzleCheck2:
            {
                Axis    = AxisNum.Axis_Y;        //使用IO卡的 Y_IN4
                Channel = 4;
            }
            break;

            case Robot_In.IO_IN_GraspSalverNozzleCheck3:
            {
                Axis    = AxisNum.Axis_Y;        //使用IO卡的 Y_IN5
                Channel = 5;
            }
            break;

            case Robot_In.IO_IN_GraspSalverNozzleCheck4:
            {
                Axis    = AxisNum.Axis_Z;        //使用IO卡的 Z_IN1
                Channel = 1;
            }
            break;

            default:
                break;
            }
        }
Пример #2
0
        public IOValue GetRobotIo(Robot_In Io)
        {
            IOValue Value = IOValue.IOValueLow;

            if (m_IsConnected)
            {
                AxisNum axis    = 0;
                ushort  channel = 0;
                GetAxisAndChannelByRobotIn(Io, ref axis, ref channel);
                Value = (IOValue)m_MotionControler.GetMotionIo(axis, channel);
            }

            return(Value);
        }