Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,736 a 3,750 (di 4,357 totali)
  • Autore
    Post
  • in risposta a: Semplice antifurto per pannelli solari con fibra ottica #37088
    Sergio Bertana
    Amministratore del forum

    Utilizzando le funzioni Sysfputc e Sysfgetc è molto facile da programma ladder inviare in uscita un carattere ogni 100 mS e poi controllarne la ricezione. Nel caso in cui il carattere ricevuto non sia lo stesso carattere trasmesso e/o non si riceva il carattere per più di un certo tempo, viene attivata una flag di errore.

    Ti ho realizzato un semplice programma in LogicLab tutto in linguaggio LD, così è semplice comprenderne il funzionamento, allego la stampa del programma ed il progetto sorgente.

    in risposta a: Chiarimenti sul concetto di variabili RETAIN in IEC61131 #37086
    Sergio Bertana
    Amministratore del forum

    Sulle versioni attualmente distribuite di LogicLab (Versione 1.7.0.0) abbinate al nostro modulo CPU SlimLine con sistema operativo SFW167D000, esiste un un bug sulla gestione delle variabili RETAIN.

    Se la variabile RETAIN è inizializzata (Campo INIT VALUE), ad un valore diverso da 0, quando si spegne il PLC e lo si riavvia, essa riassume il valore dichiarato in INIT VALUE. Se invece il valore definito in INIT VALUE è 0 il funzionamento è corretto, il suo valore è mantenuto allo spegnimento del sistema.

    in risposta a: Chiarimenti sul concetto di variabili RETAIN in IEC61131 #37085
    Sergio Bertana
    Amministratore del forum

    Da quanto esposto nel post precedente risulta ovvio che variabili che contengono valori che devono restare “in macchina” oltre che allo spegnimento e riaccensione del sistema, anche tra ricaricamenti successivi del programma, non possono essere allocate in variabili RETAIN ma solo nella memoria ritentiva del sistema (Esempio a partire da DB 100.2048 sui sistemi SlimLine).

    Fanno parte di questa categoria tutte le impostazioni di set definiti tramite pannello operatore e/o impostati da debug all’atto del test dell’impianto. Eventuali contametri, contapezzi, ecc. e qualsiasi altra variabile che abbia valenza storica per l’impianto.

    in risposta a: Chiarimenti sul concetto di variabili RETAIN in IEC61131 #37084
    Sergio Bertana
    Amministratore del forum

    La tua domanda mi da lo spunto per chiarire il concetto di funzionamento dell’attributo RETAIN sulle variabili. Nella norma IEC 61131 sono indicati due tipi di avvio di un programma in un PLC.

    Warm restart conosciuto anche come Warm reboot, alla applicazione della alimentazione al sistema. L’esecuzione del programma parte dal suo inizio e le variabili RETAIN assumono il valore che avevano allo spegnimento del sistema.

    Cold restart, dopo avere caricato il programma nel PLC o su condizioni di errore che hanno provocato il riavvio del programma. L’esecuzione del programma parte dal suo inizio e le variabili RETAIN assumono il valore definito nel campo INIT VALUE.

    In ogni PLC esistono solitamente ulteriori aree di memoria che pur non avendo l’attributo RETAIN sono ritentive, nel modulo CPU nostro sistema SlimLine ad esempio l’area di memoria DB 100 a partire dall’offset 2048 sino alla sue fine (Offset 4095) è tutta ritentiva. Quindi tutte le variabili allocate in quest’area mantengono il loro valore sullo spegnimento del sistema ed a differenza delle variabili RETAIN lo mantengono anche sul caricamento del programma e/o sul suo riavvio.

    in risposta a: Problemi programmazione CPU SlimLine da LogicLab #37082
    Sergio Bertana
    Amministratore del forum

    Sugli ultimi moduli CPU ARM7 della famiglia SlimLine è presente la nuova versione del sistema operativo SFW167D000, per l’eventuale upgrade delle vecchie versioni vedi FAQ.

    La nuova versione permette il download del programma sorgente nel modulo CPU (Per utilizzare questa feature occorre avere inserita la SD card nel modulo CPU). Il download del programma sorgente, consente di collegarsi con LogicLab al modulo CPU, di leggere dal modulo il programma sorgente, trasferirlo in una cartella del PC e poi operare su di esso per effettuare modifiche.

    Per poter utilizzare LogiLab sulla nuova versione del software, occorre scegliere “SlimLine Mps046**** 8.0” in menù Project->SelectTarget. Se la versione del LogicLab è antecendente alla 1.7.0.0, questo target non è presente  e quindi occorre installare l’ultima versione di LogicLab.

    Nel caso in cui sul modulo CPU non sia presente la SD card, oppure nel caso non si desideri eseguire il download del programma sorgente sul modulo CPU (Magari per risparmiare tempo nel download), è possibile disabilitare l’opzione dal menù Communication->Source code download. Attenzione! questa opzione viene automaticamente attivata di default alla apertura del progetto, quindi se non è desiderata occorre provvedere a disabilitarla ogni volta che si apre il progetto in LogicLab.

    E’ possibile proteggere il codice sorgente con una password, in tal caso non sarà possibile effettuarne la lettura se non si conosce la password di protezione. Per impostare la password ed altre informazioni relative al progetto occorre utilizzare il menù Project->Option (Vedi screenshot).

    Nel caso in cui sia abilitato il download del programma sorgente e non sia definita la password di protezione, la procedura di download genererà un messaggio di warning che indica questa condizione.

    in risposta a: Sistema di videosorverglianza wireless con telecamere IP #37081
    Sergio Bertana
    Amministratore del forum

    La soluzione che hai prospettato mi sembra buona, nella configurazine dei WDS, l’AP posizionato sulla colonna (A) avrà configurato come WDS Peers l’indirizzo MAC della colonna (B). Tutti gli AP intermedi avranno configurato come WDS Peers gli indirizzi MAC dell’AP da cui ricevono e dell’AP verso cui ritrasmettono. L’AP della colonna (E) avrà come WDS Peers l’indirizzo MAC della colonna (D).

    La soluzione WDS naturalmente riduce la banda passante dell’intero sistema, visto che ogni AP dovrà oltre a trasmettere i suoi dati anche ritrasmettere i dati degli altri. Ma anche se mettessi delle Nanostation per l’interconnessione ti troveresti nella situazione che la Nanostation del punto (A) avrebbe comunque il carico di tutte quelle a valle.

    La  soluzione con le Nanostation avrebbe però il vantaggio che essendo una trasmissione direttiva non ci sarebbe dispersione del segnale in direzioni indesiderate non disturbando altre reti e non essendo facilmente intercettabile.

    In merito alla banda, ti ricordo che il Bullet M utilizza un solo trasmettittore e quindi come banda massima è un MCS7, mentre le Nanostation M utilizzano due trasmettitori e raggiungono un MCS15. Se vuoi avere un MCS15 con antenna omnidirezionale devi utilizzare dei Rocket M, ma naturalmente lievitano i costi.

    Per il ponte per estendere la rete internet tra due edifici puoi usare le NanoBeam M, essendo prodotti con antenna direttiva non hanno grosse interferenze con la rete di videosorveglianza. Ma se nella rete di videosorverglianza usi antenne omnidirezionali, potrebbe essere questa ad interferire con il bridge. Quindi per evitare ogni tipo di interferenza è meglio usare i 2,4 Ghz per una rete ed i 5 Ghz per l’altra.

    Operando su di un fondo privato al momento attuale non sono richieste autorizzazioni.

    in risposta a: Verniciatura antenne e dispositivi Ubiquiti #37078
    Sergio Bertana
    Amministratore del forum

    Il problema della verniciatura a scopo estetico e/o mimetico delle antenne e degli stessi dispositivi Ubiquiti è un argomento trattato in molti posts su Ubiquiti Networks Forum, eseguendo una ricerca con la voce painting, si potrà fare riferimento ai posts relativi.
     
    Ho chiesto espressamente al supporto tecnico Ubiqiti chiarimenti in proposito, e la loro risposta è stata che è possibile dipingere sia le antenne sia i dispositivi utilizzando vernici che non contengano basi metalliche. Naturalmente dipingendo il prodotto si decade dalla garanzia, quindi consiglio di dipingerli dopo che si è testato il loro funzionamento.

    in risposta a: Utilizzo terminali MT6000 con protocollo Modbus slave #37077
    Sergio Bertana
    Amministratore del forum

    Allego per il download un semplice programma EasyBuilder che permette di gestire una connessione Modbus Slave ed ha la possibilità di impostare da terminale l’indirizzo di nodo con la relativa macro di copia allo startup. E’ presente anche un oggetto Numeric Input che permette di Visualizzare/Impostare la variabile LW 10 a 32 bit.

    Per leggere il valore della variabile dovremo inviare da Toolly la stringa modbus di lettura Read holding registers di 2 registri a 16 bit che ipotizzando indirizzo di nodo 1 sarà :0103000A0002F0$0D$0A, ipotizzando che la variabile LW 10 contenga valore 900000 (0x15F90) verrà ritornata la stringa :0103045F90000108$0D$0A. Come si nota viene ritornato prima il registro LSB e poi quello MSB.

    Per scrivere il valore 500000 (0x7A120) nella variabile, dovremo inviare il comando Preset Multiple Registers scrivendo due registri a 16 bit, la stringa sarà :0110000A000204A120000717$0D$0A, e riceveremo come risposta la stringa :0110000A0002E3$0D$0A.

    in risposta a: Utilizzo terminali MT6000 con protocollo Modbus slave #37076
    Sergio Bertana
    Amministratore del forum

    Per la connessione in multidrop tra il PC ed i pannelli puoi utilizzare lato PC un semplice convertitore USB/Seriale, abbiamo modelli che prevedono oltre alla interfaccia RS232 anche i morsetti per connettere linee RS422/485 sia a 2 che 4 fili. Visto che la comunicazione Modbus è di tipo half-duplex consiglio di utilizzare una connessione multidrop a 2 fili, comunque se proprio vuoi realizzare una connessione a 4 fili ecco come devi realizzarla.

      PC   Pannello 1  Pannello 2 …
    (Tx-) — (Rx-) — (Rx-)
    (Tx+) — (Rx+) — (Rx+)
    (Rx-) — (Tx-) — (Tx-)
    (Rx+) — (Tx+) — (Tx+)

    Per settare l’indirizzo Modbus del terminale, devi utilizzare la variabile LW-9541 (16bit): MODBUS/ASCII server station no. Se in una finestra del terminale inserisci un oggetto Numeric input, potrai visualizzare/modificare l’indirizzo di nodo. La variabile alla accensione assume il valore definito nelle impostazioni del protocollo (Vedi screenshot), quindi se vuoi mantenere il valore impostato dalla finestra terminale, dovrai impostare tramite Numeric Input l’indirizzo in una variabile ritentiva (Esempio RW 10, vedi post) e poi tramite una macro eseguita alla accensione copiare il valore nella LB-9541. Ecco quello che dovrai inserire nella macro:

    char Node //Indirizo di nodo
    GetData(Node, “Local HMI”, RW, 10, 1)
    SetData(Node, “Local HMI”, LW, 9541, 1)

    Per eseguire la macro alla accensione (StartUp del terminale), occorre definire nei System Parameters Settings di eseguire la macro al Power On (Vedi screenshot).

    Per quanto riguarda la simulazione OnLine, tramite EasyBuilder dovrai configurare la porta COM per la comunicazione del terminale (Impostandola come RS232), e per testare la comunicazione dovrai usare un’altra porta COM. Per inviare le stringhe Modbus Ascii puoi usare qualsiasi emulatore di terminale (Esempio il nostro Toolly).

    I tempi di risposta del terminale alle interrogazioni Modbus dipendono dalla complessità della grafica che il terminale deve gestire come visualizzazione, ma sono sicuramente quantizzabili in centinaia di millisecondi.

    in risposta a: Ricezione ed invio messaggi SMS #37074
    Sergio Bertana
    Amministratore del forum

    Se devi inviare lo stesso messaggio a diversi numeri, per evitare di dover inserire tante FB SMSSend, ho pensato di realizzare un blocco funzione che gestisce la sequenziazione dell’invio. Riporto il codice sorgente del blocco funzione, e per comodità allego la stampa ed un progetto di esempio per il download.

    Done:=FALSE; (* Invio eseguito *)
    MSSend(); (* Eseguo FB invio SMS *)

    (* Memorizzazione comando invio SMS, il comando deve essere impulsivo. *)

     IF (Send) THEN StartPls:=TRUE; SdCmd:=TRUE; END_IF;
     IF NOT(StartPls) THEN PhNr:=0; RETURN; END_IF;

    (* Eseguo selezione numero di telefono. *)

    CASE PhNr OF
      0: SMSSend.Number:=Number1; (* Phone number *)
      1: SMSSend.Number:=Number2; (* Phone number *)
      2: SMSSend.Number:=Number3; (* Phone number *)
    ELSE
      Done:=TRUE; (* Invio eseguito *)
      StartPls:=FALSE; (* Start pulse *)
      RETURN;
    END_CASE;  

    (* Eseguo invio SMS. *)

     SMSSend.ModemID:=ModemID; (* Modem ID *)
     SMSSend.Text:=Text; (* Testo messaggio *)
     SMSSend.Send:=SdCmd; (* Comando invio SMS *)
     SdCmd:=FALSE; (* Comando invio SMS *)

    (* Eseguo attesa fine invio. *)

    IF ((SMSSend.Done) OR (SMSSend.Fault)) THEN
      SdCmd:=TRUE; (* Comando invio SMS *)
      PhNr:=PhNr+1; (* Sequencer numeri di telefono *)
    END_IF;

    L’esempio è stato realizzato per inviare lo stesso messaggio a 3 numeri di telefono, ma può essere semplicemente modificato aumentando a piacere i numeri di telefono.

    in risposta a: Ricezione ed invio messaggi SMS #37073
    Sergio Bertana
    Amministratore del forum

    La soluzione è molto semplice, basta utilizzare più blocchi funzione SMSSend, definendo per ogni blocco il testo del messaggio da inviare ed il numero di telefono a cui inviarlo. Il comando di invio del messaggio (Nel tuo caso l’ingresso digitale di allarme) sarà lo stesso per tutte le FB.

    Il blocco funzione SMSSend permette la gestione dell’invio sullo stesso evento di più messaggi, si occupa in modo automatico di gestire la sequenza di eventi, attendendo l’invio di ogni singolo messaggio prima di iniziare l’invio del messaggio successivo. Allego estratto manuale per il download.

    in risposta a: Gestione intensità luci in impianto domotico #37071
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione SysDMXMng può gestire fino a 512 canali su di un bus DMX, quindi non esistono problemi per il numero di driver da gestire. Essendo LED RGB se ogni driver pilota un LED saranno necessari 3 canali DMX per ogni driver (In totale 111 canali).

    Non mi torna però la tua affermazione sull’indirizzo, i canali DMX sono numerati in modo progressivo, e tutti i driver di mercato che io ho utilizzato di solito, hanno un modo per definire l’indirizzo di partenza del canale DMX. Quindi ad esempio il primo driver avrà indirizzo 1 (Canali 1, 2, 3), il secondo indirizzo 4 (Canali 4, 5, 6) e così via.

    Per quanto riguarda la possibilità di accendere/spegnere i fari e/o il cambiarne il colore, non si sono limiti, puoi gestire da programma tutti i 512 canali DMX liberamente. Creare scenari, variare il colore con rampe programmate, usando il real time clock puoi impostare sequenze che si attivano ad orario.

    in risposta a: Riportare i terminali serie “i” alle condizioni di default #37070
    Sergio Bertana
    Amministratore del forum

    La manovra per riportare i terminali serie “i” alle loro condizioni di default è indicata nel manuale EasyBuilder 8000, di cui allego estratto.

    In pratica occorre portare a terminale spento lo switch 1 in posizione On, questo forza la procedura di calibrazione dello schermo, terminata la calibrazione viene visualizzata la finestra che esegue il restore della password di sistema al valore di default “111111“.

    Terminata questa operazione si spegne il terminale e si riportano tutti gli switches in posizione Off, poi si riaccende il terminale. A questo punto sarà visibile in basso a destra sul display il pulsante che permette l’accesso alle impostazioni di sistema.

    Toccando la barra si accede alle impostazioni di sistema, viene richiesta la password “111111” e sarà possibile impostare dal TAB Network l’indirizzo IP del terminale.

    Attenzione! Con il reset si sono azzerate tutte le passwords, quindi per poter eseguire le operazioni di programmazione del terminale occorre 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: Collegamento inverter PowerOne convertitore Ethernet/Seriale #37069
    Sergio Bertana
    Amministratore del forum

    Dal report che hai postato sembrerebbe un problema di autorizzazione. Hai mica utilizzato una password di accesso che contiene caratteri speciali oppure spazi. Ecco cosa dice il manuale del convertitore.

    NOTE: If the passphrase or ssid contain the SPACE characters, these can be entered using substitution via the “$” character. For example, if the ssid of the AP is “yellow brick road” you would enter “yellow$brick$road“.

    in risposta a: Router ethernet industriale accessibile da WiFi #37066
    Sergio Bertana
    Amministratore del forum

    Cerco di interpretare la domanda, se quello che vi serve è un router per connessioni ADSL con un certo numero di porte ethernet ed una connessione WiFi, non abbiamo un prodotto di quel tipo. Avevamo in passato questi prodotti ma visto il prezzo irrisorio con il quale si trovano prodotti analoghi per il mercato SoHo il prezzo del prodotto industriale era troppo elevato.
     
    Se invece vi serve uno switch ethernet industriale a più porte sia managed che unmanaged si può scegliere tra la gamma di prodotti ORing. Per la connettività WiFi è possibile connettere a questi switch un prodotto Wireless Lan che permette di eseguire il routing tra la rete ethernet e la rete wireless definendo anche eventuali regole di NAT (Vedi screenshot).
     
    Per la connessione Internet wireless abbiamo nella gamma Conel dei routers GPRS e UMTS che permettono di gestire anche connessioni in VPN e/o registrazione IP dinamico tramite servizio DynDNS. Anche questi routers gestiscono eventuali regole di NAT (Estratto manuale).

Stai visualizzando 15 post - dal 3,736 a 3,750 (di 4,357 totali)