RISOLTO Gestione schede I/O PCI su PC industriale

Stato
Discussione chiusa ad ulteriori risposte.

Luke82

Nuovo Utente
4
1
Ciao a tutti, avrei bisogno di una serie di informazioni per mettere in piedi un applicazione che per molti di voi sicuramente sarà banale, quindi mi scuso se quello che chiedo può sembrare banale!!
Su un PC industriale della Advantech ho messo una scheda I/O con cui poi devo comunicare con il mondo dell'automazione. Per essere più preciso ho un'applicazione di visione da interfacciare...il dubbio iniziale che mi sorge è il seguente, su schede come queste posso dall'applicazione andare a scrivere e leggere direttamente i segnali messi a disposizione dalla scheda I/O, o devo passare per linguaggi di programmazione come Java, C# o altro che sono leggibili dalla scheda stessa?
Ciao, grazie mille a tutti!!!
 

pabloski

Utente Èlite
2,868
916
Le schede elettroniche non leggono i linguaggi. Hanno una serie di registri nei quali porre alcuni valori per ottenere certi effetti. Anche la lettura dei parametri è fatta così.

Detto questo, tutto dipende dal resto del sistema. Se è un normale pc ( o qualcosa di simile ) con un sistema operativo tradizionale, c'è solo un modo per comunicare direttamente con l'hardware, ossia scrivere un driver.

Ma se è una scheda venduta per essere interfacciata con macchine del genere, sicuramente il produttore fornirà i driver. E allora non ti resta altro che scrivere un programma che comunichi col driver, tramite i metodi forniti dal sistema operativo. Sotto Linux si apre il device node relativo e si usano read/write e ioctl per comunicare col driver collegato al device node.

Ma anche in questo caso, il produttore ha al 90% realizzato una libreria apposita che si occupa di interfacciarsi col driver. E a te non resta altro che usarla.

Ovviamente non conoscendo la periferica e il produttore, non so cosa offre a parte l'hardware.
 
  • Mi piace
Reazioni: Andretti60

Luke82

Nuovo Utente
4
1
Grazie per la risposta innanzitutto, la tua spiegazone mi sarà molto utile per cominciare!!
Sulla scheda tenica del prodotto come download ci sono i driver come hai detto tu, mi aveva tratto in inganno il fatto che su una delle tante voci della scheda tecnica c'è scritto "Linguaggi di programmazione", tra cui C++ e C#, per questo pensavo che avrei dovuto sviluppare un applicazione con quei programi che facesse da tramite tra la scheda e l'applicativo del software di visione(il software è Halcon della VTec, mentre la scheda e della Advantech).
Grazie mille.
 
Ultima modifica da un moderatore:

pabloski

Utente Èlite
2,868
916
su una delle tante voci della scheda tecnica c'è scritto "Linguaggi di programmazione", tra cui C++ e C#

Nella scheda del software? Vedo che Halcon fornisce un IDE e tutta una serie di librerie per lo sviluppo di applicazioni di visione computazionale. Ed elenca una serie di linguaggi supportati, cioè ti dice quanti e quali bindings hanno le loro librerie.

Vedo che invce Advantech produce sistemi embedded x86 e ARM. Quindi è probabile che la piattaforma software sia basata su Linux, Qnx, Vxworks o un altro delle decine di OS realtime embedded. Comunque non credo si debba programmare bare-metal. Tant'è che tu stesso dici che offrono un driver.
 

Luke82

Nuovo Utente
4
1
Non del software ma nella scheda tecnica della scheda di rete I/O dell'Advantech. Con la scheda forniscono anche un CD, in cui c'è un applicativo da installare sul PC per fare le varie impostazioni di distema sulla scheda I/O, più driver manuali, tutorial, librerie e quant'altro.
Tra i vari manuali però ho troato questa pagina, visto che tu prli di registri, non ho capito il senso della foto in allegato...
Comunque continuo a scandagliare i manuali per capirci qualcosa di più!!
 

Allegati

  • architettura scheda.png
    architettura scheda.png
    497 KB · Visualizzazioni: 116

pabloski

Utente Èlite
2,868
916
Tra i vari manuali però ho troato questa pagina, visto che tu prli di registri, non ho capito il senso della foto in allegato...
Comunque continuo a scandagliare i manuali per capirci qualcosa di più!!

Quell'immagine ti dà una visione astratta di cosa loro ti offrono, di quali sistemi operativi sono supportati, com'è l'architettura del loro software, dai driver in su.

E' una sintesi di cosa offrono, ma ovviamente non ti dice in dettaglio come usare le varie parti.

Per esempio dice che forniscono driver per vari OS e fa vedere pure quali. O che supportano Qt, Labview e vari framework di programmazione.
 

rctimelines

Utente Èlite
5,143
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Scusa, ma tu cosa vorresti fare?

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
U

Utente 16812

Ospite
I moduli PLC dedicati alla visione "artificiale" (utilizzati ad esempio nella guida robotica o nei sistemi di ispezione) solitamente s'interfacciano con telecamere (di solito "smart", dotate di MCU di elaborazione), sistemi di lenti (gli obiettivi) e di illuminazione, ecc., e il loro controller può essere un IPC (PC industriale) su cui è installato Win "embedded" o Linux oppure ancora un S.O. embedded real-time.
Il software di gestione fornisce l'HMI (l'interfaccia operatore), gestisce i collegamenti remoti, il login e la password, la visualizzazione e la memorizzazione delle varie statistiche e così via, e comprende anche gli algoritmi di image processing (il clipping, la convoluzione, la correlazione, il filtraggio, ecc.) ma tali librerie sono, nella maggior parte dei casi, proprietarie, per cui va verificato, di volta in volta, il tipo di supporto software fornito dalla casa costruttrice.
E' possibile l'implementazione di un controller PAC che presenta le funzioni sia di un PC di controllo che le caratteristiche di un PLC, una sorta di "soft-PLC" in definitiva: la differenza è che il PLC effettua continuamente la scansione degli I/O ad alta velocità mentre il PAC utilizza un database tag-name (basato sul nome dato ad un oggetto utilizzato come parte di un sistema di controllo) e un indirizzo di sistema per "mappare" i punti I/O a seconda delle esigenze.
Per quanto riguarda il software, esso è in grado di permettere l'uso di linguaggi simbolici o grafici, simili a schemi di flusso, associati a S.O. real-time. Ne ho parlato qui:
Ciascun fornitore propone le proprie soluzioni, occorre valutare le interfacce per il bus di campo, l'HMI integrato, il processore, la memoria, il processamento dei task (soprattutto nel caso di controlli real-time), la gestione delle comunicazioni, i vari requisiti di sicurezza e di robustezza e così via (anche il prezzo, ovvio).
A presto ;)

P.S. Avremo modo di riparlare delle piattaforme integrate di sistemi SCADA (qui volutamente trascurate) :asd:
 

Luke82

Nuovo Utente
4
1
In realtà ho chiesto anche a chi mi ha fornito il materale ed mi sono fatto mille problemi per niente...Il software di visione Halcon di suo ti fa già scaricare delle interfacce per andare a leggere e scrivere i registri che la scheda I/O dela Advantech mette a disposizione.
Logicamente la scheda I/O va configurata con il Spftware che loro stessi mettono a disposizione!!
Non mi rimane che studiare quelle che sono le funzioni da utilizzare nell'applicazione di visione.
Per ora grazie a tutti per l'aiuto!!
 
  • Mi piace
Reazioni: Utente 16812
U

Utente 16812

Ospite
In realtà ho chiesto anche a chi mi ha fornito il materale ed mi sono fatto mille problemi per niente...Il software di visione Halcon di suo ti fa già scaricare delle interfacce per andare a leggere e scrivere i registri che la scheda I/O dela Advantech mette a disposizione.
Logicamente la scheda I/O va configurata con il Spftware che loro stessi mettono a disposizione!!
Non mi rimane che studiare quelle che sono le funzioni da utilizzare nell'applicazione di visione.
Per ora grazie a tutti per l'aiuto!!

Sì, infatti, perfetto, grazie :ok:
In un apposito thread (quello dedicato alla "Cibernetica") vedremo anche i sistemi di visione artificiale, quando parlerò di Robotica Industriale :asd:
Auguroni di buone feste :brindiamo:

P.S. Si può chiudere, segnalo a @Mursey e @Manuel Ferrari ;)
 
  • Mi piace
Reazioni: Manuel Ferrari
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!