mcpField
D
dcs-platforms

dcs-platforms

github.com/claude-dev-suiteOther4657 installsUpdated 2d ago
Repository

About dcs-platforms

A technical reference for engineers working across major DCS and PLC platforms, including ABB Freelance, Siemens PCS 7 and TIA Portal, Emerson DeltaV, and Honeywell Experion PKS. It compares architectures, motor and function blocks, file formats, automation methods, and IEC 61131-3 support.

Key features

  1. 01Platform architecture and engineering tool overview
  2. 02Motor block signals and cross-platform mapping
  3. 03Function block comparisons
  4. 04Project formats and automation interfaces
  5. 05IEC 61131-3 language support comparison

Use cases

  1. 01Map motor control logic between DCS platforms
  2. 02Choose bulk engineering methods for a platform
  3. 03Review PLC project formats and APIs
  4. 04Compare language support across control systems

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill dcs-platforms

After installing, type/dcs-platformsin Claude Code to confirm it loaded.

Details

From the project README

Major DCS/PLC Platforms Reference

Platform Overview

PlatformVendorPrimary UseEngineering ToolHMI
FreelanceABBSmall-mid processControl Builder F / EWPDigiVis
PCS 7SiemensLarge processSIMATIC Manager + CFC/SFCWinCC
TIA PortalSiemensPLC/HMI unifiedTIA PortalWinCC Unified
DeltaVEmersonProcess DCSDeltaV Explorer + Control StudioDeltaV Operate/Live
Experion PKSHoneywellLarge processControl BuilderHMIWeb

ABB Freelance

Key Characteristics
  • Compact DCS for small-medium plants
  • FBD/LAD primary programming
  • File-based engineering (PRT, DMF, CSV)
  • BST_LIB (standard) + BST_USER (custom) function block libraries
  • MSR points as primary addressable entities
  • DigiVis for operator displays
  • DIGI protocol for internal communication
Motor Control: 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)
Automation Approach
  • PRT file templating (text replacement)
  • CSV project parsing/generation
  • No public API (file manipulation is the standard approach)
  • Checksum can be set to 0; Freelance recalculates on import

Siemens PCS 7

Project Hierarchy
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
Motor Control: MotL Block (APL)
Inputs:  ModLiOp, AutModOp, ManModOp, FbkRun, Protect, Intlock01, CmdStrt, CmdStop, MonTiRun, MonTiStp
Outputs: ModLiOp_Out, StartOut, RunOut, StopOut, Trip, SwiToLoc

Other APL blocks: MotR (reversing), MotSpdL (speed), VlvL (valve), PIDConL (PID), Intlk02/04/08/16 (interlock), MonDi/MonAn (monitoring)

File Formats
  • .s7p / .s7l - S7 project/library
  • .pdl - WinCC display
  • .xml - SimaticML block export (proprietary schema)
  • .aml - AutomationML (PCS 7 V9+)
  • .scl / .awl - ST / IL source
Automation: 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);

Capabilities: create projects, import/export blocks as XML, create tags, generate HMI screens, compile, download.

HMI: SiVArc

Rules-based auto-generation: "For every MotL instance, create a faceplate." Reads PLC structure, generates WinCC elements.


Emerson DeltaV

Architecture
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)
Motor Control: DC (Device Control) Block
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
Automation: Class-Based + Bulk Edit
  • Module Templates: Define once, instantiate many. Change propagation on template update.
  • Bulk Edit: Export to Excel, modify, import back.
  • FHX Files: Text-based config format, parseable and generatable.
MODULE TEMPLATE "MT_MOTOR_1SPD" /
  MODULE_CLASS = DEVICE /
{
  FUNCTION_BLOCK "DC-1" / DEFINITION = "DC" /
  { ATTRIBUTE MODE_BLK.TARGET = AUTO ; ... }
}
Tag Structure
Area/ControlModule/FunctionBlock/Parameter
Example: PLANT/M_101/DC-1/PV_D

Honeywell Experion PKS

Motor Control: MOTOR Block
Inputs:  SP (cmd), MODE, INTLK, FB_RUN, FB_STOP, FB_TRIP, LOCAL
Outputs: OP (output), STATUS, ALARM
Config:  FB_TIME (monitor time), STRATEGY
Programming
  • CL (Control Language): Proprietary ST-like language
  • FBD: Graphical function blocks
  • Custom Algorithms (CA): Complex logic
Automation
  • CSV/Excel bulk point import
  • COM-based API (Experion PKS API)
  • OPC DA/UA interface

Cross-Platform Motor Block Mapping

ConceptABB FreelanceSiemens PCS 7Emerson DeltaVHoneywell
BlockIDF_1 / MOT_T1MotLDCMOTOR
Start InputACCmdStrtSP_DSP
Run FeedbackRUNFbkRunIN_D1FB_RUN
FaultFLRProtect/TripIN_D3FB_TRIP
InterlockILKIntlock01INTERLOCKINTLK
Auto/ManualAUT/MA/MMAutModOp/ManModOpMODE_BLKMODE
Local/RemoteLOCModLiOpIO_OPTSLOCAL
Monitor TimeLz (T#5s)MonTiRunFBK_TIMEOUTFB_TIME
Data StructureDBS:RECORD (MOTOR1)Instance DBModule paramsPoint params

Cross-Platform Function Block Mapping

FunctionABB FreelanceSiemens PCS 7Emerson DeltaVHoneywell
MotorIDF_1 / MOT_T1MotL / MotRMOTOR_BASIC / DCMOTOR
On/Off ValveVLV_1ValveDEVICE_DISCRDVALVE
Mod. ValveVLV_2AnlgValveDEVICE_AOAVALVE
PIDPIDPIDConLPID_PLUSPID
Analog InM_ANAMEAS_MONAIAI
Digital InM_BINMON_DIGIDIDI

IEC 61131-3 Support Comparison

LanguageABB FreelanceSiemens PCS7/TIAEmerson DeltaVHoneywellSchneider
LDYesYes (KOP)NoVia ControlEdgeYes
FBDYes (primary)Yes (FUP/CFC)Yes (primary)YesYes
STYesYes (SCL)Partial (CALC)CL (similar)Yes
ILNoYes (AWL)NoNoYes (deprecated)
SFCLimitedYes (S7-GRAPH)YesYesYes
OOPNoTIA V16+NoNoNo
PLCopen XMLNoPartialNoNoYes

Bulk Engineering Comparison

ApproachABB FreelanceSiemens TIAEmerson DeltaVHoneywell
PrimaryPRT file templatingOpenness API (.NET)Class-based + Bulk EditCSV point import
File formatPRT/CSV (text)XML (SimaticML)FHX (text)CSV
APINone (file-based)TIA Openness (.NET)COM APICOM API
ScriptingPython file manipulationC#/VB.NETPython + FHXVBScript
HMI genDMF templatingSiVArc rulesAuto-faceplatesTemplate displays

Comments

Markdown supported