Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumAppendere vicino al dispositivo una immaginetta sacra… o un calendario Pirelli…
Sinceramente non capisco quale può essere il problema, passi l’FTP che per sua natura utilizza 2 porte TCP la 21 per i comandi e poi apre una porta scelta in automatico per i dati e questo anche se non dovrebbe potrebbe generare una criticità…
Ma la connessione HTTP non deve avere problemi…
Non è che il dispostivo ha dei blocchi sulle connessioni e non accetta connessioni che non arrivano da certi IP inseriti in una White list?
Gennaio 13, 2023 alle 11:04 am in risposta a: Utilizzo di cURL per accedere a pagine web di SlimLine #69285Sergio Bertana
Amministratore del forumI TAGs “OSID_xxxx” son TAGs che utilizziamo per la gestione nostre pagine web di sistema.
Non sono documentati in quanto pur funzionando ne sconsigliamo l’utilizzo perchè questo ci permette di modificarne la funzionalità a nostra discrezione senza impattare con eventuali utilizzi dei clienti.
Sergio Bertana
Amministratore del forumNo non devi fare nulla, sembra che quel dispositivo per qualche ragione non riesca a connettersi tramite il Pass-Trough.
Sul dispositivo all’indirizzo 192.168.1.31 non funzionano solo i servizi che citi mentre altri servizi funzionano, oppure non funziona nulla?
Il dispositivo si può pingare?
Sergio Bertana
Amministratore del forumLa risposta la trovi nel post precedente, i pannelli Weintek supportano quasi tutti i protocolli di comunicazione con i PLC (Se scarichi il file trovi tutte le descrizioni).
Nel caso del B&R se il pannello è connesso in Modbus devi rifare il progetto sul pannello Weintek.
Se la gestione grafica è fatta dal PLC puoi visualizzarla su di un cMT-2008X utilizzando l’oggetto VNC viewer.
Sergio Bertana
Amministratore del forumNon capisco cosa intendi per port forwarding in riferimento all’accesso con EasyAccess.
Quando accedi da remoto tramite EasyAccess ad un pannello il pannello ti viene mappato con un indirizzo IP scelto dal programma nel tuo PC, ora puoi riferirti all’IP assegnato come se fosse nella tua stessa rete non devi fare nessuna impostazione di forwarding.
Se tramite EasyAccess vuoi accedere ad un dispositivo connesso alla porta Ethernet del pannello devi abilitare il Pass-Trough, in questo modo l’indirizzo che hai definito (Nel tuo caso 192.168.1.31) sarà connesso al tuo PC, ora puoi riferirti all’IP come se fosse nella tua stessa rete non devi fare nessuna impostazione di forwarding.
Naturalmente tutto quelo che ho detto è operativo solo sul PC nel quale è attivo EasyAccess.
Sergio Bertana
Amministratore del forumTutte le librerie sono nella cartella Libraries della installazione di Logiclab. Se installi l’ultima versione troverai anche la libreria che cerchi.
Ho comunque provveduto ad aggiornare il programma della Ant020, puoi scaricare l’ultima versione da qui.
Gennaio 12, 2023 alle 6:22 pm in risposta a: Utilizzo di cURL per accedere a pagine web di SlimLine #69250Sergio Bertana
Amministratore del forumDa pagina web non puoi accedere agli I/O del sistema puoi solo accedere a variabili allocate in DB100.
Quindi se vuoi leggere gli ingressi o settare le uscite devi allocare variabili BOOL in DB100 e poi con un programma in ladder o in ST copiare lo stato degli I/O fisici sulle variabili allocate.
Gennaio 12, 2023 alle 6:17 pm in risposta a: Configurazione EasyBuilder per comunicazione Modbus TCP/IP #69248Sergio Bertana
Amministratore del forumVedo che hai configurato due classi diverse di rete, utilizzi le due porte del cMT-SVR oppure una sola porta per connettere tutti i dispositivi?
Nel caso utilizzi una sola porta hai settato la maschera di rete in /16 (255.255.0.0) per poter raggiungere i due dispositivi?
Gennaio 11, 2023 alle 3:25 pm in risposta a: Utilizzo di cURL per accedere a pagine web di SlimLine #69228Sergio Bertana
Amministratore del forumAggiungo esempio per utilizzare cURL con l’autenticazione in m odo da poter accedere anche a pagine memorizzate in cartelle accessibili solo da utenti loggati.
Il meccanismo di login utilizza i cookies per riconoscere l’utente, quindi la prima operazione è eseguire il login sul sistema abilitando il salvataggio in un file dei cookies ritornati. Il comando:
curl -c "C:\Cookie" "http://192.168.0.181/SysCgi/Login.cgi?Username=Admin&Password=Admin&Action=Login"
Esegue il login sul sistema con credenziali Admin:Admin, salvando i cookies ritornati nel file C:\Cookie. Ora se ai comandi cURL forniamo il file di cookies il sistema riconoscerà l’utente e ne abiliterà l’accesso. Quindi ipotizzando che la nostra pagina Values.htm sia ora trasferita nella cartella C:\Web\webpages del sistema, ecco che potremmo accedervi con il comando:
curl -b "C:\Cookie" "http://192.168.0.181/webpages/Values.htm?UINT+10=8&UINT+12=20"
Nei vari comandi possiamo aggiungere il parametro -v se desideriamo avere un ritorno verbose dell’operazione eseguita.
L’autenticazione ha un tempo di vita sul sistema, quindi se si continuano ad eseguire accessi, la vita viene automaticamente rinfrescata, nel caso in cui non vi siano accessi dopo circa 1 minuto la sessione scade ed occorre nuovamente effettuare il login.
Gennaio 11, 2023 alle 3:06 pm in risposta a: Lettura variabili ritenitive da Python ritornano valore “0” #69227Sergio Bertana
Amministratore del forumScusa se mi viene in mente solo ora di suggerirtelo, ma per risalire all’indirizzo delle variabili solitamente non ci si riferisce al file di progetto, ma al file simboli.
Il file simboli (Lo trovi nella cartella Build) ha lo stesso nome del progetto ed estensione sym. Il vantaggio potrebbe essere che è un file in formato XML e magari più gestibili da librerie Phyton.
Gennaio 11, 2023 alle 2:14 pm in risposta a: ModbusMaster_v2(55) – error S1305: Unknown function #69220Sergio Bertana
Amministratore del forumIl FB ModbusTCPGateway è stato sostituito dal nuovo FB ModbusGateway che implementa ulteriori funzionalità.
In questi casi il vecchio FB è stato trasferito nella libreria eLLabObsoleteLib insieme a tutti gli oggetti obsoleti (Download manuale). Quindi se non si vuole modificare il programma utilizzando il nuovo FB (Cosa che comnunque io consiglio di fare) è possibile importare il vecchio oggetto dalla libreria obsoleti.
La crocetta rossa nella libreria appare nel caso tu abbia già un oggetto ModbusGateway nel tuo progetto, magari lo avevi importato nel progetto precedentemente ed ora hai incluso l’intera libreria eLLabMdbDevsLib. In questo caso se lo utilizzi verrà compilato l’oggetto importato e non quello della libreria.
L’errore riguardo alla variabile Fp non riesco a capire da dove possa scaturire, ti consiglio di dare una occhiata al programma ST_ModbusGateway nella pagina di manuale.
Sergio Bertana
Amministratore del forumAndiamo per ordine, guardando l’estratto del file di log che hai postato noto che vi sono riferimenti a SFW198 che non è il firmware a cui tu ti riferisci. Questa versione di firmware può essere installata solo su MPS054B*** mentre sui MPS054C*** occorre installare la versione SFW210, come indicato in questo articolo. Comunque non è possibile commettere errori perchè il sistema durante l’aggiornamento controlla la versione firmware e se non è corretta non si aggiorna.
Venendo all’errore specifico “[ 6120] Background locked“, questo errore si manifesta quando il tempo medio di esecuzione della task Back supera i 300mS. Si parla di tempo medio quindi se si manifesta significa che si hanno diverse esecuzioni della task Back con tempi superiori. Questo errore provoca il riavvio del sistema come si vede dai due report successivi.
[05/01/2023 18:01:58.010] [L] SFW198[ 6010] Stop ApplID:0x13D00DBD [01/01/1970 00:00:28.678] [E] SFR050[ 1020] Except: WDOG At:0x0049DB30
Probabilmente il tuo programma ha un tempo di esecuzione troppo lungo, i tempi di esecuzione si possono evincere eseguendo il debug delle variabili di sistema (Screenshot) i tempi sono in uS. Eseguendo il set di SysTimeInit si inizializzano i tempi minimo e massimo.
Ipotizzando che sia troppo lungo il tempo, quali possono essere le cause, vedo che stai utilizzando la FLASH quindi stai utilizzando il File System per scrivere su file su disco C:. La scrittura su disco richiede tempi apprezzabili, per ogni settore (512 bytes) sono necessari mediamente 20mS, ma ricordo che la FLASH ha una vita in scrittura, più viene utilizzata più i tempi di scrittura si allungano sino a diventare non più scrivibile, ecco perchè consigliamo di non eccedere con le scritture sul disco C:, di preferire in alternativa la SDCard che anche lei ha una vita ma grazie al wear levelling ed alla dimensione molto più grande la vità è enormemente maggiore. Inoltre in caso di blocco in scrittura la si può sostituire. Dal log infatti vedo che il settore 18 è troppo lento. Per vedere le statistiche dei dischi utilizza il comando FSStats da telnet.
[05/01/2023 18:02:58.649] [E] SFR050[ 5410] SFLASH slow sector[18]
Nel caso di utilizzo del disco consiglio di non gestire mai in lettura/scrittura blocchi di dato troppo grandi, perchè ad ogni settore si sommano i tempi di accesso. Dovendo gestire blocchi grandi di dati occore suddividerne la gestione in più loop di programma. Ad esempio il FB FSFileCopy suddivide la copia in molti loop di esecuzione.
Sergio Bertana
Amministratore del forumCerco di darti una spiegazione con questo screenshot. Come vedi l’oggetto Embed Window permette due tipi di visualizzazione finestre di pop-up:
- Indirect: Si fà riferimento ad una variabile numerica il cui valore forzerà la visualizzazione della pagina relativa. Esempio se la variabile vale 50 verrà visualizzata la pagina 50.
- Direct: Si fà riferimento ad una variabile booleana, la cui attivazione/disattivazione forzerà la visualizzazione della pagina definita.
Poi come vedi l’oggetto grafico nelle sue proprietà permette di definire la posizione di visualizzazione della finestra nella pagina e la dimensione della finestra di visualizzazione pagina.
Gennaio 10, 2023 alle 5:33 pm in risposta a: Utilizzo di cURL per accedere a pagine web di SlimLine #69179Sergio Bertana
Amministratore del forumIl concetto è corretto ma probabilmente la pagina che richiedi in cURL è in una cartella accessibile solo da un utente loggato. Quando accedi da browser prima ti viene richiesta l’autenticazione e poi accedi alla pagina. Se noti la risposta contiene un codice 302 che è una ridirezione verso la pagina di login. Ho fatto il programma di esempio cURLExample (Download) dove nel programma LogicLab ho dichiarato 3 variabili globali:
VAR_GLOBAL Var1 AT %MW100.10 : UINT; Var2 AT %MW100.12 : UINT; Var3 AT %MW100.2048 : UINT; END_VAREd una pagina web così definita:
<head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>SlimLine - Simple page</title> <style type="text/css"> body {font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-style: normal;} </style> </head> <body> This page is served by the <b>SlimLine</b><br> Var3:<!--["%d", UINT, 2048]--> </body> </html>Ho caricato la pagina con il nome Values.htm in C:\Web, la cartella C:\Web come vedi dallo screenshot è accessibile in lettura anche da utente anonimo, quindi con il comando cURL:
curl "http://192.168.0.181/Values.htm?UINT+10=8&UINT+12=20"
Valorizzo Var1=8 e Var2=20 e mi viene ritornata la pagina con il valore di Var3 che essendo allocata in DB100.2048 ha il valore mantenuto in backup allo spegnimento del sistema.
C:\Windows\system32>curl "http://192.168.0.181/Values.htm?UINT+10=8&UINT+12=20" <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>SlimLine - Simple page</title> <style type="text/css"> body {font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-style: normal;} </style> </head> <body> This page is served by the <b>SlimLine</b><br> Var3:208 </body> </html>Gennaio 9, 2023 alle 5:22 pm in risposta a: ModbusMaster_v2(55) – error S1305: Unknown function #69139Sergio Bertana
Amministratore del forumHo pubblicato l’ultima versione della libreria e scaricabile da qui.
-
AutorePost