O ORPAON
SCADA・上位機

大規模SCADAプロジェクトのタグ命名規則とエンジニアリングテンプレート

最初の一か月で急いで付けたタグ名は、その後の変更のたびに払う税になります。大規模なSCADA案件が折れるのは、たいてい最初の一枚の画面ではありません。二本目のラインを繋ぐとき、アラーム一覧を書き出すとき、次の業者がどのモータのタグかが分からないときです。自動車・家電・食品の現場でも、この型は共通です。本記事では、命名の乱れが試運転後に払わせる代償、規則がカバーすべきフィールド、そしてI/O割付・点表・画面仕様書を描画より先に出す理由を整理します。

タグ名が乱れると後工程で払う代償

  • 重複と衝突:二つのステーションがどちらも Pump1_Run を持ち、帳票が混ざり、事象がどの現場か分からない
  • 画面とタグが乖離する:HMIの表示名は書き換えたのに、実体のタグは電気担当の略号のまま、障害切り分けに二系統の語彙が要る
  • アラーム文をタグから生成できない:メッセージを手打ちしているため、プロセス側の改名がアラーム一覧に届かない
  • 増設が乱れを複製する:次エリアを最初のエリアからコピーし、悪い名前ごと持ち込み、ラインが増えるたびに整理コストが増える
  • 引継ぎが属人化する:T12 がAポンプ吐出温度だと知るのは当初の担当だけで、その人はもう現場にいない

この五つの代償は試運転の最中ではなく、その後に現れます。だから先送りしやすく、事後の挽回は高くつきます。命名規則は初週に決める方が安く、HMIが稼働してから数万点を付け替える作業は、同じ量ではありません。

命名規則がカバーすべきフィールド:エリア・設備・信号・種別

命名規則は好みの問題ではありません。すべてのタグ、アラーム文、画面オブジェクトをそこから導ける契約です。フィールドが欠けていると、後工程のスクリプトはエリアで絞れず、アラーム文を作れず、プロセス値と指令の区別もつきません。

次の四フィールドは、最初のタグを切る前に決める下限です。区切り文字・長さ・文字種も同じ規則に入れます。メーカー混在のPLCと、後のデータベース書き出しが、いいかげんな綴りを許さないからです。当社は単一プロジェクトで約80000変数、366台の設備を同一ネットワークで収集した実績があります。この数字は個別案件の記述であり、典型的な規模でも、あらゆる契約に掲げる点数の上限でもありません。示しているのは、点数が増えても規則が持つ必要がある、ということです。パイロットラインの数百点だけで綺麗でも足りません。

  • エリア(サイト、ライン、建屋):資産の地理的な所属——工場、職場、ライン、ポンプ場コード。これがないと、別棟の同一機種が衝突する
  • 設備(ユニット、スキッド、単機):資産そのもの——圧縮機、コンベヤ、ポンプユニット。同一機の信号が並ぶようにする
  • 信号(測定値または機能):読むもの、書くもの——運転フィードバック、吐出圧力、故障、設定値
  • 種別(クラス):アナログ入力、アナログ出力、デジタル入力、デジタル出力、演算点、アラーム、設定値。ヒストリアン、画面、アラームエンジンが点の性質で扱えるようにする
  • 区切り・長さ・文字種:区切りは一つ(アンダースコアがよく使われる)、長さは最も短いPLCとヒストリアンの双方が受けられる値、スペースや書き出しを壊すロケール記号はタグ名に入れない

画面より先に出す工程テンプレート:I/O割付、点表、画面仕様書

画面はSCADA案件で目に見える部分なので、議論は画面から始まりがちです。大規模案件では順序を逆にします。I/O割付、点表、画面仕様書は、誰かが描く前に存在していなければなりません。この三つが無いと、後の画面は場当たりで名前を発明し、稼働中のシステムに照合できるマスターが残りません。

上記の収集規模に加え、当社は約30000アラーム点規模の案件でアラームの工程化を実施しています。これらは個別案件の実証であり、どの現場もその規模だと見込む数字ではありません。ソフトが何点まで取れるかという宣伝文句でもありません。あるセグメントの点数の上限は、帯域、ポーリング周期、サーバ余裕で決まり、試運転で初めて知るのではなく、次のテンプレートに書いておきます。

  • I/O割付表:盤、スロット、チャネル、信号種別、エンジニアリングレンジ、行き先タグ名。PLCアドレス付けの前に凍結する
  • 点表(タグリスト):マスター——タグ名、説明、エリア、設備、アドレス、データ型、スキャンクラス、単位、アラームフラグ。1点1行、ファイルの責任者は一人
  • 画面仕様書:どの画面があるか、どのタグをバインドするか、ナビゲーションとアラームの見せ方。作画の前に書き、作画後の後付けにしない
  • アドレスとネットワーク図:どのコントローラがどの範囲を持つか、同一セグメントの台数、合意したポーリング周期におけるそのセグメントの点数の上限

悪い命名、それが起こす問題、推奨構造

下表は現場で使えるチェックリストであり、万能の規格ではありません。第3列の型は AREA_EQ_SIGNAL_TYPE です。四フィールドを自工場で埋め、綴り・区切り・長さを凍結し、以後の取り込みを同じ契約に乗せます。

悪い命名起こる問題推奨構造
同一案件で Pump1_Run、Pump1Run、P1R が混在同じ信号が三通りに綴られ、検索とスクリプトが二つを落とす型は一つ、区切りは一つ。例:P2_PU01_RUN_DI(エリア_設備_信号_種別)
T12、AI03、MtrA当初の作者しか解けないコードになり、引継ぎが記憶頼みになるエリアと設備を名前に入れる。意味は説明欄に置き、私有コードに隠さない
Line2_Temp をプロセス値とアラームの両方に使うヒストリアン、HMI、アラーム一覧が一点を奪い合い、フィルタで分けられないプロセス点とアラーム点は別タグ。種別フィールドで PV と ALM を分ける
Compressor_Discharge_Pressure_High_High_Alarm_SPPLCとヒストリアンの長さを超え、切り詰めで静かに衝突する規則で長さを抑える。限定語は種別と説明に置き、際限なく繋げない
1号炉_温度 と Furnace1_Temp が同一リストに混在書き出し、OPCパス、SQLがロケール文字やスペースで壊れるタグ名の言語は一つ(英語識別子がよく使われる)。現地語は説明に置く

推奨構造は出発点のテンプレートです。文字種、長さ、エリアと設備の具体コードは、使用中のPLCメーカーとヒストリアンに合わせて現場と合意します。

アラーム点とプロセス点は分けて管理する

プロセス点は「今いくらか」に答え、アラーム点は「人が動く必要があるか」に答えます。数百点では一点に同居させたくなりますが、数千点では扱えなくなります。アラーム一覧はプロセス点表の省略命名をそのまま継承し、後の整理にきれいなリストが残りません。

重要度の分級、抑制、復位アーカイブは別設計です。SCADAアラーム整理のコラムで扱っており、本節はその教程を繰り返しません。ここで決めるのは、後工程を可能にする分割です。二つの点群、二人の責任者、エリア・設備・信号からアラーム文を生成できる一つの命名契約です。

  • 点群を分ける:アラームが必要なプロセス点には対になるアラーム点、または名前で紐づくアラーム記録を付ける。兼用点にしない
  • アラーム文は命名フィールドから生成する:エリア、設備、信号で読める文を作り、改名時はタグと文を同時に更新する
  • 責任者を分ける:プロセス点はI/Oとヒストリアン、アラーム点は運転側が持ち、等級とクローズ規則を付け、二つのリストは異なる周期で見直す
  • アラーム等級をすべてのプロセス名にコピーしない:等級はアラーム記録に属する。HH、H、L、LL を何千ものプロセス点に書き込むと、後の再分級が大量改名になる

約30000アラーム点の案件で持ちこたえたのは、この分割であり、より大きな画面ではありません。ほとんどの工場はこの点数に達しません。数百件の段階で点群を分ける価値は、その時点のコストがまだ低いからです。

まとめ

大規模SCADAは最初の一枚の絵ではなく、名前とテンプレートで管理します。エリア、設備、信号、種別を決め、I/O割付、点表、画面仕様書を出し、アラーム点をプロセス点表から外す。これらを飛ばすと、後工程で払うのは作画ではなく改名です。

すでに命名が混在しているなら、稼働中の点表を書き出し、衝突と欠落フィールドを表にし、次エリアを増やす前に規則を凍結してください。規則の下でラインを一本足す方が、事後に工場全体を掃除するより安く済みます。

点表を確認する

現行のタグ名とI/O割付のサンプルを送っていただければ、次エリアの構築前に衝突、欠落フィールド、命名構造案を整理してお返しできます。

お問い合わせ