예제 #1
0
        public override ActionBase InitAll()
        {
            var by = IMask.Gen(0);

            foreach (var ent in Injector.Entercloses)
            {
                by[ent.Index] = (int)ent.YZero;
            }
            var inject_list = Injector.Entercloses.Where(item => item.InjEnable).ToList();
            var act         = Sequence.create(InitXyz.create(this, 30000, inject_list.ToArray(), false, false, true));

            act.AddAction(InitXyz.create(this, 30000, inject_list.ToArray(), true, true, false, by));


            var device = new ActionDevice(this);
            int x      = 0;

            int[]  y = new int[4];
            int [] z = new int [4];
            device.GetRealX(ref x);
            device.GetRealY(inject_list.ToArray(), ref y);
            device.GetRealZ(inject_list.ToArray(), ref z);
            Injector.XMotor.CurrentDistance = x;
            for (int i = 0; i < inject_list.Count(); i++)
            {
                inject_list[i].YMotor.CurrentDistance = y[i] + (int)inject_list[i].TipDis;
                inject_list[i].ZMotor.CurrentDistance = z[i];
            }
            return(act);
        }
예제 #2
0
        public override ActionBase InitAll()
        {
            InitHandTongs();
            var act = Sequence.create(InitXyz.create(this, 30000, false, false, true));

            act.AddAction(InitXyz.create(this, 30000, true, true, false));
            var device = new ActionDevice(this);
            int x      = 0;
            int y      = 0;
            int z      = 0;

            device.GetRealX(ref x);
            device.GetRealY(ref y);
            device.GetRealZ(ref z);
            Hand.XMotor.CurrentDistance = x;
            Hand.YMotor.CurrentDistance = y;
            Hand.ZMotor.CurrentDistance = z;
            return(act);
        }
예제 #3
0
        //得到恢复当前状态的动作
        public bool GetReSetAct(ref Sequence seque_act)
        {
            int x = 0;

            int [] y           = IMask.Gen(-1);
            int[]  z           = IMask.Gen(-1);
            var    device      = new ActionDevice(this);
            var    inject_list = Injector.Entercloses.Where(item => item.InjEnable).ToList();
            bool   ret         = device.GetRealX(ref x);

            ret = ret && device.GetRealY(inject_list.ToArray(), ref y);
            ret = ret && device.GetRealZ(inject_list.ToArray(), ref z);
            for (int i = 0; i < inject_list.Count; i++)
            {
                y[inject_list[i].Index] += (int)inject_list[i].TipDis;
            }
            seque_act.AddAction(InjectMoveTo.create(3000, inject_list.ToArray(), -1, IMask.Gen(-1), IMask.Gen(0)));
            seque_act.AddAction(InjectMoveTo.create(3000, inject_list.ToArray(), x, y, IMask.Gen(-1)));
            seque_act.AddAction(InjectMoveTo.create(3000, inject_list.ToArray(), -1, IMask.Gen(-1), z));
            return(ret);
        }