
Discover how industrial digital twins accelerate automation software development using Godot and Codesys. Build reusable digital twin building blocks, simulate without hardware, and extend to other engines.
Discover digital twin concepts for industrial automation, install Godot and Codesys tools, and build bidirectional, 3d visualizations of Cartesian and articulated robot cells with PLC integration.
Explore digital twin concepts for industrial automation, focusing on interactive 3D models, software-in-the-loop development, and plc to Godot data flow using the tcp ip protocol for static to dynamic visualization.
Download and install the Godot engine, dot net version, from godotengine.org for C sharp development. Extract the zip, launch the stable mono win64 build, and create a desktop shortcut.
Download and install the Codex plc programming environment. Create or log in to your account, choose the 32- or 64-bit version, and complete installation for Codesys to run plc virtualization.
Install visual studio code to enhance Godot and C sharp development for the course. Download the x64 installer from code.visualstudio.com, then install the C sharp dev kit and Godot tools.
Create a new Godot project, select a renderer, and set up a main 3D scene with a root node and camera to explore the UI and basic components.
Explore setting up a scene in Godot, add a 3D node and camera, and enable orbit controls to navigate with the mouse.
Add a world environment and a directional light to the scene, enable ambient light and a skybox, and adjust shadows for a better-looking digital twin.
Explore Godot scripting with C# by creating a scripts folder, writing ready and process methods, and observing delta time and FPS through a node-attached script, with VS Code guidance.
Explore the Godot 3D node position and rotation to animate digital twins, move objects with velocity and delta time, and expose inspector parameters for circular or oscillatory motion.
Explore how to rotate objects in Godot using Euler angles and Vector3 rotation, control rotation velocity and direction, and apply frame-rate aware updates to the local transform.
Demonstrate changing an object's color in Godot using a C# script: access mesh instance 3D, retrieve its material albedo, and implement a runtime rainbow effect with sine-driven color channels.
Create a central comm data script in Godot to collect plc floating-point variables, then build a single dof object for translation and rotation, plus a color toggle to visualize data.
Explore a tcp-based digital twin communication between Codesys (server) and Godot (client), using a fixed CRD header and a byte-count, with float-encoded variables for periodic updates and event messages.
Learn to implement a Godot tcp client that connects to a plc server, parses incoming messages using a crd header, and fills a receive bytes buffer with a background listener.
Configure a Codesys TCP server for the digital twin, building a reusable function block with networking, a clock, and a sender that transmits periodic real data to Godot.
Create a simple Godot user interface to control TCP communication, with IP address and port text edits, connect and disconnect buttons, and signals wired to the TCP script.
Build a digital twin of a three-axis Cartesian robot in Godot using separated 3D joint models and a codex application, and visualize 3D trajectories with a line renderer.
Develop the cartesian robot digital twin in Godot by using codesys TCP communication to transmit x, y, z coordinates for a simple pick-and-place sequence.
Add a line renderer to the Cartesian robot digital twin to visualize its trajectory trail, using a DCP as the tool center point and camera setup in Godot.
Develop a simulation of the Staubli articulated robot in Codesys, with the axis group transform and a pick-and-place cycle from the plc project.
Create a digital twin of an articulated robot in Godot and Codesys by importing glb models, applying CSV-based joint transforms, and linking TCP motion for a pick-and-place trajectory.
Establish two-way tcp communication between the digital twin in Godot and the plc in Codesys, sending data from the twin to the plc to influence the process and robot state.
Implement the receive data path for duplex communication by adding a receive data clock, a TCP read, and a header check that unpacks bytes into the receive buffer.
This lesson builds duplex communication from Godot to Codesys by assembling send bytes from send variables, using a header and a timer to transmit data via tcp.
Develop a real presence sensor in Godot that detects objects with a physics ray and updates a Codesys data variable, enabling robot pickup in a digital twin.
Develop an event handling system for the Codex app to send events to the Godot digital twin, enabling pick-and-place and implementing rigid bodies for object physics, completing the final section.
Implement duplex event communication between the PLC and the Godot digital twin via CoDeSys, using an event header and IDs for pick and place events.
Learn to implement event communication from Codesys to Godot, parse event headers in a TCP stream, and ensure all events are received by adjusting parsing and sending logic.
Learn to subscribe to common data events, notify subscribers, and implement an object pick handler in Godot to react to pick and place events.
Master object instantiation in Godot using a packed scene, timer-based spawning, and collision shapes to simulate conveyor automation and PLC-driven events in a digital twin.
Master the fundamentals of industrial digital twins for automation with Godot and CoDeSys, learning 3D engine setup, visualization, and PLC integration to simulate and connect industrial machines and robots.
Unlock the future of industrial automation with our cutting-edge course, "Industrial Digital Twins for Automation - Godot and CoDeSys". This course is designed for engineers, developers, and automation enthusiasts who want to harness the power of digital twin technology to create realistic, interactive models of machines and robots, and seamlessly integrate them with PLCs for virtual commissioning and software-in-the-loop (SITL) development.
In this comprehensive course, you will learn how to create and manipulate digital twins using the versatile Godot game engine and connect them to real-time PLC systems using CoDeSys. You will gain practical experience in developing robust automation solutions that can be tested and validated in a virtual environment, eliminating the need for physical hardware during the initial development stages.
To get the most out of this course, students should have a basic understanding of PLC programming and familiarity with the CoDeSys development environment. If you are new to these concepts, we recommend starting with our beginner course on Udemy: "PLC Programming – Learn the Basics with CoDeSys".
By the end of this course, you will have a deep understanding of digital twin technology and its integration with PLC systems. You will be equipped with the knowledge and skills to develop, test, and deploy sophisticated automation solutions in a virtual environment, paving the way for a successful career in industrial automation.
Join us on this exciting journey into the world of digital twins and revolutionize the way you approach automation!