Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,366 a 1,380 (di 4,507 totali)
  • Autore
    Post
  • in risposta a: Contatore ore di funzionamento #58365
    Sergio Bertana
    Amministratore del forum

    Ecco lo screenshot del programma ricevuto, hai seguito la parte di esempio in linguaggio FBD dove hai passato correttamente l’indirizzo della variabile Valore al tuo FB di conteggio, ma poi ti sei perso nello sviluppo della FB. Nella mia FB eseguo questo calcolo

    @Value:=@Value+1;

    Mentre tu nel tuo esegui questo calcolo

    Secondi:=Secondi+1;
    @Minuti:=Secondi/60;

    Ma la variabile Secondi non è ritentiva, e se tu ne copi il valore in quella ritentiva alla accensione avrai la variabile ritentiva che contiene il valore allo spegnimento ma la variabile Secondi sarà azzerata e quindi copiandone il valore in quella ritentiva azzererai anche lei.

    in risposta a: Utilizzo delle due porte ethernet sui terminali #58361
    Sergio Bertana
    Amministratore del forum

    Sono il Sergio che ti ha detto che le due porte LAN sono accessibili tramite EasyAccess, ora non mi ricordo esattamente quello che ti ho detto (Credo per telefono), magari ho detto qualcosa di inesatto. Ecco come sono da utilizzare le due porte LAN presenti sul pannelo.

    La LAN1 è quella per accesso al pannello via Internet, quindi la si collega alla rete aziendale oppure ad un router LTE.

    La LAN2 si collega solo alla rete macchina.

    Le 2 LAN devono essere impostate su due classi di rete differenti e non vanno collegate allo stesso switch a meno che questo non sia uno switch managed configurato opportunamente.

    In sostanza tutto questo serve a separare le reti per garantire che da EasyAccess si possa raggiungere la sola rete di macchina garantendo la sicurezza di accessoi sulla rete aziendale.

    in risposta a: Problema pass-through con PLC GE 90-30 #58357
    Sergio Bertana
    Amministratore del forum

    Per completezza alla mia risposta riporto l’estratto del manuale che citi, dove in effetti è riportato come possibile il pass throgh anche su bus MPI.

    Spiego il perchè della mia bugia, in effetti il pass through è teoricamente possibile, ma vista la estrema sua dipendenza funzionale sia dalle vaerie versione del software del PLC Siemens, che dalle varie versione del sistema operativo del PC si preferisce sconsigliarne l’utilizzo.

    Questo non toglie che se tu provi ad utilizzarlo magari nella tua configurazione software tutto funzioni regolarmente.

    in risposta a: Comunicazione modbus tra SlimLine e Inverter #58350
    Sergio Bertana
    Amministratore del forum

    Come vedi dal manuale si trova nella libreria eLLabMdbDevsLib, devi eseguirne il download.

    in risposta a: Comunicazione modbus tra SlimLine e Inverter #58347
    Sergio Bertana
    Amministratore del forum

    Come dici tu e come  si vede dal report di spionaggio si perdono caratteri della risposta, nel FB ModbusMaster occorre definire il parametro IFTime che indica il tempo di interframe. Nel protocollo RTU i pacchetti sono separati da un tempo che varia in funzione del baud rate, quindi occorre impostarlo correttamente.

    Se il dispositivo che risponde per un qualche motivo inserisce una pausa nella risposta, il FB lo interpreta come la fine del pacchetto e passa a controllarlo, trovandolo in errore.

    Il FB ModbusMaster_v1 è stato completamente ridisegnato, è stato eliminato il controllo sul tempo di interframe, il pacchetto viene completamente sniffato e verificato rendendolo indipendente dai tempi.

    Non mi dici che FB utilizzi, ti consiglio di passare alla versione v1 e di verificarne il funzionamento, attenzione che nel passaggio alla v1 abbiamo cambiato la definizione d ei tempi di timeout e delay, ora sono valori REAL espressi in secondi.

    in risposta a: Problema pass-through con PLC GE 90-30 #58337
    Sergio Bertana
    Amministratore del forum

    L’impostazione della word LW-9903 può essere fatta da pulsante o da macro in automatico e serve quando si vuole attivare il pass through verso il PLC tramite connessione seriale, quindi puoi connetterti al terminale da remoto e poi gestire il set della word.

    Ma ti ricordo che il pass through non funziona con la connessione in MPI.

    in risposta a: Domande su utilizzo EasyAccess #58334
    Sergio Bertana
    Amministratore del forum

    Il pass through sui pannelli Weintek permette di connettersi tramite rete ethernet in locale e tramite connessione con EasyAccess da remoto al PLC connesso al pannello in seriale.

    Ma quando parliamo di MPI parliamo di S7-300 solitamente, in questo caso purtroppo devo dirti di no non riusciamo ad usare la connessione pass through nè da porta ethernet locale nè da connessione remota in EasyAccess.

    in risposta a: Domande su utilizzo EasyAccess #58330
    Sergio Bertana
    Amministratore del forum

    1) Il pannelli serie iE non supportano dongle USB, devi avere una connessione Internet disponibile, quindi o ti connetti alla rete aziendale del cliente oppure utilizzi un router con SIM. SE vuoi utilizzare un dongle USB direttamente nel pannello devi scegliere la famiglia cMT.

    2) Non c’e bisogno di nessun tutorial, nella pagina del prodotto in download troverai delle guide per la configurazione e cercando nel forum troverai altre utili informazioni. Eseguita la configurazione del servizio EasyAccess potrai connetterti al pannello dal tuo PC direttamente con l’indirizzo IP che verrà automaticamente assegnato al pannello. Impostando il pass through potrai definire un qualsiasi indirizzo IP della rete del pannello remoto per avere quell’indirizzo mappato nel tuo PC. Così se indichi l’indirizzo del PLC potrai accedervi direttamente con il TIA portal.

    3) Con EasyAccess hai a disposizione 1Gb al mese sul singolo HMI, ogni mese il contatore si azzera, attualmente non ci sono limiti temporali.

    in risposta a: Inviare dati JSON in GET o POST ad un servizio REST #58315
    Sergio Bertana
    Amministratore del forum

    Aggiungo su un post separato perchè merita un approfondimendo la gestione della autenticazione, ho visto che hai definito l’Header che non hai terminato con <CR><LF>

    HTTP.Header:=ADR('Authorization: Bearer GlzdHJpYnV0b3I6MmU1Y2JiMmQzMjZhNGMyNGRjYzgxN2UxNGFkZDI2OTliYTJmOGZkMDg4YTBlYzlmYjJlYzlkZmE5YWY4ZGJiOA==');

    E scrivi che hai definito valore convertito in base64 per Utente e Password, ma Authorization: Bearer si utilizza per autorizzazione con token, per l’autenticazione con utente e password si utilizza Authorization: Basic che deve essere calcolata in Base64 definendo username e password separate da “:”.

    Quindi ad esempio l’utente Root con password MyPassword codificando con un codificatore on-line la stringa Root:MyPassword, avremo:

    HTTPRq.Header:=ADR('Authorization: Basic Um9vdDpNeVBhc3N3b3Jk$r$n');

    Come vedi termino la stringa con il <CR><LF>.

     

    in risposta a: Inviare dati JSON in GET o POST ad un servizio REST #58314
    Sergio Bertana
    Amministratore del forum

    Vedo alcuni errori nella tua richiesta, il campo HostAddress deve essere definito solo con l’indirizzo IP o l’URL del server, quindi nel tuo caso ADR(‘192.168.101.240’). Il valore della porta 8080 lo hai già definito correttamente nel campo HostPort.

    Il campo HostName identifica il nome host nel caso di servizi multihosting, nel tuo caso è corretto settarlo uguale a HostAddress.

    Non hai definito il campo Page che identifica la pagina (O meglio lo script) a cui inviare i dati. Nel tuo caso mi sembra tu abbia scritto delle regole di rewrite in htaccess sul tuo sito, quindi in Page potresti scrivere  “v2.0.0/status”.

    Meglio sarebbe avere uno script che accetti i parametri in GET o POST ed avere un parametro che identifica la richiesta (Esempio Job=GetStatus) in questo modo con lo stesso script puoi gestire più comandi. In questo caso la richiesta andrebbe definita nel parametro Header.

    Quello che visualizzi in Watch purtroppo è un BUG di LogicLab che non visualizza il valore stinga di una variabile pointer. Ma un GRANDISSIMO aiuto al debug lo puoi avere dallo spionaggio.

    in risposta a: Acquisizione encoder #58310
    Sergio Bertana
    Amministratore del forum

    Se utilizzi il counter hardware non occorre campionare velocemente gli ingressi digitali ci pensa il circuito hardware a gestire il conteggio. Come dici tu la necessità di campionare velocemente gli ingressi digitali serve solo nel caso utilizzi un conteggio software o l’FB IOEncoder di acquisizione encoder su I/O.

    La quadratura encoder è una feature implementata nel core Cortex M7 ma che al momento non è ancora gestita dal nostro sistema.

    in risposta a: Acquisizione encoder #58279
    Sergio Bertana
    Amministratore del forum

    Attualmente non è ancora gestita l’acquisizione encoder sul modulo CPU CortexM7.

    Certo puoi utilizzare un ingresso di counter per acquisisre uno dei canali dell’encoder ed eseguirne il conteggio. Se usi il counter del modulo CPU potrai acquisire segnali fino ad un massimo di 10kHz, ma attenzione utilizzando un solo ingresso senza la quadratura quando l’encoder si arresta a cavallo della tacca rischi di avere un conteggio anche se in trealtà l’encoder è fermo.

    in risposta a: Conversione numeri esadecimali in stringa #58274
    Sergio Bertana
    Amministratore del forum

    Per la conversione di numeri in stringa si utilizzano le funzioni SysVsnprintf e SysCVsnprintf, in base alla definizione impostata nel segnaposto avrai una stringa con il valore decimale o esadecimale.

    Ti ho preparato un esempio (Screenshot) dove ci sono due tipi di soluzione al tuo problema, nel primo caso stampo i 4 bytes accodando il risultato della stampa in una stringa.

    Nel secondo caso ho creato una variabili DWORD con  il valore dei 4 bytes e poi ne ho effettuato la stampa.

    in risposta a: Modificare il tempo di loop di una task #58268
    Sergio Bertana
    Amministratore del forum

    Anche sui sistemi ARM è possibile impostare il tempo di loop della task Fast a 100uS, naturalmente devi controllare che ad eseguire il codice non venga impiegato un tempo molto vicino (Se non addirittura superiore) al tempo di loop, variabile SysTFastExTm.

    Se è molto vicino non viene lasciato al processore molto tempo per eseguire la task Slow e la Back i cui tempi di esecuzione si allungheranno di conseguenza. Se è superiore si perderanno esecuzioni della task ma comunque il programma continuerà ad essere eseguito.

    Nota, Siccome l’accesso ai moduli su bus di estensione richiede tempi dell’ordine dei 200uS nel caso siano eseguiti FB di accesso alle schede periferiche, se il tempo di loop della task Fast è inferiore ai 500uS questi FB sono automaticamente disabilitati, continuano a funzionare solo se agiscono sul modulo CPU, indirizzo di modulo 255.

    in risposta a: Come gestire motori passo/passo con i vostri prodotti #58264
    Sergio Bertana
    Amministratore del forum

    La prima considerazione è che la frequenza massima generabile dall’uscita PWM come puoi leggere nei post precedenti è di 2kHz, quindi devi verificare se soddisfa le tue necessità.

    I moduli CPU Cortex hanno 2 uscite PWM indipendenti, quindi  per gestire più motori devi parallelare su tutti i drivers il clock ed abilitare con una uscita specifica per ogni driver il driver che deve comandare il motore.

    Quindi se nella tua applicazione non hai mai più di 2 motori che si muovono contemporaneamente, o se puoi muovere più motori contemporaneamente con lo stesso segnale di clock direi che è possibile.

Stai visualizzando 15 post - dal 1,366 a 1,380 (di 4,507 totali)