メインコンテンツにスキップ

設定クラスのエラー

このページでは、設定セクションの競合、パラメータのスペルミス、includeファイル、および SAVE_CONFIG に関連する問題をまとめています。設定変更後は、まず klippy.log の最初の設定エラーを確認し、その後1つずつ対応してください。

homing override method always homes X and Y before homing Z

エラーメッセージ: 安全なZ軸ホーミングとホーミングオーバーライド設定が競合しています。

Loading...

エラーの原因: [safe_z_home][homing_override] が両方設定されているため、Klipperがどちらのホーミングロジックを使用すべきか判断できません。

解決方法:

  1. 設定ファイル内で [safe_z_home][homing_override] を検索します。
  2. 実際のマシンのホーミングロジックに基づいて、どちらか1つだけを残します。
  3. Klipperを保存して再起動します。

関連設定の参考: ホーミングと方向調整ガイドホーミングオーバーライド設定例

Option 'xxx' is not valid in section 'yyy'

エラーメッセージ: Option 'xxx' is not valid in section 'yyy'、指定された設定セクションに認識されないオプション名が存在します。

一般的な原因:

  • オプション名のスペルミス。例: sensor_pinsensor_ping と記述。
  • 他の設定セクションのオプションを誤って現在のセクションに貼り付けた。例: [probe] のオプションを [stepper_z] に記述。
  • Klipperのバージョンアップ後、旧バージョンでサポートされていたオプションが削除または名称変更された。
  • 実際のパラメータではないコメント内容を使用。例: default_parameter_z

解決方法:

  1. エラーで示された設定セクションとオプション名を注意深く確認し、スペルを確認します。
  2. Klipper設定リファレンス を参照して、そのオプションがどの設定セクションに属するかを確認します。
  3. 最近Klipperをアップグレードした場合は、設定変更履歴 を確認してオプションに変更がないか確認します。
  4. 無効なオプションを削除するか、正しい設定セクションに移動します。

関連設定の参考: 設定変更の説明

Section 'xxx' is not a valid config section

エラーメッセージ: Section 'xxx' is not a valid config sectionUnknown config object、または設定セクションがKlipperに認識されない。

一般的な原因:

  • 設定セクション名のスペルミス。例: [bed_mesh][bedmesh] と記述。
  • 現在のKlipperバージョンがその設定セクションをサポートしていない、またはアップデート/ダウングレード後に設定形式が互換性を失った。
  • サードパーティ製プラグインの設定をコピーしたが、対応するプラグイン、拡張モジュール、またはKlipperブランチがインストールされていない。
  • includeファイルに、他のマシンや他のマザーボード用の設定セクションが残っている。

解決方法:

  1. エラー内の設定セクション名に基づいて、printer.cfg とすべてのincludeファイル内で該当するセクションを特定します。
  2. スペルがKlipper設定リファレンスと一致しているか確認します。設定セクション名に中国語の括弧や全角記号を使用しないでください。
  3. その設定がサードパーティ製プラグインまたはカスタムマクロパッケージからのものである場合、対応するプラグインがインストールされ、現在のKlipperバージョンと互換性があることを確認します。
  4. そのセクションの用途が不明な場合は、まずその設定セクションをコメントアウトして再起動テストを行い、その後1つずつ復元します。

関連設定の参考: 設定変更の説明

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が設定ファイルを読み取れない。

解決方法:

  1. printer.cfg がKlipper設定ディレクトリ(通常は ~/printer_data/config/printer.cfg)に存在することを確認します。
  2. すべての [include xxx.cfg] 行を確認し、参照されているファイルが実際に存在することを確認します。
  3. fluidd.cfg または mainsail.cfg がない場合は、対応するWebインターフェースのインストールドキュメントを参照して設定を追加します。
  4. 設定ファイルの権限が正しいことを確認します: ls -la ~/printer_data/config/

Fluidd / Mainsail 基本設定の欠落

エラーメッセージ: FluiddまたはMainsailが基本設定の欠落を通知します。一般的なキーワードは以下の通りです:

[virtual_sdcard] not found in printer configuration.
[pause_resume] not found in printer configuration.
[display_status] is required if you do not have a [display] defined.
CANCEL_PRINT macro not found in configuration.

Fluiddの通知例:

Loading...

Mainsailの通知例:

Loading...

一般的な原因:

  • printer.cfg[include fluidd.cfg] または [include mainsail.cfg] が有効になっていない。
  • 設定ディレクトリに fluidd.cfg / mainsail.cfg がないか、includeファイル名が間違っている。
  • 手動設定時に [virtual_sdcard][pause_resume][display_status] を書き忘れた。
  • CANCEL_PRINT マクロが定義されていないか、マクロファイルがincludeされていない。

解決方法:

  1. デフォルトのフロントエンド設定ファイルを優先して使用する必要があります。一般ユーザーが手動でいくつかの設定セクションを追加して警告を回避することは推奨されません。デフォルトの fluidd.cfg / mainsail.cfg は、仮想SDカード、一時停止/再開、表示ステータス、印刷キャンセルマクロなど、フロントエンドが必要とする基本設定を同時に提供します。

  2. printer.cfg の上部に、現在使用しているフロントエンドに対応するincludeが含まれているか確認します:

    [include fluidd.cfg]

    または:

    [include mainsail.cfg]
  3. FLYプリセットシステムまたは公式リファレンス設定を使用している場合は、fluidd.cfg / mainsail.cfg ファイルが ~/printer_data/config/ ディレクトリに存在することを確認します。

  4. 対応するファイルが存在しない場合は、フロントエンドのデフォルト設定ファイルを再度追加するか、Fluidd初期設定説明 を参照してください。

  5. デフォルトのフロントエンド設定ファイルを有効にした後、一時停止、再開、印刷キャンセルの位置やリトラクトパラメータを変更する必要がある場合は、一時停止と印刷キャンセルのカスタム位置 に従って _CLIENT_VARIABLE を追加し、デフォルトの CANCEL_PRINT / PAUSE / RESUME マクロを直接コピーしたり書き換えたりしないでください。

  6. カスタムシステムをメンテナンスしており、フロントエンドのマクロ依存関係を明確に理解している場合にのみ、手動で基本セクションを補完することを検討してください。この方法は一般ユーザーには推奨されません。少なくとも以下を含める必要があります:

    [virtual_sdcard]
    path: ~/printer_data/gcodes
    on_error_gcode: CANCEL_PRINT

    [pause_resume]

    [display_status]

    同時に、使用可能な [gcode_macro CANCEL_PRINT] も提供する必要があります。そうしないと、フロントエンドは引き続き CANCEL_PRINT macro not found in configuration を通知します。

  7. 設定を保存した後、RESTART を実行します。それでも欠落が通知される場合は、すべてのincludeファイルが実際にKlipperによって読み取られているかどうかを引き続き確認します。

フロントエンドマクロの使用方法: 一時停止と印刷キャンセルのカスタム位置 マクロ設定の参考: マクロの紹介

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/maximummust be above/below

一般的な原因:

  • 必須パラメータが欠落している。例: [extruder]step_pindir_pinheater_pin または sensor_type がない。
  • パラメータ形式が間違っている。例: 数値が必要な場所にテキストが入力されている、座標リストにカンマがない。
  • パラメータ値がKlipperの許容範囲を超えている。例: run_currentmax_tempposition_max の設定が不合理。
  • 設定をコピーする際に、中国語の句読点、全角記号、または不可視文字が残っている。

解決方法:

  1. エラーで示された設定セクションとパラメータ名に基づいて、対応する .cfg ファイルに戻り、1項目ずつ確認します。
  2. 数値、座標、リストパラメータについては、形式が例と一致していることを確認します。例: mesh_min: 20, 20
  3. must be above/below または minimum/maximum の場合は、まず公式の例またはマザーボードのチュートリアルで推奨される値に戻します。
  4. 保存後、RESTART を実行します。それでも失敗する場合は、klippy.log で最初の設定エラーを確認します。

関連設定の参考: 設定変更の説明

Unknown pin chip name / Pin is not a valid pin name / pin used multiple times

エラーメッセージ: Unknown pin chip name 'xxx'Pin 'PB12' is not a valid pin name on mcu 'mcu'Invalid pin description 'xxx'pin xxx used multiple times in config

一般的な原因:

  • 複数MCU設定でピン接頭辞が間違っている。例: toolboard:PB0 と書くべきところを、存在しないMCU名を記述。
  • MCU ID(canbus_uuid または serial)の設定が間違っており、ピンが誤ったデバイスにマッピングされ、そのデバイスに対応するピンが存在しない。
  • ピン名のスペルミス、またはマザーボードのチュートリアルのピンをそのまま別のマザーボードにコピーした。
  • 同じ物理ピンが複数の機能で重複して使用されている。例: ファン、ヒーター、エンドストップが同じピンを使用。
  • ピンの反転 !、プルアップ ^、プルダウン ~ が間違った位置に記述されている。

解決方法:

  1. [mcu xxx] の名前がピン接頭辞と完全に一致しているか(大文字小文字も含めて)確認します。
  2. [mcu xxx] セクションの canbus_uuid または serial が実際のデバイスと一致しているか確認します(ls /dev/serial/by-id/ または python3 -c "import can; ..." で確認できます)。
  3. マザーボードのピン配置図と照らし合わせて、すべての pin:step_pin:dir_pin:heater_pin: が現在のマザーボードに属していることを確認します。
  4. すべてのincludeファイルでエラーピンを検索し、重複して使用されている項目を削除するか変更します。
  5. ピン修飾子はピン名の前に記述します。例: ^PB7!PC13mcu2:^PB7

関連設定の参考: 設定変更の説明ファン設定例

gcode command XXX already registered

エラーメッセージ: Error: gcode command XXX already registered

エラーの原因: 2つの異なるマクロまたはシステムモジュールが同じGコードコマンド名を登録しています。例: 2つのマクロが両方とも [gcode_macro NEXT] を定義している。

一般的なシナリオ:

  • ユーザー定義マクロとKlipperシステムモジュールまたはサードパーティ設定との競合。
  • 複数の [gcode_macro M600] 定義。

解決方法:

  1. printer.cfg およびすべての [include] ファイルで重複定義を検索します。
  2. 競合する [gcode_macro] を削除するか名前を変更します。
  3. [homing_override][gcode_macro PAUSE][gcode_macro RESUME][gcode_macro CANCEL_PRINT] などの一般的なマクロを確認します。

関連設定の参考: マクロの紹介

Unknown command:"XXX"

エラーメッセージ: コンソールまたは klippy.logUnknown command:"PRINT_START"Unknown command:"START_PRINT"Unknown command:"M600"Unknown command:"EXCLUDE_OBJECT_DEFINE"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_DEFINEEXCLUDE_OBJECT_STARTEXCLUDE_OBJECT_END などのコマンドが認識されない。
  • ファンに [fan_generic] または [output_pin] を使用しているが、スライサーがデフォルトの M106 / M107 を送信し続けている。
  • サードパーティ製マクロパッケージを使用する際にincludeファイルが不足しているか、マクロ名がスライサーに入力された名前と一致していない。

解決方法:

  1. printer.cfg とすべてのincludeファイルでエラー内のコマンド名を検索し、対応する [gcode_macro XXX] が存在するか確認します。
  2. スライサー内の開始、終了、フィラメント交換、ファン、およびオブジェクト除外コマンド名をKlipperマクロと一致させます。
  3. Marlinコマンドの場合は、不要なコマンドを優先的に削除します。互換性が本当に必要な場合にのみ、明示的なKlipperマクロを追加します。
  4. オブジェクト除外関連のエラーは、スライサーがオブジェクトラベルを出力しているか、Moonrakerがオブジェクト処理を有効にしているか、Klipperに [exclude_object] があるかを同時に確認する必要があります。
  5. ファンコマンドのエラーが発生した場合、[fan] を使用すべきかどうか、または [fan_generic] / [output_pin] に一致する制御マクロを追加する必要があるかを確認します。

EXCLUDE_OBJECT_DEFINE / START / END

エラーの意味: EXCLUDE_OBJECT_DEFINE は印刷オブジェクトを定義するために使用され、EXCLUDE_OBJECT_START / EXCLUDE_OBJECT_END は現在のGコードがどのオブジェクトに属するかをマークするために使用され、フロントエンドがマルチオブジェクト印刷時に指定されたオブジェクトを表示および除外できるようにします。klippy.logUnknown command:"EXCLUDE_OBJECT_DEFINE"Unknown command:"EXCLUDE_OBJECT_START" または Unknown command:"EXCLUDE_OBJECT_END" が繰り返し表示される場合、Gコードにはすでにオブジェクト除外コマンドが含まれているが、Klipperの現在の設定がこれらのコマンドを正しく受信できないことを示しています。

優先的に確認する事項:

  1. printer.cfg またはincludeされた設定ファイルに以下が存在することを確認します:
[exclude_object]
  1. 変更後、RESTART を実行し、Gコードファイルを再アップロードしてテストします。すでにアップロードされた古いファイルは最新の設定で処理されていない可能性があるため、再スライスするか再アップロードすることをお勧めします。
  2. Moonraker設定でオブジェクト処理が有効になっているか確認します。一般的な設定場所は moonraker.conf です:
[file_manager]
enable_object_processing: True
  1. スライサーでオブジェクトラベル / オブジェクト除外関連の出力が有効になっているか確認します。スライサーによって名称は異なりますが、一般的な兆候として、Gコード内で EXCLUDE_OBJECT_DEFINEEXCLUDE_OBJECT_STARTEXCLUDE_OBJECT_END またはオブジェクト名を検索できることです。
  2. 一時的に印刷を完了させたいだけで、オブジェクト除外機能が不要な場合は、スライサーでオブジェクト除外関連の出力を無効にしてから再スライスします。ファイル内の一部のオブジェクトコマンドだけを削除しないでください。そうしないと、フロントエンドのオブジェクトリストが異常になる可能性があります。

判断の方向性:

  • EXCLUDE_OBJECT_START / EXCLUDE_OBJECT_END のみエラーになる場合: まず [exclude_object] を追加し、Klipperを再起動します。
  • フロントエンドにオブジェクトリストがないが、KlipperがUnknown commandを報告しなくなった場合: まずMoonrakerのオブジェクト処理とGコードが再アップロードされたかどうかを確認します。
  • ファイル内にオブジェクト関連コマンドが完全に見つからない場合: スライサーがオブジェクトラベルを出力していないことを意味するため、スライサー側で有効にする必要があります。

関連設定の参考: マクロの紹介設定変更の説明

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 としてのみ表示している。

解決方法:

  1. klippy.logError evaluating の下にある完全なTracebackを確認し、どの変数またはコマンドがエラーを起こしているかを特定します。
  2. スライサーの開始Gコードと照らし合わせて、渡されたパラメータ名がマクロ内の params.xxx と完全に一致しているか(大文字小文字も含めて)確認します。
  3. オプションパラメータにはデフォルト値を設定します。例: params.BED|default(60)|float。パラメータが空の場合のエラーを防ぎます。
  4. マクロ内で使用されている printer.xxx オブジェクトを検索し、設定内に対応するモジュールが存在することを確認します。
  5. マクロがサードパーティ製設定パッケージからのものである場合、すべての依存関係にあるincludeファイルと基本マクロが読み込まれていることを確認します。

関連設定の参考: マクロの紹介

SAVE_CONFIG の失敗または設定の競合

エラーメッセージ: SAVE_CONFIG 実行後に Unable to write configOption conflictCannot save config が表示されるか、保存後にプリンターが起動しなくなる。

一般的な原因:

  • printer.cfg ファイルの権限が不足しており、Klipperプロセスが書き込めない。sudo を使用して設定ファイルを編集した後によく発生します。
  • 自動保存領域(#*# マークブロック)内の設定項目が、手動の [include] ファイル内の同じオプションと競合している。
  • MCUがシャットダウン状態であり、SAVE_CONFIG が新しい設定を正常に送信できない。
  • printer.cfg ファイルの末尾に構文エラーがあるか、切り詰められており、自動保存領域への書き込みに失敗する。
  • 複数のincludeファイルが、SAVE_CONFIG で自動保存すべきでないパラメータ(PID、Zオフセットなど)を重複して定義している。

解決方法:

  1. 設定ファイルの権限を確認します:

    ls -la ~/printer_data/config/printer.cfg

    所有者が現在のユーザーでない場合、次のコマンドを実行します: sudo chown $USER:$USER ~/printer_data/config/printer.cfg

  2. SAVE_CONFIG 後にプリンターが起動しなくなった場合、printer.cfg の下部を開き、#*# 自動保存領域を確認します。

  3. 同じオプションがincludeファイルにも存在する場合、自動保存領域の重複項目を削除するか、includeファイルで一元管理するように変更します。

  4. MCUがシャットダウン状態の場合、まず FIRMWARE_RESTART を実行し、その後再度 SAVE_CONFIG を実行します。

  5. 権限は正常だが書き込めない場合は、ディスク容量を確認します: df -h ~/printer_data/

関連設定の参考: 設定変更の説明

SDCARD_RESET_FILE cannot be run from the sdcard

エラーメッセージ: SDCARD_RESET_FILE cannot be run from the sdcard

一般的な原因:

  • SDカード印刷中に SDCARD_RESET_FILE コマンドを実行しました。このコマンドはSDカード印刷中に呼び出すことは許可されていません。
  • スライサーの開始Gコードまたはマクロに誤って SDCARD_RESET_FILE が含まれている。

解決方法:

  1. スライサーの開始Gコードとカスタムマクロを確認し、SDCARD_RESET_FILE の呼び出しを削除するかコメントアウトします。
  2. SDカードファイルの状態をリセットする必要が本当にある場合は、印刷終了後に手動で実行し、印刷プロセス中に配置しないでください。
  3. PRINT_START マクロを使用している場合、このコマンドが呼び出されていないことを確認します。
Loading...