Exemple #1
0
        //当要记录点位的时候,把此时的点位置记录下来(标准的格式,不做转换,保留小数点)
        public double[] GetPose()
        {
            URRegisterHandle.connectServer();

            int ReadNum          = 6;
            int ReadStartAddress = 400;

            int[] SixPositions = new int[6];
            SixPositions = URRegisterHandle.ReadMultipleRegister(ReadNum, ReadStartAddress);

            double[] PositionsFiltered = new double[6];

            for (int i = 0; i < 6; i++)
            {
                if (SixPositions[i] > 32768)
                {
                    SixPositions[i] = SixPositions[i] - 65535;
                }
                //这里全部用浮点值
                if (i < 3)
                {
                    PositionsFiltered[i] = (float)SixPositions[i] / 10000;
                }
                else
                {
                    PositionsFiltered[i] = (float)SixPositions[i] / 1000;
                }
            }

            return(PositionsFiltered);
        }
Exemple #2
0
        private void Register_Load(object sender, EventArgs e)
        {
            //读取配置文件的IP
            FilesINI ConfigController = new FilesINI();
            string   CurrentIP        = ConfigController.INIRead("UR控制参数", "RemoteIP", DefaultINIPath);

            URRegisterHandle.RemoteIP      = CurrentIP;
            URRegisterHandle.RemotePort    = 502;
            URRegisterHandle.SocketTimeOut = 1000;

            URRegisterHandle.connectServer();
        }