5 min read

Program and operate machines risk-free

Featured Image

Standardization in machine programming 

In mechanical engineering, there is no generally applicable industry standard, especially in the programming of machines.

Instead, machine users or mechanical engineers specify their standards, which all other parties must comply with. But such proprietary standards bring with them all kinds of problems and restrictions. This blog article explains the advantages of an industry-wide standard.


A proprietary standard is created when one side defines its specifications, which need to be complied with by all involved. For example, a machine user can specify how the development of programs for the machines should look. Or a machine manufacturer develops its own standard without considering the users' requirements. Such one-sided specifications usually require a high level of effort to ensure that both sides can work together in the long term. Continuous further development or the development of own expertise becomes necessary. Additional restrictions are often added if development only occurs on manufacturer-specific hardware. If the manufacturer continues the development, the user must follow suit to remain functional. To avoid a market restriction, specifications for proprietary standards would have to be made generic and extraordinarily far-sighted - a mammoth task.


Once a standard has been developed, it must be communicated to the programmers. Much training becomes necessary, but this is far from being a guarantee for compliance with the standard. Every change to the standard must also be immediately followed up with training. This is hardly feasible in practice for a project with a duration of several months. Then the only solution is to freeze development statuses to keep up with training and create stability. Innovation is consequently stopped.

The situation becomes even more confusing when a machine user accepts what different suppliers tell him to do without providing specific specifications. Then, suddenly, various standards exist side by side in a production facility. Maintenance and operators must be trained on the different program standards, and the supplier probably remains in the service contract via remote maintenance.



The industry needs a new standard for programming

Proprietary standards, therefore, obviously mean extra work for everyone involved. If the entire industry agreed on a uniform standard instead, everyone could reap the benefits. But what does such a universally valid standard have to look like so that everyone can understand and implement it? 

What does a standard need?

Experience shows that the standards were program structures, programming specifications, and very detailed explanations of the essential functions of a machine. Millions of euros were spent on an applicable standard. To enable us to apply the specifications, we were often trained for several weeks to implement these plant-by-plant manually. Only during the acceptance tests the structures were checked. Gradually, the specifications became less detailed, and more and more configurators were introduced to the market. Much knowledge about the essential required plants’ functions was lost. Standard practice was copying and pasting function assemblies to meet all requirements. If the requirement was not fulfilled, the typical developer had to get involved in solving the malfunction. An endless loop of “testing and error fixing” was a highly inefficient and ineffective result. Also, the programmer never had the chance to understand the connections.

What does a standard need?

  • It should provide a clear and structured structure for programming.
  • It should contain only definitions that apply to all machines.
  • It should allow flexible structures and consist of simple elements.
  • It should be understandable to all parties involved and support the programmer.
  • It should not only apply to one PLC, i.e., specific hardware.

We have adopted these requirements and developed a programming standard in the Selmo Solution that can be used as a generally applicable guideline. The Selmo standard first describes all the standard functions that a machine must have:

  • Operating modes – automatic and manual operation
  • Single step
  • Manual operator guidance
  • Step-time monitoring
  • Error Messages - Warnings - Display
  • Permanent signal monitoring
  • And so on.    

In addition, the Selmo Standard offers a clear structure for program setup and plant layout:

  • Enclosure
  • Hardware Zone – Plant Areas
  • Stations – logical steps

With these elements, any plant can be structured and functionally divided.

The Selmo standard is simple, understandable, and can be further developed in a universally valid manner. Furthermore, it can be readily agreed on between the machine user and the mechanical engineer and thus immediately simplifies communication between all parties involved.


Selmo Technology GmbH takes care of the standardization and implements all extensions in Selmo Studio. The Selmo Studio is our process modeling, software creation, import, and implementation tool. When Selmo Studio is used, the standard already creates about 50 percent of the traditional programming. This allows the programmer to focus entirely on describing the logical process, which can be customized for each machine.

Of course, the Selmo standard also applies to modeling the machine's process. It contains the following elements:

  • Logic Layer – for the logical flow description (step, time step, decision, repetition, jump absolute and conditional, handshake for step chain links)
  • System Layer – for modeling the system structure (Input Zone, Action Zone, Output Zone)
  • Parameter layer – this defines the data in and outputs of the machine
  • Display Layer – that's where the display is defined


With the Selmo Standard, there are also no longer any manufacturer restrictions. The model can be translated into a PLCOpen XML and thus imported onto any PLC hardware. After all, a proper standard for the industry only exists if it is accessible, learnable, and applicable to all parties involved.



In mechanics and electrics, unlike machine programming, there is already a high degree of standardization. Development in these areas has shown that universally applicable standard benefits all and promotes new developments.

Selmo has developed a future-proof standard for industrial programming of real-time systems and is rethinking the programming of controllers. The standard brings benefits in terms of implementation and standardization and provides easy-to-use tools for implementation. This novel combination of standard and programming methods offers unbeatable added value for all machine users and builders.

At the heart of every machine are the process and its reliable operation. This goal connects machine users and mechanical engineers. Through the integral Selmo Solution, there is a new way to integrate the process into machine programming. In this way, Selmo connects all parties in their common pursuit of the goal. We have developed an algorithm that automatically generates a program from a process model. This means that the function description generates the program in the form of the process model instead of the function being developed by the programming, as was previously the case. The standardized process model is used in the machine as the basis for control, monitoring, and diagnostics. This eliminates training and development costs for the standard. In addition, the time for commissioning and acceptance test is shortened.

Until now, only the function could be tested on a machine, not the program. The program can only be tested against an actual programming standard. But this requires experts on both sides. An additional expense that can be saved thanks to the Selmo Standard. In addition, the development of programs with Selmo runs much more digitally. The program can be tested in virtual commissioning from the first process description onwards.




Selmo is immediately understandable for any programmer. Standardization gives the entire production a uniform structure and unified operation system. The operation system is also part of the Selmo Solution and enables the automatic generation of the user interface, the so-called Human Machine Interface (HMI). This allows each machine to be operated in the same way, as is familiar from computers with the same operating system resulting in simplifying the skill development and machine maintenance. Even older machines can be retrofitted with the Selmo Standard.

Once a machine user has experienced the advantages of the Selmo Standard, he will certainly not want to miss these. The Selmo Standard can be demanded as a requirement in specifications and other guidelines to avoid risks with future programming needs. The team of Selmo will support the machine user in this endeavor by conducting potential analyses with existing suppliers and training mechanical engineers and programmers in using the standard. Our modeling tool Selmo Studio, as an alternative to E-Plan or Solid Works, can be understood and used after only a few days. This makes the programming of machines and their operation immediately risk-free.

If a machine has been programmed with Selmo, an insurance policy against unplanned downtime due to incomplete programming has been taken out, figuratively speaking. The continuous comparison between the process model and the machine means that any deviation is detected in real-time. This means that if no error is displayed, the machine is actually error-free. You can read more about this in our blog post: What Selmo Technology is capable of.


Standardization in mechanical engineering needs innovative and future-oriented decision-makers. In industrial and medium-sized companies, the potential of a universally valid standard can be leveraged across the entire value chain. What does it take? A "yes" and the courage to change.

What risk are you taking with Selmo? To this question, we pose the following: What risk are you taking today if your programs don't guarantee you complete control over your machinery and equipment? The answer is obvious, and the decision is already made. But what is the first step? And what path lies ahead of you? We know precisely every step of the way and will guide you from the problem to the solution. The solution is - software that never lets you down.






Low-Code vs. No-Code: What's the Difference?

Differences Explained Briefly and Clearly

In our digital world, there are new opportunities to develop software that save time and effort. Two terms...

Read More

Advantages of automatic programming in control development

Advantages of automatic programming

In the control development process, programming is a critical step that often takes time and resources....

Read More

Simply Selmo

Why make matters complicated when they could be simple? 

Industry 4.0's increasing digitization requirements force automation technology to rethink...

Read More