An Evaluation of Erlang for Implementing Standby Redundancy in a Manufacturing Station Controller

  • Greg Hawkridge
  • Anton Basson
  • Karel KrugerEmail author
Conference paper
Part of the Studies in Computational Intelligence book series (SCI, volume 803)


Standby redundancy for controllers is used to improve the availability of many manufacturing systems. The software redundancy features offered by typical programmable logic controllers (PLCs) are reviewed. An equivalent Erlang-based standby redundancy solution is presented in this paper. Erlang is a functional programming language designed for the development of fault-tolerant soft real-time control systems. The Erlang software redundancy solution employs various features in Erlang (and its associated library, OTP) that greatly simplify achieving standby redundancy. This paper describes an Erlang and OTP approach that facilitates implementing standby controller redundancy at a software level for devices which do not provide such mechanisms at a hardware level, similar to that provided by typical PLCs.


Erlang Standby redundancy Manufacturing control PLC 



Funding: The financial assistance of the National Research Foundation (NRF) towards this research (through funding a bursary, with reference number 103260, for the first author) is hereby acknowledged. Opinions expressed, and conclusions reached are those of the authors and are not necessarily to be attributed to the NRF.


  1. 1.
    Brettel, M., Friederichsen, N., Keller, M., Rosenberg, M.: How virtualization, decentralization and network building change the manufacturing landscape: an industry 4.0 perspective. Int. J. Mech. Ind. Sci. Eng. 8(1), 37–44 (2014)Google Scholar
  2. 2.
    Wan, J., Tang, S., Shu, Z., Li, D., Wang, S., Imran, M., Vasilakos, A.V.: Software-defined industrial internet of things in the context of industry 4.0. IEEE Sensors J. 16(20), 7373–7380 (2016)CrossRefGoogle Scholar
  3. 3.
    Jazdi, N.: Cyber physical systems in the context of Industry 4.0. In: 2014 IEEE International Conference on Proceedings of Automation, Quality Testing and Robotics, Cluj-Napoca, IEEE Xplore Digital Library, pp. 1–4 (2014).
  4. 4.
    Armstrong, J.: Erlang—a survey of the language and its industrial applications. In: Proceedings of INAP, vol. 96 (1996)Google Scholar
  5. 5.
    Armstrong, J.: Erlang. Commun. ACM 53(9), 68–75 (2010). Scholar
  6. 6.
    Academic and Historical Questions. Accessed 04 Sept 2017
  7. 7.
    Cesarini, F., Thompson, S.: Erlang Programming: A Concurrent Approach to Software Development. O’Reilly Media, Newton (2009)zbMATHGoogle Scholar
  8. 8.
    “What is Erlang”. Accessed 29 Aug 2017
  9. 9.
    Kruger, K., Basson, A.: Erlang-based control implementation for a holonic manufacturing cell. Int. J. Comput. Integr. Manuf. 30(6), 641–652 (2017). Scholar
  10. 10.
    National Instruments: Redundant system basic concepts (White Paper) (2008). Accessed 04 Sept 2017
  11. 11.
    Siemens: SIMATIC S7-300/S7-400 Software redundancy for SIMATIC S7 (2010). Accessed 14 July 2016
  12. 12.
    Erlang STDLIB 3.4.2, Ericsson AB. Accessed 6 Oct 2017
  13. 13.
    Erlang Kernel 5.4, Ericsson AB. Accessed 6 Oct 2017

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Mechanical and Mechatronic EngineeringStellenbosch UniversityStellenboschSouth Africa

Personalised recommendations