Terminological dictionary


Automatic Generation of global variables which are mapped to hardware inputs and outputs. Thanks to abstraction between physical I/Os and global I/O variables, it is possible to remap the AutoGenerated variables to I/Os manually later in case of damaged input/output and need to reconnect a peripheral (sensor, valve) to another, working, I/O.


Compiling of program modules and preparing the executable form of the program. During the building process, the FUPLA programs are converted into ST first. If there are compiling errors, they are displayed in the Results window. After a project is compiled, it can be uploaded to the controller(s), or deployed.


A data port which is used to communicate with the I/O modules, 3rd party devices and other peripherials. Most frequently, a channel is a serial port or a TCP port, configured so as to use a specific hardware resource (such as serial ports like COM1 or COM4, or target IP address and TCP port in a network) and a serial protocol, such as Modbus TCP or M-Bus. There may be more channels defined in a PLC, however, a particular resource is used by a single channel only.

Cold Restart

Restart at which default (initial) variable values are used. Same situation as the first start of program after project upload. Variables saved in EEPROM or retain memory during the recent program execution are not taken into account.


Deploy means uploading of the project to the controllers. Only a properly builded project may be deployed. The deployment follows either after the runtime is stopped, and after a successfull deployment it starts again, or as online changes, which means that the runtime keeps on running and the changed program is switched to smoothly, without cold restart, using variable values from the last cycle of the previous program version.

Deploy - online changes

Deploy - online changes uploads a new program in a PLC without interrupting the old program execution. After the new program is uploaded, the last computed variable values are used in the new algorithm rather than being reset to program defaults. It is used for long-term processes with sequential control, such as fruit ripening plants, drying facilities, batch processing, etc., so that the process is not interrupted on minor program changes.


FUnction PLAn, or representation of a program structure by means of (function) blocks. The blocks are connected by links, or “wires”, which bring the “signal”, or variable values, from one terminal to another. FUPLA is one of the supported programming languages in Merbon IDE, another being ST, or Structured Text.


A gadget is a object or item in the HMI Editor. It is positioned in a panel or text menu, and may link to a variable to show its value. A gadget may be e.g. a temperature indicator, a time program editing button, or a plant on/off switch.


Sets of sampled variables in time. The variables are added to a predefined history profile in the Variable browser. Each history profile has either a fixed sampling interval, or a variable assigned which launches the sampling event.


Storage of predefined functions or other code entities. A set of standard libraries is part of the Merbon IDE installation, while users may create their own libraries which contain user-specific functions. Libraries must be linked to a solution so that their functions are available for the programs within the solution.


Standard for communication of metering devices, such as heat meters, water meters, electrical energy meters. See www.m-bus.com. The standard describes both the physical layer (wiring, voltage and current values, …) and the communication protocol. To integrate M-Bus devices into a controller, the controller must have a M-Bus interface, or a M-Bus to another serial interface (e.g. to RS232, RS485) must be installed.

Merbon DB

A powerful database for HVAC history data storage. Merbon DB provides an API for both Merbon SCADA / RT and 3rd party clients, so that any client is able to read the data.

Merbon IDE hardware requirements

Merbon IDE requires at least a 2 GHz processor, 2 GB RAM, 100 MB hard disk space, and Windows 7 (or newer) with Microsoft .NET 4.5 for optimum performance.

Merbon SCADA

A software application for visualisation of process data. Merbon SCADA is a server-based application with web or client access. It contains plant graphics, viewer of history data, alarm viewer, log viewer, and configuration function (project, user access, language settings etc.).


Serial communication protocol. See www.modbus.org. Modbus RTU uses a serial line such as RS485 or RS232, while Modbus TCP uses TCP/IP as a transport layer. Modbus TCP and Modbus RTU may be interrconnected (or translated) using Modbus TCP/RTU routers, such as Domat R035.


Hardware device type which hosts a Merbon Runtime. Different platforms have different computing performance, number and types of communication ports, and other properties. Currently used platforms are e.g. i.MX/6 (PLCs in mark line) or Windows 10 (Merbon RT).


Programmable Logic Controller, today also known as PAC (Programmable Application Controller). A hardware or software device in which a program build is uploaded, and which executes the code. Domat supplies PLCs based on different hardware platforms, and therefore with different processing power, different I/O ports etc. PLCs in the Domat product range are e.g. markMX.3, or mark320LX.

Port Monitor

Function which shows the contents of serial communication between a PLC serial port, and a 3rd party device, such as room controller, frequency converter or energy meter. It is used for debugging and diagnostics, because the request for data and the answer from the device can be parsed and compared with the expected functionality according to the respective communication protocol description.


A project is either an executable project, or a library. An executable project contains one or more programs which are attached to PLC’s tasks, a library project is a container for library programs - function blocks or functions. The projects are part of a solution.

PWM (Pulse-Width Modulation)

A signal which alternates between zero and full voltage (e.g. 24 or 230 VAC). It is defined by two parameters: period, and duty cycle. The duty cycle is the ratio between the active part of period and the whole period duration, and is usually given in %. In HVAC technologies, the PWM signal is used to control thermic valve actuators. The periods used here are about 30 to 60 seconds, as thermic actuators show response time of minutes. You can read about how to work with the pwm signal here.


Renaming (e.g. of a variable) including all related operations.


An attribute which specifies that a variable is saved in a NVRAM memory. A Retain variable keeps its value even after power dropout or restart of the PLC. A limited amount of retain memory space is available, so the variables to be marked as Retain should be selected carefully. They are mostly setpoints, time schedules, or parameters such as alarm e-mail address. Some structures are Retain by default, such as time scheduler blocks.

RTCM Memory

Real-Time Communication. Memory used for communication (all communication channels, buffers, addresses, communication variables etc.). RTCM memory size is displayed in the System status window for diagnostic purposes.


A process which executes the compiled program. A runtime may be part of the operating system of a MicroPLC, or a separate program running in a Windows OS, or another platform. A runtime accepts incoming connections from clients like Merbon IDE, Merbon SCADA, or other programs.

Simple Mode

Operating mode of the Merbon IDE where only the basic project properties and functions are available. If a new project is created, Simple mode will simplify and speed up the engineering because the advanced project properties are hidden to the engineer. Some functions, such as creating the variables which are mapped to hardware I/Os, are performed automatically (AutoGen). A project which is created in Simple mode may be switched to Full mode any time; however, there is no way back. It is not possible to switch a Full mode project into Simple mode.


A set of one or more PLCs which are operating in a common network, although not necessarily over the same technology. Controllers may share programs that are common for more PLCs within one Solution: if a program is changed, the change propagates into all PLCs where this program is used.

Solution Explorer

The Solution Explorer is a tree view on the Solution, containing PLCs with their properties, Projects with programs and libraries, and History definitions. It is an entry point to all properties and their settings. After an item is selected, the Property grid opens at the right pane, where the properties may be viewed and edited.


Shark Slave Communication Protocol - protocol for communication between Merbon IDE or other clients, and a PLC. Also used for data exchange between two PLCs. The protocol is encrypted (key length varies according to platform performance) and protected by multiple user / password levels.

SSCP Address

An address ranged 1...250 specifying a device in communication over the SSCP protocol. Mostly, a SSCP device has a dedicated Ethernet interface, so the IP address is enough to identify a device in the network. However, the SSCP address is a parameter which must be configured for successfull communication. The default address is 1. If there are more devices behind an Ethernet interface, such as when routing SSCP from Ethernet to a RS485 bus, each device must have a unique SSCP Slave address.

ST (Structured Text)

Structured Text is representation of a program structure by means of text commands. Variables must be declared first, and then they are processed using commands, functions, and procedures. ST is one of the supported programming languages in Merbon IDE, another being FUPLA, or FUnction PLan.

System Status

A screen with the status of the PLC, with information on memory load, channel communication, Merbon DB and Proxy communication, task period etc. Used for diagostic purposes.


Assignment of a program to a controller. According to its hardware capabilities (platform type), a controller may be able to execute more tasks sequentially, using different timings and priorities for different tasks. A task may incorporate one or more programs; all programs in a task are run using the same timing and priority. The ability to run multiple tasks on one PLC has been removed since IDE version

Task type

A task may be of one of three types:

  • Freewheeling: The task is executed as frequently as possible, based on free resources of the PLC. The most frequently used task type for standard, non-time critical applications.
  • Cyclic: The task is executed on a periodic basis. The (fixed) period is set in the task definition.
  • Event: The task is executed each time a condition is met, or a predefined variable shows a rising / falling edge or high / low level (must be specified). At the rising / falling edge, the task is executed once. At the active level, the task is behaving like a freewheeling task. Note that the predefined variable must be written to from the runtime: variables mapped from the hardware channels must not be used. If a task has to be controlled over a hardware variable (e.g. a binary input), a global variable must be used to control the task, and the I/O variable must write into this global variable.

Three-point signal

A three-point signal is a signal standard to control continuously-acting peripherials, such as valves or damper actuators. It consists of 2 binary commands (relay outputs): Open and Close. By pulses brought to either of the peripheral’s control inputs, the actuator opens or closes. The name origins from the three possible states of the actuator:

  • no movement
  • opening
  • closing

Both signals active at the same time are not defined and should be avoided. However, most actuators show a defined behaviour for this situation, like travelling into a safe position.

Two-state signal

A binary signal which has 2 states: on / off, open / close, running / standby etc. Represented by a relay output (digital output, DO) or two-state input (digital input, DI).

Variable Backup

Variable values are backupped during the program execution. Even variables which are declared as Non-retain are saved in a EEPROM memory on a regular basis. The saved variables are used as startup variable values during Warm restart. The saving process is either periodical or invoked by a rising edge of a selected binary variable (trigger variable). These properties are to be configured in the Variable backup section of PLC properties.

The variables declared as Retain are saved within each program cycle.

Variable Browser

A table with all system variables, their namespaces, types, and values. When in debug mode, the Variable browser shows actual process values of all variables read from the PLC. Note that the PLC Last communication time is the update time from the PLC to IDE rather than the communication channel (bus) update time.

VMEX Memory

Virtual Machine EXecutable. Internal memory for the virtual machine. VMEX memory size is displayed in the System status window for diagnostic purposes.

Warm Restart

Restart which uses variables that have been saved at the previous program execution. Typically, variables from EEPROM or retain memory are used. (Remember to check if Variable backup in PLC properties is enabled.)