The SIMATIC CPU 1515SP, also known as the SP Open Controller, runs a Siemens SIMATIC hypervisor system with two components: the software PLC and the Windows operating system (OS). The CPU 1515SP serves as the successor to the SIMATIC WinAC RTX PC-based hypervisor controller, but with quite a bit more functionality, specifically in the hypervisor, which supports multiple virtual machines on the unit. Since the hypervisor in the CPU 1515SP operates on bare metal and not internally inside an OS, the CPU 1515SP can keep the PLC running even if the Windows OS shuts down. The PLC can also shut down and reboot the Windows OS via the PLC program, so restarts can be scheduled as needed. The operating capabilities of a CPU 1515SP are comparable to those of a CPU 1518, one of Siemens’ most advanced controllers, and can manage a substantial number of technology objects such as PID closed loop control and axis-based motion control objects.
Because of the access to the Windows OS side via SOFTBUS, the CPU 1515SP supports the installation of runtime systems on the Windows OS and is compatible with multiple Siemens visualization platforms including WinCC Advanced, WinCC Professional, WinCC 7.x, and WinCC OA. In addition, the SIMATIC Open Developer Kit 1500S (ODK 1500S) supports the development of program blocks in C/C++ to accomplish more complicated tasks.
The SIMATIC ODK 1500S supports the programming of both real time objects that run cyclically, such as regular PLC code, and asynchronous objects which pass arguments to the C/C++ programming environment and subsequently pass the results back to the PLC code.
- The real time objects are developed in the Eclipse development environment and known as Shared Objects (SOs). The SIMATIC ODK 1500S comes with templates that can be used a baseline for initially programming the code, and is setup to build the SOs and the structured control language (SCL) source code. Once the code is written, the SO file can be uploaded into the software PLC’s webserver and the SCL source code file can be uploaded to the software PLC to generate the corresponding program blocks. Once uploaded and the unload is called, the program blocks generated by the SCL source code file can be loaded into OB100 so that the SOs are loaded every time the software PLC starts up. The actual program blocks can be called anywhere within the software PLC’s code and will execute like a standard PLC program block.
- The asynchronous objects work slightly differently. This code is developed with the help of Visual Studio Templates and produces two different outputs – a dynamic link library (.dll) file and the SCL source code file. Instead of loading the DLL into the software PLC’s web server like the previously mentioned SOs, the DLL is placed inside the Windows OS. Since this code now operates on the Windows OS, the response format is more of a question and answer style and is therefore not intended for real-time operations like the SOs are. Once the DLL is placed in the correct Windows directory (C:\ProgramData\Siemens\Automation\ODK1500S), the SCL source code file can be uploaded to the TIA Portal project and the program blocks can be generated. Following this procedure will create the program block, the load call, and the unload call. The load and unload blocks do not need to be placed in OB100 – they are instead encapsulated into a function block (FB) that loads and unloads them as needed, then calls the actual program block and waits for the response.
Additionally, the SIMATIC ODK 1500S can use MATLAB and Simulink to create models that can be run inside the software PLC. This code automatically creates the C/C++ code that generates an SO that can be used inside a program. This feature is exceptionally helpful for complex control algorithms, signal analysis and filtering, and sophisticated PID closed-loop control based on models or for hard-to-control processes. Once the Simulink model is created, the C/C++ code will need to be generated with the ODK 1500S as the target. The program will generate the SOs and the SCL source code files necessary to call the model inside of the software PLC. The files can then be loaded into the software PLC in the exact same manner as standard SOs. This application of MATLAB to create models quickly generates code that would be extremely difficult to create otherwise.
- Julyann Tu – AWC, Inc.