Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumPer fare chiarezza la dimensione di memoria sui sistemi MPS054 dipende dal sistema, le versioni Lite dispongono di:
131 kB programma utente
12 kB RAM disponibili per dati utente di cui 6 kB sono ritentiviE’ possibile acquistare una opzione per estendere le dimensioni di memoria come nelle versioni Full che dispongono di:
262 kB programma utente
20 kB RAM disponibili per dati utente di cui 6 kB sono ritentiviCollegandoti ad un sistema Full con LogicLab ecco il report di memoria:
Used code size: 5E50h (23 KByte) Free code space: 3A1A0h (232 KByte) Total code space:3FFF0h (255 KByte) Used data space: 695h (1 KByte) Free data space: 396Fh (14 KByte) Total data space: 4004h (16 KByte) Used retain data space: 0h (0 KByte) Free retain data space: 3E8h (0 KByte) Total retain data space: 3E8h (0 KByte)
Come vedi il total code space è 3FFF0h pari a 262128 bytes, total data space è 4004h pari a 16388 bytes a cui devi sommare i 4096 bytes della DB100 per un totale di 20484 bytes.
Per quanto riguarda l’area retain abbiamo 3E8h pari a 1000 bytes di area retain a cui occorre sommare i 2048 bytes dell’area retain della DB100 (Da DB100.2048 a DB100.4096). Siccome l’area retain viene salvata 2 volte in FRAM ecco il risultato dei 6 kB.
Ma a parte questi discorsi teorici, il tuo problema è che probabilmente ti sei connesso ad un sistema Lite ed hai acquisito dal sistema valori di memoria che sono la metà di quelli del sistema Full ed il tuo programma necessita di più memoria dati. O come dici tu hai eseguito il comando Refresh current target che assegna i valori del sistema Lite.
Soluzione al problema è connetterti ad un sistema Full (O ad un sistema Lite con opzione installata) ed eseguire dal menù On-line il comando Force target image upload. In questo modo carichi dal sistema il file con estensione imgx che contiene i dati corretti.
Sergio Bertana
Amministratore del forumIl comportamento è molto strano, non abbiamo mai avuto segnalazioni di problemi simili, l’unica possibilità è di poter verificare direttamente noi il problema.
Per farlo dovresti creare un utente per EasyAccess (Che terminata la prova cancellerai) e comunicarci le credenziali per poter accedere al terminale con una descrizione esatta del problema in modo da poterlo replicare.
Ma in questi giorni stiamo lavorando in smart working, ed è difficile organizzare la prova, dovremo aspettare la riapertura.
Sergio Bertana
Amministratore del forumIo consiglio sempre ai neofiti di acquistare un modello di sistema SlimLine con interfaccia ethernet perchè rende molto più semplice la connessione con LogicLab.
Il modello MPS050 non ha connessione ethernet, quindi per connettere LogicLab puoi utilizzare la connessione seriale RS232 ti serve l’apposito cavo ed adattatore, oppure una connessione via USB utilizzando il driver RNDIS. In questo topic trovi informazioni sulla connessione.
Purtroppo la connessione seriale prevede un solo canale di comunicazione quindi potrai programmare da LogicLab ed eseguire il debug, ma non potrai accedere al server web integrato, al file system, ed alla connessione Telnet che ti permette di attivare la console di spionaggio. Tutte queste funzioni sono funzioni avanzate che probabilmente vorrai utilizzare quando diventerai più esperto.
Sergio Bertana
Amministratore del forumNel client VNC devi definire l’indirizzo IP assegnato al pannello da EsasyAccess e poi la porta classica del servizio VNC che è la 5900.
Ma visto che dici che non funziona, io proverei ad accedere al pannello via VNC da Android utilizzando il WiFi del telefono connettendoti ad una rete WiFi dove vi è anche il pannello (A cui avrai assegnato un IP statico). In questo modo ti assicuri che l’App che hai usato funzioni e sopratutto che il server VNC del pannello sia abilitato ed accessibile. Ti ricordo che il server VNC và abilitato sul pannello.
Per accedere al VNC del pannello da dispositivo Android verifica di aver installato oltre a VNC, EasyAccess, EasyAccessVPN e OVPN connector.
Sergio Bertana
Amministratore del forumDi questo argomento si è già parlato in questo topic, gli I/O logici sono automaticamente mappati nell’immagine di processo, il FB SysGetAnInp serve per l’acquisizione degli ingressi analogici.
Ecco lo screenshot del programma SimplyLD, un semplice programma ladder che realizza una gestione logica ed una acquisizione analogica.
Come vedi gli I/O logici li ho dichiarati nelle variabili globali, quindi sono visibili da tutti i programmi che possono referenziarli.
Nel programma ladder ho istanziato il FB SysGetAnInp per l’acquisizione analogica e poi ho creato un nuovo ramo ladder, che ha un contatto ed una uscita. Ho trascinato sul contatto l’istanza creata e poi ho cancellato sia il contatto che l’uscita.
Per definire le variabili in ingresso/uscita dal FB basta trascinare l’oggetto sul relativo piedino. Ti lascio il progetto per il download.
Sergio Bertana
Amministratore del forumRiguardo al Passthrough viene creata una rotta nel tuo PC che instrada i pacchetti verso il terminale tramite EasyAccess, e siccome l’ordine di instradamento definito dalla sequenza di Passthrough è prioritaria sulle altre, qualsiasi indirizzo tu definisca (Anche se appartiene alla rete del PC) viene instradato sul terminale via EasyAccess.
Quindi per risponderti posso dirti che anche se è meglio avere una rete diversa dal tuo PC il Passthrough funziona anche se il dispositivo è nella stessa rete.
Per conoscere il traffico utilizzato da EasyAccess per ogni terminale, devi abilitare la visualizzazione nelle impostazioni e così il traffico verrà visualizzato accanto ad ogni terminale (Screenshot).
Sergio Bertana
Amministratore del forumChe versione di EasyBuilderPro utilizzi…
Il problema che lamenti si verificava compilando il progetto con una vecchia versione di EasyBuilderPro, prova a scaricare l’ultima versione ed a ricompilare il progetto.
Sergio Bertana
Amministratore del forumL’esempio del post precedente al tuo fà già esattamente quello che hai chiesto.
Per poter visulizzare variabili sul pannello HMI devi dichiarare la variabili globale mappandola nella DB100 all’indirizzo che preferisci.
Ricorda che le variabili a 2 bytes INT, UINT, WORD devono sempre essere allocate ad indirizzi divisibili per 2 (Esempio DB100.2, DB100.8, DB100.100, ecc…).
Le variabili a 4 bytes DINT, UDINT, DWORD devono sempre essere allocate ad indirizzi divisibili per 4 (Esempio DB100.4, DB100.8, DB100.256, ecc…).
Sul terminale HMI devi indirizzare la variabile usando l’indirizzo di allocazione diviso per 2 sommato a 40000. Se ad esempio la variabile è allocata a DB100.256 sul terminale dovrai indicare indirizzo 40128.
Guarda questo topic dove trovi un esempio di progetto PLC e HMI.
Sergio Bertana
Amministratore del forumLe pagine webVisu non si possono visualizzare sui pannelli HMI, eventualmente è possibile utilizzare la serie cMT-iPC per la sola visualizzazione.
In alternativa puoi evitare di utilizzare WebVisu ed utilizzare un HMI che si interfaccia a CODESYS al PLC. Naturalmente in questo caso devi rifare l’interfaccia grafica ma considerando che WebVisu non ha potenzialità enormi, il rifarla utilizzando EasyBuilderPro non dovrebbe essere molto difficoltoso.
Dipende da quante applicazioni hai, certo sulla prima applicazione dovrai investire piu tempo per rifare l’interfaccia ma poi lo risparmi sul costo globale, puoi utilizzare anche la piu economica serie iP.
Naturalmente se ti serve utilizzare EasyAccess per la teleassistenza via Internet devi passare alla serie iE o superiore.
Ti ricordo anche che con la serie cMT puoi avere anche il PLC in CODESYS integrato nel pannello.
Sergio Bertana
Amministratore del forumCome ho scritto nelle risposte all’inzio del topic, gli I/O logici sono automaticamente mappati nell’immagine di processo, il FB SysGetAnInp serve per l’acquisizione degli ingressi analogici.
Ecco lo screenshot del programma SimplyLD, un semplice programma ladder che realizza una gestione logica ed una acquisizione analogica.
Come vedi gli I/O logici li ho dichiarati nelle variabili globali, quindi sono visibili da tutti i programmi che possono referenziarli.
Nel programma ladder ho istanziato il FB SysGetAnInp per l’acquisizione analogica e poi ho creato un nuovo ramo ladder, che ha un contatto ed una uscita. Ho trascinato sul contatto l’istanza creata e poi ho cancellato sia il contatto che l’uscita.
Per definire le variabili in ingresso/uscita dal FB basta trascinare l’oggetto sul relativo piedino. Ti lascio il progetto per il download.
Sergio Bertana
Amministratore del forumL’esempio che ho pubblicato nel manuale on-line della FTPClient l’ho testato proprio con un FileZilla server, come vedi dal report di spionaggio.
Il tuo programma lo fai eseguire nella task di Back…
Cosa vedi nella console di spionaggio…
Se esegui da telnet il comando SysLog che errori ti riporta…
Quale è la versione del sistema operativo dello SlimLine…Sergio Bertana
Amministratore del forumIntanto direi di scaricare l’ultima versione della libreria eLLabNetworkLib e di utilizzare l’esempio riportato in questo articolo.
Però se non riesce a connettersi al server verificherei se un altro client FTP da un’altro PC della rete può connettersi al server FileZilla. Tanto per essere sicuri che la connessione al server sia possibile e non bloccata da qualche controllo di sicurezza.
Inoltre verfica tramite una connessione Telnet allo SlimLine eseguendo il comando Ping sull’IP del server FTP se il comando và a buon fine cioè se il server è raggiungibile dallo SlimLine.
Aprile 15, 2020 alle 1:03 pm in risposta a: Passaggio dati in POST in formato JSON verso server HTTP #54664Sergio Bertana
Amministratore del forumUna cosa che mi è sfuggita sin dall’inizio, ma il programma lo stai eseguendo nella task di Back. Perchè VA ESEGUITO solo in task Back.Sergio Bertana
Amministratore del forumIl FB è stato completamente riscritto ed ora non ha più il limite sui caratteri, se vedi l’esempio ST_SendFileByEMail viene inviato un body da 2048 bytes, ma può anche essere più grande.
Il manuale in PDF ci costringeva a realizzare una nuova versione ad ogni modifica, inoltre non era possibile gestire la traduzione automatica. Con il manuale On-Line ogni modifica è immediatamente disponibile e possiamo automaticamente pubblicarla in molte lingue grazie ad un traduttore automatico inserito nel nostro sito di supporto.
Sergio Bertana
Amministratore del forumLa nuova versione di LogicLab ha introdotto ulteriori controlli sulla corrispondenza dei tipi di dato, in linea generale quel tipo di warning stà ad indicare che viene eseguita una somma tra un pointer ed una variabile.
Le warning non inficiano il funzionamento del programma, ma se vuoi evitare la warning ti consiglio di eseguire il download dell’ultima versione della libreria eLLabNetworkLib ed utilizzare il nuovo FB EMailSend.
-
AutorePost