コード例 #1
0
        /// <summary>
        /// 同步更新轴号
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tcMain_SelectedIndexChanged(object sender, EventArgs e)
        {
            int axis = S2data.Axis;

            if (S2data.GetShowMode(axis) == 1)
            {
                tcMain.SelectedIndex = axis;
            }
            else
            {
                S2data.Axis = tcMain.SelectedIndex;        //选项卡索引
            }
        }
コード例 #2
0
ファイル: FormS1.cs プロジェクト: Super0415/Csharp
        /// <summary>
        /// 线程主体,循环发送指令
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void thread_Refresh()
        {
            int count = 0;

            while (true)
            {
                Thread.Sleep(30);

                if (S1data.COMHardCon == 1)      //串口数据处理
                {
                    if (Com.IsExists())
                    {
                        S1data.COMSoftCon = 1;
                        count             = 0;
                    }
                    else
                    {
                        count++;

                        if (count > 5)
                        {
                            count             = 0;
                            S1data.COMHardCon = 0;
                            S1data.COMSoftCon = 0;
                            lForm.RecodeInfo("心跳异常");
                            thread.Abort();            //避免重复新建线程
                        }
                    }

                    if (S1data.COMSoftCon == 1)        //软链接成功
                    {
                        if (S1data.GetFirstNum() == 0) //读取固件信息
                        {
                            S1data.SetFirstNum(1);
                            //获取版本信息
                            S1data.SetVer_Info(Com.GetVerInfo());
                        }

                        int axis = S1data.Axis;
                        //获取轴位置
                        S1data.SetLocation(axis, Com.GetPosition());
                        //获取DIP
                        if (Com.GetDIP() != Com.ErrNum)
                        {
                            S1data.DIP = Com.GetDIP();
                        }
                        //获取输入口状态
                        if (Com.GetInputs() != Com.ErrNum)
                        {
                            S1data.MInput = Com.GetInputs();
                        }
                        //获取输出口状态
                        if (Com.GetOutputs() != Com.ErrNum)
                        {
                            S1data.MOutput = Com.GetOutputs();
                        }

                        if (S1data.GetShowMode(axis) == 1)
                        {
                            int  dir  = S1data.GetDire(axis);
                            int  dis  = S1data.GetDistence(axis);
                            long Loca = S1data.GetLocation(axis);

                            if (ShowLoc - Loca == 0 && ShowNum == 0)
                            {
                                ShowEn = true;
                                ShowNum++;
                            }
                            else if (Math.Abs(ShowLoc - Loca) == dis && ShowNum == 1)
                            {
                                ShowEn = true;
                                ShowNum--;
                            }
                            if (ShowEn)
                            {
                                ShowEn = false;
                                Com.SetMMmove(S1data.GetDire(axis), S1data.GetDistence(axis), S1data.GetRunSpd(axis));
                                if (dir == 0)
                                {
                                    S1data.SetDire(axis, 1);
                                }
                                else
                                {
                                    S1data.SetDire(axis, 0);
                                }
                            }
                        }
                    }
                }
            }
        }