Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Produktivität · SKILL.md

freelance-formats

freelance-formats

Complete ABB Freelance DCS file format reference for DMF, PRT, and CSV project files. Use when analyzing, parsing, or generating Freelance engineering files.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: freelance-formats description: Complete ABB Freelance DCS file format reference for DMF, PRT, and CSV project files. Use when analyzing, parsing, or generating Freelance engineering files. user-invocable: false

ABB Freelance File Formats Reference

Encoding

All Freelance files use UTF-16LE with BOM (FF FE). Semicolon-delimited. CRLF line endings.

import codecs
with codecs.open(filepath, 'r', 'utf-16') as f:
    content = f.read()

When writing back, use encoding='utf-16-le' and prepend BOM \ufeff.

DUMP_FILETYPE Values

ValueMeaning
101Full project CSV export
102Partial project (.prt)

PRT Files (Partial Project, DUMP_FILETYPE 102)

Self-contained export of one or more function block sheets.

Structure

[Program-Generated File -- DO NOT MODIFY]
[DUMP_VERSION];2400
[DUMP_FILETYPE];102
[BEGIN_PARTIALPROJECTHEADER];<version>;<timestamps>
[END_PARTIALPROJECTHEADER]

[BEGIN_NODESECTION]
  [PB:NODE];1;<container_type>;<node_name>
  [PB:NO_NODE];0
[END_NODESECTION]

[UID:ACCNODE];<access_control_data>

[BEGIN_DBSSECTION]
  [DBS:RECORD];flags;struct_name;description;in_count;out_count
  [DBS:COMPREC];flags;pin_name;data_type;description;index;initial_value;
  [DBS:NO_COMP];0
  [DBS:NO_RECORD];0
[END_DBSSECTION]

[BEGIN_EAMSECTION]
  [EAM:RECORD];flags;eam_name;is_structured;type_or_struct;description;active;direction
  [EAM:NO_RECORD];0
[END_EAMSECTION]

[BEGIN_EAMINITSECTION]
  [EAMINIT:NO_RECORD];0
[END_EAMINITSECTION]

[BEGIN_OPCADDRESSSECTION]
  [OPCADDRESS:NO_RECORD];0
[END_OPCADDRESSSECTION]

[BEGIN_MSRSECTION]
  [MSR:RECORD];flags;msr_name;fb_library;fb_type;parent_path;description;;cycle_time;priority;;;;;redundancy
  [UID:ACCMSR];0
  [MSR:NO_RECORD];0
[END_MSRSECTION]

[BEGIN_MAKROSECTION]
  [MAKRO:NOMOREMAKRO];0
[END_MAKROSECTION]

[BEGIN_PBAUMSECTION]
  [PBV:OBJPATH];flags;container;fb_name
  [POM:BLTHDR];;year;month;day;hour;minute;second;version
  [DOC:FOOTERB1-3];...
  [DOC:FOOTERP];...
  [DOC:FOOTERF1-3];...
  [POM:CRVERS];timestamp_data
  [POM:OBJCOMM];0;
  [UID:ACCNODE];0
  [START_LFBS]
    [LAD:HEADER];width;height;cols;rows;grid_size
    [LAD:SIGN];x1;y1;x2;y2;data_type;flags
    [LAD:BSINST];x;y;fb_name;fb_library;flags;params...
    [LAD:PINDESCR];direction;row;index;flags;data_type;p1;p2;p3
    [LAD:MSR_REF];msr_reference
    [PARA:PARADATA];param_count;name1;type_id;type_name;size;value;...
    [PATCHTABLE:RECORD];flags;name;library;param_count;data...
    [LAD:LADINST];type;row;col_count;direction;flags...
    [LAD:PARA_REF];variable_name;data_type;ref_flags
  [STOP_LAD]
  [PBV:NO_BLATT];0
[END_PBAUMSECTION]

[START_EAM2GWY]
  [EAM2GWY:HEADER];count
  [GWY:ACCEAM];eam_name;flags;SRVT;type;flags;SRVO;rw;params
[STOP_EAM2GWY]

[START_MSR2GWY]
  [MSR2GWY:HEADER];count
  [GWY:ACCMSR];msr_name;flags;SRVT;type;flags;SRVO;rw;params
[STOP_MSR2GWY]

[CHECKSUM];value

DBS Section (Data Block Structure)

Defines structured data types (like a typedef):

[DBS:RECORD];1;MOTOR1;STANDARD MOTOR STRUCTURE;11;11
[DBS:COMPREC];1;AC;BOOL;AUTOMATIC START COMMAND (IN);0;0;
[DBS:COMPREC];1;RUN;BOOL;MOTOR RUNNING (OUT);5;0;

Fields: flags;name;type;description;index;initial_value

EAM Section (External Access Manager)

Signals published to HMI/SCADA:

[EAM:RECORD];1;11301CLWW1A1;1;MOTOR1;PHO RCK EXTR CNVR-1;1;1
  • is_structured=1 references DBS structure, is_structured=0 is simple type
  • Sub-signal naming: XA1<name>=Alarm1, XA2<name>=Alarm2, XB1<name>=BinaryStatus, XL<name>=Status/Running, XS1<name>=StartCmd, XS2<name>=StopCmd

MSR Section (Measurement/Control Points)

[MSR:RECORD];1;11301.CLWW.1A1;BST_LIB_MSR;IDF_1;11301.CW.1A1;PHO RCK EXTR CNVR-1;;16384;1;;;;;2

Fields: flags;msr_name;fb_library;fb_type;parent_path;description;;cycle_time;priority;;;;;redundancy

Function Block Libraries

LibraryTypeDescription
BST_LIB_FBStandard FBBuilt-in blocks (AND, OR, TIMER)
BST_LIB_EXTStandard ExtendedIDF_1 (motor), M_BIN, M_ANA, PID
BST_LIB_MSRStandard MSRStandard control point types
BST_USER_FBUser FBCustom blocks (MOT_T1)
BST_USER_MSRUser MSRCustom MSR types

Ladder Diagram Encoding

  • [LAD:HEADER];width;height;cols;rows;grid_size - Canvas dimensions
  • [LAD:SIGN];x1;y1;x2;y2;type;flags - Wire segments (signal connections)
  • [LAD:BSINST];x;y;name;library;... - Function block placement
  • [LAD:PINDESCR];dir;row;idx;flags;type;... - Pin descriptions (0=input, 1=output)
  • [LAD:LADINST];type;row;... - Ladder instructions (1=contact, 46=comment, 96=output)
  • [LAD:PARA_REF];varname;type;... - Variable binding
  • [LAD:MSR_REF];msr_name - Link to MSR definition

PARA:PARADATA Type IDs

IDTypeExample
3INTNumeric values
4TIME/WORD/BYTETimer values
5CHECK/MTEXT/MPRIOBoolean (j/n), Text, Priority
7DMSTIMEDMS timestamp
13CUSTSELLISTCustom selection list

Gateway Sections

[GWY:ACCEAM];11301CLWW1A1;1;SRVT;1;1;SRVO;3;0;1
  • SRVT = Service Type (1=read, 3=read/write)
  • SRVO = Service Object access level

Checksum

[CHECKSUM];0000045529 - Set to 0000000000 when generating; Freelance recalculates on import.


DMF Files (Display Macro File)

HMI operator display definition.

Structure

[DMF, version, "name", flags]
{
  MFV,<major_version>;     // Macro File Version (61)
  EDV,<editor_version>;    // Editor Version
}

[TXL, id, "name", flags]   // Text List (lookup table)
{
  TXT <index>,"<string>";  // Indexed text entries
}

[ODB, id, "name", flags]   // Object Data Block (variable bindings)
{
  TXL,<txl_ref>;
  VAR <type>,<varname>, EXT,"<protocol>" <index>,"<label>", <x>,<y>, <flags>;
}

// Graphical elements:
[BUT, id, "name", flags] { ... }   // Buttons
[AA, id, "name", flags] { ... }    // Analog displays
[GS, id, "name", flags] { ... }    // Group switches
[TXT, id, "name", flags] { ... }   // Static text
[LIN, id, "name", flags] { ... }   // Lines
[PLG, id, "name", flags] { ... }   // Polygons
[SGM, id, "name", flags] { ... }   // Segments
[TCN, id, "name", flags] { ... }   // Technical containers
[MSL, id, "name", flags] { ... }   // MSR List
[PIL, id, "name", flags] { ... }   // Process Image List
[AML, id, "name", flags] { ... }   // Alarm List

ODB Variable Binding

VAR BOOL,11301K9.RUN, EXT,"DIGI,26429440,2642,131" 0,"" , -1,-1, 3,1, 6;
VAR REAL,11301IICLWW1A1.PV, EXT,"DIGI,26429440,2780,131" 5,"" , -1,-1, 4,1;

DIGI protocol: "DIGI,<server_id>,<point_id>,<node_id>"

Variable suffixes: .RUN (running), .FLR (fault), .ILK (interlock), .AUT (auto), .LOC (local), .SDS (shutdown), .PV (process value), .HH/.H/.L/.LL (alarm limits), .BQ (bad quality)

Graphical Element Properties

  • POS,x1,y1,x2,y2; - Bounding rectangle (0-16000 range)
  • ODB,id; - Reference to ODB section
  • TXL,id; / TI1,idx; / TI2,idx; - Text references
  • COL,c1,c2,c3,c4; - Colors
  • VAR,var_index; - ODB variable binding
  • ACC,level,group; - Access control
  • ATR,"font",size,style; - Text attributes
  • AK1 p1,p2,...; - Button action definition

CSV Full Project Export (DUMP_FILETYPE 101)

Same section-based format as PRT but contains entire project:

[BEGIN_PROJECTHEADER];project_name;;controller_type;...timestamps
[BEGIN_AREADEFINITION];area_count
  [AREA];1;letter;name_length;area_name
[END_AREADEFINITION]
[START_COLTAB]
  [COLTAB];params
  [COLINFO];color1;color2;flags;index

Then ALL DBS, EAM, MSR, and PBAUMSECTION entries for every function block in the project.


Template Replacement Map for Motor Instances

ElementTemplate PatternReplace With
Node name11301CLWW1A1{area}{equip_code}{number}
MSR primary11301.CLWW.1A1{area}.{msr_prefix}.{number}
MSR short11301.CW.1A1{area}.{msr_short}.{number}
Graph refg11301CLWW1A1g{area}{equip_code}{number}
DescriptionPHO RCK EXTR CNVR-1{description}
EAM FaultXA111301CLWW1A1XA1{node_name}
EAM SDSXA211301CLWW1A1XA2{node_name}
EAM LocalXB111301CLWW1A1XB1{node_name}
EAM RunningXL11301CLWW1A1XL{node_name}
EAM StartXS111301CLWW1A1XS1{node_name}
EAM StopXS211301CLWW1A1XS2{node_name}
Gespeicherte Skills