PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

PLC implementation in the form of a System-on-a-Chip

Treść / Zawartość
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
The aim of the paper is to present the implementation of a PLC designed in the form of a System-on-a-Chip. The presented PLC is compatible with the IEC61131‒3 standard. More precisely, the Instruction List language is the native language of the designed CPU, so there is no need for multiple language transformations. In the proposed solution each instruction of the CPU program written in Instruction List is directly translated to machine code. The designed CPU is capable of performing logic operations up to 32-bit Boolean data types. However, the developed CPU is very flexible due to its architecture: data memory can be addressed as bit/byte/word/dword. Moreover, diverse blocks such as timers, counters, and hardware acceleration blocks, can be connected to the CPU by means of an APB AMBA bus. The designed PLC has been implemented in an FPGA device and can be used in cyber-physical systems and Industry 4.0.
Słowa kluczowe
EN
PLC   FPGA   AMBA   APB   IEC 61131-3  
PL
PLC   FPGA   AMBA   APB   IEC 61131-3  
Rocznik
Strony
1263--1273
Opis fizyczny
Bibliogr. 29 poz., rys., tab.
Twórcy
autor
  • DisplayLink, ul. Ligocka 103, 40-568 Katowice, Poland
  • Silesian University of Technology, Department of Digital Systems, ul. Akademicka 16, 44-100 Gliwice, Poland
autor
  • Silesian University of Technology, Department of Digital Systems, ul. Akademicka 16, 44-100 Gliwice, Poland
Bibliografia
  • [1] W. Bolton, Programmable Logic Controllers. Newnes, 2009.
  • [2] W. Halang and M. Sniezek, “A safe programmable electronic system”, Bull. Pol. Ac.: Tech. 58(3), 423–434 (2010).
  • [3] S. Ichikawa, M. Akinaka, H. Hata, R. Ikeda, and H. Yamamoto, “An FPGA implementation of hard-wired sequence control system based on PLC software”, IEEJ Trans. Electr. Electron. Eng. 6(4), 367–375 (2011).
  • [4] E. Monmasson, L. Idkhajine, M. Cirstea, I. Bahri, A. Tisan, and M. Naouar, “FPGAs in industrial control applications”, IEEE Trans. Ind. Inform. 7(2), 224– 243 (2011).
  • [5] A. Milik and E. Hrynkiewicz, “Synthesis and implementation of reconfigurable PLC on FPGA platform”, Int. J. Electron. Telecommun. 58(1), 85–94 (2012).
  • [6] T. Dorta, J. Jimenez, J. Martin, U. Bidarte, and A. Astarloa, “Overview of FPGA-based multiprocessor systems”, in International Conference on Reconfigurable Computing and FPGAs, 2009, pp. 273–278.
  • [7] A. Milik, “Multiple-core PLC CPU implementation and programming”, J. Circuits Syst. Comput. 27, 1850162 (2018).
  • [8] Z. Hajduk, B. Trybus, and J. Sadolewski, “Architecture of FPGA embedded multiprocessor programmable controller”, IEEE Trans. Ind. Electron. 62(5), 2952–2961 (2015).
  • [9] R. Czerwinski and M. Chmiel, “Hardware-based single-clock-cycle edge detector for a PLC central processing unit”, Electronics (MDPI) 8(12), 1529 (2019).
  • [10] M. Chmiel, “FPGA-based implementation of bistable function blocks defined in the IEC 61131”, Microprocess. Microsyst. 65, 37–46 (2019).
  • [11] J. Kasprzyk, Industrial controllers programming. WNT, 2006, [in Polish].
  • [12] Y. Birbir and H. Nogay, “Design and implementation of PLC-based monitoring control system for three-phase induction motors fed by PWM inverter”, Int. J. Syst. Appl. Eng. Dev. 2, 128– 135 (2008).
  • [13] International Electrotechnical Commission, “EN 611313:2013, programmable controller–Part 3: Programming languages”, European Committee for Electrotechnical Standardization, Tech. Rep., 2013.
  • [14] K. John and M. Tiegelkamp, IEC 61131-3: Programming Industrial Automation Systems. Springer, 2010.
  • [15] Z. Hajduk, J. Sadolewski, and B. Trybus, “FPGA-based execution platform for IEC 61131‒3 control software”, Prz. Elektrotechniczny (Electrical Review) 87(8), 187–191 (2011).
  • [16] Rockwell Automation, “Logix5000 controllers IEC 61131-3 compliance”, Rockwell Automation Publication 1756-PM018C-EN-P, Tech. Rep., 2003.
  • [17] S. Rudrawar and M. Patil, “Design and implementation of FPGA based high performance instruction list (IL) processor”, IOSR J. Electron. Commun. Eng. 1(4), 38–45 (2012).
  • [18] J.-H. Huang, Y.-C. Li, Z. Luo, X.-X. Liu, and K.-F. Nan, “The design of new-type PLC based on IEC 61131‒3”, in Proceedings of the Second International Conference on Machine Learning and Cybernetics, 2003, pp. 809–813.
  • [19] M. Okabe, “Development of processor directly executing IEC 61131‒3 language”, in SICE Annual Conference, The University of Electro-Communications, Tokyo, Japan, 2008, pp. 2215–2218.
  • [20] ARM Limited, AMBA 3 APB Protocol, 2004.
  • [21] Z. Hajduk, “Hardware implementation of hyperbolic tan gent and sigmoid activation functions”, Bull. Pol. Ac.: Tech. 66(5), 563–577 (2018).
  • [22] G. Grzeda and R. Szplet, “Time interval measurement module implemented in SoC FPGA device”, Int. J. Electron. Telecommun. 62(3), 237246 (2016).
  • [23] “VexRISC-V, An FPGA friendly 32 bit RISC-V CPU implementation”, https://github.com/SpinalHDL/VexRiscv, (Access: 14.07.2020).
  • [24] Siemens AG, Simatic S7-1200 Programmable Controler. System Manual, 2019.
  • [25] Siemens AG, S7-1500, S7-1500R/H, ET 200SP, ET 200pro Cycle and Reaction Times. Function Manual, 2018.
  • [26] Schneider Electric, Modicon Quantum automation platform, Hot standby system Unity Pro, 2013.
  • [27] VIPA GmbH, VIPA System 300S SPEED7-CPU 314-6CF02, 2014.
  • [28] General Electric Company, Intelligent Platforms, Programmable Control Products, PACSystems, RX7i&RX3i CPU Reference Manual, GFK-2222W, 2015.
  • [29] Siemens AG, Simatic S7‒300 Instruction List, CPU312, CPU314, CPU315‒2DP, CPU315‒2PN/DP, CPU317‒2PN/DP, CPU319‒3PN/DP, IM151‒8PN/DP CPU, IM 154‒8 PN/DP CPU, 2015.
Uwagi
Opracowanie rekordu ze środków MNiSW, umowa Nr 461252 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2021).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-b3ba9c59-8545-4411-8688-d3e0f3917350
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.