Esempio n. 1
0
        private void flowRepeatMove(TProcVar S)
        {
            switch (S.StrStep1)
            {
            case "0":
                if (!axis.IsBusy)
                {
                    S.StrStep1 = "1";
                }
                break;

            case "1":
                double dest1;
                if (!Double.TryParse(ntxbPosition1.Text, out dest1))
                {
                    dest1 = 0;
                }
                axis.Move(dest1, SpeedMode.Manual);
                S.StrStep1 = "2";
                break;

            case "2":
                if (axis.IsReached && !axis.IsBusy)
                {
                    S.TM1.Restart();
                    S.StrStep1 = "3";
                }
                break;

            case "3":
                double delayTime1;
                if (!Double.TryParse(ntxbDelayTime.Text, out delayTime1))
                {
                    delayTime1 = 0;
                }
                if (S.TM1.ElapsedMilliseconds > delayTime1)
                {
                    S.StrStep1 = "4";
                }
                break;

            case "4":
                double dest2;
                if (!Double.TryParse(ntxbPosition2.Text, out dest2))
                {
                    dest2 = 0;
                }
                axis.Move(dest2, SpeedMode.Manual);
                S.StrStep1 = "5";
                break;

            case "5":
                if (axis.IsReached && !axis.IsBusy)
                {
                    S.TM1.Restart();
                    S.StrStep1 = "6";
                }
                break;

            case "6":
                double delayTime2;
                if (!Double.TryParse(ntxbDelayTime.Text, out delayTime2))
                {
                    delayTime1 = 0;
                }
                if (S.TM1.ElapsedMilliseconds > delayTime2)
                {
                    S.StrStep1 = "0";
                }
                break;
            }
        }