Пример #1
0
        void AdjustUI()
        {
            if (InvokeRequired)
            {
                Invoke(new Action(AdjustUI));
                return;
            }
            //Controls.Clear();
            _lstStatus.Clear();
            _lstTest.Clear();
            _lstMode.Clear();
            _lstCfg.Clear();
            if (null == _module)
            {
                gbLiner.Enabled = false;
                gbArc.Enabled   = false;
                return;
            }
            gbLiner.Enabled = true;
            gbArc.Enabled   = true;
            int locX = 2;
            int locY = 0;

            for (int i = 0; i < _module.AxisCount; i++)
            {
                GroupBox gb = new GroupBox();//835,68
                gb.Location = new Point(locX, locY);
                gb.Size     = new Size(860, 68);
                //Controls.Add(gb);
                pnAxes.Controls.Add(gb);
                UcAxisStatus axisStatus = new UcAxisStatus();
                axisStatus.DisplayMode = UcAxisStatus.JFDisplayMode.full;
                axisStatus.Location    = new Point(1, 15);
                axisStatus.SetAxis(_module, i);
                gb.Text = (_axisIDs != null && _axisIDs.Length > i) ? _axisIDs[i] : ("轴序号_" + i.ToString("D2"));
                UcAxisTest axisTest = new UcAxisTest();
                axisTest.SetAxis(_module, i);
                axisTest.Location    = new Point(axisStatus.Right, 15);
                axisTest.DisplayMode = UcAxisTest.JFDisplayMode.simplest_pos;
                ComboBox cbMode = new ComboBox();
                cbMode.Items.AddRange(new string[] { "位置模式", "速度模式" });
                cbMode.SelectedIndex         = 0;
                cbMode.Location              = new Point(774, 17);
                cbMode.Width                 = 73;
                cbMode.SelectedIndexChanged += OnCbSelectChanged;
                Button btCfg = new Button();
                btCfg.Location = new Point(774, 38);
                btCfg.Text     = "配置";
                btCfg.Width    = 73;
                btCfg.Click   += OnBtClick;
                _lstStatus.Add(axisStatus);
                _lstTest.Add(axisTest);
                _lstMode.Add(cbMode);
                _lstCfg.Add(btCfg);
                gb.Controls.AddRange(new Control[] { axisStatus, axisTest, cbMode, btCfg });
                locY = gb.Bottom;
            }

            UpdateModuleStatus();
        }
Пример #2
0
        public void UpdateChannelsInfo(string devID, int moduleIndex)
        {
            lstTbAxisIDs.Clear();
            pnAxes.Controls.Clear();
            JFDevCellNameManeger mgr = JFHubCenter.Instance.MDCellNameMgr;
            IJFModule_Motion     md  = null;
            IJFDevice_MotionDaq  dev = JFHubCenter.Instance.InitorManager.GetInitor(devID) as IJFDevice_MotionDaq;

            if (dev != null && dev.DioCount > moduleIndex)
            {
                md = dev.GetMc(moduleIndex);
            }
            int axisCount = mgr.GetAxisCount(devID, moduleIndex);

            for (int i = 0; i < axisCount; i++)
            {
                Label lbIndex = new Label();
                lbIndex.Text     = "轴序号:" + i.ToString("D2") + " 轴ID:";
                lbIndex.Location = new Point(2, 5 + i * 70 + 2);
                pnAxes.Controls.Add(lbIndex);
                TextBox tbAxisID = new TextBox();
                tbAxisID.Location = new Point(lbIndex.Right, i * 70 + 2);
                string axisID = mgr.GetAxisName(devID, moduleIndex, i);
                tbAxisID.Text = axisID;

                tbAxisID.Enabled   = false;
                tbAxisID.BackColor = SystemColors.Control;
                pnAxes.Controls.Add(tbAxisID);
                lstTbAxisIDs.Add(tbAxisID);
                UcAxisStatus ucas = new UcAxisStatus();

                tbAxisID.Width = ucas.Width - 5 - lbIndex.Width;
                pnAxes.Controls.Add(ucas);
                ucas.Location = new Point(2, lbIndex.Bottom - 3);
                //ucas.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
                ucas.DisplayMode = UcAxisStatus.JFDisplayMode.simple;
                //ucDi.SetDioInfo(md, moduleIndex, false, mgr.GetDiName(devID, moduleIndex, i));
                ucas.SetAxis(md, i);
                UcAxisTest ucat = new UcAxisTest();
                ucat.DisplayMode = UcAxisTest.JFDisplayMode.simplest_vel;
                ucat.Location    = new Point(ucas.Right, tbAxisID.Top);
                pnAxes.Controls.Add(ucat);
                ucat.SetAxis(md, i);
            }
        }