public ArrayList send(int command, int multiplier, char[] params_raw) throws Exception
    {
        this.open();
        /* Создание строки параметров */
        String params = Math.ByteToString(this.ADMIN_PASS);

        if (params_raw.length > 0)
            for(int b = 0; b < params_raw.length; b++)
                params += params_raw[b];

        /* Вычисление длины команды и массива байт */
        int data_length = 1 + params.length();
        int command_length = 4 + params.length();

        /* Строка необходима для подсчета CRC */
        String content = Convert.toBinary(data_length) + (Convert.toBinary(command) + params);

        /* Формирование команды */
        byte[] command_bytes = new byte[command_length];
        /* Байт начала команды */
        command_bytes[0] = (byte)Sign.MESSAGE_BEGIN;
        /* Байт длины сообщения */
        command_bytes[1] = (byte)Convert.toBinary(data_length);
        /* Байт указания команды */
        command_bytes[2] = (byte)Convert.toBinary(command);
        /* Параметры команды */
        for(int i = 0; i < params.length(); i++)
            command_bytes[i + 3] = (byte)params.charAt(i);
        /* Указываем CRC */
        command_bytes[command_length - 1] = (byte)Math.LRC(content);

        this.output.write(command_bytes);

        ArrayList answer = this.parseAnswer(multiplier);

        this.close();

        return answer;
    }