Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,561 a 1,575 (di 4,482 totali)
  • Autore
    Post
  • in risposta a: Errore nella compilazione programma per il simulatore SimuLab #53299
    Sergio Bertana
    Amministratore del forum

    Con l’uscita del modulo CPU basato su Raspberry abbiamo creato una nuova libreria eLLabXUnified12Lib che ha come intento l’unificazione di tutti i sistemi ARM/Cortex/Raspberry, in modo da poter passare con lo stesso programma da un sistema all’altro.

    Il simulatore integrato in LogicLab non è ancora pronto per la nuova libreria, se vuoi inizaire a prendere confidenza con LogicLab puoi creare un progetto per un sistema MpsPS054 XTarget_12.

    in risposta a: Gestire un misuratore di portata ad impulsi #53295
    Sergio Bertana
    Amministratore del forum

    SysGetPhrDI: Si esegue l’acquisizione degli ingressi digitali da programma e si controlla lo stato gestendo sui fronti di variazione il valore di conteggio. Con questo tipo di acquisizione si possono acquisire segnali la cui durata è maggiore del tempo di esecuzione del programma, ammettendo di eseguire il programma nella task Fast eseguita ogni mS il segnale in ingresso deve durare più di 1mS.

    SysGetCounter: L’hardware acquisisce il segnale e lo conteggia, in questo caso possono essere acquisiti segnali la cui durata è compatibile con la frequenza massima di acquisizione del modulo. Sul modulo CPU la frequenza è 10Khz, quindi il segnale deve durare per più di 100uS, sul modulo PCB124 la frequenza è 50Khz, quindi il segnale deve durare per più di 20uS.

    Nel tuo caso devi calcolare la frequenza di uscita alla portata che avrai (Alla massima portata 20 l/min avrai circa 2000Hz), ma attenzione si può usare il parametro di frequenza solo se il duty-cycle del segnale in uscita è il 50%. Molti sensori danno in uscita un segnale che stà attivo solo per pochissimo tempo e quindi è importante sapere il tempo di attivazione del segnale oltre alla sua frequenza.

    in risposta a: Connessione a rete 3G/4G per teleassistenza #53137
    Sergio Bertana
    Amministratore del forum

    La Serie IE può accedere ad internet per sfruttare EasyAccess tramite servizio thetering Android, il modello 8103 può collegarsi ad una rete wi-fi esistente, quindi anche ad un hot spot generato da un telefono.

    I pannelli IE non permettono di visualizzare telecamere IP su pannello, in questo caso sarebbe necessario un cMT3103 (che permette di visualizzare un IP camera con protocollo ONVIF standard per volta). Quindi devi scegliere la telecamera da visualizzare con dei pulsanti virtuali o eseguendo uno scroll a tempo tra le due.

    Naturalmente se le tecamere sono WiFi dovrai avere un access point WiFi a cui connettere sia le telecamere che il terminale.

    in risposta a: Realizzare DataLogger con storicizzazione su server FTP #53081
    Sergio Bertana
    Amministratore del forum

    Quello che devi realizzare è sicuramente fattibile, credo che già gli esempi di questo topic dovrebbero darti lo spunto di partenza. Comunque trovi altri esempi nel forum di come realizare datalogger su file con i ns sistemi SlimLine.

    Per quanto riguarda la comunicazione con il Weintek, puoi aggiungere nel terminale un ulteriore PLC connesso con protocollo Modbus e ti connetti allo SlimLine (Che opera da nodo slave).

    Ora quando il terminale deve memorizzare i dati invierà le 3 variabili da memorizzare allo SlimLine ed attiverà il bit di trigger. Il programma sullo SlimLine controlla l’attivazione del bit e quando attivo andrà a ascrivere i dati nel file di log resettando il bit.

    in risposta a: Utilizzo FIFOFile e durata scheda SDCard #53078
    Sergio Bertana
    Amministratore del forum

    La durata delle schede SDCard è un tema a cui molti non prestano attenzione, le memorie FLASH utilizzate nelle schede SDCard come quelle utilizzate nell’hard disk SSD del Vs PC hanno una durata, sopportano un numero definito (Molto grande) di cicli di scrittura. Le SDCard che noi utilizziamo gestiscono il Wear leveling quindi spalmano la scrittura su tutta l’area di memoria.

    Utilizzando nomi di files diversi per ogni file creato aggiungi un ulteriore livello di spalmatura dei dati nella memoria.

    Non trovo adatto il FB FIFOFile per la tua necessità, intanto perchè il file è creato in  un formato binario proprietario ed il FB è realizzato per poter gestire l’inserimento e la lettura dei dati dal registro FIFO e non per preservarne il contenuto nel tempo.

    Quindi ti consiglio di scrivere i dati in un file ascii formato CSV se vuoi un file intellegibile facilmente (Vedi topic), oppure un file binario a record di lunghezza fissa se vuoi un file ottimizzato in lunghezza.

    Una volta creato i vari files di log (Puoi usare come none data/ora di creazione) puoi eseguirne la lettura con  un client FTP oppure inviarli automaticamente su di un server FTP remoto (Vedi topic).

    Per quanto riguarda il formato dei dati inviati dal FB RESTClient ti rimando alla sua documentazione.

    in risposta a: Copiare un carattere da una stringa in una variabile #53018
    Sergio Bertana
    Amministratore del forum

    L’errore l’ho commesso io nel farti l’esempio (Lavoro anche con il linguaggio C ed a volte mi prendo libertà che in ST non sono possibili).

    Avendo usato la stringa di esempio “ABCD…” i codici ascii dei vari caratteri sono consecutivi e non mi sono accorto che la scrittura del programma era errata… chiedo venia… Ecco come puoi scrivere:

    DString:='elsistmp';
    ChPtr:=ADR(DString); //Character pointer
    Ch[0]:=@ChPtr; //Leggo carattere in posizione 0
    ChPtr:=ChPtr+1; //Character pointer
    Ch[1]:=@ChPtr; //Leggo carattere in posizione 1
    
    ChPtr:=ADR(DString)+5; //Character pointer
    Ch[5]:=@ChPtr; //Leggo carattere in posizione 5
    in risposta a: Programmazione Slimline Codesys tramite VPN #52920
    Sergio Bertana
    Amministratore del forum

    Non conosco Remote.it, ma strano che se riesci ad accedere in SSH tu non riesca ad accedere con l’IDE Codesys..

    Negli impianti dove vi è un pannello operatore Weintek, l’accesso da remoto via Internet è possibile tramite  EasyAccess. Come vedi EasyAccess ha un canone una tantum e nessun altro costo di servizio.

    in risposta a: Comunicazione con PLC Omron su rete FINS #52917
    Sergio Bertana
    Amministratore del forum

    Weintek mi dice che è possibile comunicare con il PLC in Ethernet FINS su stessa rete.

    Quindi le uniche impostazioni sono ID stazione, IP PLC, port number.

    in risposta a: Copiare un carattere da una stringa in una variabile #52910
    Sergio Bertana
    Amministratore del forum

    L’esempio funziona anche su MPS054, non capisco le tue difficoltà nel farlo funzionare.

    Ho comunque provveduto ad importare il progetto String con l’ultima versione di LogicLab, prova ad eseguire il download di questo esempio. Il funzionamento del programma si può testare anche utilizzando l’ambiente di simulazione SimuLab integrato in LogicLab. Ecco lo screenshot del programma in simulazione.

    in risposta a: MQTT e ALEXA #52814
    Sergio Bertana
    Amministratore del forum

    Abbiamo utiulizzato i nostri blocchi funzione MQTT con diversi broker, ma che io sappia non abbiamo fatto integrazioni con Alexa.

    in risposta a: Oggetti per disegno unifilare CAD #52811
    Sergio Bertana
    Amministratore del forum

    Per ogni prodotto diamo la possibilità nella zona download di scaricare il dimensionale in formato DXF.

    in risposta a: Protocollo Osai Cdex per cMT-SRV #52809
    Sergio Bertana
    Amministratore del forum

    Purtroppo il protocollo Cdex non è supportato dai terminali Weintek. Weintek mi dice che sanno di un cliente che ha ha connesso pannelli con dispositivi Osai comunicando in Modbus.

    Ora non so se nel tuo caso puoi attivare il protocollo Modbus sul dispositivo Osai.

    Mentre per quanto rigarda MQTT non ci sono problemi.

    in risposta a: Utilizzo del Low Sensitive con istruzioni in minuscolo #52806
    Sergio Bertana
    Amministratore del forum

    Ho girato la richiesta ad Axel che sviluppa il LogicLab, ma la risposta è che le istruzioni (IF, CASE, FOR, ecc…) devono forzatamente essere scritte in maiuscolo.

    Se non viene settata la flag Case sensivity, il programma viene convertito in maiuscolo prima della compilazione ecco quindi che le istruzioni anche se scritte in minuscolo appaiono in maiuscolo al compilatore che le accetta.

    in risposta a: Programmatore settimanale con SlimLine #52614
    Sergio Bertana
    Amministratore del forum

    Ti rimando a questo vecchio topic dove si parlava dello stesso argomento.

    In questo topic è trattata la sincronizzazione con un time  server via NTP.

    In questo topic è trattato un programmatore con lettura impostazioni da file CSV.

    Comunque se navighi nel forum e nelle Knowledge trovi suggerimenti da cui prendere spunto per quello che devi realizzare.

    in risposta a: Utilizzo LogicLab su Raspberry standard #52612
    Sergio Bertana
    Amministratore del forum

    Da LogicLab attualmente non si possono gestire i GPIO, stiamo lavorando per renderli disponibili…

    Attualmente puoi da LogicLab con la funzione SysI2CWrRd gestire dispositivi connessi al bus I2C. Il bus utilizzato è il i2c-dev4 che è configurato nel file /boot/config.txt sui GPIO2 SDA, e GPIO3 SCL. Ecco la riga di configurazione:

    # ------------------------------------------------------------------------------
    # I2C SLIMLINE BUS CONFIG
    # ------------------------------------------------------------------------------
    # Software I2C (i2c-dev4) set to max speed (180 Khz).
    dtoverlay=i2c-gpio,bus=4,i2c_gpio_sda=2,i2c_gpio_scl=3,i2c_gpio_delay_us=1
Stai visualizzando 15 post - dal 1,561 a 1,575 (di 4,482 totali)