Vai al contenuto
PLC Forum


Sviluppo Opc Client: Primi Passi


Messaggi consigliati

Inserito:

Salve!

Chiedo un aiuto per cominciare a sviluppare client OPC.

Configurazione hardware:

PC577 + scheda PCI WinAc 412. Collegati in DP al S7-412 ci sono due slave et200s IM151-1 ed uno slave IM151-7.

I dati acquisiti dal WinAc tramite gli et200S, devono essere esposti in modbus TCPIP alla sala controllo.

Nel pc577 abbiamo a disposizione un Simatic net OPC server, che esporrà le variabili del S7-414.

Vorremo installare un secondo OPC server (schneider). che comunicherà via modbus TCPIP con la sala conrollo esponendosi come uno slave modbus.

Vogliamo ora scrivere un client-bridge, che dialoghi con i due copiando le variabili del OPC siemens nel OPC schneider.

Abbiamo a disposizione Visualbasic/c++/c# 2008 EXPRESS.

Il problema sono le librerie e gli esempi.

da OPCFoundation (e dalle ricerche nel forum) non c'è speranza di ottenere da loro librerie.

Capisco che con Simatic.net e con OFS (Schnieder) dovremo ricevere delle librerie, ma mi/vi domando:

  1. le librerie fornite da siemens dovrebbero bastare a dialogare con entrambi gli OPC server, o devo instanziare oggetti diversi per stabilire le connessioni con i due server ?
  2. alias mi servono entrambe le librerie di Siemens e shneider, o l'api implementata dai due è la stessa ?
  3. gli ambienti di sviluppo express possono utilizzare queste librerie ? qualcuno lo ha già fatto ?
  4. Vedevo il problema di dot.net e dei nuovi wrapper, legati anche al passaggio alla nuova Unified Architecture. Esiste modo di continuare a sviluppare con i vecchi oggetti o si è costretti a migrare brutalmente al .net e SOA ?
  5. esiste uno straccio di codice ? googlando come un pazzo non si trova un bel niente... :-( ...

Grazie di ogni aiuto e suggerimento.

P.S.

In prima soluzione si è pensato di usare (avendola a magazzino) una scheda seriale ET200S modbus RS485, e da qui con un twido passare al modbus tcpip.... Il cliente ha chiesto invece di implementare una soluzione OPC.

Qualcuno ha mai provato questa strada ? Sentivo dire che far fungere una scheda siemens nel protocollo modbus e volutamente difficile, visto che si tratta dello standard concorrente, Vi risulta ?


Inserita: (modificato)

Giuliano1969,

Capisco che con Simatic.net e con OFS (Schnieder) dovremo ricevere delle librerie, ma mi/vi domando:

le librerie fornite da siemens dovrebbero bastare a dialogare con entrambi gli OPC server, o devo instanziare oggetti diversi per stabilire le connessioni con i due server ?

alias mi servono entrambe le librerie di Siemens e shneider, o l'api implementata dai due è la stessa ?

Se vai su un Server del tipo: KEPServerEX

che ti espone un multiple driver "plug-ins", potresti integrare meglio le due interfaccie.

Il fatto e' che neccessita scrivere un codice globale e portabile per entrambi ambienti.

Voglio dire, l'api client dovrebbe assolutamente conoscere il Syntax per l'identificatori e nomi delle variabili per gli entrambi

tecnologie e roba del genere...

Dai una guardata a i manuali per entrambi i Server :

OFS_User_Manual vedi pag.57 / OPC Item general syntax

Introduction to the OPC Server for SIMATIC NET vedi pag.76/ Syntax of Variable Names for S7

#define PROGID_SERVER           L"Schneider-Aut.OFS"       //  CLSID Schneider
#define ITEM_0  _T("UNTLW01:0.254.0!%MW200"); // indirizzamento MW 200, UNI-TELWAY protocol

#define PROGID_SERVER           L"OPC.SimaticNET"          //  CLSID Siemens
#define ITEM_0 L"S7:DB5,X12.1"   // indirizzamento Data block 5, data byte 12, bit 1,  S7 protocol

Vedi te ;)

Modificato: da Savino
Inserita: (modificato)

Grazie per la risposta !

Sono tuttavia allibito dal fatto che avendo due OPC server diversi, necessiti diversificare il modo con cui dialogare con ciascuno.

Intendo dire che, lato client, l'unico e solo protocollo dovrebbe essere quello stabilito da OPC found. per dialogare con il OPC serer.

E un client a priori non dovrebbe nemmeno fare differenza rispetto a quale serve si connette.... se il server rispetta lo standard...

Ora, il fatto che a livello di programma si debba definire diversamente (A parte il server ID) qualunque cosa, mi lascia perplesso sulla portata effettiva dello standard.

Oppure ho capito male, e qualunque server a cui mi collego, compio le medesime operazioni, nelal medesima sequenza e con i medesimi parametri (a parità di gruppo definito e di item contenuti nel OPC server) ?

Ciao e Grazie

Modificato: da Giuliano1969
Inserita: (modificato)

No, forse mi sono spiegato non correttamente..

La differenza tra i due ambienti PLC sarebbe nella sintassi da adottare per ogniuno di loro, tanto per gli CLSID come per l'accesso alle variabili. I metodi per l'accesso al server non cambiarebbero, al di la' di le diverse via da adottare

Qiundi, i metodi di accesso dai Client sarebbe lo stesso. Se tu hai letto i manuali, te ne rendi conto di questo.

Se tu hai gia' un OPC Server, sia Schneider o Siemens , prova a creare un Client con la corrispondente sintassi e poi prova a cambiarla per l'altra. I cosi detti driver "plug-ins" sarebbero altro che i driver di libreria pronte definite per i Client, piuttosto di andare a creartile te. Questi sarebbero fornite con i server in modo di rendere l'integrazione molto piu' facile per i programmatori. Lo standard OPC non fornisce le librerie per i diversi vendors, per quello che ognuno di loro fornisce il propio Server, con dei Client di esempio in modo univoco.

Modificato: da Savino

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...