Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumHo realizzato un semplice programma che testa lo swap su variabili REAL, naturalmente per vedere il risultato dello swap ho dovuto appoggiare i valori dopo lo swap su variabili DWORD perchè i numeri REAL non essendo più nel formato corretto non sono più visualizzabili. Ecco il risultato:
PROGRAM MyProgram VAR i : BOOL; (* Auxiliary variable *) DWData : ARRAY[0..3] OF DWORD; (* DWord data example *) RLData : ARRAY[0..3] OF REAL; (* Real data example *) END_VAR RLData[0]:=1234.567; DWData[0]:=eGetDWORD(ADR(RLData[0])); //16#449A5225 i:=SwapData(ADR(RLData[1]), ADR(RLData[0]), DWORD_TYPE, SWAP_HALF); DWData[1]:=eGetDWORD(ADR(RLData[1])); //16#5225449A i:=SwapData(ADR(RLData[2]), ADR(RLData[0]), DWORD_TYPE, SWAP_VARS); DWData[2]:=eGetDWORD(ADR(RLData[2])); //16#449A5225 i:=SwapData(ADR(RLData[3]), ADR(RLData[0]), DWORD_TYPE, SWAP_ENDIAN); DWData[3]:=eGetDWORD(ADR(RLData[3])); //16#25529A44 // [End of file]Sergio Bertana
Amministratore del forumNon esiste un comando di comparazione ma se è stato eseguito l’upload del programma sorgente nel dispositivo (Vedi articolo) è possibile eseguirne il download e dopo averlo aperto con LogicLab ci si ritrova con il file di progetto plcprj relativo al programma presente nel dispositivo.
Utilizzando un semplice programma di comparazione file di testo si possono vedere le differenze. Certo è tutto molto chiaro per i programmi testuali (Linguaggi IL ed ST) per i programmi grafici si vede la differenza ma non è facile capire quale sia.
Sergio Bertana
Amministratore del forumPuoi inserire nella pagine degli oggetti introduzione ascii, puoi appoggiare i dati inputati su variabili LW o su RW se vuoi mantenere il dato allo spegnimento.
Per ogni riga puoi definire il numero di word (Ogni word sono 2 caratteri), naturalmente se vuoi scrivere su più righe dovrai inserire un oggetto di introduzione per ogni riga. Il testo non può scorrere tra i vari oggetti.
Sergio Bertana
Amministratore del forumContatore di energia trifase SDM630 pur disponendo di una uscita Modbus da cui è possibile acquisire tutte le misure, per i ns sistemi SlimLine esiste un blocco funzione apposito gestisce comunque due uscite impulsive per la misurazione dell’energia attiva e reattiva.
L’uscita 2 non è configurabile, è impostata per la misurazione dell’energia attiva, e genera 400 impulsi/kWh, la larghezza dell’impulso è 100mS.
L’uscita 1 può essere impostata dal menu di configurazione con i parametri:
- Pulse output, energia misurata, potenza totale (attiva kWh, reattiva kVarh), import potenza (attiva kWh, reattiva kVarh), export potenza (attiva kWh, reattiva kVarh).
- Pulse rate, quantità di energia per ogni impulso (0.01/0.1/1/10/100 kWh/kVarh).
- Pulse duration, durata impulso 200mS (Solo per dispositivi non MID), 100mS (Default), 60mS.
La tua domanda, “avrei necessità di ottenere 60ms per 1000 impulsi”, puoi avere impulsi di durata 60mS ed impostando pulse rate a 0.01 avrai 100 impulsi ad ogni kWh.
Febbraio 8, 2023 alle 8:20 am in risposta a: System registers, differenza registri LB-9153 e LB-10100 #69989Sergio Bertana
Amministratore del forumIn fondo al secondo post c’è il link al download, era un progetto realizzato con una vecchi versione di EasyBuilder quindi va convertito.
L’operazione di conversione la esegue direttamente EasyBuilderPro basta aprirlo dal menù File. Terminata la conversione viene chiesto di definire il modello di pannello scegliere un modello da 4.8″.
Ecco comunque il progetto CnnTest modificato per un pannello MT8051iP.
Sergio Bertana
Amministratore del forumCertamente un sensore RS485 è più “robusto” elettricamente, nella nostra gamma di sensori abbiamo i sensori combinati temperatura, umidità, CO2 e VOC con il relativo blocco funzione di acquisizione.
Una alternativa più costosa ma che permette anche l’impostazione è di utilizzare il sensore temperatura e umidità ambiente con display, anche per questo c’è il suo blocco funzione di gestione.
Se non vuoi stendere cavi puoi utilizzare i sensori wireless della Aranet.
Sergio Bertana
Amministratore del forumNon capisco cosa intendi per “in caso di fluttuazione della tensione di linea tutto il ciclo riparte”, se il problema si manifesta perchè il PLC si riavvia o se sono altri componenti dell’impianto che si riavviano.
Il PLC ha un controllo sulla tensione minima di alimentazione e comunque se c’è un “buco” di alimentazione certamente si riavvia. Ma questo è facilmente risolvibile con una batteria di emergenza sull’alimentazione, puoi usare un alimentatore UPS serie DRC.
Se invece la tua necessità è di gestire le sequenze di impianto a stati puoi dare una occhiata a questo topic, in pratica si utilizza una variabile numerica per gestire gli stati macchina, nei linguaggi LD o FBD utilizzi l’operatore di comparazione per abilitare le operazioni nei vari stati, in linguaggio ST utilizzi l’operatore CASE.
Se vuoi mantenere traccia dello sato in cui si trova l’impianto allo spegnimento basterà rendere ritentiva la variabile numerica che gestisce gli stati. Inoltre modificando il numero è possibile passare facilemente da uno stato all’altro.
Sergio Bertana
Amministratore del forumUtilizzando due convertitori ATC-1200 uno impostato come server e l’altro come client connessi entrambi alla stesa rete ethernet, non importa se in mezzo ci sono dei ripetitori WiFi che riportano la rete tu puoi avere una connessione seriale trasparente.
Naturalmente la conversione seriale/Ethernet introduce sicuramente ritardi che possono andare da pochi mS fino a 100 mS e più (Dipendono anche dall’intasamento della rete Ethernet). Ma siccome mi dici trattarsi di un Modbus RTU gli eventuali ritardi sono sicuramente tollerabili e gestiti dal sistema.
Molte volte mi viene chiesto se è possibile utilizzare questi convertitori Seriale/Ethernet per collegare centraline antifurto o centrali antincendio, ecco in questi casi il protocollo seriale è proprietario e può succedere che il sistema controlli i tempi di latenza generando errori di comunicazione.
Sergio Bertana
Amministratore del forumSono in molti ad utilizzare sistemi PLC per il controllo domotico in questo articolo diamo alcune informazioni in merito.
“In caso del guasto del PLC” questo evento con i nostri prodotti non può succedere… Però capisco la tua apprensione e quindi và bene utilizzare il relè passo-passo, per leggerne lo stato ti conviene utilizzare dei relè a due contatti, uno per attuare il comando a 220V è l’altro per la segnalazione a 24V. Magari puoi prevedere anche il comando della bobina da PLC in parallelo al pulsante in modo da poter gestire automazioni sui comandi.
- Quando inserisci l’antifurto spegni automaticamente tutte le utenze non utili.
- Accendi ad orari prestabiliti o da remoto alcune utenze.
- Crei scenari automatici sulle luci, per simulare presenza in casa.
- Spegni utenze energivore al superamento della soglia di energia disponibile per evitare lo sgancio del contatore.
Per acquisire il consumo di energia consiglio l’utilizzo del contatore di energia monofase SDM120 con il suo blocco funzione dedicato.
Per l’acquisizione delle temperature è una buona idea l’utilizzo di sensori 1-Wire basati su DS18B20 come questo. Puoi collegarli tutti in parallelo ed acquisirli direattamente dall’interfaccia 1-Wire del modulo CPU.
Sergio Bertana
Amministratore del forum- Le TAGs riportate con colore rosso indica che sono usate da qualche parte nel progetto.
- La visualizzazione della griglia indirizzi si attiva d al menù View selezionando Address Grid (Screenshot).
- Dovrai allocare le tue stringhe in un area libera, quindi cerca delle zone libere contigue adatte a contenere le stringhe.
- Per scrivere il dimostrativo sono partito da un esempio di Weintek, può essere che mi sia rimasta dentro qualche dicitura originale.
Sergio Bertana
Amministratore del forumSi l’esempio Demo_SQLQuery è contenuto nel link che hai trovato, nel file zip ci sono anche alcuni esempi presi dal sito Weintek.
Riguardo al MariaDB non so se tutti gli elementi siano supportati ma per quello che vedo direi di si.
Febbraio 6, 2023 alle 2:41 pm in risposta a: System registers, differenza registri LB-9153 e LB-10100 #69933Sergio Bertana
Amministratore del forumInformazioni sull’utilizzo dei system registers relativi alla comunicazione con il PLC le puoi trovare in questo topic.
Però è strano che se il PLC è on-line tu abbia questi problemi di comunicazione, hai impostato nel protocollo un tempo di timeout sufficente, ed eventualmente un numero di retries prima di generare errore (Screenshot).
Sei sicuro che non vi siano oggetti che puntano ad indirizzo errato sul PLC, prova a fare un progetto con un unico oggetto switch e metti il programma in test per verificare se anche con un solo oggetto hai problemi di comunicazione.
Sergio Bertana
Amministratore del forumL’accesso al pannello da cMTViewer è sempre attivo, è possibile connettere fino a 9 client cMTViewer in contemporanea oltre alla visualizzazione sul display del pannello.
Il numero di connessioni contemporanee è impostabile da EasyBuilderPro nelle impostazioni di progetto (Screenshot).
Attivando l’App cMTViewer sul PC o sul tablet/smartphone ed agendo sul tasto di ricerca dispositivi in rete (Screenshot), se il pannello è nella stessa rete verrà visualizzato nell’elenco e selezionandolo sarà possibile accedervi. Nel tuo caso visto che non trovi il pannello farei questi controlli:
- Accertarsi che sia raggiungibile in rete, provando a fare un ping.
- Verificare di non avere indirizzi IP sovrapposti tra pannello ed un’altro dispositivo.
Febbraio 1, 2023 alle 12:15 pm in risposta a: Visualizzare lista variabili con riferimento dove sono utilizzate #69727Sergio Bertana
Amministratore del forumAggiungo che comunque esiste la possibilità di avere un elenco di Cross reference completo al termine della compilazione del progetto.
Dal menù Project->Options->Cross Reference occorre abilitarne la generazione, terminata la compilazione del progetto con il tasto Cross reference window è possibile aprire la finestra di visualizzazione.
Definendo in Name il nome della variabile verranno visualizzati tutti i punti dove è stata utilizzata (Screenshot).
Gennaio 31, 2023 alle 2:22 pm in risposta a: Visualizzare lista variabili con riferimento dove sono utilizzate #69710Sergio Bertana
Amministratore del forumIl metodo che io utilizzo è il comando di ricerca nel progetto (Find in project), si attiva con la combinazione di tasti Ctr+F.
Selezionando la variabile da cercare, con la combinazione di tasti Ctr+F si attiva la funzione che darà come risultato tutti i punti dove viene utilizzata la variabile (Screenshot).
Un doppio click sui vari punti posizionerà l’editor direttamente sul punto per l’eventuale modifica.
-
AutorePost