Skip to content

Introduction ​

Coldwave Script is a virtual machine (VM) designed specifically for control and automation tasks. It brings together three worlds:

  • the determinism and safety principles of classic PLC languages (such as IEC-61131-3 Structured Text),
  • the simplicity and readability of BASIC,
  • the portability of modern scripting languages that can run on many different devices.

Key characteristics:

  • Cycle-oriented: programs run in fixed cycles (“scans”).
  • Deterministic: the maximum execution time per cycle can be bounded and reasoned about.
  • Type-safe: data types are checked, overflow is handled in a controlled (“saturating”) way.
  • Embedded-ready: designed to run on constrained devices, both with and without operating systems.
  • Cloud-aware: Coldwave integration allows you to exchange data with the platform via telemetry.

Who is Coldwave Script for? ​

Coldwave Script is intended for users who want to implement control logic and evaluations directly on a device, but do not want to dive into the full complexity of IEC-61131-3 or C/C++.

Typical user groups include:

  • PLC engineers: familiar with structured programming and function blocks, want a more compact syntax.
  • Developers: come from the software world, use the VM for complex logic close to the device, and value clear segmentation and deterministic runtimes.
  • Makers: have little experience with PLCs, want to try things quickly and need a simple, readable syntax.

Positioning ​

Coldwave Script sits somewhere between classic PLC languages and general-purpose high-level languages:

AspectIEC-61131-3 STColdwave Script
Syntaxformal, strongly typedsimple, BASIC-like
Executioncycliccyclic
Safety profiledefineddeterministic, saturating
Function blocksextensiveessential IEC blocks
Target audienceautomation engineersPLC engineers, developers, makers

In contrast to many high-level languages, Coldwave Script is not designed as a general application language, but as a special-purpose language for robust, deterministic logic in the Coldwave ecosystem.

Your first program: “Hello World” ​

Let’s start with a minimal example that you can run in the editor.

vb
PROGRAM  
DIM msg AS STRING = "Hello World"  
PRINT msg  
END PROGRAM

Line by line:

PROGRAM opens the main program block. DIM msg AS STRING = "Hello World" declares a string variable msg and initializes it. PRINT msg outputs the value of msg (e.g. in the web-based editor console). END PROGRAM closes the program. Even though this example only prints text, the structure is the same as for later control programs: declare variables, read inputs, calculate results, write outputs.

Summary:

  • Coldwave Script combines simplicity and determinism.
  • It is suitable for PLC engineers, developers and makers.
  • Compared to IEC Structured Text it is simpler, but still safety-oriented and deterministic.
  • With just a few lines of code you can get started right away.