public static byte[] Coefficient_Command(AxisID axisId, CoefficientID coefficientID) { return(new byte[] { INSTRUCTION_CODE, 0x03, (byte)CommandID.Coefficient, (byte)axisId, (byte)coefficientID, }); }
/// <summary> /// コントローラが保持しているマトリクス 係数 をホストに転送するコマンド。 /// ※ 予め Bootload コマンドを実行しておいてください。 /// Axis IDと Coefficient ID を組み合わせて、読み出してください。 /// </summary> /// <param name="axisID"></param> /// <param name="coefficientID"></param> /// <returns></returns> public int Coefficient(AxisID axisID, CoefficientID coefficientID) { var ret = sendAndResponse(CommandBuilder.Coefficient_Command(axisID, coefficientID), 6); ResponseStatus status = (ResponseStatus)ret[0]; if (status != ResponseStatus.OK) { throw new Exception(status.ToString()); } if (ret[1] != 4) { throw new Exception($"data length error: {ret[1]}"); } var coeBytes = new byte[4]; Array.Copy(ret, 2, coeBytes, 0, 4); return(BitConverter.ToInt32(coeBytes)); }