Implementing support for QEMU emulation of PLCs

Autor: Pantina, Ardian
Přispěvatelé: Groš, Stjepan
Jazyk: chorvatština
Rok vydání: 2022
Předmět:
Popis: Ovaj rad bavi se emulacijom programske podrške za PLC SIMATIC S7-1200. Rad započinje analizom sklopovlja PLC-a te programske podrške koja se na njemu izvodi. Reverznim inženjerstvom datoteke za nadogradnju PLC-a dolazi se do programske podrške koja će se emulirati. Zatim se opisuje programski alat otvorenog koda QEMU koji služi za emulaciju cijelog sustava PLC-a. Slijedi detaljan opis potrebne konfiguracije QEMU-a za uspješnu emulaciju PLC-a bez potrebe za korištenjem hardvera. Budući da PLC komunicira s velikim brojem perifernih uređaja, potrebno je implementirati upravljačke programe za periferiju kako bi emulacija bila vjerodostojna stvarnom sustavu. Imajući to u vidu, pokazuje se kako se podrška za periferiju dodaje u izvorni kod QEMU-a putem ugrađenog objektno-orijentiranog programskog modela. Konačno se demonstrira kako se bootloader povezuje s firmwareom PLC-a, rezultirajući kompletnijom emulacijom sustava. This thesis is concerned with the emulation of software for the SIMATIC S7-1200 PLC. The thesis begins with an analysis of the PLC's hardware and software. By reverse-engineering the PLC's firmware update file, the firmware of the PLC is extracted. What follows is an overview of QEMU, an open-source tool that is used for full system emulation of the PLC. The configuration necessary for the successful execution of firmware on the emulated system is described in detail. Since the PLC also communicates with a large number of peripheral devices, it is necessary to implement device drivers for more accurate emulation of the real system. Having that in mind, the implementation of peripheral device drivers is demonstrated via QEMU's object-oriented software model. Finally, the thesis shows how the bootloader is integrated into the PLC's firmware, resulting in a more complete emulation of the system.
Databáze: OpenAIRE