//当要记录点位的时候,把此时的点位置记录下来(标准的格式,不做转换,保留小数点) 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); }
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(); }