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";
        }
Пример #2
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";
        }