public override void InitializeController() { _rfidController = _workcell.Process.InputStationProcess.Controller.RfidController; }
// 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"; }