Vai al contenuto
PLC Forum


Snap7 1.4.0 + Hmi Tracer


Messaggi consigliati

Ciao a tutti,
oggi ho rilasciato Snap7 1.4.0, ci sono svariate novità soprattutto lato .NET, il più gettonato.
C’è nuova classe per la lettura/scrittura delle MultiVars, altri demo WinForm e una soluzione VS per gestire anche gli esempi in modalità console.
Inoltre ora è gestita la conversione in lettura e scrittura di tutti i tipi S7, compresi i quelli nuovi S71200 e quelli a 64 bit di S71500.
Infine il server ora può lavorare in modalità “resourceless”, cioè non è necessario allocare e condividere in anticipo le varie DB: ad ogni
richiesta dal client verrà chiamata una callback con tutti i riferimenti (DB, Start, Size…) e potremo decidere al momento se e cosa inviare.
Grazie a questa modalità è possibile scrivere convertitori di protocollo (ad esempio S7<->Modbus) o quello di realizzare utility come quella che trovate descritta più avanti.
Il motivo fondamentale però per cui ho deciso di aprire questo thread è la presenza nella distribuzione di una nuova cartella : utility, che penso possa interessare anche chi non usa Snap7 o non programma il PC.
Al contrario degli esempi, che sono finalizzati alla dimostrazione dell’uso della libreria “lato programmatore”, questi programmi sono
autosufficienti, compilati e pronti all’uso ed hanno delle funzionalità reali che vanno a colmare la mancanza di comodità che a volte, come utenti Siemens, ci troviamo ad affrontare.
L’idea è che saranno tutti completi di sorgente e cercherò di utilizzare solo librerie free, ma potrebbe capitare di trovare solo una parte dei sorgenti (per vari motivi ;) ), l’obiettivo è il programma in se.
Nessuna installazione e amministrazione, tutto portable che gira da pendrive o da una qualunque cartella. Ovviamente sono graditi contributi che posso inserire nella raccolta.
La prima utility (l’unica per ora) è HMI Trace e spendo due parole nel prossimo post per evitare di fare il pappone.
Modificato: da dan64100
Link al commento
Condividi su altri siti


HMI Tracer è un programmino che permette di tracciare l’attività di un HMI (Pannello/OPC Server/Software custom) del quale non abbiamo il progetto verso un PLC del quale non abbiamo il programma.
Oppure possiamo usarlo quando abbiamo la necessità di debuggare una comunicazione Get/Put fra PLC.
In parole povere in tutti quei casi in cui c’è una richiesta ad un PLC di lettura/scrittura di variabili delle quali non conosciamo l’indirizzo e la consistenza e siamo allietati dai vari ####, triangoli gialli o errori di comunicazione.
Non è uno vero e proprio sniffer che si interpone fra l’HMI ed il PLC (per quello c’è già WireShark) ma sostituisce il PLC target “presentandosi” al partner come una CPU 315 e soddisfacendo tutte le sue richieste di lettura e scrittura Tag che vengono ovviamente annotate.
Oltre all’elenco dei Tag, viene creata la lista di tutte le DB referenziate con le relative dimensioni minime che dovrebbero avere.
Alla fine della sessione è possibile generare un gradevole (spero) report PDF, da salvare o stampare.
Screenshot programma in esecuzione : http://snap7.sourceforge.net/hmitracer_app.png
Il sistema permette di tracciare l’ attività contemporanea di più client connessi al PLC ed i Tag vengono raggruppati per IP del client.
Il nome dei Tag e quello dei client sono quello di default ma è possibile editarli (selezionare la voce e premere F2) se sappiamo chi sono, in questo modo il report sarà più comprensibile.
Vengono tracciati tutti i Tag, anche E,A,MK, Timers e Counters ma a destra c’è l’elenco delle sole DB, il resto non c’è trattandosi di memoria “statica” sempre presente nel PLC, l’idea è avere l’elenco delle DB da creare con la loro dimensione minima.
In basso c’è il log del server che è possibile, agendo nel menù, vedere in tre livelli di dettaglio, da quello base a quello debug (qualunque richiesta di protocollo S7), è possibile anche cancellarlo o bloccarlo.
Il programma lo trovate in snap7-full-1.4.0/utility/windows/Win32 (o win64), se il resto di Snap7 non vi interessa, prima di cancellarlo conservate i quattro file batch che trovate in /examples, se il server non parte perché Step7/TIA ha cannibalizzato la porta 102 in ascolto, con questi file potete appropriarvene temporaneamente.

Ciao

Davide

Link al commento
Condividi su altri siti

Giuseppe Signorella

Come al solito........Ottimo lavoro Davide.

Ho tolto la vecchia discussione da quelle in evidenze e ho messo questa.

Per non perdere traccia della vecchia , la si può raggiungere tramite questo link:

Snap7: Nuova Libreria Di Comunicazione S7

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

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...