Web based tool to automatically generate logic flow diagrams for Foxboro I/A series DCS based on configuration files dumped from the ICC.
Warning
This app is entirely experimental and an early work in progress, designed for one specific control system and may need to be adapted for others.
packages/app
is the main web application built onQuart
, broken up into blueprints:blocks
has the detail/diagram views and graphing logicmain
has the main page templates, navigation, error handling, etc.search
has the search/index view
packages/pyfastmurmur3
is a thin wrapper around the Rust cratefastmurmur3
, used for fast non-cryptographic string hashingpackages/quart_d3graphviz
is a Quart extension to serve the node modules required ford3-graphviz
as static filespackages/quart_foxdata
is a Quart extension that encapsulates the data side of the application, i.e. parsing, data models, access/querying, etc.packages/quart_htmx
is a Quart extension to serve the node modules required forHTMX
as static files and provide helper functionality
Important
Docker is required and the directory containing your ICC configuration files must be accessible locally.
- Build the
icc_dumps
volume by runningscripts/build_volume.bat
with the path to the directory containing your ICC configuration files as an argument, i.e../scripts/build_volume ../icc_dumps
. This will create a new Docker volume, attach it to a dummy container, copy the configuration files into the volume, then delete the dummy container. - Start the server using
docker-compose up
- this will build the project from source and start the production server. - Access the application in the browser at
127.0.0.1:5000
.