Skip to content

Carlo-Rosso/soem_ec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EtherCAT Control PoC (Windows + SOEM)

Questa repository è un Proof of Concept (PoC) sviluppato per testare la fattibilità del controllo diretto di moduli Beckhoff EtherCAT da un PC Windows standard, bypassando la dipendenza attuale dal sistema HiPac/PLC.

L'obiettivo è valutare librerie e architetture (C++ con SOEM) per implementare funzionalità future di test e automazione direttamente da PC, accettando i limiti di determinismo (non real-time) intrinseci di Windows per scopi di mockup o controllo non critico.

🛠 Hardware Supportato (Testato)

Il software è stato testato con la seguente configurazione hardware:

  • Master: PC Windows standard (Ethernet port).
  • Accoppiatore: Beckhoff EK1100.
  • Moduli I/O:
    • EL1004 (Digital Input 4 Ch).
    • EL2008 (Digital Output 8 Ch).
    • Altri moduli (EL3xxx, EL6xxx) vengono rilevati ma potrebbero richiedere configurazioni specifiche.

📋 Prerequisiti

Prima di compilare, assicurati di aver installato quanto segue:

1. Npcap (Driver di Rete)

Windows non permette l'invio di pacchetti Ethernet raw nativamente. È necessario un driver.

  • Scarica l'installer da: https://npcap.com/#download
  • ⚠️ IMPORTANTE: Durante l'installazione, devi spuntare la casella:

    "Install Npcap in WinPcap API-compatible Mode"

  • Senza questa opzione, la libreria SOEM non troverà la scheda di rete.

2. Pixi (Package Manager)

Utilizziamo pixi per gestire le dipendenze di compilazione (CMake, Ninja, Compilatori) in modo isolato e riproducibile.

  • Installazione (PowerShell):
    iwr -useb [https://pixi.sh/install.ps1](https://pixi.sh/install.ps1) | iex
  • O consulta la guida ufficiale.

📂 Struttura della Repository

.
├── pixi.toml           # Configurazione dipendenze (Cmake, Ninja, Compilers)
├── CMakeLists.txt      # Configurazione di build (scarica SOEM automaticamente)
├── README.md           # Questo file
└── src/
    └── main.cpp        # Logica dell'applicazione (Scanner + Control Loop)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors