Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumMa scusa se usi un pannello cMT hai la possibilità di operare direttamente su variabili a 64 bits, sia intere che float.
Sergio Bertana
Amministratore del forumSi corretto…
Con l’operazione di Refresh target LogicLab crea nel progetto un file con estensione imgx, che contiene le informazioni sulla configurazione del sistema, compresa la dimensione di memoria.
Sergio Bertana
Amministratore del forumLa dimensione massima del programma viene rilevata da LogicLab alla connessione con il target. Quindi devi scegliere come target il modello MPS056 XUnified indipendentemente dal modello.
Ti ricordo comunque che puoi anche estendere la dimensione di programma sul tuo modulo acquistando la relativa opzione, in questa nota come utilizzare l’opzione.
Maggio 27, 2022 alle 10:33 am in risposta a: Problema con GD20-EU e controllo PID a basse velocità #65390Sergio Bertana
Amministratore del forumSembra che il feedback improvvisamente aumenti molto…
Prova ad impostare P00.00=2 SVPWM control.
Prova ad agire sul campionamento del feedback diminuendolo:
P05.54 HDI frequency input filter time
P09.07 Sampling cycleSergio Bertana
Amministratore del forumIl driver Weintek Built-in CODESYS, è utilizzabile solo sui pannelli che eseguono direttamente il programma PLC (Senza utilizzo di PLC esterno) in ambiente CODESYS (cMT2000X, cMT3000X).
Però nei driver supportati vi sono anche i drivers per CODESYS V2 e CODESYS V3, quindi credo che con questi drivers ti potrai collegare tranquillamente al tuo PLC.
Ti ricordo comunque che tramite la funzione Simulatore On-Line di EasyBuilder puoi fare un progetto di prova e connettendoti con il PC al tuo PLC potrai simularne il funzionamento esattamente come se avessi un pannello reale.
Maggio 23, 2022 alle 10:41 am in risposta a: Gestire motori passo passo con un sistema SlimLine #65322Sergio Bertana
Amministratore del forumSe guardi nella documentazione del FB SysGetCounter, nella sezione Moduli con gestione hardware contatore, vedi che il modulo PCB124*000 ha indicato 2 counters that can be individually wired to any of 16 digital inputs.
In pratica il modulo può gestire fino a 2 contatori hardware con la possibilità di selezionare tramite la definizione del parametro Mode quale dei 16 ingressi digitali utilizzare come ingresso di clock. Il modulo non gestisce ne il reset hardware ne il conteggio in reverse mode da ingresso digitale. Ma queste operazioni sono facilmente implementabili da software.
Quindi ecco spiegato l’arcano, il modulo ha 16 ingressi di cui 4 veloci, ed è possibile decidere impostando opportunamente il parametro Mode quale ingresso utilizzare per i 2 counters.
Sergio Bertana
Amministratore del forumDirei che è la soluzione migliore, se dai una occhiata al capitolo Semplice protocollo seriale nella documentazione del FB SysSerialPort, trovi già una base di partenza per la tua applicazione.
Sergio Bertana
Amministratore del forumLa stampa della finestra attiva è possibile sia su stampante connessa al sistema che creando una immagine jpg su chiavetta USB.
Per gestire la stampante occorre configurarla dal menù System Parameter settings -> Model -> Printer (Screenshot). Inserendo un oggetto Function key è possibile attivare la funzione di stampa scegliendo se su stampante o su pen drive USB (Screenshot).
Volendo gestire la stampa di una determinata pagina da PLC è possibile attivarla inserendola dal menù PLC control (Screenshot).
Se si usa l’uscita su pen drive USB occorre utilizzare pen drive formattati in FAT32 e di dimensioni non superiori ai 16Gb.
Sergio Bertana
Amministratore del forumHo testato la tua situazione in laboratorio ed in effetti se non viene chiusa correttamente la connessione TCP il socket dell’ATC-1200 rimane appeso e non è più possibile connettrsi, ho segnalato il problema al fornitore ed attendo una sua risposta.
Intanto come consiglio ti posso indicare di utilizzare una connessione UDP che non essendo legata ad alcun socket non soffre del problema da te lamentato.
Quando si usa una connessione UDP configurando il convertitore in modalità server ponendolo in ascolto ad esempio sulla porta 5000 i dati ricevuti dalla seriale sono automaticamente inviati alla stessa porta UDP 5000 del dispositivo client che si è connesso.
In modalità server UDP alla accensione fino a quando il convertitore non riceve dati dal client UDP non conosce l’endpoint del client quindi i dati ricevuti dalla seriale sono bufferati ed appena viene ricevuto un dato dal client UDP verranno inviati.
Sergio Bertana
Amministratore del forumDal fatto che mi citi il codice di errore ritengo che per l’acquisizione stai utilizzando un nostro sistema SlimLine con il FB OWRdIdentifier. Intanto verifica di avere l’ultima versione della libreria eLLab1WireLib, la puoi scaricare dal sito.
Non mi dici però se è connesso alla porta 1-Wire nativa del modulo CPU MPS054 o se utilizzi il convertitore DS9097U connesso alla porta seriale. Se utilizzi l’esempio ST_OWRdIdentifier riportato nel manuale la lettura del codice deve funzionare. Stai solo attento alle impostazione della porta seriale.
Sp.COM:=ADR('PCOM255.0'); //Connettore 1-Wire nativo Sp.COM:=ADR('COM0'); //Definizione porta COM se DS9097U Sp.Baudrate:=9600; //Baudrate Sp.Parity:='N'; //Parity Sp.DataBits:=8; //Data bits Sp.StopBits:=1; //Stop bits
Sergio Bertana
Amministratore del forumSe riesci a leggere gli altri registri vuol dire che la comunicazione è corretta come corretto è l’indirizzamento. Perchè di solito il primo problema che si incontra nelle comunicazioni Modbus è l’offset 1 sull’indirizzamento (Aggiungere o togliere 1 all’indirizzo del registro).
Ora i tuoi 2 registri sono degli unsigned long, quindi utilizzerai una lettura 4x di una variabile 32-bit Unsigned. per leggere la variabile vengono letti 2 registri a 16 bits. Siccome il protocollo Modbus non specifica l’endianness dei dati, potrebbe verificarsi una inversione di endianness e quindi leggi un dato completamente sballato. Per correggere il problema nella finestra di impostazione del protocollo puoi selezionare l’inversione della endianness (Screenshot).
Sergio Bertana
Amministratore del forumOgni display ha le sue impostazioni, intanto devi controllare come impostare i parametri nel comando “Function set” nell’esempio è settato DL, N, F”, 8 bits, 2 lines, 5*7 dots devi vedere come vuole le impostazioni il controller del tuo display.
Sergio Bertana
Amministratore del forumPurtroppo al momento l’unica soluzione che abiamo di di “tirare” le orecchie ad Axel che è la società che sviluppa LogicLab.
Il problema della stampa dei programmi grafici è conosciuto, e ne sono al corrente, la promessa è che sarà risolto nella prossima versione di LogicLab… Ma escono nuove versioni ed il problema continua a persistere.
Posso consigliare di mandare una eMail al supporto di Axel e fare presente il problema così che facendo sentire più voci magari si decidono a mettere mano al problema.
Sergio Bertana
Amministratore del forumNon so dare una risposta precisa il parametro P00.00 definisce il tipo di controllo velocità motore, riporto le informazioni del manuale:
- P00=0, Vettoriale: Adatto per applicazioni che richiedono bassa frequenza, coppia elevata per grande precisione della velocità di rotazione e controllo della coppia. Rispetto alla modalità 1, è più adatto per applicazioni di piccola potenza.
- P00=1, Vettoriale: Adatto per alte prestazioni con il vantaggio di alta accuratezza della velocità di rotazione e della coppia.
- P00=2, SVPWM: Adatto se non richiesta grande accuratezza di controllo, esempio ventilatori e pompe. Un inverter può controllare più motori in parallelo.
Nei modi 0 e 1 viene eseguito il controllo vettoriale che lavora sul flusso di tensione e fornisce più coppia a bassi giri, in questi due modi è obbligatorio avere il motore collegato, e durante il funzionamento l’inverter esegue dei controlli sul motore e si adegua per assicurarne la corretta rotazione. In questi modi è richiesta l’esecuzione dell’autotuning del motore.
Il modo 2 è il più semplice in quanto, senza considerare alcune funzioni attive e legate al controllo, in base ai dati motore inseriti l’inverter calcola la curva tensione/frequenza da applicare e l’uscita lavora indifferentemente che il motore sia collegato oppure no.
Ora ritornando alla tua situazione, definendo modo 1 sicuramente l’inverter ha acquisito i dati del motore in autotuning e può essere che implementando il controllo vettoriale riesca a gestire meglio la rotazione.
Sergio Bertana
Amministratore del forumConosco la tua applicazione e sò che trattandosi di un banco di collaudo ti viene comodo avere un unica taglia di inverter per tutta la gamma di motori che andrai a testare. E naturalmente un inverter può pilotare motori di potenza inferiore alla sua nominale.
INVT non dà un range di utilizzo per i suoi inverter, quindi teoricamente con un unico inverter puoi pilotare tutta una gamma di motori. Ma è logico pensare che la struttura di potenza di un inverter da 55kW, in particolare il sensore di corrente, quando deve monitorare un motore da 7kW che oltretutto gira a vuoto potrebbe avere problemi di risoluzione.
Questi problemi di risoluzione potrebbero portare ad una instabilità della regolazione del motore stesso che possono dare origine a vibrazioni. A corroborare questa tesi è che nel caso dell’inverter da 22kW i problemi di vibrazione sono quasi del tuto trasurabili.
-
AutorePost