Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,606 a 1,620 (di 4,482 totali)
  • Autore
    Post
  • in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51278
    Sergio Bertana
    Amministratore del forum

    ANCOUNT, specifying the number of answer entries.

    Nella risposta un server DNS può per lo stesso domain rispondere con più  IP e per ognuno di essi oltre all’IP vi saranno anche gli altri dati (es. TTL etc). Il nostro client DNS considera sempre il primo IP ritornato.

    Il fatto che ritorni ANCOUNT 0, vuol dire che non sono stati ritornati indirizzi IP per quell’URL. Ora mi viene spontanea una domanda ma il server DNS settato sul tuo PC e che risponde correttamente è lo stesso server DNS settato sullo SlimLine ?

    Se hai impostato lo stesso server DNS sia sul PC che sullo SlimLine e lo SlimLine riceve ANCOUNT 0 potresti indicarmi l’URL che stai pingando (Se vuoi anche inviandolo in privato a support).

    in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51197
    Sergio Bertana
    Amministratore del forum

    Ma non ho capito se hai provato a dare il comando di Ping dalla connessione Telnet con lo SlimLine, e se è proprio il comando di Ping da Telnet che và in errore.

    Poi mi dici che il Ping dal PC (Finestra DOS) funziona, ma tu pinghi l’URL o pinghi lo stesso IP che ti ha restitutito la richiesta DNS fatta con il FB DNSRequest ?

    Alla richiesta DNS si possono ricevere più indirizzi IP per i vari servizi attivi sullo stesso URL, il FB DNSRequest ritorna sempre il primo IP ritornato e magari tu pinghi un IP su cui non è attivo il server ICMP.

    in risposta a: Aggiornamento programma su PLC cliente #51194
    Sergio Bertana
    Amministratore del forum

    Si certo eseguendo il forward (o NAT) della porta Modbus 502 sul router e disponendo di un indirizzo IP pubblico si può programmarlo da remoto (Vedi topic).

    Naturalmente con EasyAcces non occorre modificare il router di connessione Internet e garantisce un accesso criptato oltre che al pannello anche al PLC collegato.

    in risposta a: Aggiornamento programma su PLC cliente #51192
    Sergio Bertana
    Amministratore del forum

    La protezione del programma è un problema spinoso, da una parte il cliente f inale vorrebbe avere la massima flessibilità sul programma e dall’altra chi ha sviluppato l’applicazione ha la necessità di proteggersi dalle copie.

    Proteggersi perchè molte volte il costo dello sviluppo viene spalmato su forniture successive e quindi è importante poter verificare l’acquisto del prodotto. Altre volte il cliente ha pagato un costo di sviluppo ridotto in quanto lo sviluppatore ha utilizzato parti di programma già sviluppate che  fanno parte del suo know-how e che non può “regalare” al cliente.

    I nostri sistemi hanno dei meccanismi per la protezione del software (Vedi post, post), in generale si tende a criptare le parti di programma nobili e si controlla se il dispositivo in cui il programma viene eseguito ha un identificativo particolare. Con queste verifiche si può dare al cliente l’intero progetto lasciandogli così la libertà di modificarlo nelle parti meno nobili (non criptate).

    Questa soluzione permette di inviare al cliente il progetto anche via mail e permette a lui di poterne conservare copia.

    in risposta a: Aggiornamento programma su PLC cliente #51134
    Sergio Bertana
    Amministratore del forum

    Per l’aggiornamento e debug del programma direttamente sul PLC montato sul campo i clienti che hanno sull’impianto oltre al PLC anche il pannello operatore Weintek, utilizzano l funzionalità EasyAccess per accedere direttamente via Internet al PLC ed eseguirne la programmazione accedendo direttamente via IP al dispositivo.

    Se invece puoi accedere solo con sistemi di desktop remoto (Esempio TeamViewer), puoi utilizzare il programma LogicLab Loader. Si tratta comunque di un programma da installare sul PC del cliente che permette il solo trasferimento del programma senza alcuna possibilità di modifica.

    in risposta a: Eseguire Ping di un indirizzo IP per testare comunicazione #51113
    Sergio Bertana
    Amministratore del forum

    Immagino che devi pingare un indirizzo IP che è fuori dalla tua rete, hai impostato correttamente il Gateway sullo SlimLine ?

    Ed il gateway è pingabile dello SlimLine ?

    in risposta a: Accesso a file Logs.txt #51076
    Sergio Bertana
    Amministratore del forum

    Con il nuovo file system il web server può accedere solo ai files ed alle cartelle che sono contenute nella cartella definita come root del servizio (Vedi articolo), quindi trovandosi  il file Logs.txt nella cartella System non sarà possibile accedervi.

    Per vedere il file occorre accedere al sistema via FTP ed aprirlo con un editor oppure scaricarlo sul proprio PC (Vedi topic).

    in risposta a: Nuovo blocco funzione per invio eMail #51050
    Sergio Bertana
    Amministratore del forum

    La nota Può essere eseguito in un solo loop di programma come una funzione, la mettiamo in tutte quelle FB che esauriscono il loro lavoro in un solo ciclo di esecuzione. Cioè non hanno variabili statiche al loro interno. Quindi se non fosse che la normativa IEC61131 ha messo dei limiti stringenti alla definizione delle funzioni si sarebbe realizzata una funzione al posto di un FB per quel tipo di operazione.

    La nota informa che la puoi eseguire come una funzione ogni volta che la esegui lei termina il suo compito, quindi ad esempio il FIFO se vedi qualche mio programma dove viene usato vedrai che istanzio il FIFO nelle variabili globali e poi ne  eseguo la chiamata per inserire elementi o per estrarre elementi in tutte le parti di programma dove serve.

    Ma in un programma posso avere tutti i FIFO che si vuole, ognuno sarà istanziato con un nome diverso.

    in risposta a: SlimLine in stop con codice di eccezione 1 #51048
    Sergio Bertana
    Amministratore del forum

    Aggiungo per la valutazione della eccezione, se invii alla nostra mail di supporto il file Logs.txt presente nella cartella System, e scrivi il codice del sistema e la versione del software (Li puoi ricavare connettendoti in Telnet alla porta 23) possiamo fare una indagine e magari dare informazioni maggiori.

    in risposta a: SlimLine in stop con codice di eccezione 1 #51047
    Sergio Bertana
    Amministratore del forum

    Gli operatori TO_INT, TO UDINT, ecc sono operatori di cast, servono ad informare il compilatore che si stà trasferendo una variabile di un certo tipo in una variabile di altro tipo.

    Mi spiego meglio ammettiamo di avere una variabile di tipo USINT e la passiamo ad una funzione o FB che accetta un parametro UINT o la trasferiamo in una variabile UINT, in questo caso siccome l’USINT è a 8 bit mentre l’UINT è a 16 bit non ci sono problemi ed il compilatore non dà messaggi di warning.

    Ma facciamo l’ipotesi contraria, ho nel programma una variabile UINT (Che io programmatore sò di certo non assumerà mai valori superiori a 255) e la passiamo ad una funzione o FB che accetta un parametro USINT o la trasferiamo in una variabile USINT. Il nostro programma è corretto ma il compilatore ci avverte con una warning che potrebbe esserci un problema usando il cast TO_USINT informiamo il compilatore che và tutto bene siamo sicuri di quello che stiamo facendo.

    Quindi se come dici le variabili che usi sono del tipo giusto non serve il cast.

    in risposta a: Utilizzo LogicLab su Raspberry standard #51045
    Sergio Bertana
    Amministratore del forum

    Abbiamo sviluppato per l’IDE LogicLab al momento oltre 200 oggetti (Funzioni ed FB) quasi tutti sono forniti gratuitamente, alcuni prevedono il pagamento di una licenza per l’utilizzo. Ma anche quelli che prevedono la licenza possono essere usati gratuitamente per 30 minuti.

    Stiamo riorganizzato il sito e nella sezione che riguarda le FB ora si evince meglio quelle che prevedono il pagamento di una licenza.

    Come credo di avere già scritto da qualche parte del forum stiamo unificando tutti i nostri sistemi, ARM7, CortexM7 e Raspberry in modo da poter offrire una unica versione di LogicLab ed una unica versione di librerie adatta a tutti i sistemi (Vedi articolo).

    Questo lavoro coinvolge noi per quanto riguarda i sistemi e coinvolge Axel per quanto riguarda Logiclab, e ad oggi pur lavorando ventre a terra non abbiamo ancora terminato… abbiamo versioni beta che testiamo ma non ancora una versione definitiva. E anche se credo che siamo abbastanza vicini alla fine non posso dare una data di rilascio…

    State sintonizzati…

    in risposta a: SlimLine in stop con codice di eccezione 1 #51038
    Sergio Bertana
    Amministratore del forum

    L’eccezione di WDOG capita se l’esecuzione del ciclo di programma richiede un tempo superiore al tempo di watch dog. Ma Lo SlimLine con questa eccezione in accordo alla normativa esegue un reboot. Se al successivo reboot il programma non genera più eccezioni tutto funziona normalmente.

    Se si ripetono eccezioni, dopo 10 consecutive il programma và in stop. Se hai LogicLab collegato al sistema il programma và in stop già alla prima eccezione.

    Non capisco il ciclo FOR da 0 a 0, tieni presente che il contenuto del ciclo viene eseguito 1 volta, Nel programma di esempio che posto dopo il ciclo FOR i vale 1. Quindi se nel ciclo hai qualcosa che non vuoi venga eseguito ricordati che il programma lo esegue.

    i:=0;
    FOR a:=0 TO 0 DO i:=i+1; END_FOR;

    Le warnings non sono significative, i codici SFR050, SFR055, ecc sono i codici delle varie librerie utilizzate dal sistema operativo ed hanno un significato solo per noi.

    Se l’eccezione capita sporadicamente è difficile trovare quale parte del programma la genera, se invece capita sistematicamente, basterà sezionare il programma per capire dove si genera il problema.

    in risposta a: Nuovo blocco funzione per invio eMail #51034
    Sergio Bertana
    Amministratore del forum

    Si il FB FIFOFile_v1 ha i comandi In per inserire un record nel FIFO, Out per leggere il record inserito, e Delete per cancellarlo.

    L’uscita DataOn si attiva se c’è almeno un record nel FIFO. Se definisci FIFOFilename il FB apppoggia i dati nel file definito, se lo definisci NULL i dati sono appoggiati in un buffer di memoria RMalloc.

    in risposta a: Libreria gestione stringhe json #51030
    Sergio Bertana
    Amministratore del forum

    Ti sei fatto la domanda e ti sei dato la risposta… Bravo…

    Con la libreria attuale c’è questo problema, problema risolto con la nuova versione della libreria eLLabHTTPLib. Come vedi non c’è più la versione dopo il nome… perchè stiamo rivedendo tutte le librerie in funzione del nuovo prodotto SlimLine su Raspberry.

    Da questa versione in avanti utilizzeremo il versioning delle librerie come gestito da LogicLab, la libreria non è ancora rilasciata e non posso rilasciarla, perchè se compili il tuo programma su XTarget_12 con questa nuova libreria avrai delle warnings. Abbiamo fatto anche altre modifiche sugli ENUM di definizione tipi (Vedi manuale).

    Come workaround se mandi un email al supporto chiedendo la nuova libreria te la invio direttamente, utilizzandola dovrai al momento accettare la comparsa di alcune warnings.

    JSONDecode_v2(207) – warning G0065: VType => Destination may be too small to store current result
    JSONDecode_v2(207) – warning G0059: SysVarsscanf => Operand extension

    in risposta a: Nuovo blocco funzione per invio eMail #50971
    Sergio Bertana
    Amministratore del forum

    Il limite è la memoria ed il numero di sockets aperti contemporaneamente (Oggi è di 32 sockets), ma piuttosto di istanziare tanti FB di invio eMail gestirei le concomitanze di eventi utilizzando il FB FIFOFile per salvare l’evento nel file di FIFO e poterlo poi estrarre quando il FB di invio eMail è libero.

    Ti ricordo che gli eventi salvati nel FIFO non hanno limiti di dimensione quindi può essere anche l’intero testo email e quando lo estrai dal FIFO avrai l’indicazione temporale (Epoch time) di quando lo hai caricato. Quindi potrai inviare la mail magari riportando nell’oggetto data/ora esatta di quando il testo è stato generato.

Stai visualizzando 15 post - dal 1,606 a 1,620 (di 4,482 totali)