Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,821 a 2,835 (di 4,367 totali)
  • Autore
    Post
  • in risposta a: Eseguire il reboot del terminale HMI #38485
    Sergio Bertana
    Amministratore del forum

    La tecnica di effettuare un reboot del pannello ogni giorno è una tecnica che consigliamo di utilizzare sui pannelli che restano sempre accesi per evitare che si crei un overflow di allocazione memoria. Il sistema operativo del pannello è un Linux e l’applicativo come tutti i programmi continua ad allocare e disallocare memoria, può essere che in un sistema sempre acceso si esaurisca l’area di malloc generando un blocco del programma applicativo.

    Come detto prima vi sono due variabili che permettono il reboot, quindi l’operazione più semplice è creare una macro (Vedi manuale macro) eseguita a tempo in cui si controlla l’orologio interno al pannello ed all’ora stabilita, solitamente la mezzanotte quando presumibilmente nesuno stà utilizzando il pannello ne forza il reboot. Ho realizzato un semplice progetto che visualiza l’orologio del pannello ed alla mezzanotte forza il reboot (Download progetto).

    La tecnica è quella di controllare se l’ora è maggiore delle 23:59:55, visto che il reboot richiede circa 15 secondi, al riavvio l’ora sarà 00:00:10 quindi sicuramente minore del valore di confronto, così il prossimo reboot avverrà alla mezzanotte successiva. Tutti i terminale serie iE hanno il real time clock integrato.

    in risposta a: Come funziona il blocco funzione eTON in LogicLab #38483
    Sergio Bertana
    Amministratore del forum

    Nella nostra FB di eTON il valore di ET rimane settato anche al reset dell’ingresso IN. In effetti la abbiamo chiamata eTON con quella “e” che stà a significare una variante dellla TON standard. Non sò come mai ti serva azzerato il valore di ET alla discesa di IN. Ti allego un progetto (Stampa) in cui la FB non è protetta e quindi puoi agevolmente modificarla per piegarla alle tue necessità (Download progetto).

    Per ottenere l’azzeramento di ET sul reset di IN devi aggiungere nel ramo della IF sul controllo di IN anche l’azzeramento di ET.

    IF NOT(IN) THEN
      ET:=0; (* Executing time (mS) *)
      TimeBf:=SysTime; (* Time buffer *) 
      Q:=FALSE; (* Delayed output *)
      RETURN;
    END_IF;

    Se guardi l’FB vedrai che su riattivazione di IN ET assumerà il valore ET:=SysTime-TimeBf; ed avendo nel ramo del controllo su IN posto TimeBf:=SysTime; conteggerà il reale tempo trascorso dalla attivazione di IN.

    in risposta a: Acquisizione encoder e gestione del valore di quota #38481
    Sergio Bertana
    Amministratore del forum

    Partendo dall’esempio postato sopra, ho modificato il blocco funzione di calcolo quota per fare ritornare un valore DINT al posto di un UDINT, ed il gioco è fatto. Il valore Quote ritornato dal blocco funzione QuoteMng lo dovrai appoggiare in una variabile DINT allocata in memoria DB 100 per poterlo visualizzare sul pannello Weintek (Ecco la stampa del programma).

    Per permettere di poter memorizzare il valore di quota allo spegnimento del sistema ho inserito nel blocco funzione il parametro IQuote. In questo modo appoggiando sull’ingresso la variabile RETAIN del valore di quota si potrà alla abilitazione del blocco funzione iniziare il conteggio quota dal valore preesistente (Download programma).

    in risposta a: Fast output management on counter threshold #38479
    Sergio Bertana
    Amministratore del forum

    You don’t report how many counters that must be managed, anyway I try to suggest some possible solutions at your question.

    If you need a single counter you can use the counter on the SlimLine CPU module. It’s possible to read its value on a program executed on Fast task (Standard every 1 mS, but the time can be changed to your requirements and you can set times down to 100 uS). Here the screenshot of an example program, as you can see the program execution takes 9 uS and at the maximum 19 uS (Download program).

    If you need more counters and for a significantly number of applications, we can modify the static output expansion I/O module. The module is based on a FPGA logic, so it’s possible to program it by adding up to 4 counters and the logic to preset a value and manage the output according to your requirements.

    in risposta a: Come funziona il blocco funzione eTON in LogicLab #38478
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione eTON funziona esattamente come hai detto tu, non capisco come tu lo voglia utilizzare. Ecco lo screenshot di un programma di esempio in funzione sul simulatore SimuLab (Ho catturato lo screenshot mentre il timer stava temporizzando ET=1470), allego il progetto sorgente (Download progetto).

    Come funziona eTON, attivando l’ingresso IN (Sul fronte di attivazione) si azzera il valore di tempo trascorso (ET elapsed time) ed inizia il conteggio del tempo, raggiunto il valore definito in (PT preset time) l’uscita Q si attiva e rimane attiva fino alla disabilitazione dell’ingresso IN.

    Se l’attivazione di IN ha una durata inferiore al valore di tempo definito in PT, il timer inizia a contare ma non si attiva l’uscita Q. Ed in ET troveremo il valore di tempo per il quale l’ingresso IN è rimasto attivo. Allego la stampa dell’estratto della normativa IEC 61131-3 che riporta il diagramma temporale di funzionamento dei tre tipi di timer previsti.

    in risposta a: Come utilizzare la SDCard per il salvataggio di file di log #38477
    Sergio Bertana
    Amministratore del forum

    Ho ipotizzato un record di log con i dati che ti necessitano (Data/ora; 7 valori REAL), il record è del tipo:

    25/10/2014 00:00:00;120.5;75.8;1200.0;145.76;1560.6;456.8;985.75

    Come vedi sono 64 bytes che arrotondiamo per eccesso a 70. Considerando un log ogni 10 secondi avremo 360 Record/Ora (Pari a 25Kb Ora). Anche ipotizzando un log continuo 24 ore su 24 e 31 giorni mese avremo ogni mese 267840 records con una quantità di dati pari a 18Mb. Formattando la SDCard per contenere i 12 mesi avremo per ogni file disponibili 44Mb di dati come si vede dal comando:

    Format SDCard 12
    Are you sure ? (Y,n)
    Format Ok, Files:12, FSize:44738688, Time:54.290 (mS)

    In merito alla soluzione da te proposta di leggere da un PC tramite una connessione FTP i files dallo SlimLine, direi che è una ottima soluzione per garantire un efficace backup dei dati nello storage aziendale. Se opti per questa soluzione terrei i files sullo SlimLine più piccoli (Quindi farei una memorizzazione giornaliera) ed il server centrale può ogni giorno scaricare il file del giorno precedente avendo nello SlimLine un polmone di 7 giorni.

    in risposta a: Connettersi ad una WiFi pubblica con più PC #38475
    Sergio Bertana
    Amministratore del forum

    Certo la tua soluzione è fattibile, se sai dove è ubicata l’antenna WiFi dell’access point pubblico ti consiglio una NanoStation al posto del Bullet per la station esterna alla casa. Essendo direttiva la puoi puntare sull’access point migliorando sia la trasmissione che la ricezione.

    Poi come dici tu connetti al’interno della casa un dispositivo con antenna omnidirezionale da utilizzare come access point (Esempio Picostation). Ma a parte esigenze particolari Ubiquiiti rende disponibile l’AirGateway che fà esattamente quello che ti serve.

    Comunque se configuri station l’antenna esterna e Access point il dispositivo interno entrambi in modalita bridged (Non router) i dispositivi interno casa utilizzeranno il server DHCP della rete WiFi pubblica.

    Il WDS (Topic) è una tecnica per estendere il segnale utilizzando access point multipli.

    in risposta a: Abilitazione EasyAccess 2.0 su terminale #38474
    Sergio Bertana
    Amministratore del forum

    Ed ora veniamo all’accesso al pannello da remoto, occorre installare sul PC il programma Easy Access 2.0 (Download dal ns sito), eseguendo il programma verranno richieste le credenziali di accesso (Definire le credenziali impostate all’utente) (Screenshot).

    Eseguito l’accesso si visualizzerà lo stato di tutti i pannelli gestibili dall’utente, con l’indicazione dello stato di ogni pannello (Offline, Online). Clickando sul tasto di connessione verrà creata la VPN di connessione al pannello e visualizzato l’indirizzo IP assegnato dalla VPN al pannello. Riferendosi a questo indirizzo sarà possibile operare sul pannello come  se fosse fisicamente in rete con il PC.

    Easy Access 2.0 non rende solo possibile la connessione diretta ad un pannello della Weintek, ma fornisce anche la funzione pass-through che permette all’utente di connettersi a un PLC su una rete remota HMI, cioè sulla stessa LAN in cui è presente l’HMI. Una volta creata la rete VPN con il pannello un click sul pulsante “Set” permette di configurare l’indirizzo IP del PLC connesso alla rete del pannello. Dal tool di programmazione del PLC basterà riferirsi all’indirizzo IP definito per raggiungere tramite la VPN di Easy Access il PLC remoto. Attenzione, nel rete del vostro PC non dovrà gia esserci un dispositivo con lo stesso indirizzo IP (Screenshot).

    in risposta a: Comunicazione modbus RTU master #38473
    Sergio Bertana
    Amministratore del forum

    Fino a quando non rilasceremo una versione del sistema operativo di SlimLine che prevede il client TCP non c’è altro modo che il convertitore. Puoi utilizzare la versione Codesys di SlimLine che ha sia il server che il client TCP, ma è più costosa (Licenza Codesys sigh)…Su questa versione inoltre trovando già molte applicazioni disponibili (Vedi libreria Oscat) non abbiamo portato tutta la gamma di librerie che invece offriamo con la versione LogicLab e quindi occorre cercare o scriversi la gestione del protocollo Modbus master.

    in risposta a: Abilitazione EasyAccess 2.0 su terminale #38461
    Sergio Bertana
    Amministratore del forum

    Proseguo con lo step applicativo, affinchè il pannello possa essere gestito con EasyAccess occore registrarlo al sito Weintek nel proprio dominio, la prima volta occorrerà registrarsi e creare il dominio. Per registrarlo occorre conoscere il SessionID e la Password assegnati al pannello.

    Per avere queste informazioni occorre realizzare un progetto EasyBuilderPro (Download progetto) che agisce sulle variabili relative. Come si vede dallo screenshot agendo sul tasto Connect, il terminale si collegherà in Internet con il server Weintek (Occorre avere definito nei parametri di Network il Gateway ed il server DNS), e visualizzerà i valori di SessionID e Password relativi a quel pannello (Allego estratto manuale EasyBuilderPro relativo ai System Registers). La condizione di attivazione dell’HMI si può vedere nella Status page, del System Setting (Screenshot).

    A questo punto è possibile inserire il pannello nel dominio tramite il sito Weintek (Vedi screenhot). Se la procedura và a buon fine verranno visualizzati tutti i dati relativi al pannello (Screenshot). Ora è possibile creare dei gruppi assegnando ad ogni gruppo i pannelli corrispondenti.

    Occorre poi definire gli utenti assegnando ad ogni utente un gruppo di pannelli su cui l’utente può operare. Attenzione per accedere da remoto con il programma EasyAccess 2.0 dovranno essere definite le credenziali assegnate all’utente. Ecco un semplice layout di configurazione (Screenshot).

    in risposta a: Comunicazione modbus RTU master #38471
    Sergio Bertana
    Amministratore del forum

    Per completezza e per soddisfare l’esigenza di chi deve necessariamente utilizzare il protocollo Modbus TCP, porto un esempio suggerito ad un nostro cliente. Non potendo lo SlimLine agire come client si aggira il problema utilizzando un convertitore Ethernet/Seriale (Anche un semplice ATC-1000) connesso alla porta seriale dello SlimLine. Il convertitore Ethernet/Seriale andrà configurato come Client definendo come server l’indirizzo IP e la porta (Default la 502) del sistema Modbus slave. Nello SlimLine si utilizza l’FB ModbusMaster connessa alla porta seriale avendo impostato come Type il valore 2 che gestisce il protocollo Modbus TCP.

    in risposta a: Comunicazione modbus RTU master #38470
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione ModbusMaster opera su uno stream di I/O (Parametro File di tipo FILEP) che deve essere ritornato da una funzione Sysfopen. Per operare in modalità master occorre eseguire un connect TCP verso il modulo slave, attualmente non è possibile eseguire una connect TCP. I sistemi SlimLine attualmente possono operare solo come server TCP e non come client.

    Quindi puoi fare dialogare i sistemi SlimLine tramite l’FB ModbusMaster utilizzando una connessione seriale ma non TCP. Però se il tuo problema è fare dialogare tra di loro due o più sistemi SlimLine tramite Ethernet puoi utilizzare l’FB UDPDataTxfer che utilizza il protocollo UDP, Topic (1), (2).

    in risposta a: Gestire comunicazione RS485 in multi-point #38467
    Sergio Bertana
    Amministratore del forum

    Un uscita PWM fà esattamente quelle di cui hai bisogno, naturalmente per poter pilotare i 25 Watt dovrai inserire un driver di potenza sulla uscita dello SlimLine (Può andare benissimo un transistor o meglio un IGBT).

    Tramite il blocco funzione SysSetPWMOut, potrai impostare la frequenza (Credo ad occhio che 1 Khz vada bene), poi agendo sul parametro Duty portandolo da 0% a 100% potrai variare la luminosità dei LED.

    in risposta a: Problema sulla gestione delle variabili negative #38465
    Sergio Bertana
    Amministratore del forum

    Non sò che PLC stai utilizzando, ho fatto un semplice progetto di prova con un terminale MT8050iE connesso in Modbus TCP con un nostro PLC SlimLine (Download progetto). Con questo progetto di esempio non si evidenzia nessun problema.

    Sul PLC ho definito una variabile INT allocata all’indirizzo DB 100.16, sul terminale ho inserito un oggetto inputazione numerica e come si vede dallo screenshot ho impostato 2 cifre decimali.

    Una variabile INT 16 bits con segno ha range da -32768 a 32767, ho fissato un range da -30000 a +30000, che considerando le due cifre decimali varranno da -300,00 a +300,00. Come vedi ho definito 4 cifre intere, perchè nel caso dei numeri negativi devo visualizzare anche il segno.

    in risposta a: Problema su apertura programmi con LogicLab #38463
    Sergio Bertana
    Amministratore del forum

    LogicLab non apre direttamente i file zip, un file zip deve prima essere scompattatato con un apposito programma (Esempio WinZip) e poi da LogicLab sarà possibile aprire il file di progetto (Estensione ppjs).

    Tutti i nostri esempi, anche quelli che sono postati nel forum vengono per semplicità compattati in un unico file zip ma in realtà si compongono di una directory che contiene alcuni files. Il file che LogicLab utilizza è il file di progetto che contiene tutte le informazioni per compilare il progetto.

    Altro discorso per le librerie, le librerie non si devono aprire con LogicLab ma devono essere inclusi nel proprio progetto solo gli oggetti che servono importandoli dalla libreria. Alcune librerie invece vanno incluse interamente ti rimando a questo topic dove l’argomento librerie è discusso.

Stai visualizzando 15 post - dal 2,821 a 2,835 (di 4,367 totali)