How do you feel about this article? Help us to provide better content for you.
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
What do you think of this article?
In this article series, we will explore the Phoenix Contact PLCnext ecosystem, and get hands-on with simple ladder logic and C# programming examples
What is PLCnext?
PLCnext is an Industrial IoT oriented ecosystem of software and modular hardware that Phoenix Contact has designed specifically with modern industrial automation in mind, that is built to meet the needs of the IoT world. The PLCnext ecosystem comprises of powerful, open control hardware that behaves like a traditional PLC paired with a Linux computer; modular engineering software that allows for traditional PLC programming using standard IEC 61131-3 programming languages, as well as programming using MATLAB Simulink, C#, C++ and others.
In addition to this, PLCnext is also built with IoT connectivity in mind, enabling fast deployment of PLC remote monitoring, and communication from other products and services.
Why?
The PLCnext ecosystem has advantages for both makers who started with platforms such as the Raspberry Pi and Arduino, and for engineers who are already familiar with traditional PLCs.
Coming from a maker background, the PLCnext would be an ideal step into the industrial automation world. The hardware is reasonably priced for the feature set, and it is easily accessible - the use of Linux and the Eclipse-based PLCnext Engineer means the development environment should feel mostly familiar to many makers.
Another advantage is the rugged I/O that is common for industrial hardware, which means things such as relays can be directly plugged into an output module - no fuss to worry about level shifting or handling back-EMF from the relay coil. Also, other I/O modules that offer more specialised functions, such as power measurement, are provided - reducing the time taken to produce a working control system.
The deterministic, real-time behaviour of a PLC means that input and output operations will happen in the way specified in the program running on the PLC, meeting strict timing requirements, whereas something like the Raspberry Pi could have a program interrupted by another process - which could mean a delayed response to an input, potentially putting a machine or user at risk.
For those from an engineering background, the PLCnext ecosystem provides a familiar PLC environment, programmable in all the standard IEC 61131-3 languages, making it easy to get up and running with PLCnext. The addition of the Linux system alongside the traditional PLC environment opens up doors to industrial IoT applications, using common protocols such as Profinet & Profibus, INTERBUS and other standard protocols such as HTTP/HTTPS, SNMP and OPC UA.
Phoenix Contact has also developed the Proficloud platform, for remote monitoring and management of their PLCnext line. This empowers engineers by allowing failures to be predicted based on real-time data process data being uploaded from the PLC and can help guide targeted maintenance planning.
The Hardware
PLCnext comprises a series of PLC controllers - the AXL F 1152, 2152 and 3152, and a safety controller RFC 4072S. Each of the Axioline controllers offers an increasing amount of processing power, and program storage space allowing for larger, more complex control systems to be developed. The PLCnext controllers also run Linux alongside the traditional PLC environment, allowing additional applications such as Node-RED to be installed, which enables more powerful automation systems to be created.
In addition to the controllers, there is a whole range of I/O available, from the Axioline Smart Elements which provide a small footprint, high-density I/O solution, to the Axioline F & Axioline P series of I/O solutions.
The Axioline F I/O modules provide a variety of different functions, from common digital input & output to PWM output and power measurement inputs, allowing for complex control systems to be easily built.
Phoenix Contact has developed a bus style interconnect system that fits onto standard 35mm DIN rail, and enables quick and easy construction of an I/O system - modules click onto the DIN rail and are connected to the bus.
The Software
PLCnext controllers have a wide range of software that can be used to develop programs for the PLC, with C#, C++, Java and MATLAB Simulink supported. Other languages, such as Node.js, Rust, .Net Core, Java and Python are also supported.
The primary development environment is PLCnext Engineer, which is an IDE for developing IEC 61131-3 programs, managing and configuring the PLC controller. This tool is free to download, with licenses required for more advanced functionality, such as the “HMI Generator add-in” which can automatically generate a web-based HMI or the “Functional Safety Editor” which configures Profisafe devices.
Other development, such as C/C# can be done using Visual Studio , which is a free download from Microsoft. Phoenix Contact has provided a plugin that makes developing in this environment a walk in the park. Toolchains are also available for development under Linux which some users may prefer.
Expansion
The PLCnext ecosystem is backwards compatible with previous industrial automation systems provided by Phoenix Contact, through the use of INTERBUS connectors that allow for an existing system to be updated, without needing to replace and overhaul the I/O system.
PLCnext based control systems can also be integrated with other systems, thanks to the industry standard communications protocols that are supported - such as OPC UA, Modbus, Profinet, Fieldbus and other supported protocols.
The availability of a REST API, and other programming languages enables easy expansion of the functionality of the PLC - these are all well-used standards and languages that are found everywhere.
Conclusion
In this article, we touched on the hardware, software and cloud connectivity of the PLCnext Control system. In the next part, we will get hands-on with the hardware, and create a basic program using ladder logic, and one with C#.
Comments