Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 46 a 60 (di 4,232 totali)
  • Autore
    Post
  • in risposta a: Informazioni su router 4G #81045
    Sergio Bertana
    Amministratore del forum

    Tutti router che distribuiamo sono adatti all’ambiente industriale, possono essere montati su supporto DIN ed hanno range di temperatura elevato. Tutti supportano la creazione di diversi tipi di VPN. In riferimento al tempo di avvio si attestano tra i 60 e 90 secondi. Il sistema operativo nel caso di Milesight è proprietario, mentre Teltonika utilizza OpenWRT. Dal nostro sito è possibile verificare tutte le caratteristiche ed eseguire il download della documentazione.

    Possiamo proporre alcuni modelli della famiglia Milesight, questi modelli hanno la possibilità di programmazione in Phyton che ne aumenta la flessibilità.

    • UR32S-L04EU: Router cellulare industriale, alimentazione 9÷48Vdc e PoE, connessione LAN/WAN e WiFi. Integra le funzioni watchdog e failover multi-link per garantire comunicazioni stabili.
    • UR32-L04EU-W-485: Router cellulare industriale doppia SIM, alimentazione 9÷48Vdc e PoE, connessione LAN/WAN e WiFi. Integra le funzioni watchdog e failover multi-link per garantire comunicazioni stabili. Dispone di interfaccia seriale RS232/485 e di 1 ingresso ed 1 uscita digitale.

    In alternativa il modello della famiglia Teltonika:

    • RUT200-S: Router cellulare industriale, alimentazione 9÷30Vdc, connessione LAN/WAN e WiFi. Integra le funzioni watchdog e failover multi-link per garantire comunicazioni stabili. Dispone di di 1 ingresso ed 1 uscita digitale. Basato su sistema operativo OpenWRT può essere connesso alla rete ZeroTier. Questo router gestisce la configurazione in Auto APN, e quindi in grado di configurare automaticamente l’APN in base all’operatore della SIM.
    in risposta a: Connessione a piu’ dispositivi in Modbus TCP #81033
    Sergio Bertana
    Amministratore del forum

    Come si legge dalla FAQ Quante connessioni TCP/IP simultanee possono essere gestite?, il numero massimo di connessioni TCP/IP gestite è 32. Ora per connetterti a più dispositivi Modbus TCP hai due opzioni.

    Comunicazione in parallelo con tutti i dispositivi: Istanziare un FB SysTCPClient per ogni dispositivo a cui devi connetterti e come dici correttamente colleghi l’uscita File all’ingresso File del FB ModbusMaster o di più FB in cascata. In questo modo puoi lasciare tutte le connessioni attive che lavorano in parallelo.

    Comunicazione multiplexata tra i vari dispositivi: Istanziare un FB SysTCPClient e le relative ModbusMaster poi creare un programma batch in cui ai vari passi esegui:

    1. Connessione all’indirizzo IP del dispositivo.
    2. Esecuzione comandi Modbus con 1 o più FB ModbusMaster in cascata.
    3. Disconnessione dal dispositivo.
    4. Iterazione sul punto 1 cambiando l’indirizzo IP del dispositivo. Raggiunto l’ultimo dispositivo riparto dal primo.

    Con la comunicazione in parallelo hai anche la massima velocità di comunicazione con tutti i dispositivi ma anche il massimo impegno di risorse, tipicamente la memoria RAM utilizzata pere gestire le connessioni e la comunicazione Modbus.

    Con la comunicazione sequenziale minimizzi l’utilizzo di risorse ma la comunicazione sarà molto più lenta.

    LocalAdd deve essere (‘0.0.0.0’) e LocalPort (0) in modo che vengano prese in automatico.

    Il fatto che con 1 istanza di SysTCPClient funzioni e con 2 no è strano… non ci sono assolutamente problemi ad utilizzare più istanze, se mandi il programma alla nostra eMail di supporto vediamo di capire il perchè.

    in risposta a: Blocco invio eMail e notifiche in fase di manutenzione #81026
    Sergio Bertana
    Amministratore del forum

    Per quanto riguarda le notifiche push di EasyAccess sul cellulare, è possibile dalla App dal TAB Invia notifica bloccare l’invio su quel dispositivo (Vedi screenshot), se si hanno più utenti che ricevono la notifica l’operazione và fatta sul cellulare di ognuno degli utenti. Per l’eMail invece non è prevista nessuna possibilità di bloccare l’invio.

    Dalla tua domanda mi sembra di capire che tu vorresti con un solo comando bloccare sia l’invio delle eMail che delle notifiche push su tutti i dispositivi collegati nelle fasi di manutenzione impianto.

    Per fare questo secondo me la soluzione più semplice è agire sul programma PLC, basterà inibire durante la manutenzione, la gestione delle variabili a cui il pannello collega la generazione degli allarmi e quindi  l’invio delle eMail e delle notifiche push.

    in risposta a: Utilizzo caratteri “//” per definizione commenti #81018
    Sergio Bertana
    Amministratore del forum

    Il problema è nel tipo di progetto, come vedi dalla estensione si tratta di un progetto .ppjs in questo tipo di progetto occorre racchiudere i commenti tra i caratteri “(* Commento *)” e NON supporta i commenti con il prefisso “//”.

    Per poter utilizzare i commenti con il “//” devi prima di inserire il nuovo commento, salvare il progetto con l’estensione .plcprj, dal menù File->Save project As.. definisci il nome del progetto scegliendo l’estensione .plcprj (Vedi screenshot).

    Aggiungo che si può utilizzare i caratteri “//” per i commenti di riga, mentre se si vuole commentare un blocco occorre iniziare il blocco con i caratteri “/*” e terminare il blocco con i caratteri “*/”.

    in risposta a: Disponibilità corsi di formazione #81006
    Sergio Bertana
    Amministratore del forum

    Premetto che il nostro core business è la fornitura di sistemi programmabili PLC da noi progettati e realizzati, vedi ad esempio la famiglia SlimLine. I pannelli Weintek come tutti gli altri prodotti da noi forniti ad esempio inverters, routers, ecc.. sono prodotti che commercializziamo.

    Su tutti i prodotti che commercializziamo compresi i nostri PLC forniamo supporto tecnico sia telefonico che via forum, ma non facciamo corsi di formazione.

    Abbiamo però un servizio di supporto tecnico on-line che forniamo utilizzando un software di controllo remoto (Attualmente utilizziamo Supremo) scaricabile dal nostro sito.

    Grazie a questo servizio possiamo sviluppare con il cliente l’applicazione fornendo le informazioni che necessitano eventualmente con parti di programma, macro, ecc… attingendo dal ns repository di applicazioni sviluppate nel tempo.

    in risposta a: Implementazione sistema di supervisione IoT su cloud #80994
    Sergio Bertana
    Amministratore del forum

    Si certo la soluzione WeinCloud può essere una soluzione interessante, visto che sugli impianti hai già un pannello operatore Weintek che grazie ad EasyAccess ti permette l’accesso da remoto per operare sul pannello e per interventi di manutenzione sia sul programma del pannello che del PLC.

    In alternativa esistono portali specifici per applicazioni IoT ad esempio Beebotte o suoi competitors tutte queste soluzioni, sia WeinCloud che i portali IoT permettono report anche storici ma non permettono l’esecuzione di automazioni lato server. Per poter gestire i dati aggregati da più impianti e gestire automazioni lato server occorre realizare un proprio servizio cloud pubblicando API in REST (Vedi articolo). Ad esempio i nostri clienti hanno realizzato soluzioni tipo:

    • Gestione manutenzione preventiva impianti, il server REST memorizza i parametri di lavoro ed avvisa il cliente sulle operazioni di manutenzione.
    • Calcolo consumi energetici con avvisi su superamento soglie e suddivisione costi per centro di costo.
    • Calcolo costi di produzione, portale a cui impianti industriali inviano dati sui pezzi prodotti, sui tempi di fermo macchina, sui consumi energetici, ecc..
    in risposta a: Controllo ventilconvettori con acquisizione sonda temperatura #80982
    Sergio Bertana
    Amministratore del forum

    Il modulo Yotta A-1012 gestisce 2 uscita analogiche 0/4-20mA purtroppo a specifiche non è indicata la tensione massima erogabile e/o il massimo valore ohmico della resistenza di carico. Ma immaginando di alimentare il dispositivo con 24Vdc (12Vdc potrebbe essere un valore troppo vicinop ai 10Vdc che si desiderano in uscita) posso pensare che configurando le uscite a 0-20mA e caricandole con 500Ohm è possibile avere in uscita un valore da 0 a 10V. Questo dipende anche dalla impedenza di ingresso del ventilconvettore che essendo un ingresso analogico suppongo essere abbastanza elevata.

    In caso contrario ti serve come hai detto correttamente tu nella domanda un convertitore da 0-20mA a 0-10V, ma purtroppo non abbiamo a catalogo nessun dispositivo di questo tipo.

    Per quanto riguarda le sonde di temperatura puoi dare una occhiata a queste sonde di temperatura a contatto su tubo con cavo, dove puoi trovare sia il modello con Pt100 che con Pt1000.

    Sergio Bertana
    Amministratore del forum

    Per quanto riguarda la comunicazione one-to-one tra moduli CPU puoi utilizzare il FB DataTransfer che in base al FB di gestione stream di comunicazione permette di comunicare sia in UDP che in TCP. L’esempio ST_DataTransfer che trovi nell’articolo ha gia realizzate sia la comunicazione server che client, ti basterà copiare la parte server in un sistema e la parte client nell’altro.

    Aggiungo per completezza anche se non riguarda la tua applicazione che per implementare una comunicazione TCP tra più moduli client verso un modulo server sono disponibili i FB TCPDataExchClient e TCPDataExchServer.

    In riferimento alla memoria ti rimando a questo articolo, come vedi i modelli Cotex M7 disper quanto riguarda il codice dispongono standard di 131Kb di memoria programma, quindi 35Kb in più della versione attuale, inoltre la compilazione dei programmi sui sistemi Cortex M7 è più ottimizzata come vedi:

    • Compilazione 1000 istruzioni logiche: ARM7:12Kb, CortexM7:8Kb
    • Compilazione 1000 istruzioni matematiche fixed point: ARM7:18Kb, CortexM7:13Kb
    • Compilazione 1000 istruzioni matematiche float point: ARM7:39Kb, CortexM7:29Kb

    Quindi per la dimensione del codice non hai sicuramente problemi.

    In riferimento alla memoria dati la dimensione disponibile standard è la stessa per entrambi i sistemi (8Kb), sui CortexM7 è disponibile una opzione per estenderla a 16Kb. Dai dati di compilazione del tuo progetto vedo che hai ancora liberi 1940 (794h) bytes quindi credo siano ampiamente sufficenti. Ti rimando al capitolo Ottimizzazione memoria RAM che trovi in fondo alll’articolo della knowledge base che ti ho linkato.

    in risposta a: Errore su confronto progetti #80962
    Sergio Bertana
    Amministratore del forum

    In effetti ho verificato la comparsa dell’errore nella procedura di comparazione dei progetti.

    E’ un problema di LogicLab, ho informato Axel del problema, attendo notizie.

    in risposta a: AESDECRYPTION(H:13) – error C4113, cosa significa #80952
    Sergio Bertana
    Amministratore del forum

    L’errore è generato dal FB AESDecryption presente nella libreria eLLabAESCryptLib, una delle variabili interne al FB è definita con il nome Step. Se nel tuo progetto non hai selezionato la compilazione Case-sensivity (Vedi screenshot), LogicLab considera tutte le definizioni come se fossero scritte in caratteri maiuscoli. Ecco perchè nell’errore il FB è riportato AESDECRYPTION tutto in maiuscolo.

    In questa nuova versione di LogicLab il termine STEP è diventato un termine riservato quindi non è più possibile utilizarlo per definire variabili nel progetto. Quindi non avendo scelto di distinguere tra minuscole e maiuscole la variabile Step diventa STEP e quindi LogicLab ne impedisce l’utilizzo.

    La soluzione consigliata è di abilitare la distinzione sul case delle lettere (Flag Case-sensivity attivo), questo potrebbe generarti problemi nel tuo programma se hai utilizzato lo stesso nome scritto in minuscolo e maiuscolo per la stessa variabile (Esempio Marcia e MARCIA). Oppure hai utilizzato in linguaggio ST la definizione degli operatori (IF, THEN, CASE, FOR, ecc) in minuscolo anzichè in maiuscolo.

    Quindi se è troppo complesso attivare il Case-sensivity sul tuo progetto puoi eseguire il download della nuova versione beta del package PCK055a05_ in cui è stato corretto il problema e sostituirlo alla raccolta librerie definita nel tuo progetto (Vedi articolo).

    in risposta a: Chiarimenti su versioni SlimLine e versioni firmware #80940
    Sergio Bertana
    Amministratore del forum

    Le schede di estensione I/O sia logiche che analogiche si conettono al modulo CPU tramite bus di estensione e non vi è nessuna relazione con il processore utilizzato nel modulo CPU.

    Non farti ingannare dal prefisso PCB che vedi nell’elenco, i moduli elencati sono moduli CPU forniti in versione OEM, cioè forniti senza contenitore. I moduli OEM sono il circuito stampato con i componenti che trovi all’interno del contenitore del modulo CPU. Per contraddistinguerli vengono da noi identificati con il prefisso PCB.

    Il PCB137 è l’OEM del modulo CPU MPS054.

    Il PCB141 è l’OEM del modulo CPU MPS056.

    in risposta a: Chiarimenti su versioni SlimLine e versioni firmware #80926
    Sergio Bertana
    Amministratore del forum

    I moduli CPU SlimLine CortexM7, sono basati sul processore SAME70N21x della Microchip, questo processore viene fornito in due versioni diversificate dalla lettera finale del codice, A o B. Le due versioni seppure identiche come caratteristiche hanno differenze nella configurazione interna, questo ci ha costretto a realizzare due versioni di software specifiche. Le due versioni sono incompatibili tra di loro quindi occorre eseguire l’upgrade con la versione corretta.

    La procedura di aggiornamento che noi consigliamo da connessione telnet con il comando di update come riportata in questo articolo, prima di aggiornare il sistema controlla se il firmware indicato è corretto per il processore presente nel sistema, quindi non vi è pericolo di commettere errori. Se invece si esegue l’aggiornamento da porta seriale o USB non vi sono controlli quindi occorre prestare attenzione al firmware da utilizzare.

    Le informazioni sulle ultime versioni di firmware disponibili si trovano nelle note di rilascio.

    Per il processore SAME70N21A, codice prodotto: MPS054A**0, MPS054B**0, MPS056A**0, PCB137B**0, PCB137C**0, PCB141B**0
    Occorre utilizzare il PCK051C010 che contiene: Firmware: SFW198F010 Bootloader: SFW200A220 Webpages: MDP020E050

    Per il processore SAME70N21B, codice prodotto: MPS054C**0, MPS056B**0, PCB137D**0, PCB141C**o
    Occore utilizzare il PCK054B010 che contiene: Firmware: SFW210C010 Bootloader: SFW209A000 Webpages: MDP020E050

    in risposta a: Esportazione variabili TAGs per WEINTEK #80804
    Sergio Bertana
    Amministratore del forum

    All’interno dell’ambiene di sviluppo LogicLab esistono già apposite procedure di esportazione/importazione variabili. Come vedi dallo screenshot con il tasto destro del mouse su di un gruppo di variabili è possibile esportarle sia in un file di libreria che in un file XML compatibile con PLCopen.

    Analogamente con il tasto destro del muose sulla cartella programmi è possibile importare oggetti dal file di libreria o PLCopen precedentemente esportato.

    Sia il file di libreria che il file PLCopen sono editabili con qualunque editor di testo e quindi possono essere facilmente modificabili per l’eventuale modifica del nome delle TAGs.

    La soluzione più semplice ed è quella che preferisco per importare TAGs dai progetti e/o per duplicarle all’interno del progetto modificandone il nome, è attivare la visualizzazione a lista delle variabili e modificarle con l’editor di LogiLab e/o con editor esterni.

    in risposta a: Personalizzare nome file di campionamento e salvataggio #80796
    Sergio Bertana
    Amministratore del forum

    Nella configurazione del campionamento dati devi scegliere Customized file handling, nei settings potrai definire il comando di trigger per la scrittura del file e le LW in cui definire il nome del file (Screenshot).

    in risposta a: Acquisizione tensione negativa con modulo mixed signal #80792
    Sergio Bertana
    Amministratore del forum

    Inizio con il ricordare che il modulo mixed I/O come da specifiche non è progettato per acquisire valori analogici negativi. Ma il modulo non legge le sue specifiche e quindi anche se utilizzato fuori da esse continua a funzionare. Ma non è un caso il suo funzionamento, vediamo di spiegarlo… Il modulo è basato sul microcontrollore ADUC845 della Analog Devices, che come da specifiche per gli ingressi analogici indica:

    Analog Input Voltage to AGND –0.3 V to AVDD + 0.3 V

    Quindi i suoi ingressi analogici accettano tensioni comprese tra -0.3V e +0.3V oltre la tensione di alimentazione. Gli ingressi analogici del modulo mixed I/O quando configurati per acquisizione 10V inseriscono un partitore di tensione tra il morsetto di ingresso e l’ingresso reale del microcontrollore. Grazie a questo partitore la tensione all’ingresso analogico del microntrollore è pari alla tensione al morsetto di ingresso VIn/8.021.

    Visto il range di tensione negativa accettato dall’ingresso analogico del microntrollore (-0.3V) si deduce che la massima tensione negativa misurabile è: -0.3*8.021=-2.406V. Probabilmente il valore di -0.3 è un valore medio e quindi potrebbe essere diverso tra microcontrollori di diverse forniture e quindi ecco perchè puoi acquisire un po di più in negativo di questo valore.

    Ora anche se non dovresti acquisire valori negativi, ma visto che lo hai sempre fatto, per aumentare il range di acquisizione non ti resta che aumentare il partitore in ingresso, puoi farlo semplicemente inserendo in serie al pin di ingresso una resistenza che ti porti ad avere al massimo -2.4V al valore massimo che devi acquisire. Inserendo una resistenza da 33KOhm dovresti poter acquisire circa -5V ma avendo falsato il partitore in ingresso il valore letto sarà diverso, quindi dovrai tenerne conto, puoi utilizzare la funzione ValueScale.

    Nota: La scheda viene da noi tarata sul sistema ATE per il range positivo, nel range negativo di acquisizione potrebbe perdere di linearità, ti consiglio di fare una verifica ed eventualmente correggerla con la funzione Linearize.

     

Stai visualizzando 15 post - dal 46 a 60 (di 4,232 totali)