Advertisement

Efficient High-Level Coding in a PLC to FPGA Translation and Implementation Flow

  • Christoforos EconomakosEmail author
  • George Economakos
Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 313)

Abstract

In the automation industry, PLCs have been the preferred implementation platform for many decades, due to their reliability, robustness and flexibility characteristics. However, the advances of the electronics industry have always kept automation engineers busy, looking for alternative platforms, proposed for the most demanding applications. Recently, the introduction of powerful and energy efficient FPGA devices has turned their interest towards methodologies to implement PLC applications with FPGAs, in automated or semi-automated ways. This paper evaluates such a methodology, which involves a fresh and productivity boosting technology, C-based FPGA programming. As FPGAs have made hardware designs wider accepted (compared to ASICs), C-based FPGA programming promises to make them even wider accepted (compared to HDL programming), provided specific, hardware related C-level coding guidelines are followed, that can greatly improve quality of results. The proposed methodology in this paper starts form low level PLC code (IL/STL) and after a disassembly-like phase, generates C code ready for FPGA programming. Through experimentation with demanding applications that involve floating point calculations, it is shown that when proper C-level coding guidelines are followed, performance gains (faster hardware) of up to 90 % can be achieved.

Keywords

Digital control Hardware design High-level synthesis Coding styles 

References

  1. 1.
    P. Waurzyniak, “Masters of manufacturing: Richard morley,” Manufacturing Engineering, vol. 131, no. 1, pp. 35–43, 2003.Google Scholar
  2. 2.
    M. A. Adamski and J. L. Monteiro, “From interpreted petri net specification to reprogrammable logic controller design,” in 9th International Symposium on Industrial Electronics. IEEE, 2000, pp. 13–19.Google Scholar
  3. 3.
    D. Alonso, J. Suardiaz, P. J. Navarro, P. M. Alcover, and J. A. Lopez, “Automatic generation of vhdl code from traditional ladder diagrams applying a model-driven engineering approach,” in 35nd Annual Conference on Industrial Electronics. IEEE, 2009, pp. 2416–2421.Google Scholar
  4. 4.
    C. Economakos and G. Economakos, “Optimized fpga implementations of demanding plc programs based on hardware high-level synthesis,” in 13th International Conference on Emerging Technologies and Factory Automation. IEEE, 2008, pp. 1002–1009.Google Scholar
  5. 5.
    C. Economakos, G. Economakos, and I. Koutras, “Automated fpga implementation methodology of plc programs with floating point operations,” in 19th International Symposium on Industrial Electronics. IEEE, 2010, pp. 3045–3050.Google Scholar
  6. 6.
    S. Ichikawa, M. Akinaka, R. Ikeda, and H. Yamamoto, “Converting plc instruction sequence into logic circuit: a preliminary study,” in 15th International Symposium on Industrial Electronics. IEEE, 2006, pp. 2930–2935.Google Scholar
  7. 7.
    M. Ikeshita, Y. Takeda, H. Murakoshi, N. Funakubo, and I. Miyazawa, “An application of fpga to high-speed programmable controller development of the conversion program from sfc to verilog,” in 7th International Conference on Emerging Technologies and Factory Automation. IEEE, 1999, pp. 1386–1390.Google Scholar
  8. 8.
    I. Miyazawa, T. Nagao, M. Fukagawa, Y. Ito, T. Mizuya, and T. Sekiguchi, “Implementation of ladder diagram for programmable controller using fpga,” in 7th International Conference on Emerging Technologies and Factory Automation. IEEE, 1999, pp. 1381–1385.Google Scholar
  9. 9.
    M. M. Patil, S. Subbaraman, and P. S. Nilkund, “Iec control specification to hdl synthesis: Considerations for implementing plc on fpga and scope for research,” in International Conference on Control Automation and Systems. IEEE, 2010, pp. 2170–2174.Google Scholar
  10. 10.
    C. F. Silva, C. Quintans, J. M. Lago, and E. Mandado, “An integrated system for logic controller implementation using fpgas,” in 32nd Annual Conference on Industrial Electronics. IEEE, 2006, pp. 195–200.Google Scholar
  11. 11.
    S. Subbaraman, M. M. Patil, and P. S. Nilkund, “Novel integrated development environment for implementing plc on fpga by converting ladder diagram to synthesizable vhdl code,” in 11th International Conference on Control Automation Robotics and Vision. IEEE, 2010, pp. 1791–1795.Google Scholar
  12. 12.
    A. Wegrzyn and M. Wegrzyn, “Petri net-based specification, analysis and synthesis of logic controllers,” in 9th International Symposium on Industrial Electronics. IEEE, 2000, pp. 20–26.Google Scholar
  13. 13.
    P. Coussy and A. Morawiec, High-level Synthesis: From Algorithm to Digital Circuit. Springer-Verlag, 2008.Google Scholar
  14. 14.
    M. Fingeroff, High-Level Synthesis Blue Book. Xlibris Corporation, 2010.Google Scholar
  15. 15.
    F. Janabi-Sharifi and J. Fan, “A learning fuzzy system for looper control in rolling mills,” in International Conference on Systems, Man, and Cybernetics. IEEE, 2000, pp. 3722–3727.Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Department of AutomationHalkis Institute of TechnologyPsahnaGreece
  2. 2.School of Electrical and Computer Engineering, National Technical University of AthensAthensGreece

Personalised recommendations