Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumIl formato dei numeri REAL è IEE754, ed è lo standard che quasi tutti i PLC utlizzano. IL tuo problema mi sembra legato alla endiannes del dato, il numero REAL è a 32 bits potrebbero esserci le due word a 16 bits che lo compongono invertite tra di loro.
Se il protocollo di comunicazione con il PLC S7 è assoluto, verifica di trasferire con il formato DBDn, in questo modo Weintek dovrebbe utilizzare il corretto endiannes.
Se utilizzi il formato simbolico, se la TAG è codificata come REAL, Weintek dovrebbe riconoscerla correttamente.
Sergio Bertana
Amministratore del forumMolte volte riceviamo richieste simili vediamo che soluzioni possiamo proporre. Intanto escludiamo lo sviluppo di App apposite visto il costo elevato, la necessità di svilupparle per sistemi Android e iOs ed il doverle caricare sul marketplace per la distribuzione. Detto questo la soluzione è di utilizzare per il comando da cellulare un semplice browser che è disponibile su tutti i cellulari.
I nostri PLC hanno il server web integrato su cui è possibile sviluppare pagine utente (Vedi articolo). Il problema è accedere al sistema tramite connessione cellulare, perchè in questo caso non si dispone di un indirizzo IP pubblico, una soluzione è utilizzare soluzioni di connessione peer-to-peer come ZeroTier (Vedi articolo).
Un’altra soluzione è appoggiarsi a portali IoT come ad esempio Beebotte (Vedi articolo), in questo caso il PLC dialoga via MQTT con il servizio mentre chi consulta le pagine si connette con un normale browser.
Utilizzando il protocollo MQTT è possibile anche appoggiarsi a broker commerciali e utilizzando App disponibili per i vari smartphone gestire i comandi (Vedi articolo).
Se ci si vuole cimentare con lo sviluppo di una aplicazione cloud è possibile utilizzare il protocollo di comunicazione REST. In questo caso i vari utenti si connettono sempre via browser alla applicazione la quale gestita l’autenticazione invierà i dati al PLC (Vedi articolo).
Naturalmente tutte queste soluzioni prevedono lo sviluppo dei relativi programmi, sia sul PLC, che, nel caso di applicazioni cloud anche sul server cloud. Noi possiamo fornire supporto per lo sviluppo ma non realizziamo soluzioni chiavi in mano. Per quanto riguarda i prodotti:
Gennaio 10, 2024 alle 2:27 pm in risposta a: Salvare credenziali accesso definite su pannello #75296Sergio Bertana
Amministratore del forumDevi abilitare la spunta
Use existing user accounts on HMI first (if existed)
nelle impostazioni di sicurezza del progetto (Screenshot).
Sergio Bertana
Amministratore del forumDalla versione 9.1.20 LogicLab implementa il supporto agli operandi TIME e DATA, questo ha obbligato ad alcune modifiche del sistema operativo. Alcune funzioni relative alla gestione dei tempi di sistema sono state eliminate, per mantenere la compatibilità con i programmi precedenti viene rilasciata la libreria eLLabDTimeAdjLib.
Ti ricordo che dalla versione 9.1.30 di LogicLab è stata introdotta la gestione della raccolta (Package) delle librerie (Vedi articolo), ora se utilizzi questa tecnica non dovresti mai trovare problemi di compatibilità con la compilazione dei programmi anche se utilizzano vecchie versioni di FB. Nel package viene distribuita la libreria eLLabObsoleteLib che contiene tutte le vecchie versioni.
Ora per risolvere il tuo problema puoi inserire nel progetto la libreria eLLabDTimeAdjLib che trovi nel package Pck055xxxx. Ma ti consiglio di modificare il progetto utilizzando il package.
Sergio Bertana
Amministratore del forumGuardando la tua configurazione vedo che sul pannello Weintek hai utilizzato la configurazione Modbus standard e non la zero base addressing, quindi anche sullo SlimLine è corretto non settare l’ingresso Absolute.
Vedo che l’indirizzo è 55 decimale quindi è corretto quello che hai definito nel progetto LogicLab.
Sul pannello Weintek hai utilizzato il comando 04, mentre nel progetto LogicLab hai definito 16#03 in FCode, prova ad utilizzare anche qui il 16#04.
Sul pannello Weintek esegui la lettura solo di un registro WORD, mentre nel programma LogicLab hai definito 8 in Points, prova a definire 1.
Fatto questo verifichiamo con la console di spionaggio se la comunicazione funziona, poi andremo a capire se il problema era il codice funzione (Come io credo) o il numero di registri da leggere.
Sergio Bertana
Amministratore del forumQuindi se non ricevi risposta con l’emulatore Modbus di Toolly c’è un errore in qualche parametro.
Modbus TCP è il protocollo da utilizzare, come vedi dal report di spionaggio il frame inviato è:
00 35 00 00 00 06 01 03 00 31 00 08
Infatti il Modbus TCP inizia con 2 bytes con un numero progressivo 00 35, 2 bytes sempre 00 00, 2 bytes con la lunghezza del pacchetto 00 06. Poi segue il frame Modbus RTU senza CRC, inizia con nodo 01, codice funzione 03, indirizzo 00 31, numero registri da leggere 00 08.
Ora il 40055 nel dialetto Modbus potrebbe indicare la lettura (Codice 04) all’indirizzo 55 esadecimale. Tieni conto che Modbus ha offset 1, ma alcuni sistemi non lo gestiscono infatti anche nell’emulatore è previsto il tick Zero base addressing che annulla l’offset.
Sergio Bertana
Amministratore del forumCarica le immagini su qualche sito cloud (Esempio imgur) e postane il link…
Dal report di spionaggio vedo che il sistema innvia il pacchetto Modbus di interrogazione corretto, ma non riceve nessuna risposta… Così và in errore di timeout…
Sei sicuro dell’indirizzo 55 ?
Prova con l’emulatore Modbus di Toolly ad interrogare il tuo dispositivo e provare se riesci a ricevere la risposta.
Visto che con il terminale Weintek hai detto che sei riuscito ad interrogare il dispositivo, invia alla eMail di supporto il programma che hai utilizzato che provo a verificare.
Sergio Bertana
Amministratore del forumPossiamo proporre due diverse soluzioni:
- Moduli I/O remoti Ethernet Serie A-18x, questi moduli hanno una interfaccia web che permette di visualizzare e comandare gli I/O logici (Vedi topic).
- Modulo PLC Compatto con Ethernet SlimLine LogicLab IEC61131-3, è un modulo PLC con server web integrato che può essere programmato tramite LogicLab per realizzare la funzione d esiderata.
Naturalmente la soluzione con il modulo I/O remoto è una soluzione plug-and-play, configurato il modulo il lavoro è terminato. La soluzione con il PLC invece richiede lo sviluppo di un semplice programma e di una o più pagine web in base alle proprie necessità. Dal canto suo però il PLC permette di aggiungere all’applicazione ulteriori funzionalità:
- Invio eMail su allarme (Vedi post).
- Ricezione ed invio messaggi Telegram (Vedi post).
- Invio e ricezione dati in MQTT a portali cloud IoT (Vedi post).
- Invio e ricezione dati in REST a portali web proprietari (Vedi post).
- Utilizzo di tutti gli oggetti presenti nelle ns librerie (Vedi manuale).
Sergio Bertana
Amministratore del forumPer la configurazione del modulo iR-ETN occorre utilizzare il programma EasyRemoteIO.
Per la comunicazione con il pannello è possibile utilizzare Modbus TCP o Ethernet IP, ma io consiglio di utilizzare il protocollo Modbus.
Dovendo collegare il modulo direttamente al pannello, utilizzare il programma EasyRemoteIO per la configurazione del modulo ed esportare la lista TAGs che potrà poi essere importata direttamente nel pannello.
Gennaio 8, 2024 alle 9:43 am in risposta a: Visualizzazione pagine con accesso a databse MySQL #75208Sergio Bertana
Amministratore del forumLa visualizzazione di pagine web viene indicata come PLC Web Browser e non è supportata dal pannnello cMT2108X2.
Per quanto riguarda invece il VNC Viewer, si comporta come un qualunque client VNC, inserito l’oggetto nella pagina occorre definire l’indirizzo IP e la porta del PC che si vuole visualizzare e si avrà la visualizzazione dello schermo. Toccando lo schermo si opera come il mouse sul PC controllato.
Sergio Bertana
Amministratore del forumNon riesco a vedere gli allegati, ma intanto non devi utilizzare il FB ModbusSlave, ma il FB ModbusMaster visto che devi interrogare un dispoositivo server.
Puoi copiare l’esempio ST_ModbusMaster riportato nel manuale utilizzando la connessione TCPClient, il programma và eseguito in task Back. Naturalmente dovrai modificare:
MMdb.FCode:=16#04; //Modbus function code MMdb.Address:=55; //Modbus register address MMdb.Points:=xx; //Modbus register points
In base alle tue esigenze, il codice funzione mi sembra di capire sia 16#04, ma potrebbe anche essere 16#03, mentre l’indirizzo è 55 decimale o esadecimale?
Poi siccome Modbus ha offset 1, nel caso prova a settare/resettare la flag MMdb.Absolute.
Utilizza la console di spionaggio per vedere la comunicazione e capire eventuali problemi.
Sergio Bertana
Amministratore del forumIl contatore SDM630 a lettura diretta come pure il modello a lettura tramite TA sono in grado di misurare e visualizzare:
- Tensione di linea e THD% (distorsione armonica totale) di tutte le fasi
- Frequenza di linea
- Correnti, Fabbisogno di corrente e THD% di corrente di tutte le fasi
- Potenza, potenza massima richiesta e fattore di potenza
- Energia attiva importata ed esportata
- Energia reattiva importata ed esportata
Quindi può soddisfare le tue necessità, i registri Modbus sono gli stessi per tutti i tipi di contatore.
Nel caso utilizzassi i nostri sistemi programmabili, per l’acquisizione è disponibile il FB EastronSDM630, Eastron SDM630 energy meter.
Sergio Bertana
Amministratore del forumSe il robot è master verificare bene gli assembly impostati e quindi impostare il pannello come slave con gli stessi dati.
Eventualmente provare con Ethernet/IP Explorer a puntare al pannello e vedere se risponde cosi da essere sicuri che come slave risponda.
Sergio Bertana
Amministratore del forumTuti i sistemi SlimLine sia quelli basati su CPU ARM7 che quelli basati su CPU CortexM7 è possibile utilizzarli in due diverse architettura di sistema. L’architettura XTarget12 è una architettura ormai datata e superata dalla XUnified, è comunque possibile eseguire l’aggiornamento del sistema con l’architettura desiderata (Vedi articolo). Nel tuo caso devi verificare che architettura ha il tuo sistema, nel caso lo puoi aggiornare alla XUnified.
Poi nella selezione del target basterà scegliere il codice prodotto (Nel tuo caso MPS053) con la corretta architettura (Screenshot)
Sergio Bertana
Amministratore del forumDallo screenshot della pagina web vedo che si tratta di un vecchio modello di CPU (Versione “A”) con il sistema operativo SFW198B030.
Purtroppo quella versione di sistema operativo non gestiva il file system a FAT, quindi vi erano 3 cartelle predefinite con un numero finito di files gestibili. Lo spazio per ogni file era predeterminato, quindi non è sicuramente possibile trasferire il file Firmware.upl.
Quindi l’unico modo che hai di aggiornarlo è utilizzando l’aggiornamento tramite porta seriale o USB come indicato in questo articolo.
Il nuovo sistema operativo utilizzerà il file system su FAT, quindi dopo l’upgrade dovrai eseguire un format dei dischi C: e D: (Se presente) con la perdita dei dati contenuti. Quindi se hai dei dati sensibili occorre eseguirne il salvataggio prima di eseguire l’upgrade.
Eseguito l’aggiornamento potresti perdere l’impostazione dell’indirizzo IP, utilizza la procedura Discovery di Toolly per impostare il nuovo indirizzo.
-
AutorePost