static void MoveToPosition(SystemServiceClient Service, string pName)
        {
            string filepath = programDataFile + $"\\{pName}.json";

            if (!File.Exists(filepath))
            {
                throw new FileNotFoundException($"{ pName }.json is not found");
            }
            string    data      = File.ReadAllText(filepath);
            PointInfo pointInfo = Newtonsoft.Json.JsonConvert.DeserializeObject <PointInfo>(data);

            int maxRank = pointInfo.AxisInfos.Last().Rank;

            for (int i = 0; i < maxRank; i++)
            {
                List <Task> tasks = new List <Task>();
                foreach (var mem in pointInfo.AxisInfos)
                {
                    if (mem.Rank == i + 1)
                    {
                        var m = Service.__SSC_MoveAxisAsync(pointInfo.Aliger, mem.AxisName, SSC_MoveMode.ABS, mem.Speed, mem.Position);
                        // Task t = new Task(() => { Service.__SSC_MoveAxisAsync(pointInfo.Aliger, mem.AxisName, SSC_MoveMode.ABS, mem.Speed, mem.Position); });
                        //   t.Start();

                        tasks.Add(m);
                    }
                }

                Task.WaitAll(tasks.ToArray());
            }
        }