Mitsubishi MC

MC プロトコル(3E フレーム)で Mitsubishi MELSEC の PLC につなぎます。デバイスの記号、10 進と 16 進の番号、読み取り長。

Markdown で表示

Mitsubishi MC のドライバーは、TCP に載るバイナリの 3E フレーム、つまり Q、L、iQ の系列が話すフレームを使う MC プロトコルで、Mitsubishi MELSEC の PLC と話します。値は、おなじみの MELSEC のデバイスの書き方、つまりデバイスの記号に番号を続けた D100M50 のような形で指します。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 のライブラリは、記号 TTTMCTCMA も受け付けます。「取得元」のカードの読み取り専用の取得元のアドレス(バス上)の行が、編集しているそばから組み立てられたアドレスを見せます。

データ型

データ型の選択肢には、このドライバーが扱う 4 つの型が出ます。

データ型 自動の読み取り長 備考
Boolean 1 バイト ビットのデバイスでは名指しした 1 つのリレー、ワードのデバイスでは 0 でないワード
Int32 4 バイト 連続する 2 つの 16 ビットのワード、たとえば D100D101
Float 4 バイト IEEE の単精度を持つ、連続する 2 つのワード
String 16 バイト 読み取りの中身の、最初の NUL までの文字

ワードのデータは MELSEC 固有のリトルエンディアンで届き、自動的に解釈されます。バイト順の選択肢はありません。32 ビットの値は、連続する 2 つのワードのデバイスにまたがります。16 文字より長い文字列では、保存されている文字に届くよう読み取り長を上げてください。読み取り長はバイト数ですが、プロトコルは 16 ビットのワード単位で運ぶので、奇数の長さは、その最後のバイトを運ぶワードまで切り上げられます。

ビットのデバイス、つまりドライバーが 1 つずつリレーを読むデバイスは、XYMLFVBSTSTCSSSCCSCCSBDXDY です。そこでのブール値のタグは、入力したアドレスについてだけ答え、ほかについては答えません。そのほかの記号はすべてワードのデバイスで、タイマーやカウンターの現在値(TNSNCN)とリンクレジスター(WSW)もそこに入り、そこではワードの全体が判断します。0x0100 を持つ D100 は true と読まれます。

書き込み

アクセスが読み書きか書き込みのみのタグは、読み取りと同じデバイスアドレスへ書き込めます。ビットのデバイスへのブール値の書き込みは、名指しした 1 つのリレーを立てるか落とすかし、隣には触れません。ほかはすべて 16 ビットのワード単位で書かれます。Int32 と Float は 2 ワード、ワードのデバイスのブール値は 1 ワード、文字列はそのタグの読み取り長の全体で、前に文字の UTF-8 のバイトを、その後ろに 0 を並べ、最後のワードまで切り上げます。したがって、長い文字列の上に短い文字列を書くと値が丸ごと置き換わり、古いものは何も残りません。宣言した長さに収まらない文字は、切り詰められるのではなく、長さを診断ログに残して拒否されます。新しいタグは読み取りのみから始まります。

機器検出

このドライバーの MC プロトコルには同報による機器検出がないので、Connector は機器検出のボタンを出しません。機器とそのアドレスは手で追加してください。

知っておくとよいこと

  • このドライバーでは、読み出しはどのタグも 1 秒に固定です。いつもの読み出し周期の項目は出ません。
  • 3E フレームは、PLC 側で ASCII ではなくバイナリの MC/SLMP の接続として有効にする必要があります。ASCII で設定されたポートは、このドライバーに答えません。
  • 届かない PLC があっても起動時の損はありません。機器は背後で再試行を続け、接続がつながるまでそのタグは品質が悪いものとして読まれます。