Esempio n. 1
0
        /// <summary>
        /// 设备暂停/恢复
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btPause_Click(object sender, EventArgs e)
        {
            IJFMainStation ms = JFHubCenter.Instance.StationMgr.MainStation;

            if (!_isStationWorking(ms.WorkStatus))
            {
                JFTipsDelayClose.Show("无效操作:设备未运行", 2);
                return;
            }
            if (ms.WorkStatus == JFWorkStatus.Pausing)
            {
                JFTipsDelayClose.Show("无效操作:设备已暂停运行", 2);
                return;
            }
            string errorInfo = null;
            bool   isOK      = ms.Pause(out errorInfo);

            if (!isOK)
            {
                JFTipsDelayClose.Show("暂停操作失败:" + errorInfo, 2);
                return;
            }
            else
            {
                JFTipsDelayClose.Show("设备已暂停", 2);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 关闭工站/设备,释放各种资源
        /// </summary>
        public void Close()
        {
            string errInfo = "";
            ///关闭工站
            IJFMainStation mainStation = StationMgr.MainStation;

            if (null != mainStation)
            {
                mainStation.Stop(out errInfo);
            }
            string[] stationNames = StationMgr.AllStationNames();
            if (null != stationNames && stationNames.Length > 0)
            {
                foreach (string stationName in stationNames)
                {
                    IJFStation station = StationMgr.GetStation(stationName);
                    station.Stop();
                }
            }
            ///关闭所有设备
            string[] deviceIDs = InitorManager.GetIDs(typeof(IJFDevice));
            if (null != deviceIDs && deviceIDs.Length > 0)
            {
                foreach (string devID in deviceIDs)
                {
                    IJFDevice dev = InitorManager.GetInitor(devID) as IJFDevice;
                    dev.CloseDevice();
                }
            }

            ///释放其他对象
            ///添加代码 ...
        }
Esempio n. 3
0
        /// <summary>
        /// 设备运行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btStart_Click(object sender, EventArgs e)
        {
            IJFMainStation ms = JFHubCenter.Instance.StationMgr.MainStation;

            if (ms.WorkStatus == JFWorkStatus.Running)
            {
                JFTipsDelayClose.Show("无效操作:正在运行中", 2);
                return;
            }
            string errorInfo;

            if (!_isStationWorking(ms.WorkStatus))
            {
                ///先将所有使能工站切换为自动模式
                JFStationManager mgr = JFHubCenter.Instance.StationMgr;
                string[]         allEnableStationNames = mgr.AllEnabledStationNames();
                if (null != allEnableStationNames)
                {
                    foreach (string sn in allEnableStationNames)
                    {
                        IJFStation station = mgr.GetStation(sn);
                        if (!station.SetRunMode(JFStationRunMode.Auto))
                        {
                            MessageBox.Show("启动运行失败,未能将工站:" + sn + "切换为自动运行模式");
                            return;
                        }
                    }
                }


                //// 添加消息回调
                //string[] allEnableStationNames = JFHubCenter.Instance.StationMgr.AllEnabledStationNames();
                bool isOK = ms.Start(out errorInfo);
                if (!isOK)
                {
                    MessageBox.Show("启动失败:" + errorInfo);
                    return;
                }
                else
                {
                    JFTipsDelayClose.Show("设备开始运行", 1);
                }
            }

            if (ms.WorkStatus == JFWorkStatus.Pausing) //当前处于暂停状态
            {
                bool isOK = ms.Resume(out errorInfo);
                if (!isOK)
                {
                    MessageBox.Show("恢复运行失败:" + errorInfo);
                    return;
                }
                else
                {
                    JFTipsDelayClose.Show("设备开始运行", 1);
                }
            }
        }
Esempio n. 4
0
 IJFMainStation _mainStation = null; //主工站
 /// <summary>
 /// 为应用程序注册一个主工站,在Application.Run()运行之前调用
 /// </summary>
 /// <param name=""></param>
 public void DeclearMainStation(IJFMainStation mainStation)
 {
     if (_mainStation != null)
     {
         throw new Exception("Main Station is already Registed!");
     }
     if (null == mainStation)
     {
         throw new ArgumentNullException("Main Station is null object");
     }
     _mainStation = mainStation;
 }
Esempio n. 5
0
        /// <summary>
        /// 清除报警信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btAlarm_Click(object sender, EventArgs e)
        {
            IJFMainStation ms      = JFHubCenter.Instance.StationMgr.MainStation;
            string         errInfo = "";
            bool           isOK    = ms.ClearAlarming(out errInfo);

            if (!isOK)
            {
                JFTipsDelayClose.Show("清除报警失败:" + errInfo, 20);
                return;
            }
            JFTipsDelayClose.Show("报警已清除:", 2);
        }
Esempio n. 6
0
        /// <summary>
        /// 复位按钮被点击
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btReset_Click(object sender, EventArgs e)
        {
            IJFMainStation ms      = JFHubCenter.Instance.StationMgr.MainStation;
            string         errInfo = "";

            if (!ms.Reset(out errInfo))
            {
                JFTipsDelayClose.Show("归零操作失败:" + errInfo, 5);
            }
            else
            {
                JFTipsDelayClose.Show("归零指令OK:", 2);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 设备停止
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btStop_Click(object sender, EventArgs e)
        {
            IJFMainStation ms      = JFHubCenter.Instance.StationMgr.MainStation;
            string         errInfo = "";

            if (!ms.Stop(out errInfo))
            {
                JFTipsDelayClose.Show("停止操作失败:" + errInfo, 5);
                return;
            }
            //else
            //    JFTipsDelayClose.Show("停止操作OK" + errInfo, 2);
            return;
        }
Esempio n. 8
0
        private void FormAuto_Load(object sender, EventArgs e)
        {
            IJFMainStation mainStation = JFHubCenter.Instance.StationMgr.MainStation;

            if (null == mainStation)
            {
                MessageBox.Show("MainStation is not Regist,App will Exit");
                Application.Exit();
            }
            Control mainStationPanel = mainStation.UIPanel;

            mainStationPanel.Dock = DockStyle.Fill;
            //mainStationPanel.Parent = splitContainer1.Panel2;
            splitContainer1.Panel2.Controls.Add(mainStationPanel);
            mainStationPanel.Show();
            AdjustView();
        }
Esempio n. 9
0
        private void timerFlush_Tick(object sender, EventArgs e) //主界面刷新
        {
            IJFMainStation ms = JFHubCenter.Instance.StationMgr.MainStation;

            if (ms.IsAlarming != _isLastAlarming)
            {
                _isLastAlarming = !_isLastAlarming;
                if (_isLastAlarming)
                {
                    btAlarm.Enabled           = true;
                    btAlarm.ImageKey          = "Alarm_On.png";
                    statusLabelDevStatus.Text = "已报警:" + ms.GetAlarmInfo();
                    BackColor = Color.Red;
                }
                else //报警状态转为正常
                {
                    btAlarm.ImageKey          = "Alarm_Off.png";
                    statusLabelDevStatus.Text = "未报警";
                    btAlarm.Enabled           = false;
                    _lastStatus = ms.WorkStatus;
                    //添加代码 ...
                    switch (_lastStatus)
                    {
                    case JFWorkStatus.UnStart:    // = 0,    //线程未开始运行
                        BackColor = Color.White;
                        statusLabelDevStatus.Text = "未运行/已停止";
                        break;

                    case JFWorkStatus.Running:    //,        //线程正在运行,未退出
                        BackColor = Color.Green;
                        statusLabelDevStatus.Text = "运行中...";
                        break;

                    case JFWorkStatus.Pausing:    //,        //线程暂停中
                        BackColor = Color.Yellow;
                        statusLabelDevStatus.Text = "暂停中...";
                        break;

                    case JFWorkStatus.Interactiving:    //,  //人机交互 , 等待人工干预指令
                        BackColor = Color.OrangeRed;
                        statusLabelDevStatus.Text = "等待人工确认中...";
                        break;

                    case JFWorkStatus.NormalEnd:    //,     //线程正常完成后退出
                        BackColor = Color.White;
                        statusLabelDevStatus.Text = "已停止/正常结束";
                        break;

                    case JFWorkStatus.CommandExit:    //,    //收到退出指令
                        BackColor = Color.White;
                        statusLabelDevStatus.Text = "已停止/指令结束";
                        break;

                    case JFWorkStatus.ErrorExit:    //,      //发生错误退出,(重启或人工消除错误后可恢复)
                        BackColor = Color.DarkRed;
                        statusLabelDevStatus.Text = "已停止/发生错误";
                        break;

                    case JFWorkStatus.ExceptionExit:    //,  //发生异常退出 ,  (不可恢复的错误)
                        BackColor = Color.DarkRed;
                        statusLabelDevStatus.Text = "已停止/发生异常";
                        break;

                    case JFWorkStatus.AbortExit:    //,      //由调用者强制退出
                        BackColor = Color.DarkRed;
                        statusLabelDevStatus.Text = "已停止/指令强制";
                        break;

                    default:
                        //statusLabelDevStatus.Text = "状态未知:" + ws.ToString();
                        break;
                    }
                }
            }

            if (_isLastAlarming)
            {
                return;
            }
            JFWorkStatus currWs = ms.WorkStatus;

            if (currWs == _lastStatus)
            {
                return;
            }
            _lastStatus = currWs;
            switch (_lastStatus)
            {
            case JFWorkStatus.UnStart:    // = 0,    //线程未开始运行
                BackColor = Color.White;
                statusLabelDevStatus.Text = "未运行/已停止";
                break;

            case JFWorkStatus.Running:    //,        //线程正在运行,未退出
                BackColor = Color.Green;
                statusLabelDevStatus.Text = "运行中...";
                break;

            case JFWorkStatus.Pausing:    //,        //线程暂停中
                BackColor = Color.Yellow;
                statusLabelDevStatus.Text = "暂停中...";
                break;

            case JFWorkStatus.Interactiving:    //,  //人机交互 , 等待人工干预指令
                BackColor = Color.OrangeRed;
                statusLabelDevStatus.Text = "等待人工确认中...";
                break;

            case JFWorkStatus.NormalEnd:    //,     //线程正常完成后退出
                BackColor = Color.White;
                statusLabelDevStatus.Text = "已停止/正常结束";
                break;

            case JFWorkStatus.CommandExit:    //,    //收到退出指令
                BackColor = Color.White;
                statusLabelDevStatus.Text = "已停止/指令结束";
                break;

            case JFWorkStatus.ErrorExit:    //,      //发生错误退出,(重启或人工消除错误后可恢复)
                BackColor = Color.DarkRed;
                statusLabelDevStatus.Text = "已停止/发生错误";
                break;

            case JFWorkStatus.ExceptionExit:    //,  //发生异常退出 ,  (不可恢复的错误)
                BackColor = Color.DarkRed;
                statusLabelDevStatus.Text = "已停止/发生异常";
                break;

            case JFWorkStatus.AbortExit:    //,      //由调用者强制退出
                BackColor = Color.DarkRed;
                statusLabelDevStatus.Text = "已停止/指令强制";
                break;

            default:
                //statusLabelDevStatus.Text = "状态未知:" + ws.ToString();
                break;
            }
        }
 public void SetMainStation(IJFMainStation ms)
 {
     _mainStation = ms;
 }