Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,721 a 3,735 (di 4,379 totali)
  • Autore
    Post
  • in risposta a: Uso delle variabili tampone interne al terminale #37144
    Sergio Bertana
    Amministratore del forum

    Aggiungo una nota, quando il pannello opera come master modbus, interroga il PLC ad esso collegato solo per le variabili collegate agli oggetti presenti nella pagina attiva.

    Quando opera come slave modbus, siccome è il PLC che deve trasferire il valore delle variabili sul pannello, se si vuole limitare la gestione delle variabili alle sole variabili visualizzate, è possibile acquisire l’ID della pagina attualmente visualizzata leggendo il valore nella LW-9050 (16bit): Current base window ID.

    in risposta a: Uso delle variabili tampone interne al terminale #37143
    Sergio Bertana
    Amministratore del forum

    I pannelli Weintek possono essere configurati per gestire il protocollo MODBUS Server (Modbus RTU Slave), in questo modo è possibile realizzare una rete di terminali (Ognuno con il suo ID modbus) ed un PLC master può interrogare (Leggendo e/o scrivendo le variabili) i singoli terminali. In questa configurazione le variabili interne del terminale assumono indirizzo modbus secondo la tabella:

    LB dddd 0~9998 Mapping to 0x/1x 1~9999
    LW dddd 0~9998 Mapping to 3x/4x 1~9999
    RW ddddd 0~55536 Mapping to 3x/4x 10000~65536

    Se il tuo problema è di gestire nella finestra del terminale oggetti che operano su bit (LB) e vuoi appoggiarli su variabili tamponate RW, devi definire nelle proprietà dell’oggetto (Esempio un Toggle switch), come indirizzo della variabile il tipo RW_bit (Vedi screenshot).

    In questo caso il digit più a destra dell’indirizzo rappresenterà il bit su cui opera l’oggetto (In esadecimale da 0 a F), mentre gli altri digit rappresentano l’indirizzo della RW, nell’esempio l’indirizzo 10F, indica che l’oggetto opera sul bit F della RW 10.

    in risposta a: Utilizzo modem MC55i terminal in modalità voce #37141
    Sergio Bertana
    Amministratore del forum

    Il modem Cinterion MC55i Terminal è forse l’unico modem commerciale che preveda una connessione audio in uscita, nel manuale hardware si trovano le indicazioni per la connessione della cornetta telefonica (Estratto manuale). Siemens che è produttrice dell’engine interno al modem rilascia una apposita nota applicativa per la descrizione delle connessioni audio (Audio Interface Design for GSM Applications).
     
    Cinterion consiglia di usare per i test questo: Handset type Votronic HH-SI-30.3/V1.1/0 come descritto nel manuale HW-MC55i.
     
    In merito all’auto answer, il modulo non è in grado di eseguire l’autoanswer su chiamate vocali, può eseguire autoanswer solo su chiamate dati. L’unico modo per rispondere ad una chiamata voce è di connettere un programma di emulazione seriale alla porta RS232 del modulo. Alla ricezione della chiamata verrà ritornata la stringa RING, e se attiva la visualizzazione del CLIP viene ritornato anche il numero del chiamante.
     
    Inviando al modulo la stringa ATA si accetterà la chiamata entrante instaurando la connessione vocale. Per terminare la chiamata basterà inviare la stringa ATH0.

    in risposta a: Configurazione convertitore ethernet/seriale ATC-1000 #37139
    Sergio Bertana
    Amministratore del forum

    Sui convertitori ATC-1000 è stata rilasciata da un certo tempo una nuova versione di Kernel (Versione 1.43), su questa nuova versione è stata modificata l’interfaccia web. Come si vede nel documento allegato la versione di kernel precedente aveva alcune impostazioni suddivise in singole voci di menù. Nella nuova versione di kernel tutte queste impostazioni sono nella pagina principale Administrator Setting.
     
    Quindi le impostazioni di rete (Indirizzo IP, Mask, Gateway) e le credenziali di accesso sono direttamente definibili da questa pagina.

    in risposta a: Web server su modulo CPU SlimLine #37135
    Sergio Bertana
    Amministratore del forum

    Aggiungo al post la pagina della nuova versione del Manuale programmazione IEC61131-3 su sistema SlimLine che riporta un esempio di utilizzo di queste variabili (Download).

    Ho realizzato un semplice programma che permette di definire due valori su di una variabile di set e di visualizzare i due valori su due variabili in visualizzazione (Vedi screenshot), Download programma.

    in risposta a: Web server su modulo CPU SlimLine #37134
    Sergio Bertana
    Amministratore del forum

    La versione con interfaccia Ethernet del modulo CPU SlimLine, ha un Web server integrato che rende disponibili le pagine web per la configurazione del prodotto (Vedi screenshot).

    La pagina Home, Visualizza informazioni sul prodotto e sul programma in esecuzione.

    La pagina General Setup, permette di impostare l’indirizzo IP, i parametri di comunicazione seriale ed i parametri di comunicazione Modbus.

    La pagina Time Setup, permette di impostare la data e l’ora.

    La pagina User, permette di visualizzare ed impostare variabili utilizzabili da programma utente.

    Nella versione attuale del firmware del prodotto non è prevista la possibilità di caricare pagine costruite dal cliente, ma tramite la pagina User, è possibile visualizzare 4 variabili SysUlnfo(x), disponibili nel programma utente utente sulle variabili elencate sotto. Trasferendo in queste variabili una stringa questa sarà visualizzata nella pagina Web.

    SysUSetC STRING[16] Valore impostato da utente in variabile Set(C).
    SysUSetA STRING[16] Valore impostato da utente in variabile Set(A).
    SysUSetB STRING[16] Valore impostato da utente in variabile Set(B).
    SysUSetD STRING[16] Valore impostato da utente in variabile Set(D).

    Da pagina Web è possibile impostare il valore di 4 variabili SysUSet(x). Il valore impostato sarà visibile da programma utente nelle variabili:

    SysUInfoA STRING[16] Valore ritornato ad utente in variabile Info(A).
    SysUInfoB STRING[16] Valore ritornato ad utente in variabile Info(B).
    SysUInfoC STRING[16] Valore ritornato ad utente in variabile Info(C).
    SysUInfoD STRING[16] Valore ritornato ad utente in variabile Info(D).

    in risposta a: Configurazione convertitore Wi-Fi seriale ATC-2000WF #37132
    Sergio Bertana
    Amministratore del forum

    Mi sembra un problema di autenticazione, sembra che il modulo non riesca ad autenticarsi con l’access point, potrebbe essere un problema di password. Ricordo che se nella definizione di SSID e passphrase per sicurezza WPA e/o WPA2 ci sono degli spazi, essi vanno sostituiti con il carattere $. Esempio “my pass word” deve essere definita come “my$pass$word“.

    Per fare chiarezza, consiglio di disabilitare momentaneamente l’autenticazione e la crittografia sull’access point in modo da evitare problemi di autenticazione. Poi verificare che ilo modulo si connetta alla rete WiFi e che funzioni la conversione da TCP/IP a Seriale.

    In questa mia prova ho connesso un ATC 2000WF alla seriale del  PC utilizzando un cavo utilizzando il cavo Null-Modem fornito con il prodotto. Tramite il programma Toolly, ho aperto due sessioni di terminale (Vedi screenshot), nella finestra superiore è visualizzata la connessione in seriale (9600, n, 8) con il convertitore. Inviando $$$ il convertitore risponde CWD. a questo punto ho definito l’SSID “set wlan ssid Prova” ed ho salvato la configurazione “save“.

    Spegnendo ed accendendo il convertitore si vede l’avvenuta connessione al mio access point ed il DHCP server ha assegnato l’indirizzo IP 192.168.0.63. Mentre la porta 2000 è la porta su cui è accettata la connessione TCP/IP.

    A questo punto sulla finestra inferiore ho aperto la connessione TCP/IP verso il convertitore. Dalla seriale si è ricevuta la stringa “OPEN” mentre dalla connessione TCP/IP si è ricevuta la stringa “HELLO“.

    Poi si vede come inviando da un terminale una stringa dati questa venga ricevuta dall’altro terminale e viceversa. Ecco queste sono le operazioni minimali per testare il funzionamento, ora è possibile addentrarsi nelle altre configurazioni essendo certi della funzionalità del convertitore.

    in risposta a: Distanza comunicazione moduli Ubiquiti #37131
    Sergio Bertana
    Amministratore del forum

    La distanza di 25 Km è possibile coprirla con diversi prodotti Ubiquiti. Naturalmente la condizione essenziale è che le due antenne siano a vista ottica (Nessun ostacolo tra di loro), e che la Fresnel zone sia completamente libera (Vedi FAQ).

    Ubiquiti permette di verificare la possibilità di connessione tra i due punti con l’utility Airlink, definendo le coordinate GPS dei due punti da collegare ed il tipo di apparato che si desidera utilizzare, l’utility tramite Google Earth determina la fattibilità del collegamento. Tramite l’utility è possibile calcolare anche l’altezza dell’antenna dal terreno (Vedi screenshot).

    Per coprire distanze così elevate consiglio il prodotto Rocket con antenna parabolica Rocket Dish. Ma attenzione all’allineamento delle due antenne, deve essere molto accurato ed i pali di sostegno delle stesse devono essere abbastanza robusti da evitare che il vento muova le antenne facendo perdere il loro allineamento.

    in risposta a: Descrizioni delle funzioni matematiche #37129
    Sergio Bertana
    Amministratore del forum

    LogicLab supporta tutte le funzioni matematiche richieste dalla norma CEI EN 61131-3 nella Parte 3: Linguaggi di programmazione. Essendo funzioni matematiche ben conosciute non vi è un vero è proprio manuale, ma unicamente un elenco delle funzioni presenti. Per venire incontro alla tua richiesta allego un elenco delle funzioni supportate ed un esempio di utilizzo.

    ABS: Calcola il valore assoluto, Result:=ABS(-10.5); (* Result: 10.5 *).
    SQRT: Calcola la radice quadrata, Result:=SQRT(9.0); (* Result: 3.0 *)
    LN: Calcola logaritmo naturale (Base “e” 2,71828), Result:=LN(10.0); (* Result: 2.30259 *) 
    LOG: Calcola logaritmo (Base “10”), Result:=LOG(10.0); (* Result: 1.0 *)
    EXP: Calcola numero elevato “e” 2,71828, Result:=EXP(1.0); (* Result: 2.71828 *)
    SIN: Calcola seno angolo in radianti, Result:=SIN(1.57); (* Angolo 90°, Result: 1.0 *)
    COS: Calcola coseno angolo in radianti, Result:=COS(3.1416); (* Angolo 180°, Result: -1.0 *)
    TAN: Calcola tangente angolo in radianti, Result:=TAN(0.7854); (* Angolo 45°, Result: 1.0 *)
    ASIN: Calcola arcoseno, Result:=ASIN(1.0); (* Result: 1.5708 *)
    ACOS: Calcola arcocoseno, Result:=ACOS(-1.0); (* Result: 3.14159 *)
    ATAN: Calcola arcotangente, Result:=ATAN(1.0); (* Result: 3.14159 *)
    ADD: Esegue somma, Result:=ADD(1.0, 2.0); (* Result: 3.0 *)
    MUL: Esegue moltiplicazione, Result:=MUL(1.0, 2.0); (* Result: 3.0 *)
    SUB: Esegue sottrazzione, Result:=SUB(2.0, 1.0); (* Result: 1.0 *)
    DIV: Esegue divisione, Result:=DIV(2.0, 1.0); (* Result: 2.0 *)

    Considerazione a parte và fatta per l’operatore modulo MOD. L’aritmetica modulare si applica ai soli numeri interi, nel quale i numeri “si avvolgono su se stessi” ogni volta che raggiungono i multipli di un determinato numero n, detto modulo.

    L’operazione Result:=x MOD 10, darà come risultato valori compresi tra 0 e 10 per qualsiasi valore assuma x. L’operazione Result:=x MOD 1000, darà come risultato valori compresi tra 0 e 1000 per qualsiasi valore assuma x. Allego per download un programma di esempio.

    in risposta a: Collegare più terminali ad un unico PLC #37127
    Sergio Bertana
    Amministratore del forum

    Aggiungo che utilizzando pannelli con interfaccia Ethernet, sarà possibile visualizzare il pannello in un browser web (Esempio internet Explorer) e/o su smartphone utilizzando un client Vnc.

    L’operatività tramite smartphone è molto apprezzata in ambito domotico, perchè rende la casa raggiungibile anche in mobilità (Vedi post).

    in risposta a: Collegare più terminali ad un unico PLC #37126
    Sergio Bertana
    Amministratore del forum

    Mi domando perchè hai utilizzato un convertitore RS485, visto che sia il terminale MT6050i che il modulo DFTS hanno entrambi l’interfaccia RS485 nativa. Ma a parte questa curiosità veniamo alla tua domanda, per collegare più terminali ad uno stesso modulo PLC visto che nelle reti Modbus vi può essere un solo modulo master (Uno dei terminali), devi collegare i terminali tra di loro.
     
    Uno dei terminali farà da modbus master verso il modulo DFTS connesso in RS485, mentre gli altri pannelli saranno slave rispetto a questo pannello. La connessione tra i diversi pannelli deve essere realizzata in Ethernet e per questo devi utilizzare tutti pannelli MT8050i. Tra l’altro questo ti facilita molto la programmazione dei pannelli, basta connettere in rete il PC e definendo l’indirizzo IP di ogni pannello, lo potrai programmare senza doverti fisicamente connettere.
     
    Per quanto riguarda la configurazione, dovrai configurare come device su tutti i pannelli un PLC con connessione Modbus RTU, il pannello master (Quello connesso fisicamente al DFTS), avrà definito nelle proprietà di connessione i parametri di connessione al DFTS (Baud rate, parità, ecc). I pannelli slaves avranno definito anche loro lo stesso tipo di PLC definito nel pannello master e la seriale con la quale il pannello master dialoga con il PLC. Ma il PLC sarà di tipo remoto e quindi raggiungibile tramite l’IP del pannello master (Vedi documento).
     
    Il programma dei pannelli master e slave può essere identico, in pratica i vari pannelli (sia master che slave) hanno nei vari oggetti indicato l’indirizzo della variabile da leggere/scriver sul PLC. Il pannello master eseguirà la connessione diretta con il PLC mentre i pannelli slave eseguiranno la connessione tramite il pannello master.

    in risposta a: Risultato delle operazioni di conversione tipo dati #37128
    Sergio Bertana
    Amministratore del forum

    La conversione dei dati è una pratica necessaria nella programmazione, naturalmente se il tipo dati di destinazione ha un range inferiore del tipo dati di origine viene effettuato un troncamento del valore. Iniziamo con il dire che in nessun caso errori di range nelle conversioni dato provocano l’arresto della esecuzione. Vediamo caso per caso le varie conversioni:

    Tipo BOOL: Le conversioni da qualsiasi tipo verso un BOOL, tornano FALSE se il valore del dato da convertire è 0. Tornano TRUE se il valore del dato da convertire è diverso da 0 (anche < 0).

    Tipo SINT/USINT: Le conversioni da qualsiasi tipo verso un USINT, tornano il valore del byte meno significativo del valore da convertire espresso in esadecimale. Esempio il valore 4660 (16#1234) tornerà 52 (16#34), lo stesso vale per i REAL esempio 300.0 (16#012C) tornerà 44 (16#2C). Per il tipo SINT se il valore esadecimale supera 127 il numero sarà negativo.
     
    Tipo INT/UINT: Le conversioni da qualsiasi tipo verso un UINT, tornano il valore dei due bytes meno significativi del valore da convertire espresso in esadecimale. Esempio il valore 305419896 (16#12345678) tornerà 22136 (16#5678), lo stesso vale per i REAL esempio 90000.0 (16#15F90) tornerà 24464 (16#5F90). Per il tipo INT se il valore esadecimale supera 32767 il numero sarà negativo.

    Allego la stampa di un programma di test ed il programma sorgente.

    in risposta a: Collegamento convertitore ATC200WF con PowerOne #37124
    Sergio Bertana
    Amministratore del forum

    Stai facendo confusione tra il convertitore Ethernet/Seriale ATC-2000 ed il convertitore WiFi/Seriale ATC-2000WF. Mentre il primo ha un server web per la configurazione, l’ATC-2000WF si configura tutto da porta seriale (Vedi post).

    Da quanto mi dici però sembra che tu abbia già configurato buona parte del convertitore quindi credo che manchi solo qualche piccolo dettaglio.

    in risposta a: Gestione comandi su modem MC35i Terminal #37123
    Sergio Bertana
    Amministratore del forum

    Ma da quello che dici sembra semplicemente che il modem abbia l’echo disabilitato, comando ATEx (Estratto manuale). In pratica con il comando ATE0 si disabilita l’echo dei comandi mentre con ATE1 si abilita.

    La configurazione è salvata nel profilo del modem, quindi anche spegnendolo e riaccendendolo l’echo rimane disabilitato.

    Probabilmente l’utente non ha eseguito il restore dei pararametri di default (Comando AT&F0) perchè questo comando riportanto tutti i parametri del modem al loro stato di default avrebbe anche attivato l’echo come si vede dall’estratto del manuale.

    in risposta a: Registrazione di dati storici da variabili PLC #37121
    Sergio Bertana
    Amministratore del forum

    Aggiungo una nota, se l’esigenza è di visualizzare un trend grafico con dati acquisiti in un ben preciso istante è possibile tramite l’oggetto Data Block Display creare nel PLC una tabella di valori e poi trasferirli tutti contemporaneamente nel terminale e visualizzarli in forma di trend grafico (Vedi post).

Stai visualizzando 15 post - dal 3,721 a 3,735 (di 4,379 totali)