Example #1
0
        // Constructors ------------------------------------------------------------
        public OutputClampRotateController(HSTWorkcell workcell, string controllerID, string controllerName)
            : base(workcell, controllerID, controllerName)
        {
            _workcell        = workcell;
            this._ioManifest = (HSTIOManifest)workcell.IOManifest;

            _doOutputStationClampDeploy =
                _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_CS_Deploy);
            _doOutputStationClampRotate =
                _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_CS_Rotate);

            _diOutputStationClampForward =
                _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Deploy);
            _diOutputStationClampBackward =
                _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Retract);
            _diOutputStationClampRotateCwOpen =
                _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Lock);
            _diOutputStationClampRotateCcwClose =
                _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_CS_Unlock);

            _diOutputStationClampOpenDetect = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_Carrier_Clamp_Sensor);

            if (HSTMachine.Workcell.HSTSettings.Install.OperationMode != OperationMode.Simulation)
            {
                //3. Clamp
                LinearActuator ClampActuator = new LinearActuator(_doOutputStationClampDeploy,
                                                                  _diOutputStationClampForward, _diOutputStationClampBackward, 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(_doOutputStationClampRotate,
                                                                        _diOutputStationClampRotateCcwClose, _diOutputStationClampRotateCwOpen, 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";
            }
        }
        private const int nReleaseCarrierTime = 1200; //ms

        // Constructors ------------------------------------------------------------
        public OutputTurnStationController(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell      = workcell;
            this._ioManifest    = (HSTIOManifest)HSTMachine.Workcell.IOManifest;
            outputTurnSectionIO = new TurnSectionIO();


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

            //digital input
            outputTurnSectionIO.exitClearSensor = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_Turn_Station_Exit_Clear);
            outputTurnSectionIO.inPosition      = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_Turn_Station_In_Position);
            outputTurnSectionIO.At90DegSensor   = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_Turn_Station_At_90_Deg);
            outputTurnSectionIO.At0DegSensor    = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_Turn_Station_At_0_Deg);

            //digital output
            outputTurnSectionIO.turnTo90Deg  = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_Turn_Station_Turn_To_90_Deg);
            outputTurnSectionIO.turnTo0Deg   = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_Turn_Station_Turn_To_0_Deg);
            outputTurnSectionIO.inhibitRelay = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_Turn_Station_Inhibit);

            _doOutputTurnTableTurnTo0Deg  = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_Turn_Station_Turn_To_0_Deg);
            _doOutputTurnTableTurnTo90Deg = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_Turn_Station_Turn_To_90_Deg);

            _doOutputStopper = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_Stopper);

            TurnSection TS = new TurnSection(outputTurnSectionIO);

            outputTurnSection            = TS as Seagate.AAS.Parsel.Device.ITurnSection;
            outputTurnSection.Simulation = (workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation);
            outputTurnSection.Name       = "OutputTurnSection";
        }
Example #3
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";
        }