IND590 CODESYS Course
Turn the Mettler Toledo IND590 into a full soft-PLC with CODESYS. From your first login to bidirectional PLC data exchange over PROFINET, this course takes you from weighing terminal to programmable automation controller running your own IEC 61131-3 logic, HMI, and factory integrations.
The Mettler Toledo IND590 is not just a weighing terminal, it hosts a full CODESYS soft-PLC runtime. That means the same box that measures your weight can also run your control logic, serve a browser-based HMI, drive its own on-device panel, and exchange custom data with any PLC on your line, no gateway box and no extra hardware.
This course is a hands-on, build-along series that takes you from your very first login all the way to a production-grade PROFINET data exchange with a Siemens S7-1500. Every episode is practical: you build the project, deploy it to real hardware, and end up with something you can reuse on the factory floor.
Course launching soon
The 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
Mettler Toledo IND590
With CODESYS runtime and network access via Ethernet
β Required
CODESYS Development System
The IDE used to write and download your logic
β Required
CODESYS license
Test mode, pre-installed, or a separate license (covered in the course)
β Required
Web browser
For the WebVisu HMI and IND590 web server
β Required
Siemens S7-1500 + TIA Portal
For the PROFINET data-exchange episodes
Use Case
Node-RED
Installed locally or on a server, for the TCP/IP integration
Use Case
Library and firmware versions must match. The ParameterManager and Scale libraries used in the later episodes must match your IND590 firmware version, or you will hit unresolved-reference errors on download. When in doubt, update the libraries together and contact your OEM for proprietary library updates.
π Course Roadmap
The course builds in a deliberate order, each module assumes the one before it.
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.
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.
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.
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.
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.
β₯οΈ Work With Me
I regularly test and build with industrial automation and IIoT devices. If you would like me to review your product or feature it in my courses and YouTube channel:
π§ Email: rajvir@codeandcompile.com or drop me a message on LinkedIn
Last updated