Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Febbraio 9, 2024 alle 7:58 am in risposta a: Realizzazione pagine web impostazione/visualizzazione variabili #75851
Sergio Bertana
Amministratore del forumIniziamo 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.
Febbraio 7, 2024 alle 2:05 pm in risposta a: Realizzazione pagine web impostazione/visualizzazione variabili #75846Sergio Bertana
Amministratore del forumPer 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.
Sergio Bertana
Amministratore del forumIl 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.
Sergio Bertana
Amministratore del forumLa 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.
Sergio Bertana
Amministratore del forumCreare 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.
Sergio Bertana
Amministratore del forumPuoi utilizzare il trasferimento ciclico…
Oppure scrivi una macro che copia il valore modbus su tag HMI.
Sergio Bertana
Amministratore del forumL’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.
Sergio Bertana
Amministratore del forumI 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.
Sergio Bertana
Amministratore del forumHo ricevuto il progetto, ho visto che stai comunicando con un PLC Siemens.
A me sembra che il problema sia nel numero di TAGs simboliche importate che sono oltre oltre 60000. EasyBuilderPro necessita di un sacco di tempo per caricarle nei vari menu.
Andrebbero ridotte, eventualmente esportando in Excel e togliendo quelle che sicuramente non sono usate nel progetto HMI.
Sergio Bertana
Amministratore del forumNon ho mai ricevuto feddbacks che lamentassero problemi di lentezza dell’ambiente di sviluppo EasyBuilderPro.
Mi puoi dire con che PLC stai comunicando ed eventualmente inviare alla nostra email di supporto il progetto in modo da poter effettuare una verifica direttamente.
Gennaio 26, 2024 alle 12:07 pm in risposta a: Errore “err_invalid_act_code” su attivazione licenza EasyAccess #75657Sergio Bertana
Amministratore del forumQuesto errore è stato riportato anche nelle FAQ relative ad EasyAccess, molte volte è semplicemente dovuto ad una sostitizione di lettere e numeri.
Capita spesso di confondere lo zero con la “O”, oppure la “Q” con la “O”, questi sono gli errori che mi è capitato di verificare, ma non escludo altri casi di confuzione. Quindi consiglio di analizzare il codice di attivazione verificando di non avere commesso questo tipo di errore, eventualmente provando a sostituire le lettere/numeri in cui ci possono essere dubbi.
Sergio Bertana
Amministratore del forumIl pannello MT6050iP si connetteva in USB, quindi per eseguire l’upload del programma presente sul pannello consiglio di utilizzare un PenDrive nella porta USB Host del pannello.
Eseguito l’upload su PenDrive tramite il programma EasyBuilderPro scaricabile dal nostro sito è possibile eseguirne la decompilazione. Scegliendo poi il nuovo modello di HMI su cui trasferire il programma, verrà ricompilato adattandolo al nuovo pannello a cui sarà possibile connettersi in Ethernet per il download. Oppure creare un file su PenDrive ed inserire il PenDrive nel nuovo pannello per il caricamento del programma.
Avendo i due pannelli la stessa grandezza e risoluzione non ci dovrebbero essere problemi.
Naturalmente è necessario che il programma presente sul pannello attuale non sia protetto da password e/o che si conosca la password di protezione.
Gennaio 25, 2024 alle 8:02 am in risposta a: Gestione trasferimento ricette tra terminale e pen drive USB #75578Sergio Bertana
Amministratore del forumLa connessione FTP su sistemi Windows generalmente mantengono in cash il file precedentemente scaricati, cosi facendo aprono per velocità un file non aggiornato.
Prova a pulire la memoria cash di windows o dare un comando di aggiornamento cosi dovresti trovare il file corretto.
Gennaio 24, 2024 alle 6:06 pm in risposta a: Disponibilità di baud rate personalizzabile custom #75576Sergio Bertana
Amministratore del forumAl momento l’unico convertitore Ethernet/Seriale che prevede la possibilità di definire liberamente il baud rate è l’ATC-2000.
L’ATC-3000 ha come tutti gli altri modelli una lista di baud rates selezionabili e precisamente:
110, 134, 150, 300, 600, 1200, 1800, 2400, 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200, 230400, 460800
Sergio Bertana
Amministratore del forumPer quello che mi risulta, il pannello non può leggere file CSV tramite query per il sistema di accesso alle risorse che può gestire.
Vediamo se qualcuno sul forum ha qualche informazione in più.
-
AutorePost