Massimo
Risposte nei forum create
-
AutorePost
-
Marzo 4, 2019 alle 5:20 pm in risposta a: Termocoppie gestite da modulo espansione I/O analogico #46755
Massimo
ModeratoreVerifica di aver tolto LK5 e LK6. Serve toglierle perchè il CH4 viene usato internamente per leggere la RTD che ritorna la termperatura del giunto freddo.
Febbraio 26, 2019 alle 10:43 am in risposta a: Termocoppie gestite da modulo espansione I/O analogico #46704Massimo
ModeratoreUsi AI00+ ed AI00- quindi i morsetti 2 e 3 ?
Visto che non sei sicuro del tipo di termocoppia che stai usando, prova usando nella SysGetAnInp gli altri tipi AD_THERMOCOUPLE_*.
Massimo
ModeratoreI videotutorial sono stati realizzati con una versione di LogicLab ormai datata non più corripsondente alla situazione attuale.
Per cui da menù Project-SelectTarget dovresti provare a scegliere un target “…XTarget_12.0”. A questo punto Debug-SimulationMode e così hai la possiiblità di agganciarti al simulatore Simulab. Apparirà una finestrella che ti consente di aggiungere dei pannelli preconfezionati in base al tipo CPU ma puoi anche crearne di nuovi trascinandovi all’interno le variabili globali e mappate presenti in LogicLab. Puoi guardare questo link
Massimo
ModeratoreIn quale dir sta caricando il file .upl? L’unica abbastanza capiente è la dir Project, eliminando l’eventuale file di progetto già presente. Oppure se si ha la SDCard, si può caricarla in essa.
Nel caricare questo PCK043B000, le ricordo che il sistema perderà eventuali file presenti e verrà riportato alle condizioni di fabbrica (es.: L’IP verrà impostato da DHCP o se non presente il DHCP server, varrà 192.168.0.122). Il motivo è legato al fatto che con esso si usa un nuovo file system ed il vecchio non è più supportato.
Marzo 18, 2016 alle 1:20 pm in risposta a: Realizzare un semplice convertitore Ethernet/Seriale #39468Massimo
ModeratoreHo realizzato per un cliente una versione del programma EthToSerialConverter con la nuova versione di LogicLab (Screenshot), tutto il programma è contenuto in un unico file ladder che può facilmente essere importato nel proprio progetto nel caso in cui serva gestire un convertitore Seriale/Ethernet (Download programma).
Massimo
ModeratorePer dare una risposta al problema lamentato ho fatto delle verifiche pratiche ed ecco i risultati:
Eseguendo una Sysfwrite() di un frame dati lungo 64 byte sulla PCOM di un modulo PCB122 impostata a 19200, e, 8, 1 ed avendo un tempo di loop del task back di circa 2 mSec, si iniziano a vedere dei “buchi” in trasmissione. Ciò è dovuto al fatto che l’invio dei 64 bytes del frame sul bus di espansione I2C (Sono trasmessi pacchetti da 4 bytes) non è abbastanza veloce da garantire una uscita continua dei caratteri sulla PCOM. In pratica fà prima la seriale a trasmettere i caratteri di quanto non sia in grado il sistema a fornirglieli.
Per ovviare a ciò basta impostare la PCOM con DTRManagement:=DTR_AUTO_W_TIMES; DTROnTime:=50; DTROffTime:=0; In questo modo non sono più visibili i “buchi” perché mentre la PCOM sta attendendo il tempo DTR On riescono ad arrivare i bytes sufficienti a fare in modo che il flusso in uscita sia costante.
Ottobre 29, 2015 alle 10:21 am in risposta a: Problema connessione moduli I/O analog con I/O relay #39120Massimo
ModeratoreIl problema lamentato, effettivamente esiste: le PCB126 connesse al bus estensione, bloccano la gestione di tutte le schede sul bus da parte della CPU. Questo per runtime sino a Sfw189a100. Il problema lo si risolve aggiornando il runtime della CPU a Sfw189a200 o superiore. In questo post è spiegato come fare.
Grazie per la segnalazione.
Ottobre 23, 2015 alle 6:45 am in risposta a: Problema connessione moduli I/O analog con I/O relay #39110Massimo
ModeratoreL’esyslog non serve abilitarlo.
Quando ha i collegato il modulo PCB126*130, hai mandato in run la tua applicazione Codesys ? Se si’, allora sembra non dare errori e riesci a leggere i canali analogici ? Se no, mandala in run e vedi poi con esyslog.
Per il “Watchdog expired”, hai configurato dei task in TaskConfigurator di Codesys ? Se non l’hai fatto, ti consiglio di farlo creando un task ad esempio cyclic con tempo di 100mSec agganciando poi i programs che vuoi fargli eseguire.
Ottobre 22, 2015 alle 1:21 pm in risposta a: Problema connessione moduli I/O analog con I/O relay #39105Massimo
ModeratoreOvviamente l’aggiungere o togliere moduli dal bus, va fatto a PLC spento.
Da Codesys con l’utility PLCBrowser, con “?” si ottiene un elenco di comandi disponibili. Uno di questi è “esyslog” che dovrebbe dare indicazioni in merito al problema.
La prova va comunque fatta con CPU + solo la PCB126*130 con stesso cavetto estensione usato con le PCB126. Se così funziona, si dovrà provare la sola PCB126*110.
Ottobre 22, 2015 alle 6:48 am in risposta a: Problema connessione moduli I/O analog con I/O relay #39103Massimo
ModeratorePresumo che il modulo I/O analog sia una scheda mixed. Comunque se gli indirizzi fisici delle 2 schede sono diversi e se la FB SysGetAnInp usa il corretto indirizzo Address, potrebbe essererci un problema al cavo che collega il modulo al bus estensione oppure al modulo analogico.
Dovresti provare a connettere il solo modulo analogico collegato alla CPU con il cavo che funziona con la scheda I/O digitali.Massimo
ModeratoreLa soluzione più semplice è quella di usare la funzione GE che si trova nella finestra delle librerie (visualizzabile da menù Vista-FinestraStrumenti-Libreria) nella scheda “Operatori e blocchi base” che sono quelli già intergrati in LogicLab.
In questa stampa c’è un esempio di ciò che si potrebbe fare per gestire l’allarme. Se la temperatura supera la soglia impostata, viene settato l’allarme che rimane in tale condizione sino a che la temperatura non scende al di sotto di un’altra soglia. In pratica si è gestita una isteresi che evita che se la temparatura oscilla intorno alla soglia allarme, venga continuamente attivato e disattivato l’allarme.
Luglio 1, 2015 alle 1:30 pm in risposta a: Utilizzo Shape in movimento senza lo stato della shape #39001Massimo
ModeratoreIn questo progetto EasyBuilderPro, viene fatto muovere un “Moving Shape” sull’asse X partendo da un valore float letto dal PLC SlimLine in Modbus e presente ad indirizzo 40000. Viene utilizzata una macro a tempo che oltre a leggere il valore dal PLC, lo scala e lo memorizza nella LW1 dell’HMI (nella LW0 c’è lo stato del MovingShape che eventualmente si può usare per cambiare la dimensione dell’oggetto). Lo slider presente nella pagina può servire per vedere il comportamento del Moving Shape se si disattiva la macro.
Massimo
ModeratoreNella tua domanda probabilmente ti stai riferendo all’esempio riportato in questo topic. Quando si crea una struttura e’ come dire che si crea un nuovo tipo dati. Per cui per usarla, occorre dichiarare una variabile di tipo struttura. Nel suo caso ad esempio MyVar di tipo StructColori. Poi nel programma si userà MyVar.chiaro. Dai una occhiata a questo topic.
Massimo
ModeratoreSe per passivo si intende un generatore di corrente da alimentare con una tensione esterna, allora si. Chiaramente manca il fatto che il – del generatore di tensione deve andare su AGnd.
Aggiungo che dovendo misurare una corrente, va considerata anche quella che fluisce nell’impedenza d’ingresso del canale analogico (circa 13,3 Kohm) . Inoltre la resistenza da 500 ohm esterna deve avere bassi ppm di deriva termica per garantire una buona precisione di lettura al variare della temperatura.
Giugno 29, 2015 alle 12:50 pm in risposta a: Utilizzo Shape in movimento senza lo stato della shape #38995Massimo
ModeratorePresumo che il problema lo si possa risolvere in 2 modi:
a) creando una nuova variabile intera sul PLC in cui inserire il valore di posizione float convertito in intero. Da HMI si andrà a leggere la nuova variabile intera.
b) usando una macro lato HMI che legge il valore float e lo appoggia in una variabile intera del pannello. -
AutorePost