public virtual bool Action()
        {
            _actionStartCpuCount = JFFunctions.PerformanceCounter();
            bool isOK = innerFlow.Action();

            _actionStopCpuCount = JFFunctions.PerformanceCounter();
            return(isOK);
        }
Example #2
0
 public bool Action()
 {
     _startPfCnt = JFFunctions.PerformanceCounter();
     _endPfCnt   = _startPfCnt;
     if (string.IsNullOrEmpty(_filePath))
     {
         _actionErrorInfo = "图片文件路径未设置";
         _endPfCnt        = JFFunctions.PerformanceCounter();
         return(false);
     }
     if (!File.Exists(_filePath))
     {
         _actionErrorInfo = "Failed By: _filePath = \"" + _filePath + "\" is not existed";
         _endPfCnt        = JFFunctions.PerformanceCounter();
         return(false);
     }
     //if(_image != null)
     //{
     //    _image.Dispose();
     //    _image = null;
     //}
     try
     {
         HObject ho;
         HOperatorSet.ReadImage(out ho, _filePath);
         _image = new JFImage_Hlc(ho, 0);
     }
     catch (Exception ex)
     {
         _actionErrorInfo = "Failed By:Exception =" + ex.ToString();
         _endPfCnt        = JFFunctions.PerformanceCounter();
         return(false);
     }
     _endPfCnt        = JFFunctions.PerformanceCounter();
     _actionErrorInfo = "Success";
     return(true);
 }
Example #3
0
        public bool Action()
        {
            _startPfCnt = JFFunctions.PerformanceCounter();
            if (!IsInitOK)
            {
                _endPfCnt        = JFFunctions.PerformanceCounter();
                _actionErrorInfo = "初始化未完成";
                return(false);
            }
            IJFDevice dev = JFHubCenter.Instance.InitorManager.GetInitor(_devID) as IJFDevice;

            if (null == dev)
            {
                _endPfCnt        = JFFunctions.PerformanceCounter();
                _actionErrorInfo = "设备不存在,DevID = " + _devID;
                return(false);
            }

            int errCode = 0;

            if (_isOpen)
            {
                errCode = dev.OpenDevice();
            }
            else
            {
                errCode = dev.CloseDevice();
            }
            _endPfCnt = JFFunctions.PerformanceCounter();
            if (0 != errCode)
            {
                _actionErrorInfo = (_isOpen ? "打开" : "关闭") + "设备失败:" + dev.GetErrorInfo(errCode);
                return(false);
            }
            _actionErrorInfo = "Success";
            return(true);
        }
Example #4
0
        public override bool Action()
        {
            _actionStartPerformance = JFFunctions.PerformanceCounter();

            _status = 1;
            _eventCmd.Set();
            if (!IsInitOK)
            {
                _actionStopPerformance = JFFunctions.PerformanceCounter();
                _actionErrorInfo       = "Action failed by:is not init OK,initError:" + GetInitErrorInfo();
                _status = 0;
                return(false);
            }

            try
            {
                if (_isIncludeEnd)      //包含结束值
                {
                    if (_interval >= 0) //正向增加
                    {
                        for (_forValue = _startValue; _forValue <= _endValue; _forValue += _interval)
                        {
                            InnerFlow.DataPool["For_Value"] = _forValue;
                            if (!InnerFlow.Action())
                            {
                                _status = 0;
                                _actionStopPerformance = JFFunctions.PerformanceCounter();
                                return(false);
                            }
                            if (2 == _status)
                            {
                                _eventCmd.WaitOne();
                                if (3 == _status)
                                {
                                    _status = 0;
                                    _actionStopPerformance = JFFunctions.PerformanceCounter();
                                    if (InnerFlow.Stop(10) != JFWorkCmdResult.Success)
                                    {
                                        InnerFlow.Abort();
                                    }
                                    throw new JFBreakMethodFlowException();
                                }
                            }
                        }
                    }

                    else //负向递减
                    {
                        for (_forValue = _startValue; _forValue >= _endValue; _forValue += _interval)
                        {
                            InnerFlow.DataPool["For_Value"] = _forValue;
                            if (!InnerFlow.Action())
                            {
                                _status = 0;
                                _actionStopPerformance = JFFunctions.PerformanceCounter();
                                return(false);
                            }
                            if (2 == _status)
                            {
                                _eventCmd.WaitOne();
                                if (3 == _status)
                                {
                                    _status = 0;
                                    if (InnerFlow.Stop(10) != JFWorkCmdResult.Success)
                                    {
                                        InnerFlow.Abort();
                                    }
                                    _actionStopPerformance = JFFunctions.PerformanceCounter();
                                    throw new JFBreakMethodFlowException();
                                }
                            }
                        }
                    }
                }
                else//不包含结束值
                {
                    if (_interval >= 0) //正向增加
                    {
                        for (_forValue = _startValue; _forValue < _endValue; _forValue += _interval)
                        {
                            InnerFlow.DataPool["For_Value"] = _forValue;
                            if (!InnerFlow.Action())
                            {
                                _status = 0;
                                _actionStopPerformance = JFFunctions.PerformanceCounter();
                                return(false);
                            }
                            if (2 == _status)
                            {
                                _eventCmd.WaitOne();
                                if (3 == _status)
                                {
                                    _status = 0;
                                    if (InnerFlow.Stop(10) != JFWorkCmdResult.Success)
                                    {
                                        InnerFlow.Abort();
                                    }
                                    _actionStopPerformance = JFFunctions.PerformanceCounter();
                                    throw new JFBreakMethodFlowException();
                                }
                            }
                        }
                    }

                    else //负向递减
                    {
                        for (_forValue = _startValue; _forValue > _endValue; _forValue += _interval)
                        {
                            InnerFlow.DataPool["For_Value"] = _forValue;
                            if (!InnerFlow.Action())
                            {
                                _status = 0;
                                _actionStopPerformance = JFFunctions.PerformanceCounter();
                                return(false);
                            }
                            if (2 == _status)
                            {
                                _eventCmd.WaitOne();
                                if (3 == _status)
                                {
                                    _status = 0;
                                    if (InnerFlow.Stop(10) != JFWorkCmdResult.Success)
                                    {
                                        InnerFlow.Abort();
                                    }
                                    _actionStopPerformance = JFFunctions.PerformanceCounter();
                                    throw new JFBreakMethodFlowException();
                                }
                            }
                        }
                    }
                }
            }
            catch (JFBreakMethodFlowException) //Break 正常退出循环
            {
                _status = 0;
                _actionStopPerformance = JFFunctions.PerformanceCounter();
                _actionErrorInfo       = "Success - break while";
                return(true);
            }


            _actionStopPerformance = JFFunctions.PerformanceCounter();
            return(true);
        }
Example #5
0
 protected void StopActionTimer()
 {
     _stopPerformanceCounter = JFFunctions.PerformanceCounter();
 }
Example #6
0
 protected void StartActionTimer()
 {
     _startPerformanceCounter = JFFunctions.PerformanceCounter();
 }