エクスプローラーのコードグループでファイルを選択すると、Arduino Code編集画面が開きます。番号は下の説明と同じ位置を示します。
ファイルを選択すると、その内容が編集画面に表示され、エクスプローラーの選択項目も切り替わります。
新規プロジェクトの最初のコードファイル名はmainです。プロジェクトを初めて保存すると、プロジェクトファイル名に合わせて自動的に変更されます。
最初のコードファイルはプロジェクトのエントリーファイルです。コード一覧の先頭に固定され、名前変更・削除・移動はできません。
| 操作 | マウス | キーボード | 結果 |
|---|---|---|---|
| 追加 | コードグループの+、またはコードグループ・ファイルの右クリックメニューで追加 | - | 新しい.inoファイルが一覧の末尾に追加され、すぐに開きます。 |
| 名前変更 | ファイルをダブルクリック、または右クリックメニューの名前の変更 | F2またはEnter | 追加したコードファイルの名前を変更します。 |
| 削除 | ファイルの×、または右クリックメニューの削除 | Delete | 確認画面で承認した後、ファイルを削除します。 |
| 一覧内の移動 | ファイルを上下にドラッグ | Ctrl + ↑・Ctrl + ↓ | エクスプローラーで選択した追加ファイルを1つ移動します。 |
コードファイル名に拡張子は入力しません。空の名前、ピリオドで始まる名前、/・\・..を含む名前、および大文字小文字だけが異なる重複名は使用できません。
追加ファイルの移動は現在の作業一覧に反映されます。プロジェクトを開き直すと、追加ファイルは名前順に並びます。
機能ごとにコードファイルを分けると、プロジェクトのコードを見つけて管理しやすくなります。次の例では、値の範囲を制限する関数をcontrolファイルに作成し、基本コードファイルから呼び出します。
int limitValue(int value) { return constrain(value, 0, 100); // 値を0~100の範囲に制限します。 }
void setup() { } void loop() { D0 = limitValue(D1); // D1を0~100に制限してD0へ保存します。 ladderLoop(); // 作成したラダーロジックを実行します。 }
limitValue()はArduino標準関数constrain()を使用し、受け取った値を0~100の範囲で返します。.inoファイルは1つのスケッチとして一緒にビルドされるため、別のファイルに作成した関数を呼び出せます。MPINO-8A4R(T)-Sプロジェクトで実際にコンパイルして確認しました。
D0とD1の保存形式、およびArduino CodeとPLCメモリの共有方法は、Phase 2・メモリを理解するを参照してください。ラダーのボックス関数からArduino関数を呼び出す方法は、Arduino Code関数呼び出しの詳細で確認できます。
注意: loop()からladderLoop()を削除すると、作成したラダーロジックは実行されません。
関数名や変数名の先頭を入力すると、使用できる項目が自動補完一覧に表示されます。
Ctrl + Spaceを押します。↑・↓で項目を選択します。EnterまたはTabで選択した項目を入力します。
前の例でlimitVを入力すると、別のコードファイルに作成したlimitValue()を選択できます。
| 自動補完項目 | 表示例 | 確認内容 |
|---|---|---|
| プロジェクトの関数・変数 | limitValue() | プロジェクトのコードファイルに作成した名前 |
| Arduino標準関数・定数 | constrain()・HIGH | Arduinoが提供する関数と定数 |
| ボードコア・ライブラリ | 解析された関数・定数 | 選択したボードコアとプロジェクトのライブラリ項目 |
ボードコアとライブラリの項目はコード解析の完了後に表示されることがあります。自動補完で入力した場合も、引数の数と型は関数定義に合わせる必要があります。
関数名または変数名にカーソルを置き、F12を押すと定義位置を確認できます。
| 定義位置 | F12の結果 |
|---|---|
| 現在のコードファイル | 定義がある行へ移動します。 |
| 別のコードファイル | そのファイルを開き、定義がある行へ移動します。 |
| Arduinoコア・ライブラリ | 読み取り専用の定義画面を開きます。 |
基本コードファイルのlimitValue()でF12を押すと、controlファイルの関数定義へ移動します。constrain()などのArduinoコア関数は、読み取り専用の定義画面で確認できます。上部の閉じるボタンまたはEscで画面を閉じます。
F12で移動した宣言または実装位置です。| フォーカス位置 | F12の動作 |
|---|---|
| Arduino Code | 定義へ移動 |
| ラダーロジック | 立ち下がりエッジ接点を作成 |
同じショートカットでも、選択中の編集画面によって動作が異なります。
Arduino Codeとラダーロジックでは、現在の編集画面に対応した検索・置換画面を使用します。
| 操作 | キー・ボタン | 結果 |
|---|---|---|
| 検索を開く | Ctrl + F | 現在のコードファイルで文字列を検索します。 |
| 置換を開く | Ctrl + H | 検索文字列と置換文字列を入力します。 |
| 前・次の結果 | Shift + Enter・Enterまたは画面ボタン | 検索結果の間を移動します。 |
| 置換 | 置換・すべて置換 | 選択した結果または現在のファイル内のすべての結果を変更します。 |
大文字小文字、単語単位、正規表現のオプションを使用できます。
ラダーグリッドにフォーカスを置き、Ctrl + Fを押します。現在のラダーまたはすべてのラダーで、接点・コイルのアドレスとセル内のコード文字列を検索・置換できます。
| 検索方式 | 検索対象 | 置換 |
|---|---|---|
| 通常検索 | アドレスとセル内コード | 1件置換・すべて置換を使用可能 |
| 単語単位 | M1の検索ではM10を除外 | 完全なアドレスだけを検索 |
| ボックス関数検索 | ボックス関数の命令語名 | 完全一致だけを検索し、置換は使用不可 |
新しいエラーまたは警告が追加されると、下部の問題パネルでメッセージと位置を確認できます。パネルが表示されていない場合はCtrl + Jを押し、問題タブを選択します。
追加したコードファイルで発生したエラーは、問題項目のファイル名と行番号を確認し、エクスプローラーから該当ファイルを直接開いてください。
ビルド出力全体の確認と再ビルド方法は、Phase 1・最初のプロジェクトを作るを参照してください。
ショートカットはファイル → 環境設定 → ショートカットで変更できます。
| 操作 | 既定のショートカット | 適用位置 |
|---|---|---|
| 自動補完を開く | Ctrl + Space | コード入力領域 |
| 定義へ移動 | F12 | コードの関数・変数名 |
| 検索 | Ctrl + F | コードまたはラダー編集領域 |
| 置換 | Ctrl + H | Arduino Code編集領域 |
| 下部パネルの表示・非表示 | Ctrl + J | 作業画面全体 |
| コードファイル名の変更 | F2またはEnter | エクスプローラーの追加コードファイル |
| コードファイルの削除 | Delete | エクスプローラーの追加コードファイル |
| コードファイルの移動 | Ctrl + ↑・Ctrl + ↓ | エクスプローラーの追加コードファイル |
F2、F12、Delete、Ctrl + ↑・Ctrl + ↓は、フォーカス位置によって別の機能を実行することがあります。使用前にコード領域またはエクスプローラーの対象ファイルを選択してください。
| 症状 | 確認項目 |
|---|---|
| 自動補完一覧が開きません。 | コード入力領域を選択してCtrl + Spaceを押し、関数名のスペルを確認します。 |
| 別のコードファイルの関数が自動補完にありません。 | 関数名と波かっこ、両方のファイルが同じプロジェクトにあることを確認し、コード解析の完了を待ちます。 |
F12を押しても定義が開きません。 | 関数名にカーソルがあること、Arduino Codeにフォーカスがあること、コードに構文エラーがないことを確認します。 |
| 定義画面を編集できません。 | Arduinoコアとライブラリの定義は読み取り専用で開きます。 |
| 予想と異なる検索画面が開きます。 | 現在選択している編集対象がArduino Codeかラダーロジックかを確認します。 |
| 最初のコードファイルを変更できません。 | 最初のコードファイルはプロジェクトが管理するため、名前変更・削除・移動はできません。 |
| 追加コードファイルの問題項目から該当行へ移動しません。 | 問題項目のファイル名と行番号を確認し、エクスプローラーからファイルを直接開きます。 |