Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,136 a 3,150 (di 4,365 totali)
  • Autore
    Post
  • in risposta a: Visualizzazione orologio analogico con EasyBuilder Pro #37987
    Sergio Bertana
    Amministratore del forum

    Aggiungo una nota su come ho gestito la lancetta delle ore perché può essere un valido spunto per meglio comprendere il funzionamento delle macro. In pratica nell’orologio a sinistra la lancetta delle ore si muove su di un grafico angolare il cui valore massimo è 12 (Span 12), mentre nell’orologio a destra la lancetta delle ore si muove su di un grafico angolare il cui valore massimo è 720 (Span 720).

    Grazie ad una macro eseguita a tempo vado a calcolare il valore da passare alla lancetta delle ore, che è data dalla formula Angle=Hour*60+Minute //Valore angolo (0-720). Ecco come viene definita la macro in EasyBuilderPro (Screenshot).

    in risposta a: Blocco del termninale HMI con Pass-through attivo #37985
    Sergio Bertana
    Amministratore del forum

    Rettifico a correzione di quanto detto precedentemente che tramite i bits riservati è possibile eseguire un reboot del terminale (Topic).

    in risposta a: Eseguire il reboot del terminale HMI #37984
    Sergio Bertana
    Amministratore del forum

    Facendo riferimento al Chapter 22 System Reserved Words/Bits del manuale programmazione puoi trovare due bits di sistema che gestiscono il reboot del terminale.

    LB-9047 reboot HMI (set ON when LB9048 is on) (Only Write)
    LB-9048 reboot-HMI protection (Read/Write)

    In pratica è possibile attivare il bit LB-9048 e poi attivando il bit LB-9047 si esegue il reboot del terminale. L’attivazione di questi bits può essere effettuata dal terminale stesso inserendo due oggetti Imposta bit in una delle pagine, oppure gestita dal PLC copiando in questi bit due variabili bit del PLC.

    Se da remoto puoi accedere via VNC al pannello ecco che puoi attivare i bit di reboot, oppure lo puoi fare comandando da remoto il PLC. Ricordo anche la possibilità di alimentare il terminale con una uscita logica del PLC e disattivando e poi riattivando questa uscita è possibile spegnere e riaccendere il terminale.

    in risposta a: Blocco del termninale HMI con Pass-through attivo #37983
    Sergio Bertana
    Amministratore del forum

    Abbiamo avuto un caso simile al tuo con un cliente che lamentava un blocco nel programma Mitsubishi GX Developer, utilizzandolo per la programmazione remota con Pass-through, in pratica doveva chiudere il programma e farlo ripartire. Il problema si è risolto installando l’ultima versione del software EasyBuilder, ricompilando il progetto ed eseguendo il download dello stesso sul pannello.

    Nel download seleziona l’opzione Firmware per eseguire l’aggiornamento del firmware sul pannello (Screenshot). In questo modo aggiorni sia l’agente Pass-through sul PC che il gestore dello stesso sul pannello.

    Non vi è un comando per il reboot remoto, ma se hai un PLC puoi alimentare il pannello tramite una uscita del PLC in modo da poterlo spegnere e riaccendere. Questo però nel tuo caso è valido solo se hai un altro sistema per comunicare con il PLC da remoto alternativo al Pass-through.

    in risposta a: Programmare dispositivi Compact su rete RS485 #37982
    Sergio Bertana
    Amministratore del forum

    Mi dici che stai appoggiando gli ingressi sui moduli slaves a partire da MX100.32 quindi deduco che nel programma RS485Network postato nel post precedente hai modificato l’indirizzo di lettura dai nodi slaves, nel case 0 del programma hai scritto MMdb.Address:=40016; (* Variable address *).

    Siccome il comando Modbus per la lettura è il 16#04 (Andava bene anche 16#03) i due comandi sono uno l’alias dell’altro, sono letti registri a 16 bits quindi l’indirizzo Modbus deve essere l’indirizzo memoria diviso 2 (MX100.32 -> 40032, diviso 2 diventa 40016).

    Ma se tu leggi registri word ed appoggi gli ingressi su bytes avrai quello che stai vedendo, ogni word è 2 bytes ed il byte sarà 16#00 se l’input non è attivo e 16#01 se l’input è attivo. Per avere quello che desideri ossia tutti gli ingressi compressi nei 16 bits della word devi usare come hai fatto nel programma master le funzioni di appoggio bits su word.

    Facendo riferimento al programma master che ho postato precedentemente ecco la stampa del programma SlaveNode che è il suo complementare programma da trasferire sui nodi slave. Come vedi ho definito la struttura MODBUSDATA esattamente uguale a quella del master, poi ho allocato la variabile MdbCm di tipo MODBUSDATA ad indirizzo MX100.0 in modo da potervi accedere da Modbus.

    Utilizzando le FB di appoggio bit ho appoggiato gli ingressi nella prima delle 16 WORD MdbCm.Rd[0] che sarà letta dal sistema master. Mentre la WORD scritta dal master MdbCm.Wr[0] viene appoggiata sulle uscite. Allego il programma per il download.

    in risposta a: Gestione scenari illuminazione camere di albergo #37979
    Sergio Bertana
    Amministratore del forum

    Trattandosi di automazione di hotel immagino vi siano più camere da gestire ecco allora che può essere consigliabile distribuire l’automazione inserendo moduli SlimLine e/o Netsyst in ogni camera cui collegare i vari pulsanti e con cui comandare le uscite. I moduli possono essere tra di loro interconnessi in RS485 (Topic) e/o tramite rete Ethernet (Topic).

    Utilizzando gli ingressi analogici oppure collegando dei sensori Modbus (Topic) puoi anche gestire la regolazione della temperatura nelle camere. Con un pannello operatore puoi gestire l’impostazione centralizzata e/o visualizzare lo stato delle camere e/o allarmi.

    in risposta a: Gestione scenari illuminazione camere di albergo #37978
    Sergio Bertana
    Amministratore del forum

    I nostri sistemi PLC per la domotica consentono sicuramente di creare degli scenari, in un hotel posso immaginare…

    Il cliente entra in camera utilizzando il suo badge magnetico, si attiva lo scenario ingresso, le luci della camera si accendono, la climatizzazione si stabilizza sulla temperatura ideale. Il cliente desidera guardare la TV, attiva lo scenario TV, le luci principali si spengono e si attivano le luci diffuse. E possiamo continuare con altri scenari da inventarsi a piacere.

    Ecco un semplice progetto per la gestione di quello che mi hai richiesto, è possibile provarlo con il simulatore PLC (Topic). In pratica ho realizzato il blocco funzione CdoAttuatore che permette di attivare i vari attuatori (Luci, TV, Riscaldamento, ecc.) sia da selezione scenario sia da pulsante manuale. Ora combinando questi FB è possibile comandare gli attuatori per realizzare la tua automazione (Screenshot). Come si vede dalla stampa del programma, vi sono due programs, allego il programma sorgente per il download.

    AttivazioneScenari: Provvede ad attivare gli scenari su pressione dei comandi di attivazione. Sono tutti pulsanti tranne lo scenario 1 che è attivato dal contatto di camera occupata, si attiva sia occupando la camera -]P[- che liberando la camera -]N[-. In questo modo quando il cliente libera la camera ci si riporta allo scenario 1.

    GestioneAttuatori: Provvede a gestire i vari attuatori, come si vede ogni attuatore si può attivare da comando manuale od in base allo scenario a cui è collegato.

    in risposta a: Domande su software di controllo PDMS #37976
    Sergio Bertana
    Amministratore del forum

    Il programma PDMS (Poseidon & Damocles Monitoring System) può essere utilizzato in modo gratuito per gestire fino ad un massimo di 3 sensori mentre per un numero superiore di sensori è prevista una licenza. La licenza è sicuramente installabile in un solo PC e rimane legata alla installazione sul PC quindi non è spostabile. Per portare l’installazione su di un altro PC occorre chiedere l’autorizzazione alla HWgroup (Topic).

    Per quanto riguarda l’utilizzo su macchina virtuale ti posso dire che lo stiamo utilizzando al nostro interno su macchina virtuale VMware senza alcun problema. Tutti i tests che noi facciamo li facciamo sempre utilizzando una infrastruttura basata su macchine virtuali. Sinceramente non sò cosa succede spostando l’immagine della macchina virtuale da una infrastruttura ad un’altra, può anche essere che l’immagine hardware del sistema rimanga inalterata e quindi la licenza continui ad essere valida.

    Ora per la tua necesità di eseguire tests puoi utilizzare la licenza gratuita (Fino a 3 sensori), se invece vuoi testare tutti i 20 sensori puoi installare la versione e poi visto quanto detto nel topic indicato credo che non vi siano problemi ad effettuare uno spostamento di licenza. Diverso è se si vuole spostare la licenza molte volte.

    in risposta a: Problemi comunicazione PC-Pannello MT6050i #37972
    Sergio Bertana
    Amministratore del forum

    Strano messaggio di errore, vediamo alcune prove che puoi fare. La directory del progetto è mica troppo annidata dentro altre directories, prova a metterla nella root del disco, inoltre accertati che sia un percorso scrivibile. EasyBuilder è eseguito con i diritti di amministratore ?

    Per escludere che sia il tuo progetto con dei problemi proverei ad utilizzare un nuovo progetto, o realizzandolo nuovo oppure utilizzando il progetto dimostrativo per il tuo pannello (Li trovi nella cartella C:Program Files (x86)EB8000project).

    Nelle periferiche del PC il terminale compare (Screenshot) ?

    Prova a cambiare cavo USB, accertandoti che faccia bene connessione con il connettore del pannello, alcuni cavi hanno una forma più grande e non entrano bene nella finestrella del pannello.

    in risposta a: Problemi comunicazione PC-Pannello MT6050i #37970
    Sergio Bertana
    Amministratore del forum

    L’operazione che riporta il pannello allo stato di default di fabbrica (Topic), esegue anche il reset di tutte le passwords. Per poter trasferire il programma devi reimpostare la password di download attivare le impostazioni di sistema ed accedere al TAB Security e provvedere alla impostazione di tutte le passwords con i valori desiderati (Screenshot).

    in risposta a: Come utilizzare i Break-Points #37969
    Sergio Bertana
    Amministratore del forum

    La gestione dei break-points non è attivabile sul target reale, possono essere utilizzati solo all’interno di SimuLab, è quindi possibile eseguire il programma sul simulatore PLC con possibilità di gestire i break-points. Ecco lo screenshot del programma SineWave eseguito in SimuLab.

    Come si vede attivando il modo debug è possibile rendere attivi i pulsanti di gestione dei break-points, basterà evidenziare la linea di codice dove si vuole inserire il break-point ed inserirlo e/o rimuoverlo. Quando viene eseguita la linea di codice dove è posto il break-point l’esecuzione si arresta (Download programma sorgente).

    in risposta a: Test funzionamento FB di gestione PID su simulatore PLC #37968
    Sergio Bertana
    Amministratore del forum

    l controllo Proporzionale-Integrale-Derivativo, è un sistema in retroazione negativa ampiamente impiegato nei sistemi di controllo, la FB PIDMng acquisisce in ingresso un valore da un processo PValue, e lo confronta con un valore di riferimento SetPoint. La differenza, il cosiddetto segnale di errore, viene quindi usata per determinare il valore della variabile di uscita Out, che è la variabile di gestione del processo. Il PID regola l’uscita in base a 3 azioni:

    Azione proporzionale (P): Il valore del segnale di errore.
    Azione integrale (I): I valori passati del segnale di errore.
    Azione derivativa (D): Quanto velocemente il segnale di errore varia.

    Da quanto esposto è evidente che l’uscita può variare tra +/-100%, il segno o polarità dell’uscita sarà positiva se SetPont>PValue o negativa nel caso contrario. Tramite l’ingresso Reverse è possibile invertire la polarità. Ho adattato l’esempio precedente per poterlo simulare con il nuovo ambiente SimuLab, ecco lo screenshot del progetto in simulazione (Download programma).

    Il valore di uscita della FB andrà poi opportunamente scalato per la gestione del processo, può essere ad esempio utilizzato per gestire una modulazione PWM su di un riscaldatore e/o come nel tuo caso una uscita in corrente, ed in questo caso è evidente che i valori inferiori allo 0 sono da considerarsi uguali a 0.

    in risposta a: Connessione SlimLine a router per programmazione a distanza #37966
    Sergio Bertana
    Amministratore del forum

    Internet è basata sul protocollo TCP/IP quindi occorre conoscere l’indirizzo IP pubblico per poter accedere ad un dispositivo su Internet. Nelle reti locali si utilizzano indirizzi IP privati (Classi di indirizzi IPv4, definite nella RFC 1918, riservate alle reti locali), questo allo scopo di ridurre le richieste di indirizzi pubblici.

    In pratica in ogni rete locale si utilizzano indirizzi IP che possono essere replicati all’interno delle varie reti, ma su Internet l’indirizzo deve essere univoco. Solitamente le connessioni Internet sia ADSL che GPRS/UMTS utilizzano indirizzi IP pubblici di tipo dinamico, questo vuol dire che possono cambiare ad ogni connessione. Quindi è evidente che non conoscendo l’indirizzo IP della connessione in Internet non posso raggiungere il dispositivo.

    I servizi come DynDNS permettono di aggirare l’ostacolo, in pratica il dispositivo (Nel caso in router) che si connette ad Internet si registra al servizio DynDNS e gli comunica l’indirizzo IP dinamico assegnato dal gestore alla connessione. Il servizio DynDNS associa un DNS a questo indirizzo IP che sarà quindi raggiungibile definendone il nome (Esempio MioImpianto.DynDNS.org).

    in risposta a: Programmare dispositivi Compact su rete RS485 #37964
    Sergio Bertana
    Amministratore del forum

    A partire dalla versione SFW184A800 del sistema operativo è stata introdotta la funzione SysSpyData che permette se abilitata di spiare da connessione Telnet dati di programma utente, è utilizzata in alcuni FB e funzioni. Nel tuo caso specifico è utilizzata nel FB ModbusMaster per spiare i dati in transito sullo stream di comunicazione. Quindi per eliminare l’errore devi eseguire l’upgrade del sistema operativo ed anche del LogicLab eseguendo il download dell’ultima versione 2.2.0 (Codice  PCK033H200).Per quanto riguarda la compatibilità di comunicazione sulla stessa rete Modbus utilizzando sia il protocollo RTU che OverIP, non dovrebbero esserci problemi, entrambi i protocolli sono binari. Il protocollo OverIP inizia con un campo a 16 bits definito Transaction identifier. proprio per permettere questa coesistenza il FB ModbusMaster invia l’MSB del campo Transaction identifier con il valore 16#00. Siccome questo è il primo dato inviato dopo la pausa di interframe viene considerato dai dispositivi slaves come indirizzo di nodo 0, quindi basterà non avere nella rete nessun dispositivo slave RTU mappato ad indirizzo 0.Chiaramente nel programma SlimLine Master dovrai definire nel FB ModbusMaster il parametro Type:=0 quando comunichi con i dispositivi RTU e Type:=2 quando comunichi con gli SlimLine.

    in risposta a: Programmare dispositivi Compact su rete RS485 #37962
    Sergio Bertana
    Amministratore del forum

    Ma come nel tuo caso dove il nodo master è un modulo SlimLine ARM7 con interfaccia Ethernet, ti consiglio di utilizzare  come protocollo di comunicazione il Modbus OverIP. Dal menù Hardware Setup è possibile impostare tutti i parametri di comunicazione compreso il tipo di Modbus ed il nodo definendo per ogni slave il proprio indirizzo (Screenshot).

    Vediamo di spiegare il perchè di questa configurazione, in questo modo sarà possibile effettuare la programmazione da rete Ethernet semplicemente accedendo allo SlimLine master e senza sconnettere nulla. In pratica il modulo SlimLine ARM7 tramite la FB DataStreamExch diventa un convertitore Ethernet/Seriale (Vedi post) facendo passare i dati dalla rete Ethernet verso la rete RS485. Si sceglie il protocollo OverIP perché dovendo configurare in LogicLab una connessione TCP/IP viene utilizzato automaticamente questo protocollo. Per programmare i vari slaves occorrerà impostare in LogicLab l’indirizzo IP dello SlimLine ARM7 e la porta definita nel programma (Nel mio esempio utilizzo la porta 2000) cambiando indirizzo di nodo in base allo slave da programmare (Screenshot).

    Ecco un progetto in cui evidenzio come realizzare il programma sullo SlimLine ARM7, come si vede dalla stampa del programma, nel program MasterModbus oltre alla comunicazione con i vari nodi slaves viene gestito un socket TCP/IP su porta 2000. Quando viene rilevata una connessione sul socket la comunicazione modbus con i nodi slaves viene abortita e la rete RS485 è connessa al socket (Download programma sorgente).

Stai visualizzando 15 post - dal 3,136 a 3,150 (di 4,365 totali)