コード例 #1
0
        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
        // Constructors ------------------------------------------------------------
        public OutputEEProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //RunInit mode
            stateMoveToHomePosition   = new QState(this.StateMoveToHomePosition);
            statePublishOutputEEHomed = new QState(this.StatePublishOutputEEHomed);
            stateWaitForSigStartBoundaryCheckOutputEEAxis = new QState(this.StateWaitForSigStartBoundaryCheckOutputEEAxis);
            stateBoundaryCheck = new QState(this.StateBoundaryCheck);
            statePublishOutputEEBoundaryCheckComplete = new QState(this.StatePublishOutputEEBoundaryCheckComplete);
            stateRunInitCompleteMoveToParkPosition    = new QState(this.StateRunInitCompleteMoveToParkPosition);

            //Run mode
            stateWaitForPrecisorReadyForPick = new QState(this.StateWaitForPrecisorReadyForPick);
            statePickHGAVacuumOn             = new QState(this.StatePickHGAVacuumOn);
            statePickHGAZDown = new QState(this.StatePickHGAZDown);
            statePickHGACheckVacuumAndMoveUp          = new QState(this.StatePickHGACheckVacuumAndMoveUp);
            stateAlertOperatorHGADrop                 = new QState(this.StateAlertOperatorHGADrop);
            statePublishSigPrecisorPickDone           = new QState(this.StatePublishSigPrecisorPickDone);
            stateWaitForSigOutputCarrierReadyForPlace = new QState(this.StateWaitForSigOutputCarrierReadyForPlace);
            statePlaceHGAZDown     = new QState(this.StatePlaceHGAZDown);
            statePlaceHGAVacuumOff = new QState(this.StatePlaceHGAVacuumOff);
            statePlaceHGAZUp       = new QState(this.StatePlaceHGAZUp);
            statePublishSigOutputCarrierPlaceDone = new QState(this.StatePublishSigOutputCarrierPlaceDone);
            statePerformCleaningWithDycem         = new QState(this.StatePerformCleaningWithDycem);
        }
コード例 #3
0
        // Constructors ------------------------------------------------------------
        public TestProbeProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //RunInit mode
            stateMoveToHomePosition       = new QState(this.StateMoveToHomePosition);
            statePublishSigTestProbeHomed = new QState(this.StatePublishSigTestProbeHomed);
            stateWaitForSigStartBoundaryCheckTestProbeAxis = new QState(this.StateWaitForSigStartBoundaryCheckTestProbeAxis);
            stateBoundaryCheck = new QState(this.StateBoundaryCheck);
            stateRunInitCompleteMoveToParkPosition        = new QState(this.StateRunInitCompleteMoveToParkPosition);
            statePublishSigTestProbeBoundaryCheckComplete = new QState(this.StatePublishSigTestProbeBoundaryCheckComplete);

            //Run mode
            stateCheckProbeFunctionalTest          = new QState(this.StateCheckProbeFunctionTest);
            stateWaitForSigReadyForProbe           = new QState(this.StateWaitForSigReadyForProbe);
            stateMoveTestProbeToProbePosition      = new QState(this.StateMoveTestProbeToProbePosition);
            statePublishSigRequestForHGATesting    = new QState(this.StatePublishSigRequestForHGATesting);
            stateWaitForSigHGATestingDone          = new QState(this.StateWaitForSigHGATestingDone);
            stateMoveTestProbeToParkPosition       = new QState(this.StateMoveTestProbeToParkPosition);
            stateCheckDoubleTestPeriod             = new QState(this.StateCheckDoubleTestPeriod);
            stateStateWaitForSigGetMeasurementDone = new QState(this.StateWaitForSigGetMeasurementDone);
            statePublishSigProbeDone = new QState(this.StatePublishSigProbeDone);
        }
コード例 #4
0
        public OperationMainPanel()
        {
            InitializeComponent();
            if (HSTMachine.Workcell == null)
            {
                return;
            }

            _workcell = HSTMachine.Workcell;

            InitGrid();
            partsCheckNest.ShowLabel(10, false);
            labelCallTecnician.Visible = false;
            HSTMachine.Workcell.Process.InputStationProcess.Controller.RfidController.OnRFIDFolaReadInputStationDone   += new ReadWriteRFIDController.RFIDFolaReadEventHandler(Controller_OnRFIDInputStationReadDone);
            HSTMachine.Workcell.Process.OutputStationProcess.Controller.RfidController.OnRFIDFolaReadOutputStationDone += new ReadWriteRFIDController.RFIDFolaReadEventHandler(Controller_OnRFIDOutputStationReadDone);

            if (HSTMachine.Workcell != null)
            {
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.TestProbeProcess.ToString(), labelTestProbe);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.PrecisorStationProcess.ToString(), labelPrecisorStation);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.InputEEProcess.ToString(), labelInputEE);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.OutputEEProcess.ToString(), labelOutputEE);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.OutputStationProcess.ToString(), labelOutputStation);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.OutputTurnStationProcess.ToString(), labelOutputTurnStation);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.InputTurnStationProcess.ToString(), labelInputTurnStation);
                ServiceManager.Tracing.SetTraceWindow(HSTMachine.Workcell.Process.InputStationProcess.ToString(), labelInputStation);
            }
        }
コード例 #5
0
        public ProcessHST(HSTWorkcell Workcell)
            : base((Workcell)Workcell)
        {
            _workcell          = Workcell;
            base.workcell      = Workcell;
            _workcell.Aborted += new EventHandler(_workcell_Aborted);

            _InputTurnStationProcess    = new InputTurnStationProcess(_workcell, "InputTurnStation", "InputTurnStation");
            _InputStationProcess        = new InputStationProcess(_workcell, "InputStation", "InputStation");
            _testProbeProcess           = new TestProbeProcess(_workcell, "TestProbe", "TestProbe");
            _precisorStationProcess     = new PrecisorStationProcess(_workcell, "PrecisorStation", "PrecisorStation");
            _inputEEprocess             = new InputEEProcess(_workcell, "InputEE", "InputEE");
            _outputEEProcess            = new OutputEEProcess(_workcell, "OutputEE", "OutputEE");
            _outputStationProcess       = new OutputStationProcess(_workcell, "OutputStation", "OutputStation");
            _outputTurnStationProcess   = new OutputTurnStationProcess(_workcell, "OutputTurnStation", "OutputTurnStation");
            _monitorProcess             = new MonitorProcess(_workcell, "MonitorProcess", "MonitorProcess");
            _runTestScriptProcess       = new RunTestScriptProcess(_workcell, "RunTestScriptProcess", "RunTestScriptProcess");
            _fileManageProcess          = new FileManageProcess(_workcell, "FileManageProcess", "FileManageProcess");
            _dataManagingProcess        = new DataManagingProcess(_workcell, "DataManagingProcess", "DataManagingProcess");
            _tdfDataRunProcess          = new TDFDataRunProcess(_workcell, "TDFDataRunProcess", "TDFDataRunProcess");
            _clampAndRotateProcess      = new OutputClampRotateProcess(_workcell, "ClampAndRotateProcess", "ClampAndRotateProcess");
            _imageFileManageProcess     = new ImageFileManageProcess(_workcell, "ImageFileManageProcess", "ImageFileManageProcess");
            _fisGetputMonitoringProcess = new GetputMonitoringProcess(_workcell, "GetputMonitoringProcess", "GetputMonitoringProcess");
            _monitorIOState             = new MonitorIOState(_workcell.HSTSettings);
        }
コード例 #6
0
        // Constructors ------------------------------------------------------------
        public InputTurnStationProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;

            // HSM delegates
            _qTimer = new QTimer(this);

            //RunInit mode
            stateStandbyInputTurnSection = new QState(this.StateStandbyInputTurnSection);

            //Run mode
            stateRunStart            = new QState(this.StateRunStart);
            stateDoAutoClearCarrier  = new QState(this.StateDoAutoClearCarrier);
            stateCheckForNextCarrier = new QState(this.StateCheckForNextCarrier);
            stateReleaseCarrierToInputTurnStation = new QState(this.StateReleaseCarrierToInputTurnStation);
            stateInputTurnSectionTurnForward      = new QState(this.StateInputTurnSectionTurnForward);
            stateVisionInspectCarrierAfterLoad    = new QState(this.StateVisionInspectCarrierAfterLoad);
            stateWaitForSigInputStationReady      = new QState(this.StateWaitForSigInputStationReady);
            statePublishSigCarrierInInputStation  = new QState(this.StatePublishSigCarrierInInputStation);
            stateReleaseCarrier = new QState(this.StateReleaseCarrier);
            stateInputTurnSectionTurnBackward = new QState(this.StateInputTurnSectionTurnBackward);
            stateReportTICError    = new QState(this.StateReportTICError);
            stateReportCRDLError   = new QState(this.StateReportCRDLError);
            stateReportGetputError = new QState(this.StateReportGetputError);
        }
コード例 #7
0
        // Constructors ------------------------------------------------------------
        public InputEEProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //RunInit mode
            stateRunInitMoveToHome   = new QState(this.StateRunInitMoveToHome);
            statePublishInputEEHomed = new QState(this.StatePublishInputEEHomed);
            stateWaitForSigStartBoundaryCheckInputEEAxis = new QState(this.StateWaitForSigStartBoundaryCheckInputEEAxis);
            stateBoundaryCheck = new QState(this.StateBoundaryCheck);
            statePublishInputEEBoundaryCheckComplete = new QState(this.StatePublishInputEEBoundaryCheckComplete);
            stateCheckVaccuum = new QState(this.StateCheckVaccuum);
            stateRunInitCompleteMoveToParkPosition = new QState(this.StateRunInitCompleteMoveToParkPosition);

            //Run mode
            stateRunStart = new QState(this.StateRunStart);
            stateRunCheckHGAReadyForPick      = new QState(this.StateRunCheckHGAReadyForPick);
            statePickHgaVacuumOn              = new QState(this.StatePickHgaVacuumOn);
            statePickHgaZDown                 = new QState(this.StatePickHgaZDown);
            statePickHgaZUpToParkPosition     = new QState(this.StatePickHgaZUpToParkPosition);
            statePickHgaCheckVacuum           = new QState(this.StatePickHgaCheckVacuum);
            statePickHgaPublishPickDone       = new QState(this.StatePickHgaPublishPickDone);
            stateRunCheckHGAReadyForPlace     = new QState(this.StateRunCheckHGAReadyForPlace);
            statePlaceHgaZDown                = new QState(this.StatePlaceHgaZDown);
            statePlaceHgaVacuumOff            = new QState(this.StatePlaceHgaVacuumOff);
            stateWaitPrecisorTurnOnAllVacuums = new QState(this.StateWaitPrecisorTurnOnAllVacuums);
            statePlaceHgaZUpToParkPosition    = new QState(this.StatePlaceHgaZUpToParkPosition);
            statePlaceHgaPublishPlaceDone     = new QState(this.StatePlaceHgaPublishPlaceDone);
            statePerformCleaningWithDycem     = new QState(this.StatePerformCleaningWithDycem);
        }
コード例 #8
0
 // Constructors & Finalizers -------------------------------------------
 public ImageFileManageProcess(HSTWorkcell workcell, string processID, string processName)
     : base(workcell, processID, processName)
 {
     // initialize HSM delegates
     _isNonIdleProcess = true;
     stateStartRunning = new QState(this.StartRunning);
     _stateTimer       = new QTimer(this);
 }
コード例 #9
0
 public DycemCleaningCounter()
 {
     InitializeComponent();
     if (HSTMachine.Workcell == null)
     {
         return;
     }
     _workcell = HSTMachine.Workcell;
 }
コード例 #10
0
 // Constructors & Finalizers -------------------------------------------
 public ARAMSStateHST(HSTWorkcell workcell)
 {
     _workcell                    = workcell;
     _powerDownTimerTick          = new System.Timers.Timer();
     _powerDownTimerTick.Interval = 3000.00; // Every 30 secs fixed;
     _powerDownTimerTick.Elapsed += new ElapsedEventHandler(_powerDownTimerTick_Elapsed);
     _powerDownTimerTick.Enabled  = true;
     _powerDownTimeLogFile        = HSTMachine.Workcell.HSTSettings.Directory.LogFilePath + "\\PowerDownTime.log";//Zhang Jian by passed
 }
コード例 #11
0
        // 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);
        }
コード例 #12
0
 public ProductionCounter()
 {
     InitializeComponent();
     if (HSTMachine.Workcell == null)
     {
         return;
     }
     _workcell = HSTMachine.Workcell;
 }
コード例 #13
0
        // Constructors & Finalizers -------------------------------------------
        public MonitorErrorMessage(HSTWorkcell workcell, bool stopMacineOnError, string src, ButtonList lst)
            : base(src, lst)
        {
            _workcell          = workcell;
            _isStopMachine     = stopMacineOnError;
            _stopMachineErrors = new List <MonitorErrorMessage>();

            _list.Add(this);
            IsErrorCleared = true;
        }
コード例 #14
0
        // Constructors & Finalizers -------------------------------------------
        public ActiveProcessHST(HSTWorkcell workcell, string processID, string processName)
            : base(workcell)
        {
            this._workcell    = workcell;
            this._processID   = processID;
            this._processName = processName;

            _processErrorList = new Dictionary <int, string>();
            AddProcessError();

            _signalList = new List <Signal>();
        }
コード例 #15
0
        public DataManagingProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //Run mode
            stateRunStart = new QState(this.StateRunStart);
            stateWaitForInputCarrierComplete = new QState(this.StateWaitForInputCarrierComplete);
            stateISIDataProcess = new QState(this.StateISIDataProcess);
            stateCheckGetputServerConnection = new QState(this.StateCheckGetputServerConnection);
        }
コード例 #16
0
        public OperationModulesState()
        {
            InitializeComponent();
            if (HSTMachine.Workcell == null)
            {
                return;
            }

            _workcell = HSTMachine.Workcell;
            HSTMachine.Workcell.Process.OnInitStart += new EventHandler(Process_OnInitStart);
            HSTMachine.Workcell.Process.OnInit      += new EventHandler(Process_OnInit);
        }
コード例 #17
0
        public TDFDataRunProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //Run mode
            stateRunStart = new QState(this.StateRunStart);
            stateWaitForOutputCarrierComplete = new QState(this.StateWaitForOutputCarrierComplete);
            stateSentSeatrackData             = new QState(this.StateSentSeatrackData);
            stateUpdateDataLogFile            = new QState(this.StateUpdateDataLogFile);
            stateSaveTDFDataFile = new QState(this.StateSaveTDFDataFile);
        }
コード例 #18
0
        public SetupConfigHST(HSTWorkcell Workcell)
        {
            AxesProfile = new AxesProfile();
            DelayTimer  = new DelayTimer();

            // 2: get the main xml
            string fileName = ServiceManager.DirectoryLocator.GetPath(Folders.Setup) + @"\Automation.config";

            _xml = new SettingsXml(fileName);

            ServiceManager.FormLayout.SetupFolder = HSTSettings.Directories.Setup;
            Load();
        }
コード例 #19
0
        public OutputClampRotateProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //Run mode
            stateRunStart = new QState(this.StateRunStart);
            stateWaitForOutputCarrierComplete = new QState(this.StateWaitForOutputCarrierComplete);
            stateClampAndRotateClose          = new QState(this.StateClampAndRotateClose);
            stateClampAndRotateOpen           = new QState(this.StateClampAndRotateOpen);
            statePublishUpdateClampDone       = new QState(this.StatePublishUpdateClampDone);
        }
コード例 #20
0
        // 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);
        }
コード例 #21
0
        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();
        }
コード例 #22
0
        public FormMainE95(HSTWorkcell workcell)
        {
            Application.EnableVisualStyles();
            workcell.HSTSettings.getUserAccessSettings().getCurrentUser().Name              = "Operator";
            workcell.HSTSettings.getUserAccessSettings().getCurrentUser().Password          = "******";
            workcell.HSTSettings.getUserAccessSettings().getCurrentUser().Level             = UserLevel.Operator;
            workcell.HSTSettings.getUserAccessSettings().getCurrentUser().MaintenanceAccess = false;

            _workcell = workcell;
            InitializeComponent();
            RegisterComponents();

            System.IO.File.Delete(CommonFunctions.TempFileToIndicateDownloadConfigToProcessorClicked);
        }
コード例 #23
0
        private void RFIDPanel_Load(object sender, EventArgs e)
        {
            if (this.DesignMode)
            {
                return;
            }

            _workcell = HSTMachine.Workcell;
            if (HSTMachine.Workcell == null)
            {
                return;
            }
            folaTagDataPanel1.ReadOnly = !btWriteFola.Visible;
        }
コード例 #24
0
        // Constructors & Finalizers -------------------------------------------
        public OmronSafetyController(HSTWorkcell workcell, string controllerID, string controllerName)
            : base(workcell, controllerID, controllerName)
        {
            _workcell          = workcell;
            this._controllerID = controllerID;

            try
            {
                _safetyController = HSTMachine.Workcell.OmronSafetyController;
            }
            catch (Exception ex)
            {
                ExceptionSafetyController _exceptionSafetyController = new ExceptionSafetyController();
            }
        }
コード例 #25
0
        // Constructors ------------------------------------------------------------
        public OutputTurnStationProcess(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell = workcell;
            _qTimer        = new QTimer(this);

            //RunInit mode
            stateRunInitStandbyOutputSection = new QState(this.StateRunInitStandbyOutputSection);

            //Run mode
            stateRunStart = new QState(this.StateRunStart);
            stateWaitForSigCarrierPresentInOutputTurnStation = new QState(this.StateWaitForSigCarrierPresentInOutputTurnStation);
            stateCheckCarrierPresentInOutputTurnStation      = new QState(this.StateCheckCarrierPresentInOutputTurnStation);
            stateOutputTurnSectionTurnForward    = new QState(this.StateOutputTurnSectionTurnForward);
            stateCheckNextZoneReady              = new QState(this.StateCheckNextZoneReady);
            stateOutputTurnSectionReleaseCarrier = new QState(this.StateOutputTurnSectionReleaseCarrier);
        }
コード例 #26
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";
            }
        }
コード例 #27
0
 // Constructors & Finalizers -------------------------------------------
 public ReadWriteRFIDController(HSTWorkcell workcell, string controllerID, string controllerName, ReaderType readerType, RFHead head)
     : base(workcell, controllerID, controllerName)
 {
     _workcell          = workcell;
     this._controllerID = controllerID;
     // Rfid reader
     try
     {
         if (readerType == ReaderType.Fola)
         {
             _RFIDScanner = HSTMachine.Workcell.RFIDScanner;
         }
     }
     catch (Exception ex)
     {
         ExceptionRFID _exceptionRFID = new ExceptionRFID();
     }
 }
コード例 #28
0
        // Constructors ------------------------------------------------------------
        public MonitorController(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            _workcell         = workcell;
            _ioManifest       = (HSTIOManifest)workcell.IOManifest;
            _safetyController = new OmronSafetyController(workcell, "SafetyController", "SafetyController");

            if (HSTMachine.Workcell.HSTSettings.Install.OperationMode != OperationMode.Simulation)
            {
                _diGroundMasterOk       = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Ground_Master);
                _inputEndEffectorZAxis  = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z1);
                _outputEndEffectorZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z3);
                _testProbeZAxis         = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z2);

                _precisorNestXAxis      = _ioManifest.GetAxis((int)HSTIOManifest.Axes.X);
                _precisorNestYAxis      = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Y);
                _precisorNestThetaAxis  = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Theta);
                _axesCommandPositionMap = new Hashtable();
            }
        }
コード例 #29
0
        // Constructors ------------------------------------------------------------
        public OutputEEController(HSTWorkcell workcell, string processID, string processName)
            : base(workcell, processID, processName)
        {
            this._workcell   = workcell;
            this._ioManifest = (HSTIOManifest)workcell.IOManifest;

            _axesProfile = workcell.SetupConfig.AxesProfile;

            if (HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Acceleration > outputEEMaxAcce)
            {
                HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Acceleration = outputEEMaxAcce;
            }
            _axesProfile.OutputEEZ.Acceleration = HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Acceleration;

            if (HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Deceleration > outputEEMaxDece)
            {
                HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Deceleration = outputEEMaxDece;
            }
            _axesProfile.OutputEEZ.Deceleration = HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Deceleration;

            if (HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Velocity > outputEEMaxVel)
            {
                HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Velocity = outputEEMaxVel;
            }
            _axesProfile.OutputEEZ.Velocity = HSTMachine.Workcell.SetupSettings.MoveProfile.OutputEEZ.Velocity;


            _teachPointRecipe = workcell.TeachPointRecipe;

            _diOutputEndEffectorPnpPresent1 = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_EE_VS1);
            _diOutputEndEffectorPnpPresent2 = _ioManifest.GetDigitalInput((int)HSTIOManifest.DigitalInputs.Output_EE_VS2);

            _doOutputEndEffectorPnpVacuumOn = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_EE_VCH);
            _doOutputEndEffectorPnpPurgeOn  = _ioManifest.GetDigitalOutput((int)HSTIOManifest.DigitalOutputs.Output_EE_PCH);

            _OutputEndEffectorZAxis = _ioManifest.GetAxis((int)HSTIOManifest.Axes.Z3);

            OutputEEPrecisorVacuumProcessTimeStopWatch = new Stopwatch();
            Machine.HSTMachine.Workcell.CalibrationSettings.OnSettingsChanged += VisionSettingsChanged;
            Machine.HSTMachine.Workcell.SetupSettings.OnSettingsChanged       += AutomationConfigChanged;
        }
コード例 #30
0
            public IOState(string directory, HSTSettings settings, bool digitalstate, HSTWorkcell workcell, int card, int bit)
            {
                _iostate      = false;
                _analogValue  = "UNKNOWN";
                _log          = false;
                _directory    = directory;
                _digitalstate = digitalstate;
                _workcell     = workcell;
                _icard        = card;
                _ibit         = bit;
                _settings     = settings;

                this.tmrUpdate          = new System.Windows.Forms.Timer();
                this.tmrUpdate.Interval = 100;
                this.tmrUpdate.Tick    += new System.EventHandler(this.tmrUpdate_Tick);

                if (settings.Install.LogIOChangeState)
                {
                    _log = true;
                }
            }