Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,786 a 1,800 (di 4,367 totali)
  • Autore
    Post
  • in risposta a: Attivazione di una uscita su comando da ingresso #40063
    Sergio Bertana
    Amministratore del forum

    Se vuoi usare i pulsanti dei pannelli preconfigurati sul simulatore di SimuLab devi usare variabili allocate nella mappa di I/O del sistema, ma puoi anche crearti uno o più pannelli personalizzati solo eseguendo un drag delle variabili che vuoi gestire (Topic). Poi devi è importante capire la differenza tra le variabili globali e quelle locali (Topic).

    Le variabili allocate all’interno di un programma (o POU) sono locali, cioè sono accessibili al solo POU dove sono dichiarate, mentre le variabili globali sono visibili da tutti i POU. Ma ttenzione se tu dichiari la variabile Luce come globale e la assegni ad una uscita reale e poi mi dichiari un’altra variabile Luce (Quindi con lo stesso nome) come variabile locale all’interno di un POU, quando ti riferisci a quel nome all’interno di quel POU agirai solo sulla variabile locale e non su quella globale.

    Gli I/O logici sono gestiti in immagine di processo e per gestirli devi dichiararne l’indirizzo (Topic), le variabili automatiche sono variabili di appoggio e non possono essere I/O reali. Gli I/O analogici non sono gestiti in immagine di processo per utilizzarli occorre usare i blocchi funzioni appositi (Topic).

    In riferimento al linguaggio da utilizzare, in generale la normativa ne ha normalizzati 5 proprio perchè per ogni tipo di operazione da svolgere vi è un linguaggio più approppriato, esempio per la logica si utilizza il ladder diagram, ma ognuno può scegliere di utilizzare il linguaggio che preferisce.

    in risposta a: Attivazione di una uscita su comando da ingresso #40061
    Sergio Bertana
    Amministratore del forum

    La sintassi è corretta, probabilmente hai fatto errori nella assegnazione degli I/O o da qualche altra parte. Ti ho preparato il programma SimplyProgram che realizza quello che hai fatto tu, come vedi dallo screenshot eseguendolo in simulazione con SimuLab attivando l’ingresso IntAuto si attiva l’uscita Luce. Come vedi ho simulato un modulo CPU compact (6 ingressi, 4 uscite) e per comodità ho impostato l’ingresso a funzionare come selettore anzichè pulsante. Puoi scaricare il programma (Download) e continuare con il mio esempio. Un programma puramente logico come il tuo è preferibile realizzarlo con il linguaggio ladder (LD) anzichè il linguaggio strutturato (ST).Per il comando di lampade da pulsanti consiglio di realizzare un relè passo passo, in questo topic trovi un FB scritto in LD ma tu puoi cimentarti a scrivere un tuo FB in linguaggio ST che fà la stessa cosa.

    in risposta a: Gestione trasferimento ricette tra terminale e pen drive USB #40060
    Sergio Bertana
    Amministratore del forum

    La funzione backup è sempre stata cosi e serve principalmente per estrarre i file log e salvarsi lo stato ricette,  per ripristinare il file recipe.db su HMI si può utilizzare Utility manager -> Pubblica -> Download. In alternativa si creano le cartelle per il download da pen drive USB, poi come per il progetto inserisco il pen drive, aspetto il pop up e eseguo download storici.

    Il file db è un file SQL lite quindi apribile con un editor idoneo, è comunque possibile usare la funzione import/export su USB che genera un file csv, quindi importabile, esportabile e consultabile con un text editor o con Excel (Topic).

    in risposta a: Problemi nella comunicazione Ethernet tra HMI e PLC #40058
    Sergio Bertana
    Amministratore del forum

    Come hai configurato le due porte LAN del pannello ? Ti ricordo che devono essere impostate su due classi diverse, quindi se connetti il PLC utilizzando la LAN2 configurata nella stessa classe del PLC, devi configurare la LAN1 su un’altra classe.

    Hai rigenerato il file xmls da SoMachine per verificare che non ci siano variabili errate ?  Il messaggio “PLC no response” compare quando ci sono problemi di comunicazione ma anche quando cerchi di accedere ad una variabile PLC con indirizzo errato.

    in risposta a: Lettura stringa da lettore Barcode #40057
    Sergio Bertana
    Amministratore del forum

    Non posso che essere contento che hai scelto i nostri prodotti, per la tua applicazione ritengo che possano essere particolarmente adatti. I nostri prodotti pur essendo dei PLC (Vedi la programmabilità secondo la IEC61131) hanno nel loro DNA la possibilità di utilizzo per applicazioni in cui molte volte si usano sistemi a microcontrollore e/o sistemi basati su PC. Grazie al linguaggio strutturato ST, ai blocchi funzioni che gestiscono le comunicazioni (Seriali, CAN, Ethernet), alla possibilità di operare su files, alle funzioni di gestione stringhe, alla gestione web, ecc è possibile realizzare applicazioni anche molto diverse dalla classica automazione.Venendo alla tua domanda, certo è possibile utilizzare linguaggi grafici (LD ed FBD) per fare tutto (O quasi) ma i 5 linguaggi sono nati proprio per poter utilizzare il linguaggio giusto per ogni tipo di problema. La tua esigenza ne è proprio un esempio, gestire la ricezione stringa del Barcode usando linguaggi diversi dal ST anche se possibile sarebbe stata estremamente dispersiva. Ecco allora la scelta di realizzare un FB in linguaggio ST per poi utilizzarlo all’interno di un programma FBD, così da avere graficamente il colpo d’occhio sull’insieme.Venendo alla tua domanda ecco lo screenshot di un programma che esegue quello che ti serve, come vedi ho appoggiato il codice stringa nella variabile Code e poi ho eseguito la SysVarsscanf sulla stringa salvando il risultato numerico in CodeValue. Ma come vedi ho anche inserito la SysVarsscanf direttamente nel FB in modo da avere già in uscita il valore numerico, così in una sola riga di codice si è fatto tutto contro una serie di blocchetti da connettere in FBD (Download programma).

    in risposta a: Lettura/scrittura variabile formato S5 Timer per Simatic S7-300 #40055
    Sergio Bertana
    Amministratore del forum

    Non sono un esperto di programmazione Siemens, per ovvi motivi utilizzo solo sistemi programmabili Elsist… Ma ho chiesto aiuto ad un nostro cliente che utilizza i pannelli Weintek sia con i nostri sistemi che con Siemens che mi ha dato una soluzione. Soluzione che ti giro così come mi è arrivata non conoscendo l’argomento.

    Il consiglio è di utilizzare un oggetto di introduzione numerica a 16bit BCD ed attivare la scalatura, in modo da avere ingresso minimo 0, ingresso massimo 999 mentre da/verso PLC valore minimo 1000 valore massimo 1999.

    in risposta a: Lettura stringa da lettore Barcode #40054
    Sergio Bertana
    Amministratore del forum

    Come ti ho scritto non ho fisiscamente il bar code reader in mano per fare delle prove, quindi ti ho dato un programma di esempio che deve essere una traccia per andare avanti nel tuo sviluppo. Nel progetto hai tutti i sorgenti, e questo dovrebbe essere più che sufficente per realizzare quallo che hai bisogno. Naturalmente io non conosco la tua esperienza in programmazione quindi vedo di darti altri indizi per la “caccia al tesoro” dove il tesoro è leggere il bar code.Come vedi dal programma in FBD (Screenshot), quando il FB BarcodeRead attiva l’uscita ReadOk si copia il valore in uscita nella variabile Code. Ma se guardi nel FB vedrai che l’uscita si attiva per un loop alla ricezione di un <CR> (Ho ipotizzato che la stringa del reader termini con <CR>). Ma se segui il flusso del programma vedrai che se dopo il <CR> arrivano altri caratteri questi saranno acquisiti e dopo 100mS che non si riceve più nulla si attiverà ancora l’uscita ReadOk. Se il reader invia la stringa letta seguita da un <CR> e poi altri caratteri tu vedrai in Code la stringa ma subito dopo gli altri caratteri ricevuti, quindi dovrai modificare il FB per adattarlo alle tue esigenze.Consiglio ad esempio di togliere il controllo sul <CR> e lasciare solo quello sul tempo, in questo modo in Code avrai la stringa numerica seguita da <CR> e da quello che viene inviato dopo. Poco male perchè se per convertire la stringa in un numero, visto che il numero dai tuoi esempi ha 8 cifre, puoi utilizzare la funzione SysVarsscanf trasferendo il numero in una variabile UDINT (Range massimo 4294967295). La funzione SysVarsscanf terminerà la conversione al primo carattere non numerico quindi si fermerà al <CR>.

    in risposta a: Problema con download progetto su cMT-SVR #40052
    Sergio Bertana
    Amministratore del forum

    Sinceramente non saprei che errore sia, non vorrei sia dovuto ad un conflitto sul PC, potresti provare a reinstallare EasyBuilderPro con con firewall e antivirus disabilitati. Con il sistema operativo Windows 10 capita ultimamente che aggiornamenti del sistema operativo provochino malfunzionamenti o blocchi sulle funzionalità di altri programmi installati.

    in risposta a: Lettura stringa da lettore Barcode #40051
    Sergio Bertana
    Amministratore del forum

    Si l’uscita dello scanner sono effettivamente stringhe ascii, non mi dici se sono terminate con un <CR><LF> oppure no. Sono partito dal programma che trovi illustrato in questo topic, in pratica nel programma veniva inviata una stringa di richiesta ed attesa la stringa di risposta, ho modificato il programma per gestire la sola ricezione della stringa di sposta.

    Come vedi dalla stampa il FB BarcodeRead controlla la ricezione dei caratteri dalla porta seriale e li trasferisce nella variabile Barcode. La lettura si arresta alla ricezione del <CR> oppure dopo 100mS che non si ricevono più dati. Al termine della ricezione si attiva per un loop di programma l’uscita ReadOk ed il programma utente può utilizzare il codice acquisito. Puoi scaricare il programma BarcodeReader e modificarlo per le tue esigenze (Download).

    in risposta a: Router cellulari 4G WLink (connessione da remoto) #40050
    Sergio Bertana
    Amministratore del forum

    In questo topic abbiamo già trattato l’argomento, in realtà dalla data in cui è stato scritto il topic alcune cose sono cambiate, a quanto ne sò ormai neanche TIM e Wind danno standard un IP pubblico sulle loro reti.  Mi risulta però che TIM per i Clienti con partita IVA possa fornire un abbonamento senza NAT (Mi sembra si chiami DeNAT) o qualcosa del genere, ma anche altri gestori possono fornire questo servizio.
    Un modo per poter accedere via Internet ai dispositivi connessi al router è di realizzare una VPN (Che tra l’altro crypta la comunicazione), ma in questo caso sarebbe il router a creare la VPN con un tuo router o PC e i dispositivi sarebbero visibili solo dalla rete endpoint della VPN e da nessun altro dispositivo in Internet.

    Però tu mi parli di videosorveglianza, ed oggi moltissime WebCam forniscono servizi cloud che ne permettono la visualizzazione anche se la videocamera si trova su rete NATtata, quindi nessun problema anche su connessione cellulari.

    in risposta a: Visualizzare layout di foratura su piastra #40049
    Sergio Bertana
    Amministratore del forum

    Utilizzando l’oggetto Dynamic Drawing puoi fare quello di cui hai bisogno, come vedi nello screenshot, utilizzando il progetto dimostrativo fornito da Weintek (Download) ho posizionato i vari fori in posizioni X (Attributes+5) ed in posizioni Y (Attributes+6), per disegnare il foro basta impostare 3 in Attributes+0, puoi impostare il colore del foro in Attributes+3.

    Naturalmente potrai oltre a disegnare i fori anche disegnare il rettangolo della piastra da forare sempre agendo sui vari parametri di Attributes. Per partire dalla ricetta e realizzare il layout grafico dovrai o appoggiarti a delle macro da eseguire sul terminale, oppure gestire la visualizzazione da PLC andando ad agire sulle words di Attributes dell’oggetto.

    in risposta a: Interfacciare un lettore badge ad un terminale #40048
    Sergio Bertana
    Amministratore del forum

    Il progetto riportato nel post è un progetto di esempio scaricabile dal sito Weintek, si tratta di un progetto compresso, quindi lo puoi aprire con qualsiasi versione di EasyBuilderPro, ma bisogna prima decomprimerlo. Con la nuova versione di EasyBuilderPro (6.00.xxx) utilizzi il menù File->Compress/Uncompress e ti trovi il file sorgente editabile, ho comunque provveduto a decomprimerlo (Download).

    Ti ricordo che utilizzando i nostri sistemi SlimLine puoi trovare molte possibilità di utilizzo di un lettore RFID, ti metto alcuni link, ma se cerchi RFID nel forum ne troverai altri (Topic, topic, topic).

    in risposta a: Cambio pagina da menù a tendina su CMT #39355
    Sergio Bertana
    Amministratore del forum

    La gestione pagine dei pannelli CMT è un pò più complessa di quella dei pannelli delle altre serie dove l’argomento è stato trattato nel topic. Nella serie CMT è possibile avere fino a 3 clients che operano sul pannello in modo indipendente uno dall’altro, quindi hai la possibilità di comandare il cambio pagina per tutti i clients oppure sul singolo client. Per poter gestire le operazioni sul singolo client è stato creato un nuovo tipo di variabili le PLW. Quindi le variabili LW sono comuni a tutti i clients, mentre le variabili PLW sono relative al solo sul client da cui stai operando. Ho realizzato il programma CMTPageChange (Download) che dimostra come funziona il cambio pagina. Come vedi dallo screenshot nella Common Window ho inserito un Option List che agisce sulla PLW 0 con la possibilità di selezionare 3 diverse pagine. Per cambiare la pagina ho utilizzato il PLC Control di cambio pagina collegandolo alla PLW 0, in questo modo quando un utente cambia il valore della sua PLW 0 la sua pagina verrà cambiata (Solo la sua). Se nel PLC Control si utilizzasse una LW oppure una variabile PLC modificandone il valore verranno cambiate le pagine di tutti i clients connessi.

    in risposta a: Domanda da principiante in riferimento al libro PLC in pratica #40044
    Sergio Bertana
    Amministratore del forum

    Il supporto al cliente è un punto nobilitante della nostra offerta, specificatamente ai prodotti programmabili (Famiglie SlimLine e Netsyst) abbiamo inaugurato e pubblicizzeremo sul sito l’offerta gratuita di 15-30 minuti di supporto tecnico On-Line con TeamViewer unitamente al primo acquisto di un prodotto. Per avere il supporto occorre utilizzare la nostra versione di TeamViewer (Scaricabile da qui), è una versione portabile, quindi può essere eseguita senza installazione. Contattandoci telefonicamente ci si accorda per l’assistenza, molte volte viene effettuata al momento (Dipende dall’impegno dei nostri tecnici).

    Riteniamo questa offerta interessante sia per chi si avvicina per la prima volta alla programmazione sia per chi ha già un po di esperienza, perchè è un modo per avere informazioni su come iniziare la programmazione dei nostri prodotti in ambiente LogicLab. Quindi disponendo di un nostro prodotto come primo cliente se vuoi puoi contattarci e vediamo insieme via TeamViewer di capire il tuo problema.

    in risposta a: Domanda da principiante in riferimento al libro PLC in pratica #40042
    Sergio Bertana
    Amministratore del forum

    Sul modulo CPU come pure su tutti i moduli di estensione i vari I/O sono sempre indicati con Di00, Di01, …, Do00, Do01, … perchè si fà riferimento al numero progressivo di I/O del modulo. Ma ogni modulo ha un suo indirizzo, nei moduli di estensione si imposta con dei dip switches posti sotto al frontale del modulo, mentre il modulo CPU ha indirizzo 255.

    Gli I/O secondo la normativa IEC61131 sono identificati con il prefisso %IX se ingressi o %QX se uscite, seguito dall’indirizzo del blocco di memoria (Che corrisponde all’indirizzo di modulo) seguito da I/O progressivo sul modulo.  Ecco perchè nel programma LogicLab si definisce come %IX255.0 l’ingresso Di00 del modulo CPU,  255 è l’indirizzo di modulo e 0 è l’ingresso Di00 del modulo, similarmente l’uscita 0 del modulo CPU sarà definita come %QX255.0. Se invece volessi riferirti ad I/O posti sui moduli di estensione dovresti utilizzare l’indirizzo del modulo seguito dal progressivo di I/O, ti rimando a questo topic per altre informazioni.

    Ora se il tuo programma funziona in simulazione, ed hai definito gli I/O come 255.x allora deve funzionare anche sul PLC reale.

Stai visualizzando 15 post - dal 1,786 a 1,800 (di 4,367 totali)