bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


simulacio_de_dispositius_ot

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
simulacio_de_dispositius_ot [2023/06/28 14:08]
carlos_garcia_calvo [Modbuspal (simulador esclau de Modbus)]
simulacio_de_dispositius_ot [2023/06/28 16:56] (actual)
carlos_garcia_calvo [CONSTRUCCIÓ DE UN ENTORN DE SIMULACIÓ DE DISPOSITIUS INDUSTRIALS OT]
Línia 4: Línia 4:
 En aquest taller aprendràs a desplegar un entorn de simulació de dispositius industrials OT, instal·lant simuladors  En aquest taller aprendràs a desplegar un entorn de simulació de dispositius industrials OT, instal·lant simuladors 
 del protocol Modbus TCP i del protocol s7comm que utilitzen els dispositius Siemens. del protocol Modbus TCP i del protocol s7comm que utilitzen els dispositius Siemens.
 +
 +Utilitzarem les aplicacions QModMaster i Modbuspal amb les eines Snap7 que simulen dispositius Siemens per simular un entorn industrial.
 +
 +Per comprovar el funcionament configurarem les eines d'escaneig actiu utilitzant les aplicacions NMap i PLCScan. 
 +I finalment proposem realitzar 3 exercicis.
 +
  
 {{ intro.png?600 }} {{ intro.png?600 }}
  
-{{tag> #FpInfor #CiberOT #CiberOtMp03 #Ceot #CeotMp03 git cvs vcs versions subversion svn DevOps }}+{{tag> #CiberOtMp02 #CeotMp02 #FpInfor #CiberOT #CiberOtMp03 #Ceot #CeotMp03 Industrial I4.0 STEP7 PLCSIM ModBus }}
  
 ===== Introducció ===== ===== Introducció =====
Línia 70: Línia 76:
  
 Ara ja tenim el simulador de dispositius ModbusPal amb el qual, més endavant, crearem els nostres esclaus: Ara ja tenim el simulador de dispositius ModbusPal amb el qual, més endavant, crearem els nostres esclaus:
-  {{ modbuspal.png?400 }}+{{ modbuspal.png?400 }} 
 + 
 + 
 +===== Snap7 Client (eines de simulació de dispositius Siemens)  =====  
 + 
 +Aquest paquet de programari està format per dues aplicacions de tipus client/servidor i totes dues en conjunt simulen el funcionament d'un dispositiu PLC Siemens. La primera és l'aplicació Snap7 Server Demo i és la que exerceix el rol de dispositiu PLC i subministra les dades quan li són sol·licitades. 
 + 
 +La segona aplicació és l'encarregada d'interactuar amb aquest PLC com a client i interfície per mostrar tota la informació del mateix. 
 + 
 +Obre un nou terminal i realitza en primer lloc l'instal·lació del paquet de software python 3 pip, necessari pel funcionament de Sanp7 
 +\\ <code> 
 +§ sudo apt install python3-pip 
 +</code> 
 + 
 +Descarrega i descomprimeix l'arxiu [[https://sourceforge.net/projects/snap7/files/1.4.2/| snap7-full-1.4.2:]] a Documents, després compila l'arxiu dins del nostre sistema Linux de 64 bits: 
 +\\ <code> 
 +§ cd Documentos/snap7-full-1.4.2/build/unix/ 
 +§ make -f x86_64_linux.mk 
 +§ cd ../bin/x86_64-linux/ 
 +§ sudo cp libsnap7.so /usr/lib 
 +</code> 
 + 
 +Hem de crear els vincles necessaris per les biblioteques compartides amb ldconfig i donar permisos d'execució a les dues aplicacions d'Snap7 
 +\\ <code> 
 +§ sudo ldconfig 
 +§ cd ../../../rich-demos/x86_64-linux/bin/ 
 +§ chmod u+x clientdemo 
 +§ chmod u+x serverdemo 
 +</code> 
 +<WRAP todo> 
 +Ara ja podem executar les 2 aplicacions, abans hem de executar ifconfig per esbrinar la IP de l'adaptador de xarxa de la MV Ubuntu. En el nostre cas la direcció IP és la 10.0.2.15: 
 +{{ ifconfig.png?400 }} 
 +</WRAP> 
 +Primer, executa l'aplicació «serverdemo» : 
 +\\ <code>sudo ./serverdemo</code> 
 + 
 +Segon, en un nou terminal, executa l'aplicació Client Demo : 
 +\\ <code>§ cd Documentos/snap7-full-1.4.2/rich-demos/x86_64-linux/bin/ 
 +§ ./clientdemo</code> 
 + 
 +{{ serverclient.png?800 }} 
 +<WRAP todo> 
 +Per comprovar que funciona hem de posar la direcció IP 10.0.2.15 i a l'entrada «Connect as«, escollim S7 BASIC. Si fem click sobre el botó «Connect» veurem que es connecta i ara a la pestanya «Control» podem realitzar operació de parada del PLC (Stop) i arrancada del PLC (Start): 
 + 
 +{{ serverclientrun.png?800 }} 
 + 
 +Es important per tornar a arrencar el PLC, premer el botó «Hot Restart« i si vols desconectar prems en aquest ordre al botó de «Disconnect» (a l'aplicació Snap 7 Client Demo) i «Stop» (a l'aplicació Snap 7 Server Demo). 
 +</WRAP> 
 +===== Configuració d'eines de escaneig actiu (NMAP I PLCSCAN)  =====  
 + 
 +Obre un nou terminal i instal·lem i verifiquem el paquet de software Nmap: 
 +\\ <code> 
 +§ sudo apt install nmap 
 +§ nmap -V 
 +§ sudo apt install git 
 +</code> 
 +{{ nmap.png?700 }} 
 + 
 +Per utilitzar l'eina PLCscan clonarem a la carpeta «Documentos» el repositori del GitHub, seguidament per poder exectar-lo hem d'instal·lar python2 
 + 
 +\\ <code> 
 +§ git clone https://github.com/meeas/plcscan 
 +§ cd Documentos 
 +§ sudo apt install python2 
 +§ cd plcscan/ 
 +§ python2 plcscan.py 
 +</code> 
 +{{ plcscan.png?700 }} 
 + 
 +===== Exercicis proposats  =====  
 + 
 +===Exercici 1. Creació de l'esclau núm. 1 MODBUS i lectura de COILS=== 
 +En aquest apartat crearem un esclau a l'aplicació ModbusPal i establirem la comunicació Modbus TCP amb l'aplicació QModMaster per a la lectura de les dades.  
 + 
 +<WRAP todo> 
 +• Les coils són noms d'adreces de memòria, és a dir, són registres o noms de variables predefinides de tipus 
 +booleà, i que poden ser llegides o escrites. 
 +• Els holding registers, igual que els coils, són noms d'adreces de memòria que permeten emmagatzemar dades 
 +de tipus integer (és a dir, nombres enters). 
 +</WRAP> 
 + 
 +===Exercici 2. Creació de l'esclau núm. 2 MODBUS i realitza una lectura de HOLDING REGISTERS=== 
 + 
 +En aquest apartat es crearà un segon esclau amb l'aplicació Modbuspal (com has vist anteriorment) i s'establirà la comunicació Modbus TCP amb l'aplicació QModMaster per a la lectura de les dades del Holding register de l'esclau 
 +nº1 que heu creat anteriorment i d'un nou Holding register que crearem a l'esclau nº2. 
 + 
 + 
 +===Exercici 3. Escaneig de dispositius que utilitzen el protocol Modbus amb l'eina PLCSCAN=== 
 + 
 +En aquest apartat s'utilitzarà l'eina PLCScan per a realitzar la identificació de dispositius que utilitzen el 
 +protocol Modbus TCP, així com els dispositius Siemens que utilitzen el protocol de comunicació s7comm 
 + 
simulacio_de_dispositius_ot.1687961289.txt.gz · Darrera modificació: 2023/06/28 14:08 per carlos_garcia_calvo