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; } }
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); }