About BareMetal PLC's
Bare-metal PLC's Controllers has various powerful features and can service a wide range of applications. Software programming, and commissioning are achieved with the Cmake and C++ languages. To speed up development, you can use the RLibs from here . RLibs are libraries that provide a higher level of abstraction than HAL (Hardware Abstraction Layers). Rlibs it is PAL (Platform Abstraction Layer), they solve the most common problems when programming automation, robots, and more.
The key advantage of Bare-metal PLC's over standard PLC's is the flexibility and convenience of software development. To create software, you can use ready-made project templates in which all the necessary libraries are connected. The controller is also equipped with step-by-step debugging and programming tools. Development can be carried out using a convenient operating system for you: Linux, macOS, Windows. For development, you can use the C/C++ languages. All development tools are cross-platform. You can also take advantage of CI/CD when developing your products, unlike standard PLCs.
For creating your application you can use next languages:
To build your applications, we offer:
Operating systems used for development:
You can also use the following IDEs:
All BareMetal PLC supports RLibs:
ssh-agent
on Git for Windows Github Man$ brew install git
$ brew install cmake
$ brew install homebrew/cask/gcc-arm-embedded
- install GCC ARM Embedded The .vscode/extensions.json
file provides automatic tool recommendations when opening the project:
{
"recommendations": [
"ms-python.black-formatter", // Python formatter
"amiralizadeh9480.cpp-helper", // C++ assistance
"marus25.cortex-debug", // ARM Cortex debugging
"mcu-debug.rtos-views", // RTOS visualization
"twxs.cmake", // CMake language support
"ms-vscode.cmake-tools", // CMake integration
"zixuanwang.link" // Symbolic link helper
],
"unwantedRecommendations": [
"ms-vscode.cpptools", // Conflicts with cortex-debug
"llvm-vs-code-extensions.vscode-clangd" // Alternative C++ extension
]
}
The .vscode/launch.json
is automatically generated during build via CMake. The template is located in:
Note: Requires Cortex-Debug extension for ARM microcontroller debugging.
git clone https://github.com/RoboticsHardwareSolutions/RPLC_Quick_Project
cd RPLC_Quick_Project
git submodule update --init --recursive
github.com/your-username/RPLC_Quick_Project
)git clone https://github.com/your-username/RPLC_Quick_Project
cd RPLC_Quick_Project
git submodule update --init --recursive
git remote add upstream https://github.com/RoboticsHardwareSolutions/RPLC_Quick_Project
In CMakeLists.txt
, specify your PLC model by uncommenting one of:
set(RPLC_M) # Basic model
# set(RPLC_L) # Intermediate model
# set(RPLC_XL) # Advanced model
This automatically configures: