Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumTogliamo subito i dubbi sull’utilizzo del CAN bus e del CanOpen, per usare il CAN bus da LogicLab esistono apposite funzioni (Vedi manuale). Il CANOpen invece è gestito interamente da LogicLab non ci sono funzioni lato programma.
In pratica hai fatto tutto correttamente, adesso nella finestra dei parametri del CAN dovrai assegnare alle variabili che vuoi gestire un nome mnemonico a cui ti riferirai nel programma (Screenshot).
In base al tipo di aggiornamento impostato nella finestra General il sistema invierà i vari SDO e PDO. Se ad esempio hai impostato una comunicazione PDO in event mode, al variare del valore della variabile il pacchetto PDO relativo al suo aggiornamento verrà inviato al dispopsitivo.
Sergio Bertana
Amministratore del forumDomanda multipla, vediamo di dare tutte le risposte. I tempi di esecuzione non vengono calcolati perchè già gestiti da LogicLab e visualizzati nella finestra delle statistiche PLC (Screenshot).
Atualmente vi sono due web server attivi, quello classico Elsist (Comune alle altre versioni di SlimLine) sulla porta 80, ed un web server proprietario di Axel sulla porta 8080. Il web server sulla porta 80 accede alle pagine con i diritti impostati nella pagina security. Se vengono cambiati i diritti di accesso alla cartella di default /opt/elsist/logiclab/Web non è più possibile accedere.
Per risolvere il problema occorre accedere al sistema in Telnet, autenticarsi come Admin-Admin ed eseguire il comando CfgCommit -d che riporta le impostazioni a default.
L’accesso FTP ora è in SFTP, puoi usare Filezilla, io trovo molto comodo MobaXterm che mi da accesso SSH e SFTP al sistema.
Per l’utilizzo della seriale con convertitore USB/Seriale, vedi istruzioni FB SysSerialPort.
Per l’utilizzo del pendrive su porta USB, vedi esempio ST_PenDriveUse nella funzione Sysfopen.
Febbraio 22, 2020 alle 8:26 am in risposta a: Gestire un display alfanumerico con un modulo SlimLine #53601Sergio Bertana
Amministratore del forumNon conosco il display che indichi, ma facendo una rapida ricerca su Google mi sembra di capire che sia un classico display ad interfaccia parallela. Probabilmente sul tuo è stata montata una interfaccia da I2C a parallela. In questo caso i comandi I2C non sono gli stessi riportati in questo topic, ti consiglio di dare una occhiata a questo topic.
Per quanto riguarda la visualizzazione del valore sul display, il FB di gestione display come vedi permette di trasferire i dati da una variabile stringa sul display. Ora basterà comporre corretamente i dati nella variabile stringa per averli visualizzati sul display. Per visualizare il valore di un contatore usa la funzione SysVarsnprintf.
Sergio Bertana
Amministratore del forumDa quello che vedo mi sembra di capire che stai eseguendo il tuo programma di calcolo nella task Fast ad 1mS, e gestisci il tempo di acquisizione (100mS) contando le esecuzioni del programma.
Intanto ti direi di eseguire il tutto in task di Back, se acquisisci il conteggio con il FB SysGetCounter non hai bisogno di velocità di acquisizione è l’hardware a gestire il conteggio. Con la funzione SysGetSysTime puoi temporizzare il calcolo con il tempo che desideri.
Ti consiglio di dare una occhiata al programma ST_SpeedCalculation in questo articolo, se vuoi essere più preciso alle basse portate puoi modificare il tempo di campionamento in modo dinamico in base al valore di lettura.
In merito al roll-over del conteggio, non devi preoccuparti perchè eseguendo i calcoli con tutte variabili dello stesso tipo UDINT, i calcoli sono corretti anche sul roll-over del contatore.
Febbraio 17, 2020 alle 9:25 am in risposta a: Errore nella compilazione programma per il simulatore SimuLab #53299Sergio Bertana
Amministratore del forumCon 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.
Sergio Bertana
Amministratore del forumSysGetPhrDI: 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.
Sergio Bertana
Amministratore del forumLa 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.
Febbraio 10, 2020 alle 7:39 am in risposta a: Realizzare DataLogger con storicizzazione su server FTP #53081Sergio Bertana
Amministratore del forumQuello 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.
Sergio Bertana
Amministratore del forumLa 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.
Febbraio 5, 2020 alle 1:26 pm in risposta a: Copiare un carattere da una stringa in una variabile #53018Sergio Bertana
Amministratore del forumL’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
Sergio Bertana
Amministratore del forumNon 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.
Sergio Bertana
Amministratore del forumWeintek 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.
Febbraio 3, 2020 alle 7:30 am in risposta a: Copiare un carattere da una stringa in una variabile #52910Sergio Bertana
Amministratore del forumL’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.
Sergio Bertana
Amministratore del forumAbbiamo utiulizzato i nostri blocchi funzione MQTT con diversi broker, ma che io sappia non abbiamo fatto integrazioni con Alexa.
Sergio Bertana
Amministratore del forumPer ogni prodotto diamo la possibilità nella zona download di scaricare il dimensionale in formato DXF.
-
AutorePost