bumbi Inserito: 21 marzo 2010 Segnala Inserito: 21 marzo 2010 (modificato) ho realizzato un'applicazione di monitoraggio VB6 dove dovrei anche verificare lo stato della connessione tra il pc e l'hplcl'hplc e' connesso al pc tramite rete ethernet con convertitore ETM3guardando tra i vari componenti di xcomm sono riuscito gia' a controllare se il server e' attivo, se e' in standby ...pero' se spengo l'hplc o se stacco fisicamente il cavo di rete non riesco a trovare un flag che mi possa dare questo tipo di anomaliaqualcuno sa indicarmi come posso fare ?grazie, ciao a tutti Modificato: 21 marzo 2010 da bumbi
del_user_56966 Inserita: 21 marzo 2010 Segnala Inserita: 21 marzo 2010 qualcuno sa indicarmi come posso fare ?Devi usare i flag di sistema K0, sono disponibili sia lato Server che lato Workstation...Dim WatchdogHP1 as BooleanWatchdogHP1 = XComm1.K0( 1000 + Indirizzo HP, indirizzo del server)se il flag diventa "Vero" l'HomePLC è fuori linea...la stessa cosa puoi ottenerla senza dover sorvegliare i K0, ma per evento all'attivarsi del Watchdog e alla sua risoluzione tramitel'evento "Watchdog" di XComm++ Ind riporta l'indirizzo fisico del dispositivoV_Address riporta quello virtualePrivate Sub XComm1_Watchdog(ByVal Status As Boolean, Data As String, V_Address As Integer, Ind As Integer, Srv As Integer)' Eventi di Watchdog If Status Then If Ind = 1 then // "fai qualcosa" Else If Ind = 1 then // "fai qualcosa" ' Watchdog Status finished! End IfEnd Sub
del_user_56966 Inserita: 21 marzo 2010 Segnala Inserita: 21 marzo 2010 (modificato) se poi ti serve di sapere se un nodo in particolare va fuori linea,puoi osservare i flag cumulativi IH149, IH199, ecc.. che trovi sugli ingressi Building la funzione di controllo degli IH è:XComm1.IH (Numero Flag, Numero HP, Numero Server)se un cumulativo si attiva puoi eseguire un analisi sui singoli moduli slave tramite i corrispondenti IH...con questa modalità sono diagnosticabili tutti gli stati di funzionamento dell'intero sistema.... Modificato: 21 marzo 2010 da Aleandro2008
del_user_56966 Inserita: 21 marzo 2010 Segnala Inserita: 21 marzo 2010 Rivedendo nell'_help nel primo esempio non devi mettere 1000 ma 1500WatchdogHP1 = XComm1.K0( 1500 + Indirizzo HP, indirizzo del server)con 1000 infatti sorvegli che non sia fuori linea il Server...
bumbi Inserita: 21 marzo 2010 Autore Segnala Inserita: 21 marzo 2010 WatchdogHP1 = XComm1.K0( 1500 + Indirizzo HP, indirizzo del server)con 1000 infatti sorvegli che non sia fuori linea il Server...ecco, propio questo mi mancava.... non riuscivo a capire a cosa si riferivano questa serie di watchdog perche' nell . indica "watchdog LOCALE 1" ecc...in effetti per il controllo del standby server controllavo gia' il flag K0 352allora alla fine, per avere un controllo se il server e' connesso e la connessione e' fisicamente ok, ho usato:Xcomm1.connectSRV per controllare se il server e' attivoXcomm1.K0 (352,0) per controllare se il server e' in standbyXcomm1.K0 (1501,0) per controllare il watchdog del plc (e quindi anche la connessione)grazie Aleandro
del_user_56966 Inserita: 21 marzo 2010 Segnala Inserita: 21 marzo 2010 Xcomm1.connectSRV per controllare se il server e' attivoXcomm1.K0 (352,0) per controllare se il server e' in standbyXcomm1.K0 (1501,0) per controllare il watchdog del plc (e quindi anche la connessione)Si peròcon lo zero alposto dell'indice del server controlli solo lato WS, in effetti dovresti usare il numerocorretto di server, normalmente è 1quindi il codice diventa!XComm1.K0 (352,1) per controllare se il server e' in standbyXComm1.K0 (1501,1) per controllare il watchdog del HomePlc mentre la funzione Xcomm1.connectSRV identifica se sei connesso al server ma solo se lavori sulla stessa macchina di questo,mentre se lavori in rete, devi sorvegliare XComm1.ConnectWS, mentre XComm1.K0H( 1000 + numero server, 0) identifica da entrambe i lati se il server è fuori linea...
del_user_56966 Inserita: 21 marzo 2010 Segnala Inserita: 21 marzo 2010 In realtà le funzioni Connect permettono solo di sapere se XComm è connesso, ma per esempio se lo si usa in rete,potresti essere connesso alla Workstation, ma il Server potrebbe essere comunque fuori linea, per cui i dati di questo non sarebbero disponibili...
bumbi Inserita: 21 marzo 2010 Autore Segnala Inserita: 21 marzo 2010 Si peròcon lo zero alposto dell'indice del server controlli solo lato WS, in effetti dovresti usare il numerocorretto di server, normalmente è 1.. si, vero...grazie....il bello e' che nel programma in effetti ho messo 1....chissa' poi perche' qui ho scritto 0.... ...forse e' meglio che faccio una pausa.. comunque grazie ancora per le ulteriori informazioni.... in questo caso utilizzo solo un pc connesso diretto al plc tramite ETM3, per cui penso che i controlli che ho indicato prima siano sufficienti....a proposito, ho visto che prima indicavi le funzioni Xcomm1.IH...volevo provare la lettura diretta usando Xcomm1.DIH, pero' questa funzione non la trova...magari perche' nella versione gratuita non e' prevista ?
del_user_56966 Inserita: 21 marzo 2010 Segnala Inserita: 21 marzo 2010 volevo provare la lettura diretta usando Xcomm1.DIH, pero' questa funzione non la trova...magari perche' nella versione gratuita non e' prevista ?esistono due oggetti XComm, quello XC++ e l'altro XC Building è possibile che non lo trovi perchè su quello che stai utilizzando non serva!...
gabri.m Inserita: 23 marzo 2010 Segnala Inserita: 23 marzo 2010 domanda (aspettando che mi arrivi l'hplc )lo sviluppo di un'applicazione per la supervisione dell'hplc deve essere fatta obbligatoriamente in visual basic??il linguaggio si sposa meglio con applicazioni di supervisone domotica basata su hplc?in sostanza devo imparare a programmare in VB o posso programmare nei linguaggi che già conosco?(c,c++,java)
del_user_56966 Inserita: 23 marzo 2010 Segnala Inserita: 23 marzo 2010 lo sviluppo di un'applicazione per la supervisione dell'hplc deve essere fatta obbligatoriamente in visual basic??Visual Basic 6Visual basic.NETC#C++C++.NETVBADelphiExcelWordMovicomCimplicityDesigoCitececc..scegli da dove lo vuoi fare... il linguaggio si sposa meglio con applicazioni di supervisione domotica basata su hplc?userei sempre sicuramente quello che mi è più familiare...in sostanza devo imparare a programmare in VB o posso programmare nei linguaggi che già conosco?(c,c++,java)puoi usare qualsiasi linguaggio (anche di script per esempio VBScript...) che possa referenziare un oggetto COM ovvero quelli che tutti continuano a chiamare "ActiveX"...se poi utilizzi la connessione diretta tramite Modbus RTU non vi sono più limiti di connessione è anche la soluzione utilizzatada quelli che operano con Linux, ma anche su questo fronte ci sono grosse novità in arrivo... inoltre so che dovrebbero uscire altre tipologie di comunicazione ma non so dirti quando...
bumbi Inserita: 23 marzo 2010 Autore Segnala Inserita: 23 marzo 2010 (modificato) posso programmare nei linguaggi che già conosco?(c,c++,java)si, puoi usare anche questi linguaggi, tant'e' vero che nel cd dell'ABS xcomm ci sono anche parecchi demo ed esempi di programmi realizzati appunto in C++ e java...oops, scusa..non avevo visto la risposta di Aleandro.. Modificato: 23 marzo 2010 da bumbi
gabri.m Inserita: 23 marzo 2010 Segnala Inserita: 23 marzo 2010 perfetto propio quello che volevo sapere,avevo gia iniziato a studiare VB e devo dire che è molto intuitivo
del_user_56966 Inserita: 23 marzo 2010 Segnala Inserita: 23 marzo 2010 avevo gia iniziato a studiare VB e devo dire che è molto intuitivoVB6 come VBA sono sicuramente tra i linguaggi più user friendly ma anche Visual Basic.NETse la cava...qui vedi un esempio d'animazione applicata al sensore della centrale di sicurezza...LINK...
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