Control system programming.
Mattias Lindh
Automation Engineer @ Mattias Lindh Automation AB | PLC Programming Expert
For more than ten years I have been struggling with people that states that ladder is the only understandable way of programming a control system. Please remember why ladder logic was developed. To make it possible for people that have done hardware relay Control designs to be able to start programming. It was in the time when you replaced plain hardware relays with logic in a controller. Off course this was a revolution then. But..
I’m 100% sure that a higher-level programming approach, will be the only way to program Control systems in the future, in many case its already like this now.. Considering the more complex Control and integrations required, read I4.0 etc. The programming approach in the commming future, needs to be object oriented to meet this request. Ladder is not constructed to support this in a sufficient way.
Please also remember that making a program easy to understand and follow does not mean writing in a certain language. It is how you structure your code. I have seen so many crazy examples during my 20 years in this buissness. Ladder logic program that is almost impossible to follow. Having rungs big enough to cover a high-resolution arena big screen.
I’m really getting sick of this programming language discussion, especially when comes to LAD, where people state that LAD is the most readable way of programming. Then off course if you have a plain sequence based machine Graph tools can be good, but very insufficient and harder to make modular.
Often u hear people saying: “when someone form the maintenance needs to go into the program and check for errors, then ladder or Graph is the best”. But come on. Something is wrong here, If the only way of trouble shooting is to look in the program. Then the system is a disaster with lack of sufficient alarm / trouble shooting information. This is not very accepted now, and will never be accepted in the future.
The only way is to think in a modular way, with possibility to reuse code in a tru object oriented way, as we do and have been doing for many years in all other type of programming. Off course this creates overhead but, the control systems getting more powerful and dynamic for every day, all to meet this request. Hardware is not the biggest cost, it’s engineering/trouble shooting hour′s to meet tomorrows demands.
It's nice to see that what you have been trying to say for ten years is happening now and it happens fast.
B:R
//Mattias Lindh
www.lindhautomation.com
Privatier
7 年A modern PLC application Software suite should support a wide range of programming languages: C/C++, all IEC 61131-3 languages and also model based engineering with e.g. MATLAB ? /Simulink ? . Programmers thus have the possibility to create applications in their familiar environment and language. Existing and established software code can also be reused without any problem. Libraries for PLCs should be created in all languages. The supported languages have to be possible combined as required. More than ever, modern plants consist of complex mechatronic systems which can only be imple-mented through close collaboration between those responsible for mechanical engineering, electrical engineering and software creation. This complexity can be considerably reduced by breaking down the plant into logical function units or components. Component based software creation considerably shortens the development process since the development of mechanical engineering, electrical engineering and software can take place at the same time. The process description takes center stage instead of any cryptic program codes. In this way, applications can be developed without the need for any extensive knowledge of programming. Once components have been created, they can be reused simply and quickly for future projects, either unchanged or with different para- meters. The interfaces here ensure high quality in development: They enable the targeted testing of individual components with e.g. the Bachmann ?Component Manager? software. But PLC engineering today has to cover much more…. Modern business models for plant manufacturers require access to controller networks and control consoles via Intranet and via the Internet. Without the use of suitable mechanisms, the expanding network increases the possibility of plants being accessed without authorization. The unauthorized manipulation of processes here can result in serious damage. Furthermore, the complete logging of interventions is now even a statutory requirement in some sectors. Protection from unauthorized access and the targeted assignment of rights are therefore a top priority when networking plants.
Project Leader at Leonardo
7 年I'm concerning about basically two points, the use of ladder and the coding style used. Why the ladder is still so popular? In my opinion the reason is also related to the fact that it is still the best "tool" for software porting between different platforms. Everyone have challenged in porting a software from Siemens to A&B? If the original software is written il Awl or other language it could mean rewriting the whole code. But the use of ladder shall easy (a lot) this topic the reason is that the software's constructs aren't so different. The ladder, in my opinion, is the only software the permit "the software portining" not as IEC61131 would like but quite close. The other topic i related to the software coding, in my projects, I stress my teams on the software coding rules. The for two reason, software interoperability and compliance with EN50128 Standard.
Project Leader at Leonardo
7 年I agreed with your post but I think that covers some aspects.
Senior Electrical Designer at Liatam
7 年The way you wrote it was so clear.