Canva presentation
canva.link
Course launching soonThe full IND590 CODESYS course is not public yet. It is scheduled to go live in the first week of September. This page is your roadmap, bookmark it and check back, or subscribe on the Code and Compile YouTube channel to be notified the moment it drops.
Who This Course Is For
- Automation engineers who already own an IND590 and want to unlock its CODESYS capability instead of leaving it as a simple indicator
- System integrators who need the IND590 to talk to a PLC, an HMI, or a SCADA system
- Controls developers curious about running IEC 61131-3 logic directly on a weighing controller
- Anyone moving from reading weight data to building real applications around it
No prior CODESYS experience is required. The course starts from the very first login and builds up one concept at a time.
What You Will Learn
By the end of this series you will be able to:- Activate and configure the CODESYS runtime on the IND590
- Read live weight, status, and scale data into your own PLC program
- Build a stateful weighing application using Function Blocks the right way
- Design a browser-based WebVisu HMI and a TargetVisu on-device panel
- Stream weight data to Node-RED over raw TCP/IP, and send commands back
- Exchange custom data with a Siemens S7-1500 over PROFINET using Shared Variables
- Understand when to use standard weighing interfaces versus custom PLC template mode, and pick the right tool for each job
Prerequisites
Course Roadmap
The course builds in a deliberate order, each module assumes the one before it.1
Getting Started with CODESYS on the IND590
Your first login, user management, and understanding what the CODESYS license actually unlocks. You will learn the three ways to experience CODESYS on the IND590 (test mode, pre-installed, separate license), the difference between the PLC Interface and a CODESYS license, and how activation works via
activation.mt.com.2
Building Your First Weighing Program
Reading live weight values into CODESYS and structuring your logic properly. The key lesson: use Function Blocks (not Functions) for stateful weighing operations like Tare, Zero, Preset, and Clear, because Functions re-trigger every scan and corrupt values on a filling line. You will also meet the flag pattern, where lower-priority tasks only set request flags and the MainTask exclusively executes state changes to avoid race conditions.
3
WebVisu – A Browser-Based HMI
Build and style a browser-based operator screen served straight from the IND590. Live weight display, setpoint entry, button command logic, a dynamic progress bar, and a professional dark theme. You will also see how to deploy the HMI to any third-party browser or device on the network.
4
TargetVisu – The On-Device Panel
Build the UI that runs on the IND590’s own panel at its native 800×480 resolution, including handling keypad-only (non-touchscreen) hardware and the fixed F-key assignments for Clear, Preset Tare, Tare, and Zero.
5
TCP/IP Integration with Node-RED
Stream Gross, Net, Tare, and status from the IND590 into a live Node-RED dashboard over raw TCP, no middleware and no broker. Then close the loop by sending Setpoint and command values back down to CODESYS. Bidirectional TCP with a weighing controller done cleanly, end to end.
6
Shared Variables – Custom Data over PROFINET
The finale: exchange your own custom data with a Siemens S7-1500 over PROFINET using the ParameterManager library and Shared Variables, in both directions. The PLC sends down a target weight and tolerance; the IND590 weighs the part, classifies it Under / OK / Over, and sends the verdict plus live values back, all flowing straight into your Siemens tag table. Two worked examples: a bare live-coded mechanism, then a production-ready pattern you can drop onto a real line.
Source code, presentations, and companion material for each episode will be available in the course platform once it is public.