機器テーブルは、機器がModbus RTU マスターとして、インバーター・温度調節器・他のPLCなどの相手機器(スレーブ)の値を読み書きする内容を、相手機器ごとの表にまとめる機能です(V1.1.0以降)。同じ相手機器の連続したアドレスは1回の通信にまとめて読み出し、書き込みは値が変わったときだけ送信します。ラダーのMBTRIGファンクションで、必要なタイミングでだけ送信させることもできます(V1.2.0以降)。
設定 → Modbus RTU マスターを選択すると開きます。新規プロジェクトと、機器テーブルがあるプロジェクトでは、機器テーブルウィンドウが開きます。従来のMP STUDIOで作成した一覧だけがあるプロジェクト(同梱のModbusサンプルなど)ではModbus RTU マスターの一覧ウィンドウが開き、そのウィンドウのテーブルへ移すで機器テーブルに変換できます(下記)。
通信ポートウィンドウでModbus RTU Masterに設定したポートがある場合は、そのウィンドウのModbus 機器テーブルを開くボタンからも開けます。
| 項目 | 説明 |
|---|---|
| ポート | 機器テーブルで使う通信ポート(通信ポート1~通信ポート3)を選びます。ポートごとに、登録した相手機器の数もあわせて表示されます。 |
| 速度 | そのポートの通信設定です。押すと通信ポートウィンドウが開きます。 |
| 1 周 | ポーリングする読み出し・書き込みを1周するのにかかる予想時間です。 |
| RAM・フラッシュ | 機器テーブルが機器で使うメモリです。「旧方式 約 N KB」は、同じ内容を従来の一覧方式で入れた場合のサイズです。 |
OKを押すと、選んだポートがModbus RTU Masterに変わり、そのポートのダウンロードの使用がオフになります。まだMasterではないポートを選ぶと、ウィンドウの上部にこの案内が表示されます。
左側の一覧で+ 機器を追加を押して相手機器を追加し、複製・機器を削除でコピーまたは削除します。相手機器を選ぶと、右上に設定が表示されます。
| 項目 | 既定値 | 説明 |
|---|---|---|
| 名前 | 機器 N | 表示用の名前です。 |
| 局番 | 空いている番号 | 0~247。同じポートで重複しないようにする必要があります。0はブロードキャスト(書き込みのみ)です。 |
| 応答待ち(ms) | 100 | 20~60000。応答を待つ時間です。 |
| リトライ(回) | 2 | 0~10。応答がないときに再送信する回数です。 |
| 再確認間隔(秒) | 5 | 1~3600。リトライしても応答がない相手機器はスキップし、この間隔ごとに再確認します。 |
| ワード順 | 下位ワード先頭 (CDAB) | 2ワード(32ビット)値のワード・バイトの順序です。 |
| 一度に読む最大 | 自動 | 1回の通信で読み出す最大の個数です。空欄にすると、機種に合わせて決まります。 |
| 追加待ち(ms) | 0 | 0~10000。通信と通信の間に追加で待つ時間です。 |
| 状態ワード | 空欄(使わない) | 相手機器の状態を受け取るワードアドレスです。自動を押すと、空いているDワードを選びます。 |
状態ワードには、ビット0 = 接続中、ビット1 = スキップ中、上位バイト = 最後のエラーが入ります。0の場合は未接続の状態です。
相手機器とやり取りする値を1行ずつ入力します。
| 列 | 説明 |
|---|---|
| 方向 | 読み出し・書き込み。機能によって決まります。 |
| 機能 | FC01~FC06、FC15、FC16から選びます。 |
| 機器アドレス | 相手機器のアドレス(0~65535)です。 |
| 個数 | 1の場合は値1つ、2以上の場合はPLC アドレスから連続する範囲です。 |
| PLC アドレス | 値をやり取りする機器のメモリです(例: D10)。 |
| 型 | PLC アドレスによって決まるデータ型です。 |
| 説明 | メモです。 |
| トリガー | 空欄にするとポーリングします。1~255を入力すると、ラダーのMBTRIGが呼び出したときだけ送信します(下記)。 |
| フレーム | この行が含まれる通信の番号です。下の実際に送信するフレーム一覧の番号と同じです。 |
+ 行を追加で行を追加します。Excelで「機能 · 機器アドレス · 個数 · PLC アドレス · 説明 · (トリガー)」の順にコピーして行を貼り付け(Excel)を押すか、表でCtrl+Vを押すと、複数の行を一度に入力できます。Enterで次の行へ移動し、Ctrl+Deleteで行を削除します。
ウィンドウ下部の実際に送信するフレームには、機器が実際に送信する通信が順に表示され、いちばん下には「値 N 個なら旧方式 N 回 → テーブル M 回」のように、従来の一覧方式と比べた通信回数が表示されます。OKを押すと適用されます。ファイルに残すには、プロジェクトを保存する必要があります。
トリガー番号を付けた行は、ラダーのMBTRIGファンクションが呼び出したときだけ送信します。ボタンを押したときだけ設定値を送信したり、必要なときだけ値を読み出したりする場合に使用します。
M100)を入力します。MBTRIGファンクションを挿入し、同じ番号を入力します。ファンクションパネルのSerialport分類にあるMBTRIG: Send Modbus Triggerを選ぶか、ファンクションの挿入ウィンドウ(Ctrl+E)にMBTRIG 1のように入力します。MBTRIGの入力がOFFからONに変わるたびに、その番号の行を1回送信します。入力をONにしたままでは繰り返しません。電源投入時にすでにONになっている入力では、1回送信します。MBTRIGの番号は1~255の定数で、機器テーブルにある番号である必要があります。そうでない場合はセルが赤く表示され、コンパイルされません。ラダーにMBTRIGがない番号の行は、トリガー番号の表に「ラダーに MBTRIG 1 がないため送信されません」と表示されます。
従来のModbus RTU マスターの一覧があるプロジェクトでは、一覧ウィンドウの左下にあるテーブルへ移すを押すと、機器テーブルに変換されます。一覧は空になって機器テーブルウィンドウが開き、「旧リスト 4 行を機器 1 台のテーブルに移しました」のように結果が表示されます。2ワード値の行は、FC16の行になります。
Ctrl+Z)で元に戻せます。モニタリング中に機器テーブルウィンドウを開くと、状態ワードを設定した相手機器のカードに状態が表示されます。状態は、選択したポートの相手機器のものだけを読み出します。
| 表示 | 意味 |
|---|---|
| ● 接続中 | 正常に応答しています。 |
| ▲ 接続中 · エラー | 応答はありますが、エラーがあります(例: 例外応答01~06、CRCエラーなど)。 |
| ⏸ スキップ中 | 応答がないため、スキップしています。再確認間隔ごとに再確認します。 |
| ✕ 未接続 | 接続されていません。 |
灰色の○は、機器のプログラムがこのプロジェクトと異なる場合や、PLCが応答しない場合など、表示された状態を信頼できないときの表示で、その理由もあわせて表示されます。―は、状態ワードを設定していない相手機器です。
シミュレーションすると、機器テーブルの相手機器が仮想のModbusスレーブとして動作し、シミュレーションバーに仮想機器 N 台と表示されます。機器テーブルウィンドウの仮想機器の値タブで読み出し値を変更したり書き込み値を確認したりでき、応答なしをオンにすると、その相手機器が応答しない状況を試せます。
MBTRIGと完了欄もシミュレーションされます。例外応答とCRCエラーはシミュレーションされません。.mpx)に保存されます。トリガーを使ったファイルは、V1.1.0では開けません。