メインコンテンツまでスキップ

LS ELECTRIC XGI / XBC / XBM

LS ELECTRIC (旧LS産電) の XGI / XBC / XBM PLCシリーズと FEnet (Fast Ethernet) 標準プロトコルで通信します。

XGTシリーズで最も一般的に使われる通信方式で、ICMP (ping) 到達性を先に確認してから、実際の通信を開始します。


登録フォームの入力値​

入力欄何を書くか例
IPアドレスPLC の FEnet モジュール IP192.168.0.80
ポートFEnet ポート2004 (XGT デフォルト)
接続タイムアウト (connect-timeout)接続試行の最大時間 (ms)3000
読み取りタイムアウト (read-timeout)読み取り応答の最大時間 (ms)3000
チェックサム使用 (use-checksum)BCC チェックサムオプション通常 false
ビットインデックス16進使用 (use-hex-bit-index)ビット番号を16進で解釈するか通常 false。P 領域で F のような16進インデックスを使う場合のみ true

PLC 側の設定は、XG5000 で FEnet モジュールの IP / ポートをあらかじめ登録しておけばOKです。

ping 検査

LS PLC は通信試行前に、ゲートウェイが ping で到達可能かどうかを先に確認します。社内ネットワークで ICMP (ping) がブロックされていると、正常な PLC でも “Ping failed” と表示されるため、ファイアウォールポリシーを確認してください。


タグの PLC アドレス表記​

LS PLC では短い形式 (D00309) を推奨しており、ゲートウェイが自動的に標準形式 (%DW00309) に変換します。

メモリ領域​

文字領域
DData Register — 最も一般的
MMemory (メモリビット)
KKeep Relay
FFlag
TTimer
CCounter
R(シリーズにより異なる)
PI/O

表記例​

表記 (短い形式)意味
D00309Data Register 309 (16-bit)
D00600Data Register 600 (32-bit で使うには [形式補助] に DW を指定)
M02704Memory bit 2704
P0001FI/O ビット (16進インデックス使用時)

LS の同じアドレスを 16-bit / 32-bit / 64-bit / 実数として多様に解釈できるため、[形式補助] が重要です。


データ形式マッチング​

PLC の値データ形式形式補助PLC アドレス例
ビット (M, K, T, P)Boolean(空欄)M02704
ワード内の特定ビットBooleanBIN[3] (3番目のビット)D00309
16-bit 整数Integer(空欄)D00309
16-bit 符号なしIntegerUID00300
32-bit 整数IntegerDWD00600 (D00600~D00601 を使用)
32-bit 符号なしIntegerUDWD00690
64-bit 整数Long(空欄)D00700
32-bit 実数 (最も一般的な実数型)FloatREALD00450
64-bit 実数DoubleLREALD00500
文字列 N ワード (= 2N 文字)StringSTR[N]D00500
32-bit なのに形式補助を空欄にすると?

16-bit として誤って読み取られ、値が全く別の数字になります。32-bit 整数なら DW、32-bit 実数なら REAL を必ず指定してください。


よくある問題と解決策​

症状 / メッセージ考えられる原因解決策
“Ping failed”ICMP ブロック環境ファイアウォールで ICMP を許可。ダメならシステム管理者へ
“Connect failed”FEnet モジュール停止、ポート不一致XG5000 で FEnet モジュールの IP/ポート (2004) を確認
32-bit 値が異常形式補助を空欄にしたDW (整数) / REAL (実数) を指定
ビットが読み取れないD00100 で登録した (D はワード領域)M02704 のようなビット領域を使用。または format=BIN[3] でワード内のビットを抽出
文字列の文字化けLS が low-byte-first で送信する特性ゲートウェイが自動処理します。外部ツールで直接デコードする際は注意

よく使う例​

一般的なライン PLC 登録​

タグ名PLC アドレスデータ形式形式補助
稼働ビットM02704Boolean(空欄)
カウンター (16-bit)D00309Integer(空欄)
累積生産量 (32-bit)D00600IntegerDW
圧力 (実数)D00100FloatREAL
圧力 (kPa, 変換)D00100FloatREAL (計算式 ${VALUE}*0.1)
バッチ名 (10ワード)D00500StringSTR[10]

ワード内のビット抽出​

同じワード内に複数のビット信号がまとまっている場合、BIN[비트번호] で1行ずつ登録できます。

タグ名PLC アドレスデータ形式形式補助
Bit 0D00309BooleanBIN[0]
Bit 3D00309BooleanBIN[3]
Bit 15D00309BooleanBIN[F] (16進 F = 15)

use-hex-bit-index=true で PLC 登録オプションを設定すると、16進インデックス(F など)が使用可能になります。


より詳細な例 / 自動化登録​

上級 — REST API の LS の例を参照してください。