Git Product home page Git Product logo

step5archive's Introduction

Step5Archive

STEP 5 Project Archive file format demystified, with example C/C++ code written with U++ framework.

Introduction

The archive is a file which is produced by the Siemens STEP 5 (v7.x?) software package. This is software for programming Simatic S5 controllers (PLC). They can also be handled with Siemens' S5DEARCH.EXE.

The file extension is .ACS - normally the filename is "<S5PROJ>PX.ACS", where <S5PROJ> is the cryptic STEP 5 project name with only 6 characters in length.

A standard archive has the full pathname stored and STEP 5 extracts to these full pathnames when dearchiving. (With the s5dearch tool you can specify another destination). The files are either stored or compressed with the "Sixpack" compression algorithm. This seems to be a bit obscure compression scheme, known as "SIXPACK.C" by Philip G. Gage. Original files in this repo are extracted from DDJCOMPR.ZIP.

Structure of archive

description comment
Header With number of files in archive
Directory File records with offset+size in data block
Data block Blob of data of all files

Structure of header

description size comment
identification 5 bytes ("STEP5")
null 2 bytes
Number of files 2 bytes
Archive file size 4 bytes
reserved 41 bytes
54 bytes

Structure of file record

description size comment
File name 260 bytes
Date (DOS) 2 bytes
Time (DOS) 2 bytes
Attribute (DOS) 2 bytes
Compression 1 byte (0=stored; 1=compressed)
Size uncompressed 4 bytes
Size compressed 4 bytes
reserved 8 bytes
Start offset in data block 4 bytes
287 bytes

Notice

SIMATIC and STEP 5 are registered trademarks of Siemens AG

step5archive's People

Contributors

70mm13 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

dimied

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.