关于 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 语言支持比较
适用场景
- 01在不同 DCS 平台间映射电机控制逻辑
- 02为平台选择批量工程方法
- 03查阅 PLC 项目格式和 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(控制语言):类似 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