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"; }
// Constructors & Finalizers ------------------------------------------- public RunTestScriptProcess(HSTWorkcell workcell, string processID, string processName) : base(workcell, processID, processName) { this.ioManifest = (HSTIOManifest)workcell.IOManifest; _isNonIdleProcess = true; // initialize HSM delegates stateMonitoring = new QState(this.Monitoring); }
// Constructors & Finalizers ------------------------------------------- public MonitorProcess(HSTWorkcell workcell, string processID, string processName) : base(workcell, processID, processName) { this.ioManifest = (HSTIOManifest)workcell.IOManifest; _isNonIdleProcess = true; _stateTimer = new QTimer(this); conveyorCongestionTimer = new System.Timers.Timer(1000); conveyorCongestionTimer.Stop(); // initialize HSM delegates stateMonitoring = new QState(this.Monitoring); }
public ControllerHST(HSTWorkcell workcell, string controllerID, string controllerName) { _workcell = workcell; _ioManifest = (HSTIOManifest)workcell.IOManifest; _controllerID = controllerID; _controllerName = controllerName; _controllerErrorList = new Dictionary <int, string>(); AddControllerError(); // Generate a text file contains errors of this controller. OutputControllerErrorListToTextFile(); }
// 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"; } }
public MotionControlPanel() { InitializeComponent(); _userAccess = HSTMachine.Workcell.HSTSettings.getUserAccessSettings(); _userAccess.UserChanged += new EventHandler(UserChanged); this._ioManifest = (HSTIOManifest)HSTMachine.Workcell.IOManifest;//temp test int startLocation = 6; panelSingleAxis = new Seagate.AAS.Parsel.Hw.Aerotech.A3200.PanelSingleAxis(); panelSingleAxis.Location = new System.Drawing.Point(startLocation, 6); panelSingleAxis.Name = "panelSingleAxis0"; panelSingleAxis.Size = new System.Drawing.Size(290, 360); panelSingleAxis.TabIndex = 0; this.Controls.Add(panelSingleAxis); panelSingleAxis.AssignAxis(HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)0)); panelSingleAxis1 = new Seagate.AAS.Parsel.Hw.Aerotech.A3200.PanelSingleAxis(); panelSingleAxis1.Location = new System.Drawing.Point(startLocation + 295, 6); panelSingleAxis1.Name = "panelSingleAxis1"; panelSingleAxis1.Size = new System.Drawing.Size(290, 360); panelSingleAxis1.TabIndex = 0; this.Controls.Add(panelSingleAxis1); panelSingleAxis1.AssignAxis(HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)1)); panelSingleAxis2 = new Seagate.AAS.Parsel.Hw.Aerotech.A3200.PanelSingleAxis(); panelSingleAxis2.Location = new System.Drawing.Point(startLocation + (295 * 2), 6); panelSingleAxis2.Name = "panelSingleAxis2"; panelSingleAxis2.Size = new System.Drawing.Size(290, 360); panelSingleAxis2.TabIndex = 0; this.Controls.Add(panelSingleAxis2); panelSingleAxis2.AssignAxis(HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)2)); // second row PanelSingleAxis panelSingleAxis3 = new Seagate.AAS.Parsel.Hw.Aerotech.A3200.PanelSingleAxis(); panelSingleAxis3.Location = new System.Drawing.Point(startLocation, 6 + 360); panelSingleAxis3.Name = "panelSingleAxis3"; panelSingleAxis3.Size = new System.Drawing.Size(290, 360); panelSingleAxis3.TabIndex = 0; this.Controls.Add(panelSingleAxis3); panelSingleAxis3.AssignAxis(HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)3)); PanelSingleAxis panelSingleAxis4 = new Seagate.AAS.Parsel.Hw.Aerotech.A3200.PanelSingleAxis(); panelSingleAxis4.Location = new System.Drawing.Point(startLocation + 295, 6 + 360); panelSingleAxis4.Name = "panelSingleAxis3"; panelSingleAxis4.Size = new System.Drawing.Size(290, 360); panelSingleAxis4.TabIndex = 0; this.Controls.Add(panelSingleAxis4); panelSingleAxis4.AssignAxis(HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)4)); PanelSingleAxis panelSingleAxis5 = new Seagate.AAS.Parsel.Hw.Aerotech.A3200.PanelSingleAxis(); panelSingleAxis5.Location = new System.Drawing.Point(startLocation + (295 * 2), 6 + 360); panelSingleAxis5.Name = "panelSingleAxis3"; panelSingleAxis5.Size = new System.Drawing.Size(290, 360); panelSingleAxis5.TabIndex = 0; this.Controls.Add(panelSingleAxis5); panelSingleAxis5.AssignAxis(HSTMachine.Workcell._a3200HC.IOStore.GetAxis((uint)5)); labelInstructionandInformation.Text = "The command referring to motion controller command.\nFor Example ENABLE X , DISABLE X, MOVEABS X5 10 and MOVEINC X5 10.\nExample: MOVEABS <Axis> <Position> <Speed>\n<Axis>: Axis Name (X,Y,Z)\n<Position> Absolute postion to move to (-100, 100)\n<Speed> The speed at which to move an axis (50, 100, 200)"; EnableDisableTernimal(); }
// 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"; }