コード例 #1
0
 public static byte[] Coefficient_Command(AxisID axisId, CoefficientID coefficientID)
 {
     return(new byte[]
     {
         INSTRUCTION_CODE,
         0x03,
         (byte)CommandID.Coefficient,
         (byte)axisId,
         (byte)coefficientID,
     });
 }
コード例 #2
0
        /// <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));
        }