Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,156 a 1,170 (di 4,379 totali)
  • Autore
    Post
  • in risposta a: Potenza monofase su inverter con uscita trifase #59136
    Sergio Bertana
    Amministratore del forum

    3 CV equivalgono a 2,2065 Kw quindi puoi utilizzare un inverter GD20-2R2G-S2-EU Inverter ingresso monofase 230V 2.2kW/10A.

    L’inverter assorbe pressochè la stessa potenza che eroga in uscita (A parte la piccola dissipazione termica), alla piena potenza assorbirai 2.2 kW (o poco di piu) anche sul monofase. Quindi il riuscire ad alimentare il motore dipende dagli altri carichi che hai attivi sotto al contatore.

    L’inverter ti permette di avviare il motore in rampa e quindi di evitare anche i picchi sull’avvio.

    Nota: Entrando con il 220V monofase avrai la stessa tensione in uscita quindi devi verificare che il tuo motore possa funzionare a 220V. Di solito se il motore è predisposto basta modificare il collegamento da stella a triangolo.

    in risposta a: Gestire visualizzazione immagini #59124
    Sergio Bertana
    Amministratore del forum

    Tutti ipannelli Weintek hanno l’oggetto Picture View (Screenshot) che permette di visualizzare immagini presenti in un PenDrive connesso al terminale.

    L’oggetto permette di visualizzare automaticamente le immagini o di definire tramite word di controllo l’immagine da visualizzare.

    E’ possibile definire la cartella delle immagini direttamente oppure dinamicamente tramite word di controllo.

    in risposta a: Reset Event Log con HMI cMT #59090
    Sergio Bertana
    Amministratore del forum

    Purtroppo sulla famiglia cMT per ora non ci sono soluzioni, Weintek è già stata avvisata di questa mancanza, dovrebbere rilasciare un nuovo firmware… Lo stiamo aspettando…

    in risposta a: Comunicazione modbus tra SlimLine e Inverter #59086
    Sergio Bertana
    Amministratore del forum

    Come hai detto giustamente tu il FB ACModbus, Array command Modbus, è nato proprio per facilitare la comunicazione con dispositivi Modbus permettendo di definire i comandi da eseguire tramite un array di strutture di tipo ACMODBUS_DATA.

    L’utilizzo della FB semplifica sicuramente la scrittura dei programmi in quanto si occupa di tutte le operazioni di scheduling dei comandi ottimizzando il passaggio da un comando all’altro, proprio con l’obbiettivo di ottenere il meglio delle prestazioni possibili.

    Ma se chi ha scritto un programma in ST utilizzando il FB ModbusMaster schedulando opportunamente i comandi ha già attuato tutte le possibili strategie per minimizzare i tempi ha già ottenuto il massimo delle prestazioni e quindi anche la FB ACModbus non potrà fare di più.

    in risposta a: Conversione tra Epoch time e data/ora #59084
    Sergio Bertana
    Amministratore del forum

    Ho provato a sentire anche Weintek ma non hanno una macro che converte da Epoch time a data ora. Credo che come hai detto tu la cosa più semplice sia fare transitare i dati sullo SlimLine e poi utilizzare i blocchi funzioni SysDateToETime, SysETimeToDate.

    Sperando possa essere utile ad altri visitatori del forum allego il dimostrativo fornito da Weintek per la conversione da Data/Ora in Epoch ed ecco la macro utilizzata.

    macro_command main()
    short yy, mm, dd, hh, min, ss
    unsigned short md[13] = {0,31,59,90,120,151,181,212,243,273,304,334}
    unsigned short md_leap[13] = {0,31,60,91,121,152,182,213,244,274,305,335}
    unsigned int epoch = 0
    unsigned int a,b,c,d,e,f
    
    GetData(yy, "Local HMI", LW, 100, 1)
    GetData(mm, "Local HMI", LW, 101, 1)
    GetData(dd, "Local HMI", LW, 102, 1)
    GetData(hh, "Local HMI", LW, 103, 1)
    GetData(min, "Local HMI", LW, 104, 1)
    GetData(ss, "Local HMI", LW, 105, 1)
    
    yy = yy - 1900
    mm = mm-1
    if yy%4==0 then
        dd = md_leap[mm] + dd - 1
    else
        dd = md[mm] + dd - 1
    end if
    
    a = (yy-70) * 31536000
    b = (yy-69) / 4 * 86400 
    c = (yy-1) /100 * 86400
    d = (yy + 299) / 400 * 86400
    
    epoch = ss + min*60 + hh*3600 + dd*86400 + a + b - c + d
    SetData(epoch, "Local HMI", LW, 0, 1)
    end macro_command
    in risposta a: Applicazione Utility mananger si vede sfocata #59078
    Sergio Bertana
    Amministratore del forum

    Occorre modificare le impostazioni di visualizzazione, eseguire il programma DisplaySetting nella cartella di installazione di EasyBuilderPro, e selezionare Software render (Vedi screenshot).

    in risposta a: Accesso da Internet ad ATC-1200 #59012
    Sergio Bertana
    Amministratore del forum

    Rispondendo in modo semplice alla domanda direi che per accedere da remoto via Internet devi disporre di una connessione con IP pubblico (Non importa se dinamico) e DEVI agire sul firewall definendo regole di NAT o port forwarding.

    Ma scendendo più profondamente nella discussione posso dire che per non dover agire sul router e poter utilizzare connessioni anche con IP NATtato (Non pubblico) non è possibile “entrare” nella rete ma occorre “uscire” dalla rete. In questo caso è possibile configurare il convertitore come client e farlo connettere con un server raggiungibile su IP pubblico.

    Anche se dovendo realizzare questo tipo di connessione utilizzerei qualcosa di più “robusto”, come l’ATC-3000 un convertitore dotato di watchdog.

    O meglio ancora un sistema programmabile come la nostra famiglia SlimLine che con costi di poco superiori permettono di essere programmati non solo per agire come un ATC-1200 ma potrebbero acquisire in RS485 i dati dai tuoi dispositivi ed inviarli in MQTT nel cloud ad un servizio pubblico come Beebotte o via REST a un tuo server.

    in risposta a: Gestione funzione STO #59005
    Sergio Bertana
    Amministratore del forum

    La funzione STO se attiva evita la partenza inaspettata del motore quando attiva disabilita l’uscita dell’inverter.

    Per attivare lo STO occorre scollegare dal +24Vdc i segnali H1 ed H2 dell’inverter (Togliere i ponticelli precablati sui 2 morsetti rossi). A questo punto è possibile eseguire la connessione dei 2 segnali H1 ed H2 al +24Vdc utilizzando un relè o un pulsante di sicurezza. I 2 segnali vanno sempre connessi/disconnessi contemporaneamente.

    All’intervento della funzione STO l’inverter và in allarme e normalmente dopo la riattivazione dello STO occorre eseguire un reset. Agendo sulla prima cifra delle centinaia del parametro P11.16 è possibile modificare il comportamento.

    • 0xx, allarme STO bloccato: A seguito di una condizione STO è necessario un reset dell’inverter.
    • 1xx: allarme STO sbloccato: L’allarme STO è disattivato automaticamente.
    in risposta a: Connessione I/O logici modulo CPU SlimLine #58994
    Sergio Bertana
    Amministratore del forum

    Lo schema è corretto, per completezza di risposta aggiungo alcune informazioni.

    I 2 ingressi del modulo sono isolati galvanicamente tramite optoisolatori che accettano segnali sia positivi che negativi. Quindi puoi come nel tuo caso connettere il DICom a massa e pilotare gli ingressi con un segnale positivo, oppure collegare il DICom ad un segnale positivo e pilotare gli ingressi collegandoli a massa (Il range è 5-30Vdc, 7mA@24V).

    Le 2 uscite digitali sono gestite con optoisolatori Mosfet, quindi puoi come nel tuo caso collegare il DOCom ad un segnale positivo e pilotare il carico in uscita collegato verso massa, oppure collegare il DOCom a massa e e pilotare il carico in uscita collegato verso un segnale positivo (Il range è 250mA@40V).

    Le uscite OptoMOS non sono protette quindi per occorre proteggerle come hai fatto correttamente tu con un fusibile extrarapido da 250mA. Naturalmente se metti un fusibile sul comune limiti la corrente totale in uscita a 125mA per canale se entrambi i canali sono attivi contemporaneamente. Per sfruttare l’intera potenza in uscita puoi utilizzare un fusibile da 250mA per ogni canale.

    in risposta a: Comunicazione Modbus RTU con Energy meter SDM120 #58989
    Sergio Bertana
    Amministratore del forum

    Nessun problema solo che non capivo il nesso con le elettrovalvole…

    Infatti il mio sufggerimento era di abilitare il FB parametrizzato per la scrittura solo quando serve scrivere, naturalmente tutto sarebbe molto più semplice lavorando in linguaggio ST e gestendo il programma in case con lo statement CASE.

    TRovi molti programmi realizzati in questo modo puoi prendere spunto da esempi che trovi nel forum.

    in risposta a: Comunicazione Modbus RTU con Energy meter SDM120 #58985
    Sergio Bertana
    Amministratore del forum

    Mi sono un pò perso… si parlava di energy meter SDM120 ed ora saltiamo ad elettrovalvole…

    Ma venendo alla tua domanda hai appreso come mettere in cascata più FB ModbusMaster per effettuare la lettura dei registri da diversi strumenti. Ora quando devi scrivere aspetti il Done dell’ultimo FB in cascata e anzichè ripartire con la sequenza togliendo l’Enable del primo, farai partire un un ulteriore FB ModbusMaster che configurerai di volta in volta per la scrittura del registro che ti occorre.

    in risposta a: Collegamento con PLC Schneider M340 #58981
    Sergio Bertana
    Amministratore del forum

    Per la connessione ai PLC Schneider M340/M580 puoi riferirti al manuale connessione PLC di cui ti allego estratto.

    Attenzione il firmware della CPU del PLC deve essere 2.70 o superiore.

    in risposta a: Realizzare una temporizzazione in un blocco funzione #58978
    Sergio Bertana
    Amministratore del forum

    Premesso che non ho ben capito cosa vuoi ottenere… ma se vuoi mandare una eMail quando gli ingressi analogici vanno in fault basterà inviarla sul fronte di attivazione errore di acquisizione così avrai una sola mail indipendentemente dal tempo in cui stà in errore.

    Per quanto riguarda le temporizzazioni io utilizzo sempre la funzione SysGetSysTime eseguendo il controllo su di un tempo di riferimento, e come detto prima la temporizzazione massima è di circa 70 minuti. Non capisco la tua perplessità sulla ripartenza del tempo, essendo un calcolo a riporto circolare funziona sempre correttamente. Certo l’unico controllo da fare è alla accensione dove dovrai memorizzare il tempo di riferimento. Il programma che ti posto sotto esegue l’inversione di BOut ogni 30 minuti.

    VAR
        TimeBf : UDINT; (* Time buffer (uS) *)
        BOut : BOOL; (* Blink output *)
    END_VAR
    
        IF (SysFirstLoop) THEN TimeBf:=SysGetSysTime(TRUE); END_IF;
        IF ((SysGetSysTime(TRUE)-TimeBf) >= 1800000000) THEN TimeBf:=SysGetSysTime(TRUE); BOut:=NOT(BOut); END_IF;
    in risposta a: Definizione parametri in funzione e in blocco funzione #58973
    Sergio Bertana
    Amministratore del forum

    Nelle funzioni non viene allocata memoria, i parametri in ingresso, uscita e le variabili interne sono tipicamente appoggiati su registri e non su aree di memoria, quindi ci sono limitazioni sulla dimensione e sul riferimento agli stessi all’interno della funzione. Cito ad esempio l’impossibilità di utilizzare lo statement ADR riferito ad un parametro o variabile.

    Nei FB invece viene allocata memoria per l’appoggio dei parametri e delle variabili e questo permette  di utilizzare qualsiaso tipo di dato. Inoltre nei FB possono essere usati riferimenti a variabili globali di programma con la keyword EXTERN.

    Ma se vuoi defire come parametro in ingresso da una funzione parametri di tipo definito da te, puoi passare il parametro come riferimento e non come valore indicando come tipo l’indirizzo della tua variabile. Ecco la definizione della funzione.

    FUNCTION MyFun: BOOL
    VAR_INPUT
        In : @MYSTRUCT;
    END_VAR
    
        @In.V2:[email protected];
        MyFun:=TRUE;

    Ecco il programma dove viene eseguita.

    PROGRAM MyProgram
    VAR
        MyVar : MYSTRUCT;
        Res : BOOL;
    END_VAR
    
        MyVar.V1:=LREAL#10.0;
        Res:=MyFun(ADR(MyVar));
    in risposta a: Realizzare una connessione Modbus TCP/IP #58957
    Sergio Bertana
    Amministratore del forum

    L’ingresso Delay del FB ModbusMaster serve proprio a questo, in pratica terminato il comando modbus si attiverà per un loop di programma l’uscita Ok, che potrai usarla per la conversione dei dati, ma l’uscita Done si attiverà solo dopo il tempo definito in Delay.

    Quindi se colleghi pù FB Modbus in cascata la seconda partirà dopo il tempo di delay della prima, la terza dopo il tempo di delay della seconda e così via. Fino all’ultima della cascata che dopo il tempo di delay definito farà ripartire la prima.

Stai visualizzando 15 post - dal 1,156 a 1,170 (di 4,379 totali)