Пример #1
0
        public MvFanucRobotPosReg ReadCurPosUf()
        {
            var posReg = new MvFanucRobotPosReg();

            if (!this.GetCurPosUf(posReg))
            {
                throw new MvException("Fail to read current position");
            }
            return(posReg);
        }
Пример #2
0
 public void Clone(MvFanucRobotPosReg target)
 {
     this.XyzwpreArrary.CopyTo(target.XyzwpreArrary, 0);
     this.ConfigArray.CopyTo(target.ConfigArray, 0);
     this.JointArray.CopyTo(target.JointArray, 0);
     target.UserFrame = this.UserFrame;
     target.UserTool  = this.UserTool;
     target.ValidC    = this.ValidC;
     target.ValidJ    = this.ValidJ;
 }
Пример #3
0
        public MvFanucRobotPosReg ReadPosReg(int PRno = 0)
        {
            var posReg = new MvFanucRobotPosReg();

            if (!this.GetPosRegValue(PRno, posReg))
            {
                throw new MvException("Fail to read position register");
            }
            return(posReg);
        }
Пример #4
0
        public bool GetCurPosUf(MvFanucRobotPosReg posReg, bool isNeedRefresh = true)
        {
            lock (this)
            {
                if (isNeedRefresh)
                {
                    this.mobjDataTable.Refresh();
                }

                return(this.mobjCurPosUF.GetValue(ref posReg.XyzwpreArrary, ref posReg.ConfigArray, ref posReg.JointArray,
                                                  ref posReg.UserFrame, ref posReg.UserTool, ref posReg.ValidC, ref posReg.ValidJ));
            }
        }
Пример #5
0
 public bool GetPosRegValue(int PRno, MvFanucRobotPosReg posReg, bool isNeedRefresh = true)
 {
     //isNeedRefresh 預設為true, 確保取得最新資料, 若己知不需要更新, 可以設為false
     lock (this)
     {
         if (isNeedRefresh)
         {
             this.mobjDataTable.Refresh();
         }
         return(this.mobjPosReg.GetValue(PRno, ref posReg.XyzwpreArrary, ref posReg.ConfigArray, ref posReg.JointArray,
                                         ref posReg.UserFrame, ref posReg.UserTool, ref posReg.ValidC, ref posReg.ValidJ));
     }
 }
Пример #6
0
 public MvFanucRobotPosReg(MvFanucRobotPosReg source)
 {
     source.Clone(this);
 }
Пример #7
0
 public bool SetPosRegXyzWpr(int PRno, MvFanucRobotPosReg posReg, short userFrame = -1, short userTool = -1)
 {
     lock (this)
         return(mobjPosReg.SetValueXyzwpr(PRno, ref posReg.XyzwpreArrary, ref posReg.ConfigArray, userFrame, userTool)); //User Frame 及 User Tool 要帶-1 才有辦法修改
 }
Пример #8
0
 public bool SetPosRegJoint(int PRno, MvFanucRobotPosReg posReg, short userFrame = -1, short userTool = -1)
 {
     lock (this)
         return(mobjPosReg.SetValueJoint(PRno, ref posReg.JointArray, userFrame, userTool)); //User Frame 及 User Tool 要帶-1 才有辦法修改
 }
Пример #9
0
 public MvFanucRobotInfo(MvFanucRobotPosReg source)
 {
     source.Clone(this.PosReg);
 }