示例#1
0
        private const int nReleaseCarrierTime = 1200;        //ms
        #endregion


        // Constructors ------------------------------------------------------------
        public InputTurnStationController(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell           = workcell;
            this._ioManifest         = (HSTIOManifest)workcell.IOManifest;
            _seaveyorInputConveyorIO = new SeaveyorZoneIO();
            _seaveyorInputStationIO  = new SeaveyorZoneIO();
            inputTurnSectionIO       = new TurnSectionIO();


            ///// Input Turn Station/////////////

            //digital input
            inputTurnSectionIO.inPosition    = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Turn_Station_In_Position);
            inputTurnSectionIO.At90DegSensor = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Turn_Station_At_90_Deg);
            inputTurnSectionIO.At0DegSensor  = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Turn_Station_At_0_Deg);

            //digital output
            inputTurnSectionIO.turnTo90Deg  = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Turn_Station_Turn_To_90_Deg);
            inputTurnSectionIO.turnTo0Deg   = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Turn_Station_Turn_To_0_Deg);
            inputTurnSectionIO.inhibitRelay = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Turn_Station_Inhibit);

            _doInputTurnTableTurnTo0Deg  = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Turn_Station_Turn_To_0_Deg);
            _doInputTurnTableTurnTo90Deg = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Turn_Station_Turn_To_90_Deg);

            _doInputLifterUp   = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Lifter_Up);
            _doInputLifterDown = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Lifter_Down);

            _doInputStopper = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Stopper);

            TurnSection TS = new TurnSection(inputTurnSectionIO);

            inputTurnSection            = TS as Seagate.AAS.Parsel.Device.ITurnSection;
            inputTurnSection.Simulation = (workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation);
            inputTurnSection.Name       = "InputTurnSection";


            ///// Input Conveyor Seaveyor/////////////

            //digital input
            _seaveyorInputConveyorIO.inPosition = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Conveyor_Position_On);

            //digital output
            _seaveyorInputConveyorIO.inhibit = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Conveyor_Inhibit);

            SeaveyorZone _seaveyorZone = new SeaveyorZone(_seaveyorInputConveyorIO);

            _seaveyorInputConveyor            = _seaveyorZone as ISeaveyorZone;
            _seaveyorInputConveyor.Simulation = (workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation);
            _seaveyorInputConveyor.Name       = "InputConveyor";



            ///// Input Station Seaveyor/////////////
            //digital input
            _seaveyorInputStationIO.inPosition = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.BIS_Position_On);

            //digital output
            _seaveyorInputStationIO.inhibit = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.CIS_Inhibit);


            _seaveyorZone                    = new SeaveyorZone(_seaveyorInputStationIO);
            _seaveyorInputStation            = _seaveyorZone as ISeaveyorZone;
            _seaveyorInputStation.Simulation = (workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation);
            _seaveyorInputStation.Name       = "InputStation";
        }
示例#2
0
        // Constructors ------------------------------------------------------------
        public InputStationController(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            _workcell        = workcell;
            this._ioManifest = (HSTIOManifest)workcell.IOManifest;

            _rfidController                      = new ReadWriteRFIDController(workcell, "RfidInput", "RfidInput", ReadWriteRFIDController.ReaderType.Fola, RFHead.Head1);
            _rfHead                              = Seagate.AAS.Parsel.Device.RFID.RFHead.Head1;
            _seaveyorInputStationZoneIO          = new SeaveyorZoneIO();
            _seaveyorInputStationZoneIO.inhibit  = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.CIS_Inhibit);
            _seaveyorBufferStationZoneIO         = new SeaveyorZoneIO();
            _seaveyorBufferStationZoneIO.inhibit = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.BBZ_Inhibit);


            //Seaveyor
            SeaveyorZone _seaveyorZone = new SeaveyorZone(_seaveyorInputStationZoneIO);

            _seaveyorInputStation            = _seaveyorZone as ISeaveyorZone;
            _seaveyorInputStation.Simulation = (HSTMachine.Workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation);
            _seaveyorInputStation.Name       = "Input Station Zone";

            SeaveyorZone _seaveyorBufferZone = new SeaveyorZone(_seaveyorBufferStationZoneIO);

            _seaveyorBufferStation            = _seaveyorBufferZone as ISeaveyorZone;
            _seaveyorBufferStation.Simulation = (HSTMachine.Workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation);
            _seaveyorBufferStation.Name       = "Buffer Station Zone";


            //digital input
            _diInputStationInPosition          = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.BIS_Position_On);
            _diBufferStationInPosition         = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.BBZ_Position_On);
            _diInputStationStopperUp           = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Stopper_Up);
            _diInputStationStopperDown         = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Stopper_Down);
            _diInputStationLifterUp            = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Lifter_Up);
            _diInputStationLifterDown          = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Lifter_Down);
            _diInputStationClampForward        = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Deploy);
            _diInputStationClampBackward       = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Retract);
            _diInputStationClampRotateCwOpen   = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Unlock);
            _diInputStationClampRotateCcwClose = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_CS_Lock);
            _diInputCarrierClampOpen           = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Input_Carrier_Clamp_Sensor);

            //Digital Output
            _doInputStationStopperExtendUp   = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Stopper);
            _doInputStationLifterExtendUp    = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Lifter_Up);
            _doInputStationLifterRetractDown = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_Lifter_Down);
            _doInputStationClampDeploy       = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_CS_Deploy);
            _doInputStationClampRotate       = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Input_CS_Rotate);


            //1. Stopper
            LinearActuator StopperActuator = new LinearActuator(_doInputStationStopperExtendUp, _diInputStationStopperUp, _diInputStationStopperDown, DigitalIOState.On);

            _stopper      = StopperActuator as ILinearActuator;
            _stopper.Name = "Zone 5 stopper actuator";
            _stopper.ExtendedDirectionName  = "Up";
            _stopper.ExtendedStateName      = "Up";
            _stopper.RetractedDirectionName = "Down";
            _stopper.RetractedStateName     = "Down";


            //2. Lifter
            LinearActuator lifterActuator = new LinearActuator(_doInputStationLifterExtendUp, _doInputStationLifterRetractDown, _diInputStationLifterUp, _diInputStationLifterDown);

            _lifter      = lifterActuator as ILinearActuator;
            _lifter.Name = "Zone 5 lifter actuator";
            _lifter.ExtendedDirectionName  = "Up";
            _lifter.ExtendedStateName      = "Up";
            _lifter.RetractedDirectionName = "Down";
            _lifter.RetractedStateName     = "Down";

            //3. Clamp
            LinearActuator ClampActuator = new LinearActuator(_doInputStationClampDeploy, _diInputStationClampForward, _diInputStationClampBackward, DigitalIOState.On);

            _clamp      = ClampActuator as ILinearActuator;
            _clamp.Name = "Zone 5 clamp actuator";
            _clamp.ExtendedDirectionName  = "Forward";
            _clamp.ExtendedStateName      = "Forward";
            _clamp.RetractedDirectionName = "Backward";
            _clamp.RetractedStateName     = "Backward";

            //4. ClampRotary
            LinearActuator ClampRotaryActuator = new LinearActuator(_doInputStationClampRotate, _diInputStationClampRotateCwOpen, _diInputStationClampRotateCcwClose, DigitalIOState.On);

            _clampRotary      = ClampRotaryActuator as ILinearActuator;
            _clampRotary.Name = "Zone 5 clamp rotary actuator";
            _clampRotary.ExtendedDirectionName  = "Cw Open";
            _clampRotary.ExtendedStateName      = "Cw Open";
            _clampRotary.RetractedDirectionName = "Ccw Close";
            _clampRotary.RetractedStateName     = "Ccw Close";
        }