Skip to content

ifTaylor/acd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACD Tools

Rockwell ACD Project File Tools

The Rockwell ACD file is an archive file that contains all the files that are used by RSLogix/Studio 5000.

It consists of a number of text files containing version information, compressed XML files containing project and tag information as well as a number of database files.

Unzip

To extract the file use the acd.unzip.Unzip class

from acd.unzip import Unzip

unzip = Unzip('CuteLogix.ACD')
unzip.write_files('output_directory')

Extract Database

Extracting the records from a database file is still a work in progress. However, there is some consistencies across the database files.

To read each of the records and store them in a byte array use the DbExtract function

db = DbExtract("build/SbRegion.Dat")

Extract SbRegion

The SbRegion file seems to be fairly basic, to then parse each record from a DbExtract use code similar to that below.

db: DbExtract = DbExtract("build/SbRegion.Dat")
records: List[SbRegionRecord] = []
for record in db.records:
    records.append(SbRegionRecord(record))

You can then read the string format for each rung. I haven't seen anything other than rungs yet, but hopefully they are stored in a similar format.

records[0].text 

will contain something like

LOWER(@f060d7ef@[6],@f060d7ef@[7]);

The tag references are stored in another database.

About

Rockwell ACD unzip

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%