Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Novembre 8, 2021 alle 11:07 am in risposta a: Visualizzazione pannello da smartphone con EasyAccess #62084
Sergio Bertana
Amministratore del forumPersonalmente utilizzo diversi viewers, VNC per Android e Mocha VNC Lite.
Il Mocha VNC Lite è quello che mi dà la migliore esperienza di uso, purtroppo la versione Lite in modalità gratuita funziona solo per 5 minuti poi bisogna riavviare la connessione. Ecco alcuni screenshot di utilizzo.
- Si configura la connessione indicando l’indirizzo IP del dispositivo e la password di accesso. Se la password non è indicata verrà richiesta al momento della connessione.
- La visualizzazione grafica dell’immagine del pannello. Nel mio caso è un pannello da 4,3″ quindi anche sullo schermo dello smartphone la visibilità è buona. Tutti comandi sono accessibili direttamente toccando la relativa icona. Con il tasto indietro di Android è possibile attivare la visualizzazione del menù.
- Agendo sul comando Full screen si ritorna alla visualizzazione del terminale.
Sergio Bertana
Amministratore del forumCome indicato in questo topic l’ID della pagina attuale è presente in una variabile del pannello…
Il registro LW-9050 (16bit) : current base window ID sui terminali normali (o il registro PLW-9050 sui terminale serie CMT che hanno una pagina diversa per ogni utente) contiene il numero di pagina attivo sul terminale. Con una operazione di Data transfer puoi trasferirne il valore in un registro del PLC.
Novembre 2, 2021 alle 3:46 pm in risposta a: Acquisizione di variabili SIGNED64 bit da Modbus #62052Sergio Bertana
Amministratore del forumMi viene in mente qualcosa tipo questo:
VAR WValue : ARRAY[0..3] OF WORD; IValue : ARRAY[0..1] OF LINT; END_VAR // Min value: -9223372036854775808 16#8000000000000000 WValue[0]:=16#8000; //MSW WValue[1]:=16#0000; WValue[2]:=16#0000; WValue[3]:=16#0000; //LSW IValue[0]:=WValue[0]; IValue[0]:=(IValue[0]*16#10000)+TO_ULINT(WValue[1]); IValue[0]:=(IValue[0]*16#10000)+TO_ULINT(WValue[2]); IValue[0]:=(IValue[0]*16#10000)+TO_ULINT(WValue[3]); // Max value: +9223372036854775807 16#7FFFFFFFFFFFFFFF WValue[0]:=16#7FFF; //MSW WValue[1]:=16#FFFF; WValue[2]:=16#FFFF; WValue[3]:=16#FFFF; //LSW IValue[1]:=WValue[0]; IValue[1]:=(IValue[1]*16#10000)+TO_ULINT(WValue[1]); IValue[1]:=(IValue[1]*16#10000)+TO_ULINT(WValue[2]); IValue[1]:=(IValue[1]*16#10000)+TO_ULINT(WValue[3]);
Nell’esempio ho riportato i due valori estremi di una variabile LINT.
Sergio Bertana
Amministratore del forumQuello che hai suggerito è difficilmente realizzabile, primo perchè le tre applicazioni potrebbero avere gli stessi numeri di pagina e quindi andrebbero in conflitto.
Inoltre avresti un progetto corposo dove ci potrebbero essere macro, allarmi o oggetti generici in sovrapposizione tra i progetti che potrebbero causare problemi.
Molto meglio salvare i tre progetti in 3 PenDrive oppure tutti e 3 su di una unica PenDrive ed accendendo il pannello con la PenDrive inserita caricare il progetto che si desidera.
Ottobre 29, 2021 alle 11:18 am in risposta a: Connessione con inverter Toshiba TOSVERT VF-nC3 Series #62044Sergio Bertana
Amministratore del forumTi allego il programma NC3s_V3 che potrebbe fare al caso tuo.
Ottobre 28, 2021 alle 4:35 pm in risposta a: Invio dati tramite interfaccia CAN ad uno sniffer #62042Sergio Bertana
Amministratore del forumSi certo il parametro Length indica il numero di bytes da inviare nel messaggio.
Ottobre 28, 2021 alle 2:20 pm in risposta a: Invio dati tramite interfaccia CAN ad uno sniffer #62037Sergio Bertana
Amministratore del forumCon la funzione SysIsCANRxTxAv puoi verificare se l’interfaccia CAN ha ricevuto dei dati o se c’è spazio nel buffer di trasmissione.
Per trasmettere dati devi utilizzare la funzione SysCANTxMsg che permette di inviare un messaggio CAN. I messaggi CAN possono avere fino ad 8 bytes di dati come vedi dalla definizione del tipo messaggio SYSCANMESSAGE.
Quindi per ricevere ed inviare messaggi CAN ti bastano le funzioni di gestione CAN, I FB di gestione CAN Open utilizzano le funzioni base CAN ma gestiscono il protocollo CAN Open che nel tuo caso mi sembra di capire non serva.
Ottobre 27, 2021 alle 2:39 pm in risposta a: Collegamento ATC-1200 con centrale allarme Bentel #62031Sergio Bertana
Amministratore del forumNon conosco le centrali Bentel ma ho cercato su internet e credo che tu ti riferisca a questo cablaggio.
Posso solo immaginare… che + e – siano i fili per alimentare le stazioni remote e che la comunicazione passi sui fili C/R. Quindi se sono 2 fili per comunicare potrebbe essere una RS485. Ma di solito i segnali RS485 si indicano con (A)- e (B)+, quindi C/R non sò a cosa si riferiscano.
Ora ammesso che siano segnali RS485 quindi a 5Volt anche se inverti tra di loro i fili non crei nessun problema di guasto. Ma attenzione potrebbe essere un bus di comunicazione diverso, magari a 12Volt ed in questo caso deteriori il convertitore.
Poi ammesso che il segnale sia davvero un RS485 a 5Volt passando dalla doppia conversione RS485->Ethernet->RS485 avrai dei ritardi (Da una decina di mS a qualche centinaio di mS, dipende dall’occupazione della tua linea Ethernet) e questi ritardi potrebbero essere considerati come un errore di comunicazione.
Per concludere direi che le informkazioni che ti servono te le può darte solo chi ha costruito la centrale, quindi la Bentel.
Sergio Bertana
Amministratore del forumPer impostare la modalità di visualizzazione di un oggetto Numeric Input come vedi dallo screenshot hai due punti in cui agire.
Nel campo Format, puoi impostare il formato customizzato che ti permette di suddividere il numero e di inserire unità di misura.
Nel campo Font, puoi scegliere l’allineamento ed eventualmente scegliere il riempimento con gli zeri a sinistra del numero.
Sergio Bertana
Amministratore del forumL’avviso ha ottenuto l’effetto desiderato… porre attenzione all’operazione. Cerco di spiegare quello che è successo. Il messaggio:
File SFW198E000 is not compatible with existing SFW198D080!
Indica che stai eseguendo un upgrade del sistema operativo dalla versione D080 alla versione E000. Nella ns codifica la lettera indica una variazione molto importante delle caratteristiche che potrebbero portare ad un problema di compatibilità sul programma PLC. Quindi prima di eseguire un upgrade con un cambio lettera ti avvisiamo di fare attenzione, dala versione E000 abbiamo anche cambiato il messaggio consigliando di leggere le note di rilascio. Gli upgrade più significativi sono stati:
Da versione B->C: Cambiato il file system, si perdevano tutti i files presenti sul disco. Il programma PLC và ricompilato senza alcun problema di compatibilità.
Da versione C->D: Modificato architettura da XTarget ad XUnified. Il programma PLC và ricompilato secondo quanto descritto in questa nota.
Da versione D->E: Implementata gestione Backup&Restore. Il programma PLC và ricompilato senza alcun problema di compatibilità.
Quindi nel tuo caso puoi tranquillamente fare l’upgrade provvedento alla ricompilazione del programma PLC di macchina.
Sergio Bertana
Amministratore del forumIl FB SysDirListing è stato sostituito dal FB SysGetFileInfos, ti consiglio di provare l’esempio riportato sul manuale.
Sergio Bertana
Amministratore del forumCon il rilascio del target XUnified abiamo eliminato tutti i passaggi di variabili per stringa trasformandoli in passaggio per puntatore. Le stringhe hanno una lunghezza definita mentre con il puntatore non vi sono limiti di lunghezza. Se tu visualizzi le proprietà del FB in LogicLab vedrai che il parametro Filename ora è del tipo @STRING.
Quindi è corretto passare l’indirizzo della stringa di definizione, ecco un esempio di utilizzo.
VAR MDump : FileMemoryDump; END_VAR IF (SysFirstLoop) THEN MDump.Enable:=TRUE; //Enable MDump.Write:=TRUE; //Write command MDump.MBufferPtr:=ADR(%MW100.2048); //Dump memory address MDump.MBufferSize:=1524; //Dump memory size MDump.Filename:=ADR('C:/MRetain.txt'); //Dump memory file END_IF; MDump(); //Execute the FB IF (MDump.Done) THEN MDump.Write:=FALSE; END_IF;
In riferimento agli errori di compilazione in simulazione, il simulatore su PC non è in grado di simulare tutte le funzioni del sistema reale, in pratica lo si può utilizzare per la logica ladder e per i calcoli matematici ma non per le operazioni di accesso agli streams di comunicazione o ai files.
Il manuale PDF è rimasto congelato allo stato in cui è stato redatto, ora tutti gli aggiornamenti sono riportati sul manuale On-line. Purtroppo non c’è riportato il FB FileMemoryDump, vedo di riportarlo.
Ti ricordo che sono stati aggiunti i comandi PLCCommand -pmbku e -pmres che peremettono il backup ed il restore di tutta l’area ritentiva (Vedi articolo).
Sergio Bertana
Amministratore del forumLa cosa più semplice da suggerirti è di creare i pulsanti nella Common Window senza frame e sulle varie pagine disegnare il frame colorato che si sovrappone alla common, vedi lo screenshot, download progetto PageChange.
Anche se forse è ancora più semplice gestire i pulsanti nelle varie pagine e non nella Common Window.
Ottobre 21, 2021 alle 12:27 pm in risposta a: Errore nella esportazione di oggetti in libreria #61952Sergio Bertana
Amministratore del forumProbabilmente non specifichi l’estensione del file di libreria che vuoi creare, non specificandola LogicLab adotta la convenzione standard che prevede i commenti racchiusi tra i simboli (* Commento *).
Per realizzare librerie che accettino commenti con la doppia barra //Commento, devi definire oltre al nome del file di libreria anche l’estensione .plclib.
Sergio Bertana
Amministratore del forumPer sdoppiare il segnale WiFi in uscita dal router su 2 antenne devi utilizzare uno splitter da 2.4Ghz con impedenza 50Ohm come ad esempio questo.
Per le antenne posso indicarti i modelli SCO246 o SCO249 li puoi trovare in questa pagina.
Per la connessione del router e delle antenne allo splitter possiamo fornire a richiesta i cavi adatti, attenzione però al corretto cablaggio i 2 cavi che dallo splitter vanno alle antenne devono essere identici, avere la stessa lunghezza.
-
AutorePost