Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumSi ti riporto lo screenshot delle operazioni da eseguire.
Sergio Bertana
Amministratore del forumIn effetti c’è un BUG nel FB LRamp, ho corretto la libreria eLLabUtyLib, la nuova versione è disponibile per il download dal sito.
Giugno 29, 2022 alle 8:58 am in risposta a: Uscite analogiche su modulo espansione I/O analogico #65977Sergio Bertana
Amministratore del forumI received your program and verifying it i’m discovered the problem. In a program executed on Slow task at first loop you allocate some memory with SysMAlloc.
IF (SysFirstLoop) THEN pByte:= SysMAlloc(4000); END_IF;You must consider that the maximum allowable malloc memory in your system is 4096 bytes, after allocation only 96 bytes remains free. The SysSetAnOut FB uses 12 bytes of malloc memory, considering that malloc alignes memory at addresses divisible for 4 some bytes are lost at every calling. So what’s happens in your program?
At first loop, tasks are executed in the order Boot, Back, Slow, Fast, so if you execute 8 SysSetAnOut instances in task Slow after the SysMAlloc the available memory is not enough for all the instances, the last one cannot be executed and the SysLog command returns an error like this:
[29/06/2022 08:30:37.023] [E] SFW198[ 6300] PLCMAlloc size:12
In the other hand if you execute the 8 SysSetAnOut instances in task Back the SysMAlloc will be executed after, the available memory is not enough for it and the SysLog command returns an error like this:
29/06/2022 08:35:37.040] [E] SFW198[ 6300] PLCMAlloc size:4000
Considerations:
- When there’s something wrong execute SysLog command, it could give you informations about the error.
- Instead of use the SysMAlloc to allocate a buffer, you can simply declare an array VArray : ARRAY[0..3999] OF BYTE;
Sergio Bertana
Amministratore del forumHo chiesto a Weintek che mi conferma che il PLC è supportato, nelle versioni precedenti di EasyBuilderPro con driver CODESYS standard, ad anche con driver SoMachine. Il fatto che ti dia errore anche con solo una variabile indica che non c’è connessione con il PLC. Hai verificato tutti i parametri di connessione?
In simulazione ci possono essere alcune problematiche:
- Utilizza il protcollo “Codesys V3” in TCP.
- Metti in stop gateway Schneider di comunicazione SoMachine/CODESYS se utilizzato sullo stesso PC in cui utilizzi il simulatore.
- Firewall di windows: controllare che non blocchi il simulatore.
Per risolvere il problema della lentezza, con le ultime versioni di software, abilitare la spunta relativa all’accesso in modalità sicura (anche senza scrivere utente e password) (Screenshot).
Giugno 28, 2022 alle 12:06 pm in risposta a: Distanza massima e tipo di cavo per I/O remotati #65971Sergio Bertana
Amministratore del forumCon quel numero di I/O puoi valutare i moduli I/O remoti Yotta, in RS485 Modbus, Ethernet o WiFi.
La soluzione con un modulo CPU SlimLine ed una scheda I/O di espansione da connettere al modulo CPU base, anche se più versatile è più costosa. Anche se alcuni la preferiscono perchè in questo modo l’I/O remoto è intelligente e quindi può prendere decisioni in caso di interruzione del collegamento.
Altro vantaggio è la possibilità di gestire logiche veloci visto con la connessione in Modbus comunque si avranno tempi di aggiornamento dell’ordine dei 100mS.
Giugno 28, 2022 alle 11:49 am in risposta a: Uscite analogiche su modulo espansione I/O analogico #65970Sergio Bertana
Amministratore del forumIt’s a strange behaviour, even if we suggest to use the SysSetAnOut FB in the background task, it can be used also in the slow task.
To avoid loss of time in the peripheral bus access, FB sets the analog value to the output module only when the value changes. But the Done output it’s set at every FB execution.
You can send your program to our support eMail and we will check it.
Sergio Bertana
Amministratore del forumIl modulo CPU MPS046 è stato sostituito dal nuovo modulo MPS054 che mantiene le stesse identiche caratteristiche hardware, quindi a livello hardware non ci sono problemi di compatibilità.
LogicLab si è evoluto, ma anche qui è stata mantenuta la completa retrocompatibilità con i progetti precedenti, quindi puoi certamente riaprire il vecchio progetto con la nuova versione di LogicLab.
Il firmware del modulo CPU si è evoluto e siamo passati dalla architettura XTarget alla architettura XUnified, ma come vedi da questo articolo, ti basterà inserire nel tuo vecchio progetto la libreria eLLabXUnifiedAdjLib e ricompilarlo per poterlo fare eseguire sul nuovo modulo CPU con architettura XUnified.
Ma venendo dietro alla tua richiesta di avere un unico software intercambiabile tra i due sistemi, puoi anche decidere di eseguire un downgrade del nuovo modulo CPU convertendolo in architettura XTarget (Vedi articolo). Oppure se preferisci puoi eseguire un upgrade del vecchio modulo CPU convertendolo in architettura XUnified (Vedi articolo).
Naturalmente per il trasferimento del software sul modulo CPU dovrai sempre utilizzare LogicLab che connettendosi al sistema ne acquisisce l’immagine ed adatta automaticamente il programma al dispositivo.
Sergio Bertana
Amministratore del forumLa funzione STO è usata per evitare una partenza inaspettata o effettuare un arresto sicuro del motore. La funzione disabilita l’uscita dell’inverter impedendo al motore di muoversi.
E’ possibile utilizzare un 24V esterno per il circuito STO, in questo caso collegare il GND esterno sol morsetto COM.
Riguardo al cavo, INVT indica di stare entro i 25m di lunghezza, per distanze minime direi che non è necessario usare cavo schermato, anche se è comunque consigliabile contro eventuali disturbi. Se il cavo ha uno schermo possiamo collegarlo a COM.
Sergio Bertana
Amministratore del forumIl LED si accende solo se il driver RNDIS del PC inizializza correttamente la comunicazione. Di solito su Windows 10 il driver si installa automaticamente.
Comunque se apri la finestra gestione dispositivi del PC con il modulo connesso, troverai probabilmente un dispositivo USB sconosciuto. Potrai installare il driver manualmente, i drivers necessari sono reperibili nella cartella \Drivers\ElsistUsbRNDIS\WindowsVista_Server2008_Later\ presente nel percorso di installazione del programma LogicLab.
Sergio Bertana
Amministratore del forumL’errore indica nessun dispositivo connesso al BUS.
Domanda ovvia, hai alimentato il lettore, ed hai avvicinato un TAG RFiD al lettore?
Sergio Bertana
Amministratore del forumIl pop up Device not response appare quando il pannello (In questo caso il simulatore su PC) invia l’interrogazione di una variabile sul PLC e non riceve risposta. Parallelamente al pop up viene anche eliminata dalla visualizzazione l’oggetto cui l’errore si riferisce.
Ora siccome mi dici che alcuni oggetti funzionano, potrebbe indicare che hai alcuni oggetti configurati correttamente ed altri oggetti in errore. Naturalmente gli oggetti in errore rallentano tutta la gestione ed ecco perchè hai questa lentezza nelle operazioni.
Ti consiglio di realizzare un programma solo con un oggetto (ESempio tasto toggle) e verificare se così funziona, poi inserisci altri oggetti di volta in volta controllando il funzionamento.
Puoi utilizzare il programma EasyDiagnoser per testare la comunicazione e vedere le variabili in errore.
Sergio Bertana
Amministratore del forumIl bus di espansione dei ns sistemi SlimLine è un bus locale non è adatto per remotare i moduli di estensione.
Applicazioni con I/O distribuiti ns clienti le hanno realizzate remotando un intero sistema composto da modulo CPU ed I/O via ethernet, CAN bus o RS485.
In alternativa se gli I/O da remotare sono molto diversificati è possibile utilizzare moduli di I/O remoto.
Sergio Bertana
Amministratore del forumAnche se Enrico ha risolto posto alcune informazioni. Le TAGs da alcuni PLC possono essere direttamente importate, se non è possibile importarle, dal menu Project->Address è possibile definirle. Ora per ogni oggetto grafico è possibile definire a quale TAGs (Variabile PLC) l’oggetto fà riferimento (Screenshot).
Per leggere le variabili dal PLC come ha detto Enrico all’interno di una macro si utilizza la funzione GetData. Nel manuale di EasyBuilder c’è un capitolo dedicato al Macro language. Un estratto lo potete scaricare da qui.
Sergio Bertana
Amministratore del forumIntanto rispondo all’argomento del topic, la porta USB host attualmente si può utilizzare solo per alloggiare l’adattatore USB/SDCard per utilizzarla come disco di sistema (Disco F:).
Puoi dialogare con Arduino in seriale visto che l’MPS056 ha una porta seriale RS232 disponibile, utilizzi il FB SysSerialPort e nel manuale trovi già degli esempi.
In alternativa perchè non dialogare con ASrduino in TCP/IP vedi i FB SysTCPClient e SysTCPServer.
Come ultima indicazione visto che devi generare i 4 segnali digitali, magari con un modulo di estensione statico, puoi pilotare direttamente il motore (Le uscite pilotano tensioni fino a 45V con 700mA). Se gestisci le uscite nella task Fast puoi cambiarne lo stato fino a 1000 volte al secondo, così fai ruotare il motore.
Sergio Bertana
Amministratore del forumPurtroppo c’è un errore nella pagina “Stringa formato della funzione scanf” nel tagli/incolla delle definizioni del formato è scappato anche la definizione:
%{format%} Repeatedly matches the format specifier format as many times as possible, and gives an array of arrays with the results. Example: %{%d%} matches zero or more integers.
Ma questo formato non è gestito dalla SysVarsscanf.
-
AutorePost