Skip to content

WeiTing1991/digital_casting_system_

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Casting System

GitHub - License Python Version Conda Version ABB Version TwinCAT Version TwinCAT Version Docker Version

Digital Casting System (DCS) is a Innosuisse project as well as a new novel approach for Smart Dynamic Casting(SDC). This package works to transition automated digital casting systems from the laboratory to the industry scale by overcoming the challenges addressed by inline mixing. DCS involves identifying optimal values for comprehensive system parameters, including processing and material characteristics, while carefully considering specific system requirements.

This package has three parts, which contain PLC controller for control components, DCS library for middleware, robotic control, and data handling; lastly, DCS application uses for real-time data recording and production simulation.

Requirements

Operating System and Software.

CAD/CAM software and simulation.

Getting Started

TODO: how to use the app

Usage

Note

Don`t have to run the programming only for data recording.

Real-time monitoring and data recording

python src/dcs_dev/main.py
# enter the file name
....TBC

!!! note "Note"

``` bash
cd app/
run ....
```

PLC Controller

Please find more information here under Connect with TwinCAT section.

Robot communication

Real ABB robotic control

docker
# real controller
# clean the stopped container
docker container prune
# compose up and connect with docker container

# Linux/WSL
docker-compose -f ./external_controllers/robot/docker_compas_rrc/real_controller/docker-compose.yml up
# windows
docker-compose -f .\external_controllers\robot\docker_compas_rrc\real_controller\docker-compose.yml up

Simulation with ABB robot

docker
# clean the stopped container
docker container prune
# docker compose up

# virtual controller
# Linux/WSL
docker-compose -f ./external_controllers/robot/docker_compas_rrc/real_controller/docker-compose.yml up
# windows
docker-compose -f .\external_controllers\robot\docker_compas_rrc\virtual_controller\docker-compose.yml up

ABB RobotStudio

...TODO

CAD/CAM software(Rhino and grasshopper)

...TODO

Concrete Controller

The sub-package external_controllers is a package that provides a set of driver to control the concrete casting machines. More information can be found in digital casting system controller

Development

# Clone the repository
git clone https://github.com/USI-FMAA/digital_casting_system.git
# Update the submoudles
git submodule init
cd external_controllers
git checkout master # checkout the lastest version
git pull

# Alternatively way
git submodule foreach git pull origin master

# Update the submoudles
git pull --recurse-submodules

Setup the environment

With UV package manger (super fast package management build by rust)

Install UV

# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

uv --version

Create virtual environment

uv venv --python 3.10
source .venv/bin/activate

# for package
uv pip install mkdocs-material 
uv pip install mkdocstrings-python
uv pip install mkdocs-gen-files
ui pip install mkdocs-autorefs
markdown
mkdocs-macros-plugin

With anaconda package manager

# Create the environment and activate it
conda create --prefix ./.env python=3.10

# Install dependencies
conda activate ./.env
pip install -r requirements.txt

# Install compas framework
conda install compas
pip install git+git://github.com/WeiTing1991/compas_rrc.git@master

Credits

Author: Wei-Ting Chen

This package was created by WeiTing Chen at USI-FMAA and ETHZurich DFab

Features

  • PLC controller driver package
  • DCS library with real-time data recording
  • DCS application for graphic real-time data recording application

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%