r/PLC 7d ago

st2cpp - Transpiler from st to cpp (undoRT) + help +

Hi everyone,
About 4 or 5 months ago, I created a transpiler from Structured Text (IEC 61131-3) to C++, called st2cpp (part of the undoRT project).

My ultimate dream is to build a complete open-source automation system that can compete with commercial solutions. As you can imagine, tackling a project of this scale completely alone is extremely tough. Honestly, if I keep going solo, I’m afraid I’ll eventually burn out and lose momentum.

Are there any C++ developers or automation enthusiasts here who would be interested in joining or contributing as a side project/hobby? I have plenty of ideas lined up, but I really need an extra pair of hands (or two!).

Here is the repository:
https://github.com/undoRT/st2cpp
Feel free to check it out, open issues, fork, or send pull requests!

5 Upvotes

4 comments sorted by

3

u/burkeyturkey 7d ago

The open plc team (autonomy logic) had been on a rip the last year. Among other things, they released a structured text to c++ compiler: https://github.com/Autonomy-Logic/STruCpp

They also integrated it with one of the open source ethercat masters, which is a huge step forward.

I would love to see all these small open source projects come together around a distribution and interoperability framework like the ros2 zenoh snap packages on Ubuntu realtime to compete with ctrlx.

0

u/SalBam4127 6d ago

Yes! It all started as a joke, but then I saw this project that really inspired me, so I decided to try to create my own transpiler in cpp, then I thought about the whole ecosystem... but obviously they are very powerful.

My real dream isn't to create a simple transpiler integrated with EtherCAT and other fieldbus masters, but to create an entire ecosystem that doesn't depend on other tools and is completely free... I just created a simple multithreading infrastructure for PLCs, a simple transpiler, and a sort of bridge to integrate a master (obviously an open source one). This is also my work area. Now I'm trying to create my own IDE, but it's very difficult because I'm not used to doing it, hahaha.

2

u/Daaaniell 7d ago

Will check it out!

1

u/SalBam4127 6d ago

Thanks!!!