Introducción
PROFINET (Process Field Network) es un estándar de red para la Automatización Industrial basado en Ethernet abierto y no propietario para la automatización..
El PLC industrial Raspberry tiene dos puertos Ethernet, y su propio sistema operativo de la Raspberry, Raspbian, Linux.
Let's go to learn how to run the p-net PROFINET device stack and its sample application on an industrial Raspberry Pi PLC.
Note: Industrial Shields does not provide Profinet libraries to control the Inputs & Outputs. You can use our libraries based on C++, Python or Node-Red that you can find in our official github.
Enlaces relacionados
Explicación
Requisitos
1x Raspberry Pi
1x PLC basado en Raspberry Pi
Ethernet/USB Hub
Cable de alimentación Rasperry - USB tipo C
2x cables Ethernet
PROFINET
PROFINET es el estándar industrial Ethernet abierto internacional de PROFIBUS y PROFINET (pi) para la automatización.
PROFINET utiliza los estándares TCP/IP y LO, esPROFI Ethernet en tiempo real, y permite proteger la inversión con la integración de sistemas de fieldbus.
ProFiNet IO (entrada-salida): Desarrolla la comunicación en tiempo real (RT) y en tiempo real isócrono (IRT) con la periferia descentralizada. Las denominaciones RT e IRT se limitan a describir las propiedades en tiempo para la comunicación en ProFiNet IO.
El concepto PROFINET ofrece una estructura de modos modulares para que los usuarios puedan seleccionar ellos mismos la conexión en cascada. Se diferencian esencialmente por el tipo de intercambio de datos para cumplir con los requisitos, en parte de muy alta velocidad.
WCon PROFINET es posible la comunicación sin discontinuidades desde el nivel de gestión hasta el nivel de campo. Por otra parte, responde a las grandes exigencias impuestas por la industria, p. ej. sistema de cableado y conexión adecuado para el entorno industrial, tiempo real, control de movimiento en modo isócrono, ingeniería no propietaria, etc.
PROFINET se desarrolló con el objetivo de fomentar un proceso de convergencia entre la automatización industrial y la plataforma de gestión de la información para la gestión empresarial y las redes corporativas globales. Se aplica a los sistemas de automatización distribuida basados en Ethernet que integran los sistemas de bus de campo existentes, por ejemplo PROFIBUS, pero sin modificarlos.

Notas para usuarios avanzados
La aplicación de ejemplo IO-device puede ejecutarse en:
Raspberry Pi
Cualquier sistema operativo Linux
Una placa integrada que ejecuta un RTOS, como el RT-kernel
Archivos
El directorio sample_app del repositorio p-net contiene el código fuente de este tutorial. También contiene un archivo GSD que indica al controlador IO cómo comunicarse con el dispositivo IO. Las partes de la aplicación de ejemplo que dependen de si se ejecuta Linux o un RTOS se encuentran en src/ports.
Instalar las dependencias
Ver cómo >>
sudo apt update
sudo apt install snapd
sudo reboot
sudo snap install cmake --classic
cmake --version
Download and compile p-net
sudo apt install git
2. Crea un directorio llamado profinet:
mkdir /home/pi/profinet cd /home/pi/profinet
3. Clona el repositorio con los submódulos. A continuación, crea y configura la compilación:
git clone --recurse-submodules https://github.com/rtlabs-com/p-net.git cmake -B build -S p-net cmake --build build --target install
Notas para los usuarios avanzados
Si ya ha clonado el repositorio sin la bandera --recurse-submodules, ejecuta en la carpeta p-net.
git submodule update --init --recursive
Alterna el comando cmake para ajustar también algunas configuraciones:
cmake -B build -S p-net -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON -DUSE_SCHED_FIFO=ON
Dependiendo de cómo hayas instalado cmake, puede que tengas que ejecutar snap run cmake en lugar de cmake.
Ejecutar la aplicación de ejemplo
1. Ves al directorio /home/pi/profinet/build:
cd /home/pi/profinet/build
sudo ifconfig eth0 192.168.0.50 netmask 255.255.255.0 up
sudo ./pn_dev -v -v -v -v
Desde el PLC Raspberry
1. Configura la interfaz Ethernet desde el PLC industrial Raspberry Pi y establece la dirección IP inicial:
sudo ifconfig eth0 192.168.0.100 netmask 255.255.255.0 up
sudo apt update sudo apt install -y tshark
sudo groupadd tshark
sudo usermod -a -G tshark $USER
tshark --version
sudo tshark
tshark -D
sudo tshark -i eth0
Obtén los resultados


LLDP
LLDP o Link Layer Discovery Protocol es utilizado por PROFINET para determinar y gestionar las relaciones de vecindad entre los dispositivos PROFINET. LLDP utiliza la dirección MAC especial de multidifusión: 01-80-C2-00-00-0E y la capa de enlace Ethernet II y IEEE 802. 1Q y Ethertype 0x88CC (PROFINET). Por último, el número de puerto no es relevante:

Autoinicio en el arranque
· Si quieres que pnet se ejecute cuando la Pi se encienda, o se reinicie, primero activa la consola del puerto serie escribiendo la línea
enable_uart=1
en el archivo /boot/config.txt
1. Ve a /etc/dhcpcd.conf e incluye estas líneas para establecer una IP estática:
interface eth0 static ip_address=192.168.0.100/24
2. A continuación, puedes habilitar el servicio para que se inicie automáticamente ejecutando los siguientes comandos:
sudo cp /home/pi/profinet/p-net/src/ports/linux/pnet-sampleapp.service /lib/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable pnet-sampleapp.service
Iniciar el servicio
sudo systemctl start pnet-sampleapp.service
· Para ver el estado del proceso, y la salida del registro:
sudo systemctl status pnet-sampleapp.service
journalctl -fu pnet-sampleapp
Por último, reinicia para aplicar los cambios y poner en marcha tu servicio.