Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

OPC-UA

643 views
Skip to first unread message

BFS

unread,
Mar 6, 2019, 1:43:34 AM3/6/19
to
mi chiedono di interfacciarmi a un macchinario tramite il "protocollo"
in oggetto

non sono neppure certo sia un protocollo visto che l'unica
documentazione che mi hanno fornito è una semplice lista di
variabili/parametri da leggere dal macchinario

qualcuno ha mai affrontato il problema?

grazie
BFS

@Alex

unread,
Mar 6, 2019, 3:02:32 AM3/6/19
to
E' un protocollo di comunicazione compatibile con le Policy di Cyber Security in quanto si basa su un TUNNELLING tra un OPC_CLIENT ed un OPC_SERVER.
Questi protocolli richiedono ovviamente SW dedicati... anche se esiste in OPC_Foundation tutto l'SDK per svilupparsi un CLIENT... ma lascia perdere.

Sono usati principalmente nei sistemi di Automazione.

Io uso questi protocolli da 15 anni, anzi uso OPC_DA che è la versione precedente, ma molti dovranno migrare, nel caso di esportazione dati tra RETI differenti alla versione OPC_UA proprio per le certificazioni di Cyber Security.

Nel mio cato tuttavia, lo usiamo con sistemi Terzi già dotati di CLIENT/SERVER, ad esempio PI di OSI-Soft.

Esistono in commercio dei componenti COM che consentono la connessione, spesso usati con EXCEL, presumo compatibili anche con Access...

http://www.opclabs.com/products/quickopc/options/excel?gclid=EAIaIQobChMI_NyytITt4AIVE-J3Ch2JJwkpEAAYASAAEgIeovD_BwE

http://www.opclabs.com/forum/ua-com-reading-writing-subscriptions/2388-use-vba-in-excel-to-access-opc-ua-data

https://www.faweb.net/us/opc/sample_excel.html

@Alex

RobertoA

unread,
Mar 6, 2019, 3:04:57 AM3/6/19
to
Si
Se cerchi 'opc driver' vien giu' un miliardo di roba
E' l'equivalente di un driver odbc nel mondo delle apparecchiature
Serve sostanzialmente per consentire ad una procedura software di
dialogare in modo standard con apparecchiature di diverse marche/tipologie
E' essenziale disporre del driver opc per l'apparecchiatura in
questione, se fosse un plc Siemens allora ti serve il driver opc per
QUEL plc Siemens
Senza di quello non fai niente
Io l'ho usato per leggere informazioni da un plc Wago al quale erano
collegati dei moduli per lettura encoder, tensione, corrente

http://www.vbforums.com/showthread.php?413748-Excel-and-VBA-as-OPC-client

BFS

unread,
Mar 6, 2019, 3:13:23 AM3/6/19
to
ottimo
costo di questi componenti COM a parte direi che si tratta poi di poche
righe di codice.

proverò sentire quelli del macchinario in questione se hanno qualcosa da
fornire

Grazie




BFS

unread,
Mar 6, 2019, 3:15:01 AM3/6/19
to
mi sfugge una cosa
dai link forniti da Alessandro sembra un qualcosa di standard, in
pratica se ne compro uno mi interfaccio a tutti i macchinari che usano
questo protocollo

mentre da quello che scrivi tu, mi par di capire che serve un componente
specifico per il macchinario la tipologia di macchinario in questione
ho capito male?

grazie
BFS

@Alex

unread,
Mar 6, 2019, 3:19:44 AM3/6/19
to
È standard posso assicurarti.
Il protocollo è universalmente riconosciuto tutte le apparecchiature che lo supportano espongono tramite un OPC SERVER la collezione dei dati.
Un qualsiasi OPC CLIENT legge qualsiasi OPC SERVER.
Ovviame nel tuo caso parliamo di UA quindi basta che l'apparecchiatura lo supporti.

Saluti.
@Alex

RobertoA

unread,
Mar 6, 2019, 3:26:51 AM3/6/19
to
Standard e' la modalita' di comunicazione, come dire l'sql nei db
Poi ogni marca ha il suo driver (come per ogni db server esiste il
driver odbc specifico) per far comunicare i suoi prodotti con quello
standard
Io so per certo che per i plc Wago, i plc Siemens, e gli Omron e' cosi,
e quindi serve avere il driver Wago, Siemens, Omron
Non sono a conoscenza diretta di 'sistemi universali', che preso quello
possa bastare per tutto

RobertoA

unread,
Mar 6, 2019, 3:31:45 AM3/6/19
to
Si, ma quel OPC SERVER cui fai riferimento sopra, e' specifico per ogni
tipo di macchina, e quindi se hai una linea con plc Siemens ed una linea
con plc Omron, devi prendere il server opc Siemens ed il server opc Omron
Tanti opc server che poi potrai interrogare da un unico client
Ma se da una parte hai il computer e dall'altra i plc, DEVI prendere
tanti opc server quante sono le marche diverse dei plc
(a meno che il server opc non sia integrato nell'elettronica dei plc)
Credo sia questo volesse sapere BFS

@Alex

unread,
Mar 6, 2019, 3:32:14 AM3/6/19
to
No non è come dici... sembra tu non sappia di cosa parli.
Uso OPC da 15 anni e con solo 1 OPC CLIENT leggo SIEMENS/GENERAL ELECTRIC/ABB ecc...

Opc faundation è un protocollo al.qyale i costruttori si adeguano creando interfacce standard.

Per il resto fate voi...
@Alex

@Alex

unread,
Mar 6, 2019, 3:34:05 AM3/6/19
to
Ovvio che ogni costruttore abbia il proprio sw che legge dalle periferiche ... ma tu non hai bisogno di questo... se ti.viene detto che il sistema espone l'interfaccia OPC tu che hai un client leggi sempre.

@Alex

RobertoA

unread,
Mar 6, 2019, 3:39:42 AM3/6/19
to
Il 06/03/2019 09:34, @Alex ha scritto:
> Ovvio che ogni costruttore abbia il proprio sw che legge dalle periferiche ... ma tu non hai bisogno di questo... se ti.viene detto che il sistema espone l'interfaccia OPC tu che hai un client leggi sempre.
>
> @Alex
>

Non e' ovvio
E BFS ha ANCHE bisogno di questo
Poi mi dirai dove hai letto che il sistema descritto 'espone
l'interfaccia OPC'

BFS

unread,
Mar 6, 2019, 3:50:47 AM3/6/19
to
forse comincio a capire la questione
faccio una analogia con i registratori di cassa che sono oggetti con cui
mi interfaccio normalmente

Se un registratore di cassa supporta il protocollo xon/xoff a me della
marca e modello non frega nulla...so che lo scontrino che invio in
seriale viene stampato

Credo sia la stessa cosa no?
Se il macchinario supporta questo protocollo opc-ua io del macchinario
me ne posso fregare, so che posso leggere le variabili/parametri che il
macchinario mi rende disponibili

capito giusto?

grazie
BFS

@Alex

unread,
Mar 6, 2019, 4:29:08 AM3/6/19
to
Perfetto.

@Alex

BFS

unread,
Mar 6, 2019, 4:37:10 AM3/6/19
to
Il 06/03/2019 10:29, @Alex ha scritto:
> Perfetto.
>
> @Alex
>

bene
chiarito cio
nel tuo caso hai acquistao uno di questi com/dll? se si quale?
hai sviluppato tutto da zero?

grazie
BFS

@Alex

unread,
Mar 6, 2019, 6:16:50 AM3/6/19
to
Sviluppare con VBA non se ne parla, uso SW dedicati che integrano già l'OPC-CLIENT, quindi per me è solo questione di configuarare le TAGS da leggere.

Come ti accennavo, uso OPC con Client di 3° Parti, non ho mai necessitato di accedere da VBA, i link che ti ho girato però "OPCLABS" sono abbastanza conosciuti nel settore.

Ti suggerisco tuttavia, se vuoi e se già operi con NET, di provare a fare qualche riscerca appunto in ambito VisualStudio, in quanto so che ci sono applicazioni anche Free con Codice OPENSOURCE.

https://support.industry.siemens.com/cs/document/109737901/creating-of-opc-ua-clients-with-net-and-helper-class?dti=0&lc=en-WW

https://documentation.unified-automation.com/uasdkdotnet/2.6.1/html/L2ClientTutEmptyProject.html

Se vuoi accedere alle SDK per NET:
https://github.com/OPCFoundation/UA-.NETStandard
https://github.com/OPCFoundation/UA-.NET-Legacy
https://github.com/convertersystems/opc-ua-client

Saluti
@Alex

@Alex

unread,
Mar 6, 2019, 6:21:32 AM3/6/19
to
Quando ti chiedono di realizzare un sistema che LEGGA da un OPC-SERVER è dato per scontato che l'OPC-SERVER ci sia, o sarà cura di chi ti deve garantire il servizio renderlo disponibile.

Il mondo OPC rappresenta una BARRIERA FISICA tra il Costruttore dell'apparecchiatura ed i suoi metodi di interrogazione e l'utente che deve accedere.
Come il MODBUS... se il Costruttore non fornisce la Tabella dei Registri... io che devo leggere non posso certo inventarmi di farlo...!

L'utente si occupa solo di LEGGERE quindi del CLIENT.

@Alex

RobertoA

unread,
Mar 6, 2019, 6:40:45 AM3/6/19
to
Che l'opc server ci sia, non e' scontato manco per niente
La richiesta fatta da bfs e'
"..mi chiedono di interfacciarmi a un macchinario tramite il
"protocollo" in oggetto.."
E quindi indicargli la necessita' della presenza componente opc server,
specifica per lo strumento/dispositivo che andra' ad interfacciare, non
e' affatto un'indicazione superflua
Anzi e' proprio la necessita' principale, la parte centrale del tutto




BFS

unread,
Mar 6, 2019, 8:42:34 AM3/6/19
to
ottimo grazie, i dati mi servono in un db access quindi purtroppo non
posso usare .net
a meno che non sviluppo un'applicazione .net che faccia da ponte. valuto
e decido

BFS



BFS

unread,
Oct 15, 2019, 3:47:59 AM10/15/19
to
riapro questa discussione
devo abbandonare la soluzione .net (per la quale avrei la pappa pronta
su github) perchè il certificatore dice che per avere i crediti
industria 4.0 il gestionale in access deve comunicare direttamente con
il macchinario senza "tramiti" di altri software.

La cosa mi ha lasciato perplesso ma mi dicono che è cosi.
Quindi la mia idea di usare una app .net per fare da ponte la devo scartare.

qualche dll/ocx collaudata e non costi un bagno di sangue?

BFS

RobertoA

unread,
Oct 15, 2019, 4:43:00 AM10/15/19
to
Ho esperienza diretta che questa cosa non sia richiesta su installazione
che stiamo seguendo (officina torneria)
Per 'certificatore' intendi il tecnico che deve stilare un rapporto di
conformita' secondo le direttive previste per la concessione benefici
relativi al programma Industria 4.0 ?
Potresti chiedere espressamente di farti dare qualche riferimento a
documentazione (normative, direttive, ecc...) relativa a questo
specifico divieto?


BFS

unread,
Oct 15, 2019, 4:56:09 AM10/15/19
to
'certificatore' si intendo quello

purtroppo non ho modo di interfacciarmi direttamente con il cliente
finale. Un terzo soggetto mi ha commissionato il software.
la cosa assurda è che il macchinario si potrebbe gestire in imput che in
output tramite dei txt salvati/letti con dentro i comandi per ma
macchina in una cartella concordata, una banalità.
Ma nulla, dicono che la lettura deve essere in tempo reale sul
macchinario tramite OPC-UA

BFS





RobertoA

unread,
Oct 15, 2019, 6:12:09 AM10/15/19
to
Non ho approfondito la documentazione normativa, ma mi risulta ben
difficile pensare che il legislatore abbia inserito vincoli su COME fare
le cose
E' piu' plausibile pensare ci siano vincoli sugli obiettivi finali da
ottenere, che poi li si ottenga da un programma, da un macchinario, o da
un programma in cloud, indifferente dovrebbe essere
Comunque se qualcuno avesse informazioni sicure relativamente a queste
problematiche, credo farebbe cosa utile a tutti chiarendoci la questione

simoca...@gmail.com

unread,
Oct 15, 2019, 6:41:12 AM10/15/19
to

> riapro questa discussione
> devo abbandonare la soluzione .net (per la quale avrei la pappa pronta
> su github) perchè il certificatore dice che per avere i crediti
> industria 4.0 il gestionale in access deve comunicare direttamente con
> il macchinario senza "tramiti" di altri software.


??


> La cosa mi ha lasciato perplesso ma mi dicono che è cosi.
> Quindi la mia idea di usare una app .net per fare da ponte la devo scartare.
>
> qualche dll/ocx collaudata e non costi un bagno di sangue?


Pure la dll/ocx è un *software* che fa da tramite tra la tua applicazione e il macchinario.
Comunque non c'è bisogno che tu spieghi ai committenti ogni scorreggia che fai (vizio che già in passato t'ha creato problemi).

Saluti

@Alex

unread,
Oct 15, 2019, 7:46:20 AM10/15/19
to
Copncordo con Simone, che differenza c'è tra una LIBRERIA di terze parti magari Matricon, rispetto ad una fatta in NET...?
Sempre componenti esterni sono... e che un applicativo possa avere necessità di Componenti COM, in questo caso OPCUA è l'unico che soddisfa le regole di CYBER, non credo sia da spiegare...!

Altra cosa invece, è se per le normative di CYBER, sei tenuto a CERTIFICARE i componenti esterni... per chi ci capitasse in mezzo ora abbiamo anche la Direttiva europea 2016/1148, cosiddetta Direttiva NIS, che con D.lgs. 18 maggio 2018, n.65, è stata recepita in Italia.


Prova a vedere questa:
https://integrationobjects.com/opc-products/opc-unified-architecture/opc-ua-client/

Io utilizzo tutti i protocolli, incluso il recente OPC UA che appunto è stato pensato per essere compatibile con le normative di Cyber che nella sostanza eliminano le DCOM, inglobando un sistema di TUNNEL criptato, ma con SW scada propretari...

Saluti
@Alex

BFS

unread,
Oct 15, 2019, 9:02:27 AM10/15/19
to
Il 15/10/2019 12:41, simoca...@gmail.com ha scritto:
>

> Pure la dll/ocx è un *software* che fa da tramite tra la tua applicazione e il macchinario.
> Comunque non c'è bisogno che tu spieghi ai committenti ogni scorreggia che fai (vizio che già in passato t'ha creato problemi).
>
> Saluti
>
non è questione di spiegare cosa faccio al committente..

il problema è che il produttore del macchinario ha fornito delle specifiche
e cioè per dare dei comandi alla macchina, salva in tal cartella tal
file txt con dentro tali stringhe
la macchina ti riponderà salvando file txt di esito il tal cartella,
aprili e leggi l'esito e mostralo sul gestionale.
quindi una banalità

ora sta cosa a sto cavolo di certificatore non sta bene, vuole che la
comunicazione sia diretta tra gestionale e macchina, anche se il
risultato al lato pratico è lo stesso.

ovviamente per il "paron della baracca" che non capisce nulla di ste
cose pare na banalità che gli devo risolvere, possibilmente per ieri.

mi par di capire che in vba non si trovi nulla di pronto.

sto vedendo questo
https://integrationobjects.com/opc-products/opc-data-archiving/opc-client-for-ms-access/

ma anche qui non capisco, parlano di compatibilità con

OPC Data Access 2.05a
OPC Data Access 2.00
OPC Data Access 1.0a
OPC Data Access 3.00

che non ho idea di cosa siano

in pratica c'è un cambio di carte in tavola..fortunatamente quello che
era mio compito sviluppare l'ho messo nero su bianco e validato dal
produttore della macchina (soluzione txt)
è che mi rompe non soddisfare il cliente

ma tu qualcosa hai sviluppato da access a queste macchine tramite opc?

ciao



BFS

unread,
Oct 15, 2019, 9:06:03 AM10/15/19
to
scusa non ho capito questa affermazione sul "io utilizzo"

"Io utilizzo tutti i protocolli, incluso il recente OPC UA che appunto è
stato pensato per essere compatibile con le normative di Cyber che nella
sostanza eliminano le DCOM, inglobando un sistema di TUNNEL criptato, ma
con SW scada propretari..."

Da un applicativo access tu comunichi con i macchinari o ti interfacci
semplicemente a un applicativo che hai gia i dati dentro?


@Alex

unread,
Oct 15, 2019, 9:15:15 AM10/15/19
to
> scusa non ho capito questa affermazione sul "io utilizzo"
>
> "Io utilizzo tutti i protocolli, incluso il recente OPC UA che appunto è
> stato pensato per essere compatibile con le normative di Cyber che nella
> sostanza eliminano le DCOM, inglobando un sistema di TUNNEL criptato, ma
> con SW scada propretari..."
>
> Da un applicativo access tu comunichi con i macchinari o ti interfacci
> semplicemente a un applicativo che hai gia i dati dentro?

No no no... access e la gestione del sistema di automazione di un impianto industriale SIL3 non hanno nulla a che fare...
Utilizzo i protocolli di interfacciamento, quindi so di cosa si parla, ma non con Access, con SCADA ABB e General Electric.

Fai attenzione che l'OPC Data Access(versioni 2÷3) di cui parli non è OPC UA, sono 2 cose diverse....

@Alex

BFS

unread,
Oct 15, 2019, 9:36:43 AM10/15/19
to
azz ne capisco sempre meno
quindi neppure questo andrebbe bene?
https://www.matrikonopc.com/products/opc-archiving/excel-reporter.aspx





RobertoA

unread,
Oct 15, 2019, 10:20:12 AM10/15/19
to
Il 15/10/2019 15:02, BFS ha scritto:
> Il 15/10/2019 12:41, simoca...@gmail.com ha scritto:
>>
>
>> Pure la dll/ocx è un *software* che fa da tramite tra la tua
>> applicazione e il macchinario.
>> Comunque non c'è bisogno che tu spieghi ai committenti ogni scorreggia
>> che fai (vizio che già in passato t'ha creato problemi).
>>
>> Saluti
>>
> non è questione di spiegare cosa faccio al committente..
>
> il problema è che il produttore del macchinario ha fornito delle specifiche
> e cioè per dare dei comandi alla macchina, salva in tal cartella tal
> file txt con dentro tali stringhe
> la macchina ti riponderà salvando file txt di esito il tal cartella,
> aprili e leggi l'esito e mostralo sul gestionale.
> quindi una banalità
>


Ma se dal gestionale scrivi i file comandi, li piazzi nella memoria
macchina, ed ottieni dei file in risposta (che il programma puo' leggere
automaticamente), non e' gia' completa cosi' l'interconnessione?
Cos'e che non gli comoda all'ingegggnere?

BFS

unread,
Oct 15, 2019, 10:28:41 AM10/15/19
to
a saperlo...
il tramite mi dice che non si tratta di connessione diretta, nel senso
che il gestionale non legge i valori da dentro la macchina.
tutto sto casino per cose che non useranno mai visto che a naso servono
solo per il superammortamento
bah

@Alex

unread,
Oct 16, 2019, 2:54:13 AM10/16/19
to
La ditta di cui hai inviato il link, la stessa che poi ti ho indicato credo sviluppi anche un client OPC UA per MsAccess ma devi scrivere.

Fai attenzione solo al protocollo OPC UA è diverso da OPC DA... quest'ultimo richiede le dcom ed è in via di dismissione per conflitti in tema di Cyber.

Ciao
@Alez

BFS

unread,
Oct 16, 2019, 3:04:53 AM10/16/19
to
quindi il prodotto giusto potrebbe essere questo
https://www.opclabs.com/products/quickopc/languages-and-tools/vb6

che nella documentazione
http://opclabs.doc-that.com/files/onlinedocs/QuickOpc/Latest/User%27s%20Guide%20and%20Reference-QuickOPC/webframe.html#Visual%20Basic%20Examples%20(VB%206.0).html

indica la possibilità di leggere e visualizzare i valori del macchinario
tramite OPC-UA

UAReadAndDisplayValue: The simplest form for OPC-UA. Reads and displays
an OPC-UA node value.

a partire da 3000 euro..non male



@Alex

unread,
Oct 16, 2019, 7:49:50 AM10/16/19
to
Puoi provare questo prodotto:
https://cogentdatahub.com/features/protocols/opc-ua/

Noi lo usiamo ed è molto affidabile e performante anche su gruppi TAGS di oltre 50000...

Non so se espone Interfaccia COM ma sicuramente DDE.

I costi sono da ridefinire in relazu9ne allo sblocco licenze... quindi devi individuare la configurazione.

@Alex

BFS

unread,
Oct 22, 2019, 2:09:48 AM10/22/19
to
Il 06/03/2019 07:43, BFS ha scritto:
> mi chiedono di interfacciarmi a un macchinario tramite il "protocollo"
> in oggetto
>
> non sono neppure certo sia un protocollo visto che l'unica
> documentazione che mi hanno fornito è una semplice lista di
> variabili/parametri da leggere dal macchinario
>
> qualcuno ha mai affrontato il problema?
>
> grazie
> BFS


aggiorno la situazione se in futuro a qualcuno può servire

allora codice per collegarsi direttamente da MS Access/VBA tramite
OPC-UA senza il supporto di costosissimi tool/dll non ne ho trovoti.

ho trovato invece codice e dll free per collegarsi da vba con OPC-DA
ma essendo un protocollo che va a "morire" da quello che ho capito, è
inutile usarlo e quindi non ci ho perso più di tanto tempo

per OPC-UA online ho trovato sia esempi in vb.net sia in python free e
facili da adattare, quindi la mia soluzione sarà quella di far aprire
direttamente dal mio MDB gli exe personalizzati e compilati di quei
linguaggi. A livello visivo non cambierà nulla. E l'operatore non si
renderà conto che non ha aperto una maschera del db ma un exe esterno.
Almeno spero

considerazione finale, ho l'impressione che msaccess non se lo "caghi"
più nessuno

BFS





@Alex

unread,
Oct 22, 2019, 3:58:46 AM10/22/19
to
Ti do una risposta tecnica, perchè è l'unica che può avere senso...!
Usare Access per fare questo tipo di connessioni è impensabile, proprio tecnicamente...!
Serve un linguaggio che possa lavorare in MultiThread, e come sai il VBA non può.
Ora non so di quante TAGS tu stia parlando e che RefreshTime sia applicato... ma se anche qualcuno sviluppasse una roba simile con Access, poi no avrebbe tempo per fare altro... Access parlo.

Quindi serve sicuramente un oggetto ASINCRONO in MULTITHREAD esterno.

Un sistema di Automazione normale scambia qualche decina di migliaia di TAGS se l'OPC Server è impostato in modalità Sincrona da dispositivo... ovvero fa il POLLING di tutte le TAGS ogni x(ms)... i tempi sono importanti ma alcune volte serve.
In teoria la connessione OPC dovrebbe invece essere configuarata per funzionare BY-EXCEPTION, ovvero generare un EVENTO che il client riconosce, ed andare a leggere solo quelle TAGS che hanno superato la banda morta di insensibilità.
Purtoppo questa modalità non sempre funziona, pur essendo standard, tra varie Case.

Da considerare poi il sistema che acquisisce il dato... che, la dove non riceve variazioni deve avere un corretto metodo di INTERPOLAZIONE, altrimenti se tira una retta tra il prima ed il dopo genera dei dati inutili.
I sistemi più corretti memorizzano il Dato PRIMA e DOPO la variazione, in questo modo non generano rampe di valori ma scalini, come è giusto che sia.

Quindi fai attenzione anche tu a come vengono acquisiti i dati, poichè anche se hai sempre un TimeStamp associato è possibile che il sistema possa ingannarti.

Ciao
@Alex

BFS

unread,
Oct 22, 2019, 4:25:06 AM10/22/19
to
non devo fare nulla di incredibile, i macchinari hanno gia i loro mega
software che monitorizzano qualsiasi cosa, con alert etc

nel mio specifico caso dovevo semplicemente andare a leggere un paio di
tag da un macchinario, e su richiesta del operatore

in pratica solo alla pressione di un pulsante e vado a leggermi pezzi
prodotti e livello serbatoio del macchinario e finita li

tanto per dimostrare che c'è una interconnessione tra gestionale e
macchinario per questa benedetta industria 4.0 (più che altro per avere
il superammortamento)

tra l'altro dati che al titolare non frega nulla di vedere in un
gestionale di ordini, bolle, fatture ma purtroppo come detto senza
questa connessione il certificatore non certifica

ciao
BFS







RobertoA

unread,
Oct 22, 2019, 9:44:25 AM10/22/19
to
Storia interessante
Non e' ancora ben chiaro perche' prima no (comando a colpi di file di
testo), adesso si (gestionale che parla con l'exe python o dotnet)

BFS

unread,
Oct 22, 2019, 10:04:51 AM10/22/19
to
probabile che con i txt non siano rispettate certe condizioni di
sicurezza come spiegava Alessandro.
Con opc-ua, la comunicazione tra gestionale e macchina avviene tramite
certificato tra le varie opzioni.

Poi, nel mio scenario, che cavolo ci sia da proteggere su uno scambio di
informazioni di quanti pezzi di plastica ha prodotto una macchina non ne
ho idea, potrei capire su comunicazioni tra software e macchinari di una
centrale nucleare o medici.

vedremo come va a finire
BFS






BFS

unread,
Oct 29, 2019, 1:30:23 PM10/29/19
to
Il 06/03/2019 07:43, BFS ha scritto:
> mi chiedono di interfacciarmi a un macchinario tramite il "protocollo"
> in oggetto
>
> non sono neppure certo sia un protocollo visto che l'unica
> documentazione che mi hanno fornito è una semplice lista di
> variabili/parametri da leggere dal macchinario
>
> qualcuno ha mai affrontato il problema?
>
> grazie
> BFS

update

allora alla fine ho risolto sviluppando una applicazione in phyton che a
mo di servizio legge i valori dei nodi che mi servivano e me li scrive
dentro apposita tabella del file mdb con una frequenza personalizzabile.

Quando nel mio gestionale apro la maschera di visualizzazione dei valori
che mi interessano del macchinario, avvio l'app in phyton che inizia a
fare il lavoro di rilevazione e salvataggio dentro l'mdb.
La mia form aggiorna i dati visualizzati prendendo sempre quelli con il
timestamp più recente.

Alla chiusura della maschera chiudo l'app "ponte"
La tabella con i valori rilevati la svuoto ad ogni apertura chiusura, ma
nulla vieta di tenerla come storico a fini statistici

vediamo ora cosa dice il certificatore
BFS







RobertoA

unread,
Oct 29, 2019, 2:24:44 PM10/29/19
to
"..legge i valori dei nodi.."
Ma usi sempre qualche libreria 'precotta' da python a opc server oppure
cosa?

BFS

unread,
Oct 29, 2019, 3:28:48 PM10/29/19
to
si
opcua per gestire connessione e lettura nodi
pyodbc per gestire la connessione mdb/server
e almeno con i 4 nodi che mi servono va benone.
come editor spyder 3

non è un linguaggio che ho mai studiato ma la facilità con cui ho tirato
su l'ambiente di sviluppo e la sua semplicità mi ha lasciato sbalordito
rispetto ad altri oop

sicuramente inizierò a dedicarci ore di studio





Davide La Mantia

unread,
Dec 23, 2022, 11:37:40 AM12/23/22
to
Il giorno mercoledì 6 marzo 2019 alle 09:02:32 UTC+1 @Alex ha scritto:
> Il giorno mercoledì 6 marzo 2019 07:43:34 UTC+1, BFS ha scritto:
> > mi chiedono di interfacciarmi a un macchinario tramite il "protocollo"
> > in oggetto
> >
> > non sono neppure certo sia un protocollo visto che l'unica
> > documentazione che mi hanno fornito è una semplice lista di
> > variabili/parametri da leggere dal macchinario
> >
> > qualcuno ha mai affrontato il problema?
> >
> > grazie
> > BFS
> E' un protocollo di comunicazione compatibile con le Policy di Cyber Security in quanto si basa su un TUNNELLING tra un OPC_CLIENT ed un OPC_SERVER.
> Questi protocolli richiedono ovviamente SW dedicati... anche se esiste in OPC_Foundation tutto l'SDK per svilupparsi un CLIENT... ma lascia perdere.
>
> Sono usati principalmente nei sistemi di Automazione.
>
> Io uso questi protocolli da 15 anni, anzi uso OPC_DA che è la versione precedente, ma molti dovranno migrare, nel caso di esportazione dati tra RETI differenti alla versione OPC_UA proprio per le certificazioni di Cyber Security.
>
> Nel mio cato tuttavia, lo usiamo con sistemi Terzi già dotati di CLIENT/SERVER, ad esempio PI di OSI-Soft.
>
> Esistono in commercio dei componenti COM che consentono la connessione, spesso usati con EXCEL, presumo compatibili anche con Access...
>
> http://www.opclabs.com/products/quickopc/options/excel?gclid=EAIaIQobChMI_NyytITt4AIVE-J3Ch2JJwkpEAAYASAAEgIeovD_BwE
>
> http://www.opclabs.com/forum/ua-com-reading-writing-subscriptions/2388-use-vba-in-excel-to-access-opc-ua-data
>
> https://www.faweb.net/us/opc/sample_excel.html
>
> @Alex

Ciao
Mi sto cimentando anch'io col protocollo OPC UA.
Non condivido affatto che access non sia lo strumento adatto, anzi consente una integrazione maggiore visto anche che molti macchinari utilizzano file mdb per l'implementazione della 4.0 invece del protocollo opc.
Le librerie di opclabs, che avevo già provato, funzionano perfettamente con le applicazioni access, con una singola istruzione tirano fuori il tag che vuoi, senza complicazioni di sorta.
Un solo problema, dopo un'ora si blocca la dll e come errore ti dice che devi acquistare una licenza.
Tutto lecito, penserete, e sarei d'accordo anch'io se non fosse che le licenze vanno dai 3000 agli 8000 euro.
Ora sono il primo a dire che non si sviluppa gratis, ma mi sembra un po' esagerato per una dll.
Detto questo sto vedendo se riesco a realizzare una dll tutta mia partendo da basso livello, alla fin fine non ci vuole un team di bill gates per farlo, è solo una comunicazione tcp.

Condivido anche che strapparsi le vesti per la "superiore sicurezza" del protocollo opc ua è ridicolo, casomai ti rubano il numero di cicli macchina o la temperatura del motore non mi sembra un grande obiettivo, tanto più che nessuno condivide queste informazioni direttamente su internet ma casomai passano da una vpn o ancora meglio da un portale interattivo.

Nel frattempo, se qualcuno ha trovato soluzioni mi farebbe un grande piacere parlandomene.

Ciao a tutti
Davide

RobertoA

unread,
Dec 24, 2022, 2:52:33 AM12/24/22
to

Davide La Mantia

unread,
Dec 25, 2022, 7:24:01 AM12/25/22
to
Il giorno sabato 24 dicembre 2022 alle 08:52:33 UTC+1 RobertoA ha scritto:
CUT
In effetti avevo provato la libreria Siemens, va con Excel, ma non funziona con Access...
Ora sto provando le applicazioni free della opcfoundation.

Farò sapere.
Ciao

BFS

unread,
Dec 26, 2022, 6:14:37 AM12/26/22
to
io avevo provato un po' tutto per access senza successo
alla fine mi sono fatto un agent in pyton

se trovi la soluzione aggiornaci grazie
BFS

RobertoA

unread,
Dec 29, 2022, 1:55:33 AM12/29/22
to
Un 'agent in python' e' un client opc?
Voglio dire, un programma che si collega ad un server opc e puo'
leggere/scrivere valori sulle apparecchiature con le quali quel server
sta dialogando?


BFS

unread,
Dec 29, 2022, 2:04:26 AM12/29/22
to
si tramite l'agent
non ho trovato il modo di interfacciarmi direttamente con Access e
quindi ho dovuto usare questa soluzione.

l'applicazione invia i dati commessa da lavorare tramite txt all'agent
l'agent li invia alla macchina ed ad intervalli regolari scrive un altro
txt con i valori da monitorare che l'app access si legge.

in pratica all'utilizzatore sembra che sia tutto in tempo reale.

poi tutta baracca serviva solo per la certificazione, avuto quella adios

BFS




Gianfranco Di Alessandro

unread,
Jul 10, 2023, 1:58:07 AM7/10/23
to
Buongiorno,
è possibile avere un esempio di collegamento tra un PLC e un pc con Access? sarebbe auspicabile poter leggere in continuo il flusso dati che genera la scheda Plc? Grazie a chi mi può rispondere.

Giulio Lucchi

unread,
Nov 17, 2023, 10:49:41 AM11/17/23
to
Scusa anch'io ho lo stesso problema da affrontare. Io ho MSAccess come programma ma che si appoggia a MySQL come archivio.
posso chiederti qualche esempio del python che hai scritto per partire da una cosa già fatta.
Ho visto le librerie open PyOPC ma se avessi qualche esempio di codice te ne sarei grato.

Grazie

BFS

unread,
Nov 21, 2023, 3:19:12 AM11/21/23
to
mi spiace non ho i sorgenti
il software mi era stato commissionato da sviluppare direttamente da loro
ma in pyton era una banalità usando la libreria gia pronta
bastava importarla e richiamare la funzione di lettura passando ip e
nome nodo da leggere

erano tre righe di codice

vedo che ora dicono di usare questa

https://github.com/FreeOpcUa/opcua-asyncio


e anche qui mi pare una banalità

from asyncua import Client

async with Client(url='opc.tcp://localhost:4840/freeopcua/server/') as
client:
while True:
# Do something with client
node = client.get_node('i=85')
value = await node.read_value()



ti basta aggiungere un timer per andarti a leggere il valore ogni tot
secondi

mentre per scriverti quel valore del note salvato su value su mysql
sono altre 5 righe di codice:

https://www.geeksforgeeks.org/crud-operation-in-python-using-mysql/



BFS




0 new messages