Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumYes, it is possible. The error you mentioned is probably this:
MyProgram.MS – warning G0290: MS => Constant without initial value
It has no reference number, but the description indicates that the constant doesn’t have any initial value. To declare a structured data type, you must also assign it a value.
- You can initialize values in the data structure definition as follows:
MYSTRUCT: STRUCT V1 : BOOL := TRUE; V2 : UINT := 20; END_STRUCT;
- Or you can initialize the value directly when you instantiate the data structure variable in the program, like this:
VAR CONSTANT MS : MYSTRUCT := (V1:=FALSE, V2:=30); END_VAR
Settembre 5, 2025 alle 5:47 pm in risposta a: Cambio di velocità seriale durante esecuzione Modbus #83964Sergio Bertana
Amministratore del forumSicuramente è possibile cambiare al volo le impostazioni delle porte seriali, per farlo basta chiudere la porta e riaprirla con le nuove impostazioni.
Ma il dubbio è se sia ortodosso fare coesistere parametri di comunicazione diversi sulla stessa linea RS485 Modbus. Perchè i dispositivi con il baud rate diverso potrebbero male interpretare i dati è magari portarsi in condizione di errore.
Se hai come immagino un modulo CPU con più seriali ti conviene utilizzare una porta RS232 convertendola in RS485 con un convertitore come questo per realizzare una seconda rete RS485 con cui dialogare con i nuovi dispositivi.
Se il tuo modulo CPU ha una porta Ethernet puoi utilizzare uno o più convertitori come questo per creare altre reti RS485 tramite connessione Ethernet. In questo modo potrai configurare i parametri di comunicazione adatti su ogni rete evitando problemi di connessione.
Settembre 5, 2025 alle 10:47 am in risposta a: Connessione ad Internet da PLC connesso alla LAN2 del pannello HMI #83943Sergio Bertana
Amministratore del forumPurtroppo la tua esigenza non può essere risolta nel modo che hai descritto, per motivi di sicurezza dalla LAN2 non è possibile raggiungere la LAN1 quindi sfruttarla per la connessione Internet. Vediamo come altri clienti che utilizzano i ns PLC SlimLine hanno risolto questa situazione, la soluzione è comunque adattabile a tutti i PLC.
- Si utilizza la sola LAN1 sia per la connessione al PLC che alla rete del cliente, lasciando in DHCP sia il pannello HMI che il PLC. In questo modo si autoconfigurano entrambi sulla rete del cliente.
- Si gestisce una connessione seriale aggiuntiva tra il pannello ed il PLC.
- Tramite la connessione seriale il pannello chiede al PLC l’indirizzo IP che gli è stato assegnato dal server DHCP e lo imposta nelle LW-9600~3 (Per il Device 4).
- Così la connessione in ethernet è operativa sull’indirizzo IP assegnato al PLC.
- Consiglio di visualizzare in una pagina del pannello gli indirizzi IP del pannello (LW-9129~32) e del PLC ( LW-9600~3) in modo da poterli impostare nel Pass-Through da EasyAccess.
Settembre 5, 2025 alle 10:25 am in risposta a: Weincloud TAG History aggregazione di TAG string #83935Sergio Bertana
Amministratore del forumHo chiesto a Weintek ed in rffetti al momento non è possibile aggregare in un oggetto Tag History variabili di tipo stringa.
Come vedi dallo screenshot le variabili stringa sono in grigio e non è possibile selezionarle.
Sergio Bertana
Amministratore del forumIl fatto che l’orario sia errato mi fà pensare ad un problema di crittografia TLS.
Hai verificato la connessione al database se è attiva.
Io proverei a coreggere l’orario, impostando correttamente la zona e l’ora legale attivando la sincronizzazione con il server NTP.
Settembre 1, 2025 alle 5:17 pm in risposta a: Come realizzare un servizio cloud per storicizzazione dati #83910Sergio Bertana
Amministratore del forumPosso consigliarti due diverse soluzioni, tutti i programmi di esempio citati sono distribuiti con LogicLab come programmi dimostrativi, è possibile comunque eseguire il download del package con tutti i programmi.
Stocizzazione su server FTP
Utilizzando il FB FTPClient è possibile trasferire in automatico file dal sistema SlimLine verso un server FTP nel cloud, il programma Ptp139-FTPDataLogger è un semplice esempio di utilizzo. Un’altro valido esempio di trasferimento automatico di file di log nel cloud lo si può trovare nel programma Ptp211-FTPEnergyLogger. In questo esempio i file di log sono creati nel file system locale dello SlimLine e trasferiti sul server cloud solo se attivo. In questo modo si mantiene copia dei file in locale per il tempo desiderato.Sul server cloud è possibile creare cartelle diverse con i nomi dei vari clienti dove i sistemi trasferiranno i file di log che saranno nominati ad esempio con data/ora in modo da permettere una ricerca immediata dei dati desiderati.
Storicizzazione in REST
Con il FB RESTClient è possibile inviare dati ad un server HTTP, nel programma Ptp156, ST_RESTClient si trova sia l’esempio del programma LogicLab che del programma PHP da eseguire sul server. Con questo programma di esempio è possibile testare e comprendere le basi di funzionamento del servizio REST.Per un esempio più completo dove il sistema SlimLine invia i dati in REST ed il server li memorizza in un database MySQL è possibile riferirsi al programma PTP213, RESTToMySQL. Nell’esempio si trovano sia il programma LogicLab che il programma PHP da eseguire sul server per ricevere i dati e storicizzarli nel database MySQL. E’ possibile testare il programma utilizzando un server di test (Consiglio XAMPP).
Sergio Bertana
Amministratore del forumDevi proprio eliminare tutto il file non serve avere quel file.
Il Modbus è gestito già dal sistema operativo senza aggiungere programmi.
Per testarlo puoi utilizzare l’utility ModbusMaster di Toolly.
Sergio Bertana
Amministratore del forumIl sistema operativo dello SlimLine gestisce già di default un Modbus slave sulla porta 502 a cui è possibile connettere fino a 3 dispositivi master. Quindi non puoi istanziare un tuo Modbus slave sulla stessa porta 502, ecco perchè ti dà errore.
Ma poi lo slave Modbus di default già espone la memoria in DB100 con indirizzo Modbus a partire da 40000, quindi quello che stai facendo è completamente inutile. Elimina il programma e tutto funzionerà.
Il FB ModbusSlave è utile nel caso si desideri istanziare un proprio slave Modbus su un’area di memoria diversa dall DB100 e magari che sia accessibile con indirizzo Modbus diverso dal 40000 predefinito nel Modbus slave gestito dal sistema operativo.
Nel caso si desideri utilizzare il FB ModbusSlave sulla porta 502, occorre cambiare la porta definita per il Modbus del sistema operativo liberandola. Ricordo che comunque la programmazione del sistema da LogicLab può avvenire solo accedendo al Modbus salve gestito dal sistema operativo.
Sergio Bertana
Amministratore del forumCon il termine RTD si intende un sensore di temperatura (Resistance Temperature Detector) normalmente sono sensori Pt100 o Pt1000. Questi sensori sono direttamente collegabili ai nostri moduli di espansione analogica come il modulo di espansione I/O Mixed che ne può acquisire fino a 2. Oppure il modulo di espansione I/O Analogico che ne può acquisire fino a 10. Per l’acquisizione da questi moduli si utilizza il FB SysGetAnInp che ritorna il valore di temperatura in gradi già linearizzato. In questo topic un esempio di acquisizione temperatura da termocoppie con conversione da Celsius in Fahrenheit.
In alcuni casi per l’acquisizione di temperatura in applicazioni dove non è richiesta elevata precisione si utilizzano sensori PTC (Positive Temperature Coefficient) o NTC (Negative Temperature Coefficient) che sono più economici. Anche questi sensori come gli RTD variano la loro resistenza con la temperatura e per valori di resistenza fino a 5000 Ohm possono essere acquisiti direttamente dal modulo di espansione I/O Analogico. Per valori ohmici superiori è possibile adottare il circuito indicato nel FB SysGetAnInp. Questi sensori non sono lineari ed occorre quindi provvedere alla loro linearizzazione tramite tabella/algoritmo è possibile utilizzare la funzione Linearize.
Un’alternativa per acquisire la temperatura è utilizzare sensori intelligenti come i sensori 1-Wire basati sul chip DS18B20. Questi sensori possono essere connessi tra di loro un un cablaggio multidrop e connessi direttamente all’interfaccia 1-Wire del modulo CPU SlimLine. Il FB OWRdTemperature ne gestisce l’acquisizione ritornando il valore di temperatura in gradi.
Agosto 21, 2025 alle 10:04 am in risposta a: Problema con Easybuilderpro in simulazione on line #83794Sergio Bertana
Amministratore del forumVerifica la versione del sistema operativo del dispositivo e la versione EasyBuilderPro che stai usando.
Non vorrei che il cMT sia molto datato quindi occorra aggiornare il sistema operativo.
Usa come test il cMT Viewer interno ad EasyBuilderPro (Menu Tool->cMT Viewer) per collegarti e non la versione stand alone. Così da verificare se ci sono differenze di comportamento.
Sergio Bertana
Amministratore del forumDalla documentazione trovata in rete vedo che è possibile configurare M241 Logic Controller sia come come un dispositivo slave che master TCP Modbus, dipende da te come vuoi operare.
M241 come dispositivo slave, sullo SlimLine dovrai istanziare il FB ModbusMaster, da documentazione Schneider vedo che puoi usare i comandi Modbus:
- 16#03 per leggere gli oggetti %IW e %QW del M241
- 16#06 per scrivere l’oggetto %IW del M241
- 16#10 per scrivere l’oggetto %IW del M241
M241 come dispositivo master, SlimLine ha acccessibile da Modbus TCP (Porta 502) tutta l’area DB100, indirizzabile con i comandi 16#01, 16#03, 16#06, 16#10 ed indirizzi a partire da 40000. In alternativa è possibile istanziare il FB ModbusSlave e configurare l’indirizzo e la dimensione dell’area indirizzabile.
Sergio Bertana
Amministratore del forumIl cMT-SVR822 che si differenzia dal cMT-SVR820 per avere la licenza EasyAccess preinstallata, come tutti i panneli operatore Weintek ha la possibilità di utilizzare il Free protocol (Estratto manuale) che ti permette da macro con le funzioni INPORT ed OUTPORT di ricevere ed inviare dati su qualsiasi interfaccia sia seriale RS232/485 che TCP/IP.
Se cerchi nel forum Free protocol puoi trovare informazioni utili.
Sergio Bertana
Amministratore del forumL’applicazione richiesta è realizzabile con i ns sistemi programmabili SlimLine. Utilizzando un modulo PLC Compatto a cui aggiungere 1 o più moduli di espansione I/O digitali è possibile avere i punti di I/O necessari. Gli ingressi sono optoisolati è possibile attivarli fornendo una tensione da 8 a 30Vdc, le uscite sono a relè e possono tranquillamente gestire la potenza in gioco.
Per la gestione delle uscite digitali al FB HTTPServer è possibile inviare in Get o in Post il comando di apertura porta (Si può utilizare una codifica JSON o del semplice testo) con il comando si può inviare anche il tempo di durata. Alla ricezione del comando il FB TON ne gestirà l’attivazione per il tempo definito.
Per gli ingressi digitali alla loro variazione con il FB HTTPClient è possibile inviarne in Get o Post al server lo stato.
Riassumendo, l’utilizzo di un sistema programmabile permette una estrema configurabilità della applicazione, naturalmente è richiesta la realizzazione di un programma ad-hoc ma grazie agli esempi che trovate nella knowledge base molto del lavoro si riduce ad un taglia ed incolla dall’esempio all’ambiente di sviluppo LogicLab. Se nello sviluppo Vi serve un aiuto potete approfittare del ns servizio di supporto tecnico on-line.
Sergio Bertana
Amministratore del forumIn effetti i due codici di errori indicati non sono più presenti nell’elenco degli errori. Questo può succedere quando una funzione o un blocco funzione di libreria subisce un aggiornamento e nell’aggiornamento alcuni errori vemgono sostituiti da altri.
Se cerchi nella tabella solo l’ObjectID (Nel tuo caso 10002), verranno visualizati tutti gli errori dell’oggetto (Nel tuo caso si tratta del FB ModemCore).
Questo FB è stato completamente riscritto proprio per permettere la definizione del tipo di modem (Parametro Type) in modo da poter gestire nuovi tipi di modem come ad esempio l’EGX81. Quindi ti consiglio di utilizare l’ultima versione della raccolta librerie (Al momento è il PCK055A050). Se utilizzi il package ricordati di eliminare dal progetto i link a librerie precedenti.
In questo modo tutti gli errori che si possono generare sono sicuramenti riportati nell’elenco errori. In questo topic trovi altre informazioni sul modem EGX51. Ti ricordo che questo modem non supporta le chimate telefoniche quindi non puoi utilizzarlo per inviare un ring di alert (Vedi ModemPhoneRing).
Sergio Bertana
Amministratore del forumLe due porte 1-Wire del Poseidon 2 3268, son perfettamente identiche e supportano sia dispositivi 1-Wire tradizionali che i dispositivi 1-Wire Uni. Quindi puoi tranquillamente collegare 2 Splitter HUB 1-wire. Come vedi dalle caratteristiche il Poseidon 3268 può acquisire fino ad un massimo di 8 valori da sensori 1-Wire.
Qquindi al di là delle porte 1-wire disponibili che utilizzando 2 HUB diventano 10, potrai comunque collegare al massimo sensori con un totale di 8 misure (Nei sensori combinati devi contare le misure che attuano).
In merito al sensore di temperatura+umidità+CO2 1-Wire HomeBox, puoi gestirlo con il Poseidon 3268 ma in questo caso ricordati che questo sensore ha 3 valori.
Il Sistema di monitoraggio avanzato Perseus, è il nuovo prodotto rilasciato da HW-group e come vedi anche il modello 140 dispone già di 4 porte 1-wire e può acquisire fino a 100 valori. Inoltre ha molte funzioni avanzate di visualizzazione che lo rendono sicuramente più flessibile del Poseidon.
- You can initialize values in the data structure definition as follows:
-
AutorePost