Ошибки класса конфигурации
На этой странице собраны вопросы, связанные с конфликтами разделов конфигурации, опечатками в параметрах, файлами include и SAVE_CONFIG. После изменения конфигурации сначала посмотрите первую ошибку конфигурации в klippy.log, а затем обрабатывайте каждый пункт по порядку.
homing override method always homes X and Y before homing Z
Сообщение об ошибке: Конфликт конфигурации безопасного возврата по Z и переопределения возврата в исходное положение.
Причина ошибки: Одновременно настроены [safe_z_home] и [homing_override], в результате чего Klipper не может определить, какую логику возврата использовать.
Метод решения:
- Найдите
[safe_z_home]и[homing_override]в файле конфигурации. - Оставьте только один из них в соответствии с фактической логикой возврата станка.
- Сохраните и перезапустите Klipper.
Связанные конфигурации: Руководство по возврату и калибровке направления, Справочная конфигурация переопределения возврата.
Option 'xxx' is not valid in section 'yyy'
Сообщение об ошибке: Option 'xxx' is not valid in section 'yyy', в указанном разделе конфигурации присутствует нераспознанное имя опции.
Распространенные причины:
- Опечатка в имени опции, например,
sensor_pinнаписано какsensor_ping. - Ошибочное копирование опции из другого раздела конфигурации в текущий, например, запись опции из
[probe]в[stepper_z]. - После обновления версии Klipper опция, поддерживаемая в старой версии, была удалена или переименована.
- Использование содержимого комментария, не являющегося фактическим параметром, например,
default_parameter_z.
Метод решения:
- Внимательно проверьте раздел конфигурации и имя опции, указанные в ошибке, подтвердите написание.
- Обратитесь к Справочной документации по конфигурации Klipper, чтобы подтвердить, к какому разделу конфигурации должна относиться эта опция.
- Если вы недавно обновляли Klipper, просмотрите Журнал изменений конфигурации, чтобы проверить, не изменилась ли опция.
- Удалите или переместите недействительную опцию в правильный раздел конфигурации.
Связанные конфигурации: Инструкция по изменению конфигурации.
Section 'xxx' is not a valid config section
Сообщение об ошибке: Section 'xxx' is not a valid config section, Unknown config object или какой-либо раздел конфигурации не может быть распознан Klipper.
Распространенные причины:
- Опечатка в имени раздела конфигурации, например,
[bed_mesh]написано как[bedmesh]. - Текущая версия Klipper не поддерживает этот раздел конфигурации, или формат конфигурации несовместим после обновления/понижения версии.
- Скопирована конфигурация стороннего плагина, но соответствующий плагин, модуль расширения или ветка Klipper не установлены.
- В файлах include сохранены разделы конфигурации для другого станка или другой платы.
Метод решения:
- В соответствии с именем раздела конфигурации из ошибки найдите соответствующий абзац в
printer.cfgи всех файлах include. - Убедитесь, что написание соответствует справочнику по конфигурации Klipper, не используйте китайские скобки или полноширинные символы в именах разделов конфигурации.
- Если конфигурация взята из стороннего плагина или пользовательского пакета макросов, убедитесь, что соответствующий плагин установлен и совместим с текущей версией Klipper.
- Если вы не уверены в назначении этого абзаца, сначала закомментируйте этот раздел конфигурации и перезапустите для тестирования, затем восстанавливайте по порядку.
Связанные конфигурации: Инструкция по изменению конфигурации.
Unable to open config file / Include file does not exist
Сообщение об ошибке: Unable to open config file /home/xxx/printer_data/config/printer.cfg или Include file 'xxx.cfg' does not exist.
Распространенные причины:
- Неверный путь к файлу
printer.cfgили файл был случайно удален. - Подчиненный файл конфигурации, на который ссылается
[include], не существует или имя файла не совпадает. - Инструменты установки, такие как KIAUH, автоматически создают ссылку
[include], но соответствующий файл cfg не установлен. - Проблемы с правами доступа, из-за которых Klipper не может прочитать файл конфигурации.
Метод решения:
- Убедитесь, что
printer.cfgсуществует в каталоге конфигурации Klipper, обычно~/printer_data/config/printer.cfg. - Проверьте все строки
[include xxx.cfg], убедитесь, что указанные файлы действительно существуют. - Если отсутствует
fluidd.cfgилиmainsail.cfg, обратитесь к документации по установке соответствующего веб-интерфейса, чтобы дополнить конфигурацию. - Убедитесь, что права доступа к файлам конфигурации установлены правильно:
ls -la ~/printer_data/config/.
Unable to parse option / option must be specified
Сообщение об ошибке: Unable to parse option 'xxx' in section 'yyy', Option 'xxx' in section 'yyy' must be specified или must have minimum/maximum, must be above/below.
Распространенные причины:
- Отсутствуют обязательные параметры, например, в
[extruder]отсутствуетstep_pin,dir_pin,heater_pinилиsensor_type. - Неверный формат параметра, например, требуется число, но введен текст, требуется список координат, но отсутствует запятая.
- Значение параметра выходит за пределы, допустимые Klipper, например, необоснованная настройка
run_current,max_temp,position_max. - При копировании конфигурации сохранены китайские знаки препинания, полноширинные символы или невидимые символы.
Метод решения:
- В соответствии с разделом конфигурации и именем параметра из ошибки вернитесь к соответствующему файлу
.cfgи проверьте каждый пункт. - Для числовых параметров, координат и списков убедитесь, что формат соответствует примеру, например,
mesh_min: 20, 20. - Для
must be above/belowилиminimum/maximumсначала восстановите значения, рекомендованные официальным примером или руководством по плате. - После сохранения выполните
RESTART, если ошибка все еще возникает, снова просмотрите первую ошибку конфигурации вklippy.log.
Связанные конфигурации: Инструкция по изменению конфигурации.
Unknown pin chip name / pin used multiple times
Сообщение об ошибке: Unknown pin chip name 'xxx', Invalid pin description 'xxx', pin xxx used multiple times in config.
Распространенные причины:
- Неверно написан префикс вывода в многоконтроллерной конфигурации, например, следует написать
EBBCan:PB0, но написано имя несуществующего MCU. - Опечатка в имени вывода или прямое копирование вывода из руководства по одной плате в другую.
- Один и тот же физический вывод занят несколькими функциями, например, вентилятор, нагреватель и концевик одновременно используют один и тот же вывод.
- Инвертирование вывода
!, подтяжка вверх^, подтяжка вниз~написаны в неправильном месте.
Метод решения:
- Проверьте, полностью ли совпадает имя
[mcu xxx]с префиксом вывода, включая регистр. - Сверьтесь с распиновкой платы, убедитесь, что каждый
pin:,step_pin:,dir_pin:,heater_pin:относится к текущей плате. - Найдите во всех файлах include вывод, указанный в ошибке, удалите или замените повторяющиеся записи.
- Модификаторы вывода должны быть указаны перед именем вывода, например,
^PB7,!PC13,mcu2:^PB7.
Связанные конфигурации: Инструкция по изменению конфигурации, Справочная конфигурация вентилятора.
gcode command XXX already registered
Сообщение об ошибке: Error: gcode command XXX already registered.
Причина ошибки: Два разных макроса или системных модуля зарегистрировали одно и то же имя G-кода, например, оба макроса определяют [gcode_macro NEXT].
Распространенные сценарии:
- Конфликт пользовательского макроса с системным модулем Klipper или сторонней конфигурацией.
- Несколько определений
[gcode_macro M600].
Метод решения:
- Найдите повторяющиеся определения в
printer.cfgи всех файлах[include]. - Удалите или переименуйте конфликтующий
[gcode_macro]. - Проверьте часто используемые макросы, такие как
[homing_override],[gcode_macro PAUSE],[gcode_macro RESUME],[gcode_macro CANCEL_PRINT].
Связанные конфигурации: Введение в макросы.
Unknown command:"XXX"
Сообщение об ошибке: В консоли или klippy.log появляется Unknown command:"PRINT_START", Unknown command:"START_PRINT", Unknown command:"M600", Unknown command:"EXCLUDE_OBJECT_START", Unknown command:"EXCLUDE_OBJECT_END", Unknown command:"M106", Unknown command:"M201", Unknown command:"M203", Unknown command:"M205", и т.д.
Распространенные причины:
- В начальном или конечном G-коде слайсера вызывается макрос, не существующий в Klipper, например, слайсер отправляет
PRINT_START, но в конфигурации определен только[gcode_macro START_PRINT]. - Используются команды, перенесенные из Marlin, которые Klipper по умолчанию не поддерживает или для совместимости требуется макрос.
- Включена функция исключения объектов, но конфигурация слайсера, Moonraker или Klipper неполна, из-за чего
EXCLUDE_OBJECT_START/EXCLUDE_OBJECT_ENDне распознаются. - Для вентилятора используется
[fan_generic]или[output_pin], но слайсер все еще отправляет стандартныеM106/M107. - При использовании стороннего пакета макросов отсутствуют файлы include, или имя макроса не соответствует имени, указанному в слайсере.
Метод решения:
- Найдите в
printer.cfgи всех файлах include имя команды из ошибки, подтвердите наличие соответствующего[gcode_macro XXX]. - Приведите имена команд начала, конца, смены материала, вентилятора и исключения объектов в слайсере в соответствие с именами макросов Klipper.
- Если это команды Marlin, сначала удалите ненужные команды; если совместимость действительно необходима, добавьте явный макрос Klipper.
- При ошибках, связанных с исключением объектов, одновременно проверьте, выводит ли слайсер метки объектов, включена ли обработка объектов в Moonraker и есть ли
[exclude_object]в Klipper. - При ошибках команд вентилятора проверьте, следует ли использовать
[fan], или добавьте соответствующий управляющий макрос для[fan_generic]/[output_pin].
Связанные конфигурации: Введение в макросы, Инструкция по изменению конфигурации.
Error evaluating 'gcode_macro XXX:gcode'
Сообщение об ошибке: Error evaluating 'gcode_macro PRINT_START:gcode', jinja2.exceptions.UndefinedError, 'dict object' has no attribute 'BED', 'dict object' has no attribute 'HOTEND', 'dict object' has no attribute 'extrude', 'dict object' has no attribute 'heater_bed', gcode.CommandError.
Распространенные причины:
- Слайсер не передал параметры, необходимые макросу, например, макрос читает
params.HOTEND, но слайсер не передалHOTEND=. - Несоответствие имен параметров, например, макросу нужны
BED/HOTEND, а слайсер фактически передаетBED_TEMP/EXTRUDER_TEMP. - Макрос ссылается на несуществующий объект, например, в конфигурации нет
[heater_bed], но макрос читаетprinter.heater_bed. - В макросе используется синтаксис Jinja2, но допущена ошибка в скобках, кавычках, фильтрах или значениях по умолчанию.
- Команда, выполняемая внутри макроса, сначала выдает ошибку, а внешний слой отображает только
Error evaluating.
Метод решения:
- Просмотрите полную трассировку под
Error evaluatingвklippy.log, чтобы определить, какая переменная или команда вызывает ошибку. - Сверьтесь с начальным G-кодом слайсера, убедитесь, что имена передаваемых параметров полностью совпадают с
params.xxxв макросе, включая регистр. - Установите значения по умолчанию для необязательных параметров, например,
params.BED|default(60)|float, чтобы избежать ошибок при пустом параметре. - Найдите объекты
printer.xxx, используемые в макросе, убедитесь, что в конфигурации существуют соответствующие модули. - Если макрос взят из стороннего конфигурационного пакета, убедитесь, что все зависимые файлы include и базовые макросы загружены.
Связанные конфигурации: Введение в макросы.
Сбой SAVE_CONFIG или конфликт конфигурации
Сообщение об ошибке: После выполнения SAVE_CONFIG появляется Unable to write config, Option conflict, Cannot save config, или после сохранения принтер не может запуститься.
Распространенные причины:
- Недостаточно прав доступа к файлу
printer.cfg, процесс Klipper не может выполнить запись, часто встречается после редактирования файла конфигурации с помощьюsudo. - Конфликт параметров в области автоматического сохранения (блок
#*#) с теми же опциями в ручном файле[include]. - MCU находится в состоянии shutdown,
SAVE_CONFIGне может нормально отправить новую конфигурацию. - В конце файла
printer.cfgприсутствует синтаксическая ошибка или он обрезан, что приводит к сбою записи области автоматического сохранения. - В нескольких файлах include повторно определены параметры, которые не должны автоматически сохраняться с помощью
SAVE_CONFIG, такие как PID, Z offset.
Метод решения:
-
Проверьте права доступа к файлу конфигурации:
ls -la ~/printer_data/config/printer.cfgЕсли владелец не текущий пользователь, выполните:
sudo chown $USER:$USER ~/printer_data/config/printer.cfg -
Если после
SAVE_CONFIGпринтер не запускается, откройтеprinter.cfgи просмотрите область автоматического сохранения#*#внизу. -
Если та же опция существует и в файле include, удалите дубликат из области автоматического сохранения или переведите управление в файл include.
-
Если MCU находится в состоянии shutdown, сначала выполните
FIRMWARE_RESTART, затем снова выполнитеSAVE_CONFIG. -
Если права доступа в норме, но запись все равно не выполняется, проверьте дисковое пространство:
df -h ~/printer_data/.
Связанные конфигурации: Инструкция по изменению конфигурации.