Sergio Bertana
Risposte nei forum create
-
AutorePost
-
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.
Aprile 2, 2020 alle 7:53 pm in risposta a: Passaggio dati in POST in formato JSON verso server HTTP #54478Sergio Bertana
Amministratore del forumAnche se non hai l’ultima versione (Puoi scaricare dal sito SFW184B130) la versione che hai tu supporta il DNS, quindi dovrebbe essere possibile il ping su un DNS come ad esempio Google.com.
In questo periodo siamo in quarantena e non posso fare ulteriori test, ti posso consigliare di eseguire l’upgrade del firmware (Vedi articolo), e poi vedere se il ping a Google.com funziona.
Poi anche per prova eseguire il programma di scambio dati utilizzando l’indirizzo IP al posto dell’URL, ecco di seguito la richiesta nslookup.
C:\TempData>nslookup www.slimline.altervista.org Risposta da un server non autorevole: Nome: slimline.altervista.org.cdn.cloudflare.net Addresses: 104.24.115.61 Aliases: www.slimline.altervista.org
Quindi nel programma sostituisci la riga
HTTPRq.HostAddress:=ADR(‘www.slimline.altervista.org’); //Server URL
Utilizzando l’indirizzo IP
HTTPRq.HostAddress:=ADR(‘104.24.115.61’); //Server URL
Sergio Bertana
Amministratore del forumCome vedi da questo topic le 2 porte del terminale sono fisicamente separate tra di loro, e devono essere configurate su 2 classi diverse di rete.
Sono separate per garantire la separazione tra la rete di macchina, dove sono connessi i PLC e la rete aziendale che permette l’accesso del terminale ad Internet. In questo modo non è possibile dalla rete di macchina raggiungere la rete aziendale e viceversa.
Aprile 2, 2020 alle 9:12 am in risposta a: Passaggio dati in POST in formato JSON verso server HTTP #54472Sergio Bertana
Amministratore del forumStrano che non funzioni il ping su DNS, mi puoi indicare la versione di firmware installata. La puoi vedere collegandoti in Telnet.
Aprile 1, 2020 alle 8:14 am in risposta a: Passaggio dati in POST in formato JSON verso server HTTP #54419Sergio Bertana
Amministratore del forumNon ti ho chiesto le cose essenziali:
Il programma che usi è esattamente un copia incolla dell’esempio…
Sullo SlimLine hai configurato correttamente il networking, hai impostato il gateway ed il server DNS…
Hai verificato che lo SlimLine possa andare correttamente in Internet… Per fare questo connettiti il Telnet ed esegui un comando di ping. Prima Ping 8.8.8.8 per verificare che il sistema possa accedere ad Internet e poi Ping google.com per verificare che sia raggiungibile il DNS server (Screenshot).
Sergio Bertana
Amministratore del forumIl problema che lamenti sembrerebbe dovuto allo scaricamento della batteria tampone del real time clock. Il dispositivo adotta al suo interno un circuito di real time clock fornito all-in-one con la sua batteria, batteria che a specifica del fornitore ha una durata di 10 anni.
Può essere che nel tuo caso ci sia stato un degradamento precoce di questa batteria che adesso provoca il problema che lamenti.
Una verifica possibile per avallare questo problema, è connettersi in telnet e con il comando SysLog visualizzare i log di erore (I log sono visibili anche nel file Logs.txt nella cartella System, basta connettersi in FTP e scaricarlo). Se il problema è la batteria troverai un log del tipo:
“RTC Clock Halt bit is set” o “RTC Oscillator Stop Flag is set”
La soluzione è quella di ritornarci il prodotto per la riparazione, ti ricordo comunque che se il sistema è connesso ad Internet puoi utilizzare il FB SNTPRequest, sends a SNTP request per sincronizzarti con un orologio su Internet.
Sergio Bertana
Amministratore del forumIl modulo CPU MPS053 che hai tu gestisce solo ingressi 0-10 volt in modo comune, discorso diverso se avessi a disposizione un modulo di acquisizione analogica, questo modulo dispone di un convertitore A/D con molte possibilità di acquisizione.
Intanto gestisce l’acquisizione in differenziale che permette di limitare i disturbi di crosstalk sul segnale acquisito, e nella configurazione con 1 Volt di fondo scala può acquisire con una risoluzione di 1.577uV. Mentre il modulo CPU ha una risoluzione di 9.7mV (Più di 6000 volte inferiore).
Sergio Bertana
Amministratore del forumPremesso che la IEC-61131 ci ha dato 5 linguaggi per permetterci di utilizzare quello più adatto ad ogni necessità di programmazione, e che per operare con operazioni stringa come ad esempio nel tuo caso sia da preferire di gran lunga il linguaggio ST, questo non toglie che si possa utilizzare anche l’FBD. Ecco come la riga ST:
SysVarsnprintf(ADR(Str), SIZEOF(Str), ‘Value:%3.1f’, REAL_TYPE, ADR(Var));
Diventa in FBD (Screenshot).
Sergio Bertana
Amministratore del forumPer acquisire il segnale analogico come scritto nei post precedenti devi utilizzare il FB SysGetAnInp, definendo come modo di acquisizione AD_VOLT_0_10_COMMON.
Non capisco la seconda parte della domanda, cosa intendi per visualizzarne l’andamento… puoi visualizzarlo graficamente utilizzando l’utility oscilloscopio di LogicLab (Qui un esempio di utilizzo).
Lo puoi appoggiare in una variabile accessibile da Modbus ed utilizzare un pannello HMI per visualizzarlo in forma numerica e/o grafica (Vedi post).
Puoi seguire questo articolo e visualizzare il trend del segnale in un oscilloscopio gestito da browser.
Sergio Bertana
Amministratore del forumPer impostare i parametri da modbus sugli inverters INVT fare riferimento al manuale utente 7.4.2 Address instruction of other function in Modbus. Occorre però fare alcune precisazioni.
L’indirizzamento modbus è a base 0, quindi nel pannello devi scegliere MODBUS RTU (Zero base addressing) (Screenshot).
Come vedi dal manuale l’indirizzo del registro Modbus per l’impostazione della frequenza è 2001 esadecimale, quindi 8193 decimale.
Siccome hai più di un inverter connesso alla stessa porta seriale devi anteporre all’indirizzo della variabile l’indirizzo del nodo Modbus impostato sull’inverter (Parametro P14.00 local communication address).
Devi abilitare l’impostazione di frequenza via Modbus (Parametro P00.06=8 Frequency command selection -> Set via Modbus (0x2001)).
Da quanto detto è evidente dovrai inserire nella tua pagina di terminale 12 oggetti Numeric input ognuno dei quali punterà alla variabile 8193 preceduta dall’indirizzo di nodo (Esempio 1#8193, 2#8193, …). La frequenza ha risoluzione 0.01 Hz quindi nel campo Format dell’oggetto numeric input dovrai definire 2 cifre a destra del punto decimale.
Sergio Bertana
Amministratore del forumPer trasformare variabili in testo rendiamo disponibili due funzioni SysVarsnprintf e SysLWVarsnprintf, entrambe convertono una variabile in una stringa di testo. La prima serve se si deve stampare in una stringa una sola variabile, la seconda permette di accodare ad una stringa il risultato della conversione della variabile creando una stringa che contiene più valori.
Grazie al campo Format puoi spaziare in una infinità di opzioni per la creazione della stringa valore.
-
AutorePost