Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,456 a 1,470 (di 4,507 totali)
  • Autore
    Post
  • in risposta a: Utilizzo PLC Elsist per applicazioni domotiche – Legge #57284
    Sergio Bertana
    Amministratore del forum

    Premesso che non sono esperto in questioni normative posso solo esprimere un mio pensiero sulle perplessità sollevate dal post. A quanto ne sò (Ma aspetto che qualcuno più esperto di me dia il suo parere) le normative sugli impianti civili indicano il colore, le sezioni dei cavi ed il modo in cui deve essere realizzato l’impianto. Cito ad esempio la necessità di una buona messa a terra, l’utilizzo di apparecchi a norma CE, il sezionamento della linea di fase e non del neutro, la presenza degli opportuni interruttori magnotermici differenziali, ecc.

    Detto questo non vedo differenze di pericolosità se il comando di una lampada o di un elettrodomestico arriva da un interruttore o dal relè di attuazione di un PLC. Tenuto conto che i PLC sono progettati per l’utilizzo in automazione industriale dove ormai è impossibile farne a meno. E se un PLC può governare un impianto industriale dove effettivamente c’è una pericolosità non vedo come non possa governare un impianto domotico dove al limite viene accesa una luce, un boiler o attivata l’irrigazione.

    Riguardo al programma, mi riferisco ancora agli impianti industriali dove il programma è realizzato da molti programmatori che si sono formati con la pratica ed alcuni dei quali scrivono programmi che presentano grossolani bugs. A garanzia dell’operatore c’è comunque sempre un circuito hardware esterno di sicurezza che può essere anche solo il banale fungo di emergenza.

    In un impianto domotico gli attuatori che possano creare danni all’utente immagino possano essere i comandi delle tapparelle o del portone scorrervole che per loro natura sono già intrinsecamente sicuri, hanno le loro fotocellule di arresto o hanno un motore di potenza talmente bassa da non arrecare danni alle persone.

    Questa è una mia riflessione, speriamo che il post sollevi altre riflessioni o risposte più qualificate della mia.

    in risposta a: Utilizzo di un FB all’interno di un altro FB #57280
    Sergio Bertana
    Amministratore del forum

    Da quello che dici mi sembra che ora hai spostato l’esecuzione del FBeTP e tutto ti funziona.

    In generale Programma, Funzione o Blocco Funzione lo si decide quando si costruisce un nuovo oggetto e nello stesso momento si decide anche con quale dei 5 linguaggi realizzarlo.

    La condizione IF ha esattamente lo stesso significato che assume in molti altri linguaggi di programmazione, tutto quello che è contenuto nel corpo dell’IF viene eseguito solo se la condizione è vera. Se la condizione non è vera tutto il contenuto del corpo viene ignorato e rimane nello stato in cui si trova.

    in risposta a: Acquisizione stato connessione PLC remoto #57257
    Sergio Bertana
    Amministratore del forum

    Nel pannello devi aggiungere come device anche il pannello remoto cosi potrai leggere i bit di sistema del pannello remoto e generare l’allarme come stai già facendo con i PLC fisicamente collegati al pannello.

    in risposta a: Rilasciato FB MQTTClient per gestione protocollo MQTT #57254
    Sergio Bertana
    Amministratore del forum

    Per risponderti mi rifaccio all’esempio riportato sul manuale on-line del FB MQTTClient, in pratica nel ciclo CASE di esecuzione basta aggiungere le varie  sottoscrizioni, ecco un esempio.

        CASE (CaseNr) OF
    
            // ---------------------------------------------------------------------
            // CONNECTION TO BROKER
            // ---------------------------------------------------------------------
            // Check if connected to broker.
    
            0:
            MQTT.Enable:=Enable; //Connection enable
            IF NOT(MQTT.Connected) THEN RETURN; END_IF;
    
            // Client connected to broker, manage the subscription
    
            MQTT.Topic:=ADR('TopicOne'); //Topic name
            MQTT.Subscribe:=TRUE; //Topic subscribe
            CaseNr:=CaseNr+1; //Program case
    
            // ---------------------------------------------------------------------
            // Waits for subscription.
    
            1:
            MQTT.Subscribe:=FALSE; //Topic subscribe
            IF NOT(MQTT.Subscribed) THEN RETURN; END_IF;
            CaseNr:=CaseNr+1; //Program case
    
            // ---------------------------------------------------------------------
            // Manage the subscription
    
            2:
            MQTT.Topic:=ADR('TopicTwo'); //Topic name
            MQTT.Subscribe:=TRUE; //Topic subscribe
            CaseNr:=CaseNr+1; //Program case
    
            // ---------------------------------------------------------------------
            // Waits for subscription.
    
            3:
            MQTT.Subscribe:=FALSE; //Topic subscribe
            IF NOT(MQTT.Subscribed) THEN RETURN; END_IF;
            CaseNr:=CaseNr+1; //Program case

    Puoi continuare con i cases aggiungendo tutte le sottoscrizioni che ti servono.

    in risposta a: Utilizzo di un FB all’interno di un altro FB #57250
    Sergio Bertana
    Amministratore del forum

    Cominciamo con il dire che è possibile l’utilizzo di funzioni o blocchi funzione all’interno di un FB, mentre è possibile l’utilizzo di funzioni ma non di blocchi funzioni all’interno di una funzione. Questo indipendentemente dal linguaggio che si utilizza. E’ possibile realizzare blocchi funzioni in qualsiasi linguaggio utilizzando all’interno funzioni o FB scritti in qualsiasi altro linguaggio.

    Detto questo non mi è chiaro quello che vuoi fare nel tuo FB, intanto il FB FBeTP lo devi sempre eseguire e non eseguirlo condizionato da DW. Il FB per lavorare correttamente và sempre eseguito, dovrai operare sui sui I/O in funzione di quello che vuoi ottenere.

    Poi consa intendi con IN:=IN_DW, non hai variabili che si chiamano IN_DW, per riferirti all’ingresso DW basta usarne il nome come hai fatto nell’IF.

    in risposta a: Informazioni su SDM120, registro Active Power #57215
    Sergio Bertana
    Amministratore del forum

    Tutti i valori acquisiti via Mosdbus dagli strumenti Eastron sono in floating point a 32 bits nel formato IEE 754 quindi viene gestito il segno. Se la potenza è importata il valore ha segno positivo, se la potenza è esportata il valore ha segno negativo.

    Da notare che siccome il protocollo Modbus non specifica l’endianness dei dati ed essendo i valori espressi su registri a 32 bits occorre eseguire la lettura di due registri per avere il valore in IEE 754, e l’ordine dei dati è in big endian.

    Per i nostri sistemi programmabili forniamo il blocco funzione EastronSDM120 che ritorna il valore di tutti i registri dello strumento.

    in risposta a: Supporto EasyPrinter su pannelli serie cMT #57169
    Sergio Bertana
    Amministratore del forum

    Con la serie cMT-FHD puoi fare una stampa su USB disk, poi con file transfer (da action trigger o combo button) puoi trasferirlo al PC che deve avere installato un server FTP. Puoi utilizzare ad esempio il programma FileZilla in modalità server.

    in risposta a: Connessione a MySQL con cMT-SVR #57158
    Sergio Bertana
    Amministratore del forum

    Aggiungo al post precedente questo link per il download di un dimostrativo Weintek che illustra come gestire queries su di un database MySQL. Ecco l’overview dato da Weintek

    The following demo will introduce how to use the Basic Mode and Advanced Mode of SQL Query to read and modify the data in MySQL database. In Advanced mode, the data in the database can be read and operated with SQL language.

    in risposta a: Velocità acquisizione moduli analogici Yotta A-1019 #57074
    Sergio Bertana
    Amministratore del forum

    Aggiungo questo post ricordando come sia possibile utilizzare uno o più modulo di acquisizione analogica unito ad modulo CPU compact per realizzare un sistema di acquisizione remoto.

    Il modulo di acquisizione ha un tempo di campionamento di 32 mS a canale quindi su 5 canali avremo un tempo massimo di 150 mS. Tempo che rimane tale anche utilizzando il modello da 10 canali perchè è realizzato con due diversi convertitori A/D (Uno ogni 5 canali).

    Dovendo realizzare un modulo I/O remoto misto tra digitali ed analogica sarà possibile abbinare al modulo CPU altri moduli di estensione.

    in risposta a: Velocità acquisizione moduli analogici Yotta A-1019 #57073
    Sergio Bertana
    Amministratore del forum

    In riferimento ai moduli di acquisizione analogica A-1019 il costruttore dichiara un Sampling Rate di 10sample/second (Total).

    Questo indica che il convertitore analogico/digitale esegue 10 letture al secondo (0.1 Sec a lettura), siccome sul modulo sono presenti 8 ingressi analogici ogni ingresso sarà acquisito ogni 0.8 secondi.

    Ho chiesto al fornitore se fosse possibile diminuire il tempo di campionamento ma mi ha confermato che non è possibile. Ecco la sua risposta…

    There is no way to improve this because it is restricted by the performance of the sampling chip. Usually high-precision analog data acquisition requires multiple samples to average data to be accurate, so the converted refresh rate is 10Hz (total). The cost of high-refresh rate sampling chips and high-precision analog chips is relatively high. If we use such hardware, the product cost will be high, and most users do not need such high refresh rate products.

    in risposta a: Accesso FTP al file system del terminale #57057
    Sergio Bertana
    Amministratore del forum

    Si certo l’accesso al pannello via FTP è possibile da entrambe le porte ethernet.

    Naturalmente se vuoi accedere da Internet dovrai aprire opportunamente le porte del tuo router e ti serve avere un router che si autoadatta alla porta impostata per la connessione passiva. Molto più semplice utilizzare EasyAccess.

    in risposta a: Disturbi su acquisizione PT100 #56971
    Sergio Bertana
    Amministratore del forum

    AGnd è meglio se collegato a terra.

    in risposta a: Disturbi su acquisizione PT100 #56949
    Sergio Bertana
    Amministratore del forum

    E’ noto che gli inverter per la loro natura sono dei generatori di disturbi, quindi và sempre usata la massima attenzione nel loro cablaggio. Non mi dici se all’inverter hai abbinato il filtro in ingresso e se per il cablaggio inverter/motore hai utilizzato un cavo specifico per motori elettrici comandati da inverter.

    Nel caso in cui il passaggio dei cavi di segnale sia prossimo a quello dei cavi di potenza dell’inverter è naturale che si propaghino dei disturbi elettrici che vengono acquisiti dal modulo analogico. Naturalmente  il cavo di connessione Pt100 con la scheda analogica deve essere twistato oltre che schermato, in modo che utilizzando l’ingresso differenziale vengano minimizzati i disturbi di cross-talk.

    Se tutte queste indicazioni sono state rispettate e continui ad avere questo disturbo, puoi provare a mettere un condensatore al poliestere 1uF o più in parallelo sugli ingressi AI0x+ e AI0x- del modulo di acquisizione.

    in risposta a: Eseguire aggiornamento OS #56863
    Sergio Bertana
    Amministratore del forum

    Weintek non rilascia in via ufficiale il sistema operativo dei panelli. Possiamo fornire il sistema operativo aggiornato con le relative istruzioni per il caricamento solo in caso di necessità di upgrade per riconosciuti problemi funzionali.

    in risposta a: Utilizzo libreria eLLabDataExchLib #56846
    Sergio Bertana
    Amministratore del forum

    Tutto quello che si può realizzare in ST in teoria è realizzabile con gli altri linguaggi della normativa, ma ogni linguaggio ha peculiarità che rendono più semplice la scrittura di certe sequenze.

    Nel tuo caso per gestire lo scambio tra i sistemi occorre valorizzare le strutture dati TCPDEXCHNODEDEFS e la valorizzazione di strutture in LD o FBD diventa una sequenza interminabile di MOVE, molto più semplice scriverlo in ST.

    Quindi in definitiva non abbiamo fatto esempi con altri linguaggi perchè sarebbero una sequenza infinita di “scatole” ancora più difficile da comprendere che in ST. Quello che invece s i può fare è di costruirsi i proprii FB (In linguaggio ST) e poi utilizzarli in modo grafico con altri linguaggi, nel nostro canale youtube trovi dei video che spiegano come fare.

Stai visualizzando 15 post - dal 1,456 a 1,470 (di 4,507 totali)