dcs-platforms について
主要なDCS・PLCを扱うエンジニア向けの技術リファレンスで、ABB Freelance、Siemens PCS 7とTIA Portal、Emerson DeltaV、Honeywell Experion PKSを対象としています。システム構成、モーターブロック、ファイル形式、自動化手法、IEC 61131-3の対応状況を比較します。
主な機能
- 01プラットフォーム構成とエンジニアリングツールの概要
- 02モーターブロック信号とプラットフォーム間の対応
- 03ファンクションブロックの比較
- 04プロジェクト形式と自動化インターフェース
- 05IEC 61131-3言語の対応状況比較
活用シーン
- 01DCS間でモーター制御ロジックを対応付け
- 02プラットフォームに適した一括エンジニアリング手法の選定
- 03PLCプロジェクト形式とAPIの確認
- 04制御システム間の言語対応を比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ claude-dev-suite/ claude-dev-suite --skill dcs-platformsインストール後、Claude Code で/dcs-platformsを入力して読み込まれたか確認します。
詳細
主要な DCS/PLC プラットフォームのリファレンス
プラットフォームの概要
| プラットフォーム | ベンダー | 主な用途 | エンジニアリングツール | HMI |
|---|---|---|---|---|
| Freelance | ABB | 小規模〜中規模のプロセス | Control Builder F / EWP | DigiVis |
| PCS 7 | Siemens | 大規模プロセス | SIMATIC Manager + CFC/SFC | WinCC |
| TIA Portal | Siemens | PLC/HMI 統合 | TIA Portal | WinCC Unified |
| DeltaV | Emerson | プロセス DCS | DeltaV Explorer + Control Studio | DeltaV Operate/Live |
| Experion PKS | Honeywell | 大規模プロセス | Control Builder | HMIWeb |
ABB Freelance
主な特徴
- 小規模〜中規模プラント向けのコンパクトな DCS
- 主なプログラミング方式は FBD/LAD
- ファイルベースのエンジニアリング(PRT、DMF、CSV)
- BST_LIB(標準)および BST_USER(カスタム)のファンクションブロックライブラリ
- MSR ポイントを主なアドレス指定可能なエンティティとして使用
- オペレーター画面には DigiVis を使用
- 内部通信には DIGI プロトコルを使用
モーター制御:IDF_1 + MOT_T1
MOTOR1 Structure (11 signals):
IN: AC (auto cmd), PR0 (safety), MA (req auto), MM (req manual)
OUT: ILK (interlock), RDY (ready), RUN (running), LOC (local), AUT (auto), FLR (fault), SDS (shutdown)
自動化のアプローチ
- PRT ファイルのテンプレート化(テキスト置換)
- CSV プロジェクトの解析/生成
- 公開 API なし(ファイル操作が標準的なアプローチ)
- チェックサムは 0 に設定可能。Freelance はインポート時に再計算します
Siemens PCS 7
プロジェクト階層
PCS 7 Project
+-- OS (Operator Station - WinCC)
+-- AS (Automation Station - S7-400/1500)
| +-- CFC Charts (Continuous Function Charts)
| +-- SFC Charts (Sequential Function Charts)
+-- Hardware Configuration
+-- Plant Hierarchy (technological view)
+-- Process Tag Management
モーター制御:MotL ブロック(APL)
Inputs: ModLiOp, AutModOp, ManModOp, FbkRun, Protect, Intlock01, CmdStrt, CmdStop, MonTiRun, MonTiStp
Outputs: ModLiOp_Out, StartOut, RunOut, StopOut, Trip, SwiToLoc
その他の APL ブロック:MotR(正逆転)、MotSpdL(速度)、VlvL(バルブ)、PIDConL(PID)、Intlk02/04/08/16(インターロック)、MonDi/MonAn(監視)
ファイル形式
.s7p/.s7l- S7 プロジェクト/ライブラリ.pdl- WinCC 画面.xml- SimaticML ブロックエクスポート(独自スキーマ).aml- AutomationML(PCS 7 V9 以降).scl/.awl- ST/IL ソース
自動化:TIA Portal Openness API(.NET)
using Siemens.Engineering;
TiaPortal tia = new TiaPortal(TiaPortalMode.WithUserInterface);
Project project = tia.Projects.Open(new FileInfo(@"Project.ap17"));
PlcSoftware sw = device.GetService<PlcSoftware>();
sw.BlockGroup.Blocks.Import(new FileInfo(@"Block.xml"), ImportOptions.Override);
機能:プロジェクトの作成、ブロックの XML 形式でのインポート/エクスポート、タグの作成、HMI 画面の生成、コンパイル、ダウンロード。
HMI:SiVArc
ルールベースの自動生成:「MotL インスタンスごとにフェースプレートを作成する」。PLC 構造を読み取り、WinCC 要素を生成します。
Emerson DeltaV
アーキテクチャ
DeltaV System
+-- Plant Areas
| +-- Control Modules (CM) - individual loops
| +-- Equipment Modules (EM) - sequences
| +-- Phases - ISA-88 batch
+-- Controllers (M-series, S-series)
+-- I/O Subsystem
+-- Module Templates (reusable designs)
モーター制御:DC(デバイス制御)ブロック
Inputs: MODE_BLK.TARGET, IN_D1 (running fbk), IN_D2 (stopped fbk), IN_D3 (fault), IN_D4 (available), INTERLOCK, PERMIT
Outputs: OUT_D1 (start), OUT_D2 (stop), SP_D (setpoint), PV_D (process value)
Config: IO_OPTS, FBK_STRATEGY, FBK_TIMEOUT
自動化:クラスベースと一括編集
- モジュールテンプレート:一度定義し、複数のインスタンスを作成します。テンプレートの更新内容はインスタンスに反映されます。
- 一括編集:Excel にエクスポートして変更し、再度インポートします。
- FHX ファイル:テキストベースの設定形式で、解析および生成が可能です。
MODULE TEMPLATE "MT_MOTOR_1SPD" /
MODULE_CLASS = DEVICE /
{
FUNCTION_BLOCK "DC-1" / DEFINITION = "DC" /
{ ATTRIBUTE MODE_BLK.TARGET = AUTO ; ... }
}
タグ構造
Area/ControlModule/FunctionBlock/Parameter
Example: PLANT/M_101/DC-1/PV_D
Honeywell Experion PKS
モーター制御:MOTOR ブロック
Inputs: SP (cmd), MODE, INTLK, FB_RUN, FB_STOP, FB_TRIP, LOCAL
Outputs: OP (output), STATUS, ALARM
Config: FB_TIME (monitor time), STRATEGY
プログラミング
- CL(Control Language):独自の ST 風言語
- FBD:グラフィカルなファンクションブロック
- カスタムアルゴリズム(CA):複雑なロジック
自動化
- CSV/Excel による一括ポイントインポート
- COM ベースの API(Experion PKS API)
- OPC DA/UA インターフェース
プラットフォーム間のモーターブロック対応表
| 概念 | ABB Freelance | Siemens PCS 7 | Emerson DeltaV | Honeywell |
|---|---|---|---|---|
| ブロック | IDF_1 / MOT_T1 | MotL | DC | MOTOR |
| 起動入力 | AC | CmdStrt | SP_D | SP |
| 運転フィードバック | RUN | FbkRun | IN_D1 | FB_RUN |
| 故障 | FLR | Protect/Trip | IN_D3 | FB_TRIP |
| インターロック | ILK | Intlock01 | INTERLOCK | INTLK |
| 自動/手動 | AUT/MA/MM | AutModOp/ManModOp | MODE_BLK | MODE |
| ローカル/リモート | LOC | ModLiOp | IO_OPTS | LOCAL |
| 監視時間 | Lz (T#5s) | MonTiRun | FBK_TIMEOUT | FB_TIME |
| データ構造 | DBS:RECORD (MOTOR1) | インスタンス DB | モジュールパラメーター | ポイントパラメーター |
プラットフォーム間のファンクションブロック対応表
| 機能 | ABB Freelance | Siemens PCS 7 | Emerson DeltaV | Honeywell |
|---|---|---|---|---|
| モーター | IDF_1 / MOT_T1 | MotL / MotR | MOTOR_BASIC / DC | MOTOR |
| オン/オフバルブ | VLV_1 | Valve | DEVICE_DISCR | DVALVE |
| 調節バルブ | VLV_2 | AnlgValve | DEVICE_AO | AVALVE |
| PID | PID | PIDConL | PID_PLUS | PID |
| アナログ入力 | M_ANA | MEAS_MON | AI | AI |
| デジタル入力 | M_BIN | MON_DIGI | DI | DI |
IEC 61131-3 Support Comparison
| Language | ABB Freelance | Siemens PCS7/TIA | Emerson DeltaV | Honeywell | Schneider |
|---|---|---|---|---|---|
| LD | Yes | Yes (KOP) | No | Via ControlEdge | Yes |
| FBD | Yes (primary) | Yes (FUP/CFC) | Yes (primary) | Yes | Yes |
| ST | Yes | Yes (SCL) | Partial (CALC) | CL (similar) | Yes |
| IL | No | Yes (AWL) | No | No | Yes (deprecated) |
| SFC | Limited | Yes (S7-GRAPH) | Yes | Yes | Yes |
| OOP | No | TIA V16+ | No | No | No |
| PLCopen XML | No | Partial | No | No | Yes |
Bulk Engineering Comparison
| Approach | ABB Freelance | Siemens TIA | Emerson DeltaV | Honeywell |
|---|---|---|---|---|
| Primary | PRT file templating | Openness API (.NET) | Class-based + Bulk Edit | CSV point import |
| File format | PRT/CSV (text) | XML (SimaticML) | FHX (text) | CSV |
| API | None (file-based) | TIA Openness (.NET) | COM API | COM API |
| Scripting | Python file manipulation | C#/VB.NET | Python + FHX | VBScript |
| HMI gen | DMF templating | SiVArc rules | Auto-faceplates | Template displays |
コメント
Markdown 対応