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

PLCプロファイリング — テストキット(「건조로 #2」)

PLCプロファイリング(PLC 프로파일링) は、IOアドレス一覧がないPLCをエッジが読み取り専用で走査して実際に使われているアドレスを見つけ、名前を付けてタグとして登録できるようにする機能です。このページのテストキットは、実際の設備なしでその流れを最初から最後まで試すためのセットです — 架空の「건조로 #2」(乾燥炉 #2)を模したModbus TCPシミュレータと、その値に合わせたHMI画面写真・PLCコメントファイルです。

リリース前の機能です

PLCプロファイリングはまだ正式リリース前のため、この機能を含むテストビルドでのみ表示されます。画面ヘッダーのチップアイコンから開き、AIが設定されている場合にのみ表示されます。機能の紹介はエッジ提案書の「⑥ アドレス一覧がなくても接続します」のページをご覧ください。

キットのダウンロード​

ファイル内容ダウンロード
HMI画面写真架空のHMI「건조로 #2 운전 화면」(乾燥炉 #2 運転画面、1280×800)。設定値・生産数量・ランプがシミュレータの値と一致しますhmi-dryer2.png
PLCコメントPLCコメントエクスポートの例。Modiconアドレス(4xxxx · 3xxxx · 0xxxx · 1xxxx、1から数える)、UTF-8、23行dryer2-comments.csv
シミュレータ上の2つと値が一致するModbus TCPシミュレータ。Python 3の標準ライブラリのみを使い、読み取り専用ですdryer2_sim.py

写真とコメントは任意の添付です。なくてもスキャン結果だけで基本名を付けます — 添付すると、AIがそれを根拠にタグ名・説明・単位を提案します。

架空のHMI「건조로 #2 운전 화면」 — シミュレータの値に合わせた写真

シミュレータの実行​

python3 dryer2_sim.py 5020
  • ポートを省略すると 5020 です。起動すると dryer2 simulator listening on :5020 と表示されます。
  • エッジと同じホストで動かす場合、エッジに入力するIPは 127.0.0.1 です(エッジコンテナはhostネットワークを使います)。別のPCで動かす場合は、そのPCのIPを入力します。
  • 別のPCの場合、そのPCのファイアウォールで 5020/tcp を開ける必要があることがあります。
  • Unit IDは何を入れても受け付けます。

シミュレータが返す値​

アドレスはModbusプロトコルアドレス(0から)とModicon表記(1から)を併記しています。コメントCSVはModicon表記です。

領域・アドレスModicon意味値
holding 040001乾燥炉 現在温度(×0.1 ℃)99.0~102.0 の間で変動
holding 140002排気ダンパー 現在開度(×0.1 %)変動
holding 240003バッチ番号35(固定)
holding 340004生産カウンター3秒ごとに+1
holding 440005累積稼働時間(h)111(固定)
holding 540006レシピ番号640(固定)
holding 1040011乾燥炉 設定温度(×0.1 ℃)1008 → 100.8 ℃
holding 1140012排気ダンパー 設定(×0.1 %)1009 → 100.9 %
holding 1240013供給圧力 設定(×0.01 bar)1015 → 10.15 bar
holding 1340014コンベヤ速度 設定(×0.01 m/min)1016 → 10.16 m/min
holding 1440015上限警報 設定(×0.1 ℃)1020 → 102.0 ℃
holding 20–2140021–40022供給圧力 現在値、FLOAT32 上位ワード先10.0~10.3 bar の間で変動
input 030001生産数量表示(EA)999
input 130002稼働時間表示(h)111
coil 0~300001~00004運転・停止・自動・異常ランプ1 · 0 · 1 · 0
discrete 010001ドア閉1
discrete 110002非常停止押下0
discrete 210003バーナー火炎検知5秒ごとに点滅
  • 4つの領域すべてがアドレス 0~1999 を返し、上の表にないアドレスは 0 です。
  • 2000 以上は「存在しないアドレス」(Modbus例外 02)として応答します — スキャンの境界探索はここで終端を見つけます。
  • 書き込み要求(ファンクションコード 5 · 6 · 15 · 16)は例外 01 で拒否します。

テスト手順​

  1. エッジ画面ヘッダーの PLCプロファイリング(PLC 프로파일링) を開きます。
  2. 新しいPLC情報を入力(새 PLC 정보 입력) を選び、名前「건조로 #2」、説明(必須)、プロトコルModbus、上で決めたIPとポート 5020 を入力します。
  3. スキャン時間を 5分 にします。
  4. キットのHMI写真とコメントCSVを添付します(任意)。
  5. 開始(시작) します。
  6. スキャンが終わったら AIで名前を作成(AI 로 이름 만들기) を押します。
  7. ④ 確認・登録(④ 확인 · 등록) 画面で精度と根拠を確認し、正しいものにチェックを入れて登録します。

期待される結果​

  • 写真の設定値 100.8 · 100.9 · 10.15 · 10.16 · 102.0 が 40011~40015 と対応付けられます。
  • 写真の 35 · 640 · 111 · 999 もそれぞれのアドレスと対応付けられます。
  • 写真のランプ(運転・停止・自動・異常)はコイル 00001~00004 と対応付けられます。
  • コメントCSVの 49001 はスキャン領域外のため破棄されます — 正常です。
  • 写真に撮影時刻(EXIF)がない場合は、アップロード時刻の値と比較します。そのため温度・開度・圧力のように変動する値は一致しないことがあります — 固定値と設定値が対応付けの基準です。
テスト用です

このキットは実際に稼働中のPLCではなくテスト用です。シミュレータは書き込みを拒否し(読み取り専用)、すべてのネットワークアドレスで接続を受け付けるため、テスト網でのみ動かし、テストが終わったら停止してください。

プロトコル別の事前設定と制約​

実際のPLCをスキャンする前に、以下を確認してください。エッジ画面でも、開始画面でプロトコルを選ぶと同じ内容が対象領域の上に表示されます。

共通

  • 同時接続数が制限されたPLCでは、既存の収集が接続を使っているとスキャン接続が拒否されることがあります。この場合、スキャンは«2つ目の接続拒否(두 번째 연결 거절)»という理由で停止します。
  • ファイアウォールでPLCのポートが開いている必要があります。

Siemens S7 (1200/1500)

  • CPUプロパティ › 保護とセキュリティ › 接続メカニズム › «リモートパートナからのPUT/GET通信によるアクセスを許可» がオンになっていて初めて M · I · Q も読み取れます。保護レベルが «アクセスなし(完全な保護)» の場合も読み取れません。
  • TIA Portal で «最適化ブロックアクセス» で作成したDBはアドレスで読み取れないため、スキャンから外れます(現場の1200/1500に多く見られます)。そのDBの «最適化ブロックアクセス» をオフにして再ダウンロードすると読み取れるようになります。

Mitsubishi

  • PLCのイーサネット設定でMCプロトコル(SLMP)のポートが開いており、交信データコードが «バイナリコード交信» である必要があります。
  • FX3はイーサネットアダプタ(FX3U-ENETなど)のMCプロトコル設定が、Aシリーズはイーサネットモジュールの1Eフレーム交信が必要です。
  • ZR(拡張ファイルレジスタ)は既定のスキャン領域に含まれていません。

LS

  • FEnetモジュールの «XGT専用プロトコル»(既定ポート 2004)がオンになっていて、接続許可IPにエッジが含まれている必要があります。
  • XGI / XEC で直接アドレス(%MW · %MX など)がなく名前だけの変数は、アドレスで読み取れないためスキャンから外れます。

Modbus

  • どのアドレスに何があるかは機器ごとに異なります。Unit ID が間違っていると何も読み取れません。
  • RTU-TCPゲートウェイを経由すると非常に遅いため、スキャン時間を30分以上に設定してください。

関連ドキュメント​