Mitsubishi MC
MC プロトコル(3E フレーム)で Mitsubishi MELSEC の PLC につなぎます。デバイスの記号、10 進と 16 進の番号、読み取り長。
Mitsubishi MC のドライバーは、TCP に載るバイナリの 3E フレーム、つまり Q、L、iQ の系列が話すフレームを使う MC プロトコルで、Mitsubishi MELSEC の PLC と話します。値は、おなじみの MELSEC のデバイスの書き方、つまりデバイスの記号に番号を続けた D100 や M50 のような形で指します。Connector の Mitsubishi MC のドライバーの下に機器を追加してください。パネルは、このプロトコルが使う項目だけを見せます。
接続
| 項目 | 意味 | 既定 |
|---|---|---|
| ホスト | PLC のイーサネットのインターフェースの IP アドレスかホスト名。 | 空 |
| ポート | MC プロトコルの接続の TCP のポート。0 は 5007 を使います。 | 0 |
機器の見出しは、組み立てられた接続先を見せます。たとえば mcp://192.168.0.20:5007 です。このドライバーには読み出し周期の項目がありません。そのタグは 1 秒に 1 回読まれます。PLC の側では、選んだポートでバイナリの通信を行う MC プロトコル(SLMP)の TCP 接続を設定しておく必要があります。
アドレス指定
Mitsubishi のタグは、タグの「取得元」のカードの 2 つの項目でアドレスを取ります。
| 項目 | 意味 | 受け付ける値 | 既定 |
|---|---|---|---|
| デバイスアドレス | MELSEC のデバイスの記号に番号を続けたもの、たとえば D100。必須です。 |
自由記述 | 空 |
| 読み取り長(バイト、空欄なら自動) | 1 回の読み取りで運ぶバイト数。空欄ならデータ型から大きさを決めます。 | 1 以上、または空欄 | 空欄 |
アドレスは大文字と小文字を区別せず、いちばん長く一致する記号が勝つので、SD100 は特殊レジスターの 100 であって、ステップリレー S ではありません。番号は、三菱が 16 進で数えるデバイス(X、Y、B、W、SB、SW、DX、DY)では 16 進、そのほかでは 10 進です(X1F は入力の 0x1F です)。受け付けるデバイスの記号は次のとおりです。
| 記号 | デバイス | 番号の数え方 |
|---|---|---|
M |
内部リレー | 10 進 |
SM |
特殊リレー | 10 進 |
L |
ラッチリレー | 10 進 |
F |
アナンシエータ | 10 進 |
V |
エッジリレー | 10 進 |
S |
ステップリレー | 10 進 |
X |
入力 | 16 進 |
Y |
出力 | 16 進 |
B |
リンクリレー | 16 進 |
SB |
特殊リンクリレー | 16 進 |
DX |
ダイレクト入力 | 16 進 |
DY |
ダイレクト出力 | 16 進 |
D |
データレジスター | 10 進 |
SD |
特殊レジスター | 10 進 |
R |
ファイルレジスター | 10 進 |
ZR |
拡張ファイルレジスター | 10 進 |
W |
リンクレジスター | 16 進 |
SW |
特殊リンクレジスター | 16 進 |
Z |
インデックスレジスター | 10 進 |
TC / TS / TN |
タイマーのコイル / 接点 / 現在値 | 10 進 |
SC / SS / SN |
積算タイマーのコイル / 接点 / 現在値 | 10 進 |
CC / CS / CN |
カウンターのコイル / 接点 / 現在値 | 10 進 |
土台になっている MC のライブラリは、記号 TT、TM、CT、CM、A も受け付けます。「取得元」のカードの読み取り専用の取得元のアドレス(バス上)の行が、編集しているそばから組み立てられたアドレスを見せます。
データ型
データ型の選択肢には、このドライバーが扱う 4 つの型が出ます。
| データ型 | 自動の読み取り長 | 備考 |
|---|---|---|
| Boolean | 1 バイト | ビットのデバイスでは名指しした 1 つのリレー、ワードのデバイスでは 0 でないワード |
| Int32 | 4 バイト | 連続する 2 つの 16 ビットのワード、たとえば D100 と D101 |
| Float | 4 バイト | IEEE の単精度を持つ、連続する 2 つのワード |
| String | 16 バイト | 読み取りの中身の、最初の NUL までの文字 |
ワードのデータは MELSEC 固有のリトルエンディアンで届き、自動的に解釈されます。バイト順の選択肢はありません。32 ビットの値は、連続する 2 つのワードのデバイスにまたがります。16 文字より長い文字列では、保存されている文字に届くよう読み取り長を上げてください。読み取り長はバイト数ですが、プロトコルは 16 ビットのワード単位で運ぶので、奇数の長さは、その最後のバイトを運ぶワードまで切り上げられます。
ビットのデバイス、つまりドライバーが 1 つずつリレーを読むデバイスは、X、Y、M、L、F、V、B、S、TS、TC、SS、SC、CS、CC、SB、DX、DY です。そこでのブール値のタグは、入力したアドレスについてだけ答え、ほかについては答えません。そのほかの記号はすべてワードのデバイスで、タイマーやカウンターの現在値(TN、SN、CN)とリンクレジスター(W、SW)もそこに入り、そこではワードの全体が判断します。0x0100 を持つ D100 は true と読まれます。
書き込み
アクセスが読み書きか書き込みのみのタグは、読み取りと同じデバイスアドレスへ書き込めます。ビットのデバイスへのブール値の書き込みは、名指しした 1 つのリレーを立てるか落とすかし、隣には触れません。ほかはすべて 16 ビットのワード単位で書かれます。Int32 と Float は 2 ワード、ワードのデバイスのブール値は 1 ワード、文字列はそのタグの読み取り長の全体で、前に文字の UTF-8 のバイトを、その後ろに 0 を並べ、最後のワードまで切り上げます。したがって、長い文字列の上に短い文字列を書くと値が丸ごと置き換わり、古いものは何も残りません。宣言した長さに収まらない文字は、切り詰められるのではなく、長さを診断ログに残して拒否されます。新しいタグは読み取りのみから始まります。
機器検出
このドライバーの MC プロトコルには同報による機器検出がないので、Connector は機器検出のボタンを出しません。機器とそのアドレスは手で追加してください。
知っておくとよいこと
- このドライバーでは、読み出しはどのタグも 1 秒に固定です。いつもの読み出し周期の項目は出ません。
- 3E フレームは、PLC 側で ASCII ではなくバイナリの MC/SLMP の接続として有効にする必要があります。ASCII で設定されたポートは、このドライバーに答えません。
- 届かない PLC があっても起動時の損はありません。機器は背後で再試行を続け、接続がつながるまでそのタグは品質が悪いものとして読まれます。