Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 256 a 270 (di 4,234 totali)
  • Autore
    Post
  • in risposta a: “Usura” variabili ritentive su SlimLine #76060
    Sergio Bertana
    Amministratore del forum

    Intanto veniamo alla memoria FRAM, nello SlimLine si utilizza la FM25V02A della Cypress che da datasheet garantisce:

    • High-endurance 100 trillion (10^14) read/writes
    • 151-year data retention

    Ma nella tua applicazione specifica giustamente è inutile allocare in memoria di backup variabili che non hanno la necessità di essere mantenute, quindi puoi allocarle proprio nella DB100 nel range da 0 a 2047. Infatti l’area DB100 è suddivisa in due parti da 2048 bytes, la prima parte da 0-2047 non è tamponata, la seconda parte da 2048-4095 viene tamponata in FRAM.

    Le variabili globali si allocano manualmente in DB100 solo se devono essere gestibili da Modbus (Esempio pannello operatore), altrimenti si possono definire Auto delegando a LogicLab la loro allocazione. Anche le variabili Auto possono essere mantenute allo spegnimento, basta dichiararle RETAIN, ed anche in questo caso verranno appoggiate su FRAM.

    Le variabili RETAIN a differenza di quelle allocate nella DB100 pur mantenendo il loro valore allo spegnimento del sistema, al caricamento di un nuovo programma vengono inizializzate (Vedi topic).

    in risposta a: VNC viewer non permette il controllo #76055
    Sergio Bertana
    Amministratore del forum

    Hai verificato che nelle impostazioni del pannello controllato (Il cMT3108XH) nel menù System Parameters -> Remote non sia posto il tick sulla voce VNC server -> Monitor mode.

    Se questa voce e attiva da VNC non è possibile dare comandi ma solo visualizzare il pannello.

    Puoi testare il funzionamento del VNC eseguendo un VNC client da un PC e verificando se i comandi hanno effetto.

    in risposta a: Problema connessione server MySQL #76050
    Sergio Bertana
    Amministratore del forum

    Per verificare il funzionamento classicamente consiglio l’accesso con password standard evitando qualsiasi crittografia che solitamente è la fonte dei problemi.

    Verificato che senza crittografia tutto funziona è possibile abilitarla cercando di risolvere gli eventuali problemi.

    Eventualmente disattivare il firewall sul server per vedere che non sia lui a bloccare la connessione.

    in risposta a: Telecamere IP compatibili con terminale cMT-2108X2 #76049
    Sergio Bertana
    Amministratore del forum

    Weintek non fornisce una lista di telecamere compatibili.

    Dalla mia esperienza se la telecamera supporta ONVIF standard ed è settabile come frame/risoluzione ecc…  quasi certamente è compatibile.

    in risposta a: Supporto a comandi simultanei su pannelli multitouch #75918
    Sergio Bertana
    Amministratore del forum

    I comandi simultanei sono possibili su tutti i modelli HMI con schermo capacitivo.

    In alternativa lo puoi gestire su tutti i modelli cMT utilizzando la App cMTViewer su un dispositivo con schermo capacitivo esempio smartphone o tablet.

    in risposta a: Telegram errore connessione server #75874
    Sergio Bertana
    Amministratore del forum

    Se per reboot intendi il comando di Reboot dato da Telnet, equivale allo spegnere e riaccendere il sistema. Diverso è il comando di Stop/Run programma in questo caso non funziona.

    Ma lo strano è quando dici che anche dopo uno spegnimento/accensione del sistema non funzioni… L’errore che vedi in spionaggio è sempre: HTTPClient:Er|Cannot connect to server, perchè questo non devrebbe più succedere. Il fatto che dici:

    L’unica cosa che ho visto funzionare è interrompere la comunicazione prima del download, attendere che FB Telegram abbia terminato l’esecuzione del comando.

    Avvalora la tesi che il problema sia effettivamente quello indicato ed allora il reboot del sistema deve risolverlo. Ricordo che su tutti i sistemi non Linux è possibile avere una sola istanza del FB SysTLSClient.

    in risposta a: Telegram errore connessione server #75866
    Sergio Bertana
    Amministratore del forum

    Il FB Telegram si appoggia al FB SysTLSClient per la gestione della crittografia sulla comunicazione IP e la verifica dei certificati.

    A differenza di tutte la funzioni di sistema che sono state interamente sviluppate da Elsist, in questo caso ci siamo avvalsi di una libreria acquistata da terze parti. La gestione della crittografia necessita di una grande quantità di memoria RAM che purtroppo nei microcontrollori è difficile da avere, il FB utilizza memoria rilocabile che alloca all’inizio della comunicazione e disalloca al termine.

    Se l’esecuzione del programma PLC viene interrotta (Esempio con un comando di stop, o con il caricamento di un nuovo programma) mentre la comunicazione è in corso la libreria non disalloca la memoria e quando il programma viene rieseguito il sistema non ha più memoria libera da assegnare e quindi ecco che non và a buon fine la connessione al server.

    La soluzione in questi casi è il riavvio del sistema, possibile sia da comando reboot che spegnendolo e riaccendendolo.

    in risposta a: Realizzazione pagine web impostazione/visualizzazione variabili #75851
    Sergio Bertana
    Amministratore del forum

    Iniziamo con fare chiarezza sul tab Resources di LogicLab, questo tab permette di inserire la gestione dei ns Picoface e del display integrato nei sistemi Netlog che come vedete sono due prodotti a fine vita. Quindi questo tab non ha nulla a che vedere con le pagine web.

    Le variabili nella DB100 si assegnano come qualsiasi altra variabile, si definisce un nome un tipo ed un indirizzo di allocazione, le variabili allocate negli indirizzi da DB100.0 a DB100.2047 non sono ritentive, quelle allocate negli indirizzi da DB100.2048 a DB100.4096 sono ritentive.

    Altra accortezza sui sistemi con architettura ARM come tutti i nostri sistemi le variabili vanno allocate ad indirizzo allineato al tipo di variabile, quindi mentre le variabili ad un byte si possono allocare a qualunque indirizzo, le variabili a 2 bytes vanno allocate ad indirizzi divisibili per 2 e le variabili a 4 bytes vanno allocate ad indirizzi divisibili per 4.

    Come editor HTML non abbiamo un programma specifico è possibile utilizzare uno dei tanti tools presenti in rete.

    in risposta a: Realizzazione pagine web impostazione/visualizzazione variabili #75846
    Sergio Bertana
    Amministratore del forum

    Per la realizzazione di pagine web personalizzabili puoi riferirti a questo articolo. In tutti gli esempi dell’articolo si utilizza il server HTTP integrato nel sistema operativo, questo server opera solo con variabili allocate nella DB100.

    Come vedi nelle spiegazioni definendo TAGs il server nella visualizzazione provvede automaticamente a sostituire alla TAG il valore della variabile indicata. Allo stesso modo definendo ARGs il browser provvede all’invio al server del valore definito che verrà memorizzato nella variabile indicata.

    Quindi per utilizzare questa tecnica basta che tu allochi in DB100 tutte le variabili su cui vuoi operare. Attualmente credo sia allocate in modo automatico quindi basterà andare a definire una locazione nella DB100.

    Tutto lo scenario cambia se invece istanzi il FB HTTPServer che ti permette di gestire l’invio e la ricezione dei dati al browser direttamente da programma PLC. Nell’esempio riportato i dati sono scambiati in JSON ma puoi utilizzare qualsiasi altro tipo di formattazione, dipende dal tuo programma.

    in risposta a: Connessione pannello a PLC Schneider #75812
    Sergio Bertana
    Amministratore del forum

    Il PLC TM221CE40T utilizza il protocollo Schneider Modbus TCP/IP per la comunicazione.

    Se ti scarichi la Guida connessioni PLC per pannelli Weintek e fai riferimento alla documentazione del protocollo Schneider MODBUS TCP/IP trovi tutte le informazioni che ti servono.

    in risposta a: Tipologia server SQL supportata #75809
    Sergio Bertana
    Amministratore del forum

    La risposta di Weintek è che se il DB ha base MySQL  si può usare. L’importante è l’installazione e configurazione di MySQL come da richieste Weintek. Ho preso da Internet questo estratto:

    MariaDB è stato creato dal team di sviluppo originale di MySQL a causa di problemi di licenza e distribuzione dopo l’acquisizione di MySQL da parte di Oracle Corporation. Dopo l’acquisizione, MySQL e MariaDB si sono evoluti in modo diverso. Tuttavia, MariaDB adotta i file di definizione di dati e tabelle di MySQL e utilizza anche protocolli client, API client, porte e socket identici.

    Visto questo credo che non ci siano problemi ad utilizzarlo.

    in risposta a: Stampare trend valore analogico #75766
    Sergio Bertana
    Amministratore del forum

    Creare il trend non ci sono problemi, il problema è la stampa…

    Potresti creare il trend sulla pagina del terminale poi eseguire una funzione stampa pagina su USB.

    in risposta a: Lettura scrittura #75765
    Sergio Bertana
    Amministratore del forum

    Puoi utilizzare il trasferimento ciclico…

    Oppure scrivi una macro che copia il valore modbus su tag HMI.

    in risposta a: Errore G0027 in compilazione progetto #75759
    Sergio Bertana
    Amministratore del forum

    L’errore è generato dalla istruzione:

        APtr:=ADR(IValue); //Auxiliary pointer

    In pratica si stà accedendo all’indirizzo di una variabile interna alla funzione.

    Le variabili interne delle funzioni vengono allocate nello stack, ma il compilatore cerca quando può di ottimizzare l’impiego di memoria ed alloca alcune variabili nei registri del controllore. In questo caso la variabile IValue è allocata dal compilatore in registri del microcontrollore e quindi non è possibile ricavarne l’indirizzo.

    Per soluzionare il problema basta definire 4 variabili dummy di tipo DWORD come prime variabili definite della funzione:

    VAR
        Dummy1 : DWORD; (* To avoid register mapping *)
        Dummy2 : DWORD; (* To avoid register mapping *)
        Dummy3 : DWORD; (* To avoid register mapping *)
        Dummy4 : DWORD; (* To avoid register mapping *)
        IValue : USINT; (* Internal value *)
        APtr : @USINT; (* Auxiliary pointer *)
    END_VAR

    In questo caso il compilatore alloca queste prime variabili nei registri così la variabile IValue verrà allocata nello stack in memoria e quindi sarà possibile ricaverne l’indirizzo.

    in risposta a: Connessione multidrop (Ring) su fibra ottica #75675
    Sergio Bertana
    Amministratore del forum

    I convertitori ATC-277 supportano la connessione in ring (Vedi topic), come vedi dalla foto nel topic il convertitore collegato al dispositivo master, in questo caso il pannello Weintek deve avere una connessione RS232 oppure RS422 a 4 fili, non è possibile utilizzare una connessione RS485 a 2 fili perchè altrimenti verrebbe ritrasmesso il dato ricevuto in risposta dai dispositivi slave.

    Credo che la foto sia autoesplicativa del cablaggio che devi realizzare. Naturalmente puoi inserire altri dispositivi slave sempre mantenendo la connessione indicata.

Stai visualizzando 15 post - dal 256 a 270 (di 4,234 totali)