Exemplo n.º 1
0
        private void button_Turn_Click(int dir)
        {
            int    axis     = S2data.Axis;
            int    pos      = S2data.GetTargloca(axis);
            int    startVel = S2data.GetStartSpd(axis);
            int    vel      = S2data.GetRunSpd(axis);
            double acc      = S2data.GetAcce(axis);
            double dec      = S2data.GetDece(axis);
            int    dist     = S2data.GetDire(axis) > 0 ? S2data.GetDistence(axis) : (-S2data.GetDistence(axis));
            int    homeDir  = S2data.GetReturnDire(axis);
            int    homeSVel = S2data.GetSecSpd(axis);
            int    homeMode = 0; //预留参数
            int    offset   = 0; //预留参数

            S2data.SetDire(axis, dir);

            if ((S2data.NetSoftCon == 1) && !Net.IsBusy(axis))
            {
                if (S2data.GetRunMode(axis) == 0)  //点对点
                {
                    Net.AbsMove(axis, pos, startVel, vel, acc, dec);
                }
                else if (S2data.GetRunMode(axis) == 1)  //连续
                {
                    Net.RltMove(axis, dir == 0 ? -2147483647 : 2147483647, startVel, vel, acc, dec);
                }
                else if (S2data.GetRunMode(axis) == 2)  //原点
                {
                    Net.Home(axis, startVel, homeDir, homeSVel, vel, acc, dec, homeMode, offset);
                }
            }
            else if ((S2data.COMSoftCon == 1) && !Com.IsBusy(axis))
            {
                if (S2data.GetRunMode(axis) == 0)  //点对点
                {
                    Com.AbsMove(axis, pos, startVel, vel, acc, dec);
                }
                else if (S2data.GetRunMode(axis) == 1)  //连续
                {
                    Com.RltMove(axis, dir == 0 ? -2147483647 : 2147483647, startVel, vel, acc, dec);
                }
                else if (S2data.GetRunMode(axis) == 2)  //原点
                {
                    Com.Home(axis, startVel, homeDir, homeSVel, vel, acc, dec, homeMode, offset);
                }
            }
            else
            {
                lForm.RecodeInfo("执行错误!");
            }
        }