/* Robot Param Setting */
        #region RobotParamSetting
        public int SetHomePos(Pos_T home_pos)
        {
            int mask = 1 << group_ctrl.AxisCount - 1;

            int ret = group_ctrl.GroupAdapter.NMC_GroupSetHomePos(mask, ref home_pos);

            SysParamUpdate();

            return(ret);
        }
        public int PcsPTP(Pos_T dest)
        {
            if (CheckParam(AvalibleStatus) == false)
            {
                return(-1);
            }

            int mask = (1 << group_ctrl.AxisCount) - 1;

            return(group_ctrl.GroupAdapter.NMC_GroupPtpCartAll(mask, ref dest));
        }
        // No circle interface
        public int PcsLine(Pos_T dest,
                           double max_vel /* ohn... it can be zero this time... */)
        {
            if (CheckParam(AvalibleStatus) == false)
            {
                return(-1);
            }

            int mask = (1 << group_ctrl.AxisCount) - 1;

            return(group_ctrl.GroupAdapter.NMC_GroupLine(mask, ref dest, ref max_vel));
        }
예제 #4
0
        static private RobotStatus SetPos(RobotAgent robot_agent, object[] args)
        {
            Pos_T target = new Pos_T();

            target.pos = (double[])args[0];

            int         ret          = robot_agent.SetHomePos(target);
            RobotStatus robot_status = robot_agent.GetStatus();

            robot_status.ret_code = ret;

            return(robot_status);
        }
예제 #5
0
        static private RobotStatus PcsPTP(RobotAgent robot_agent, object[] args)
        {
            Pos_T dest = new Pos_T();

            dest.pos = (double[])args[0];

            int         ret          = robot_agent.PcsPTP(dest);
            RobotStatus robot_status = robot_agent.GetStatus();

            robot_status.ret_code = ret;

            return(robot_status);
        }