Giuliano1969 Inserito: 18 febbraio 2009 Segnala Inserito: 18 febbraio 2009 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: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 ?gli ambienti di sviluppo express possono utilizzare queste librerie ? qualcuno lo ha già fatto ?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 ?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 ?
Savino Inserita: 20 febbraio 2009 Segnala Inserita: 20 febbraio 2009 (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: KEPServerEXche 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 entrambitecnologie e roba del genere...Dai una guardata a i manuali per entrambi i Server :OFS_User_Manual vedi pag.57 / OPC Item general syntaxIntroduction 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 protocolVedi te Modificato: 20 febbraio 2009 da Savino
Giuliano1969 Inserita: 20 febbraio 2009 Autore Segnala Inserita: 20 febbraio 2009 (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: 20 febbraio 2009 da Giuliano1969
Savino Inserita: 20 febbraio 2009 Segnala Inserita: 20 febbraio 2009 (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 adottareQiundi, 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: 20 febbraio 2009 da Savino
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora