Vai al contenuto

Maurizio Conti

Risposte nei forum create

Stai visualizzando 15 post - dal 1 a 15 (di 24 totali)
  • Autore
    Post
  • in risposta a: Tempo di riconnessione al server da FB TCP Client #39409
    Maurizio Conti
    Partecipante

    Segnalo una piccola sbavatura. Dopo diverse ore che il sistema stava operando, pur risultando il flag di connected=TRUE e fault=FALSE (cioè situazione normale), ho riscontrato assenza di flusso di dati sul TCP Client. Ho riavviato il server… Mi aspettavo di vedere nella finestra di watch un palleggio sui tentativi di connessione ma invece il flag di connected sempre TRUE (in quel momento il server si stava riavviando, quindi penso che Connected riportasse uno stato non corretto…).

    Per sbloccare la situazione ho dovuto, dalla finestra di watch, forzare manualmente la riconessione lato Client ponendo CONNECT=FALSE e tutto è ripartito (cioè i dati sono ricominciati a fluire). Quindi nell’applicazione mi sembra che il solo check sul flag Connected per rifare la connessione sia un pò debole, se questo non è assolutamente affidabile (socket appeso??).

    Rimane sempre la considerazione che, vista la rapidità con cui la connessione può essere ripristinata, è probabilmente più sicuro, a fronte di un modesto rischio di perdere qualche dato inviato dal server, periodicamente chiudere e riaprire il TCPClient.

    in risposta a: Tempo di riconnessione al server da FB TCP Client #39401
    Maurizio Conti
    Partecipante

    Mille grazie dell’aiuto! Il sistema così concepito funziona molto bene.

    in risposta a: Domande sulla gestione Data/Ora sistemi SlimLine #38811
    Maurizio Conti
    Partecipante

    La variabile di sistema SysDateTime contiene/restituisce l’ora assoluta UTC oppure l’ora locale con già le correzioni relative a TimeZone e Daylight ?

    Chiedo questo perchè la funzione Javascript toLocaleString, che formatta l’ora, me la pospone di un ora rispetto alla realtà ma dalla documentazione mi sembrava di aver letto che era l’ora UTC…

    in risposta a: Approfondimenti sul web server integrato #38676
    Maurizio Conti
    Partecipante

    Riesco a conoscere, col web server integrato, l’IP del client connesso ? Ed eventualmente gestirlo all’interno di una mia pagina ?

    in risposta a: Velocità acquisizione ingressi digitali moduli espansione #38634
    Maurizio Conti
    Partecipante

    Stò acquisendo una batteria di DI con lo SlimLine come da codice seguente:

    FOR i:=0 TO 21 DO
    (* CASE i OF 
        0..5: DIN[i]:= SysCPUDI[i];
        6..21: DIN[i]:= SysDI00[i-6];
      END_CASE; *)

      CASE i OF
        0: DIN[0]:= %IX255.0;
        1: DIN[1]:= %IX255.1;
        …
        21:DIN[21]:=%IX0.15;
      END_CASE;
    END_FOR;

    Mentre il CASE scommentato funziona, quando tento di compattare il codice (codice commentato) ottengo i seguenti errori: SysCPUDI => Complex variables cannot have process image
    SysDI00 => Complex variables cannot have process image

    L’accesso all’elemento dell’array SysDI00 però all’interno della finestra di watch invece non da problemi. Cosa sto sbagliando ?

    Inoltre ti chiedo, volendo acquisire i DI tramite Modbus è consigliabile/preferibile usare la Read Input Status (FC=02) oppure appoggiarli su una variabile interna e leggeri con la funzione Read Holding Registers (FC=03)?

    in risposta a: Client per accesso al server Ftp su SlimLine #38243
    Maurizio Conti
    Partecipante

    Ho la necessità di leggere da SlimLine un file in rete TCP/IP che risiede su un PC Windows, analizzarne il contenuto ed intraprendere alcune azioni verso il campo. Come posso fare ? Sono stati implementati i socket client e l’FTP client su SlimLine ?

    in risposta a: Resettare il sistema da programma utente #38128
    Maurizio Conti
    Partecipante

    Il modulo OEM PCB131A020 recentemente acquistato risulta avere un comportamento diverso dal MPS050A020 a seguito di un reset forzato: infatti mentre quest’ultimo riparte regolarmente il primo rimane fermo (devo dare lo start da LogicLab). Devo configurare qualcosa da qualche parte ?

    in risposta a: Gestione pagine web dinamiche da parte dell’utente #38085
    Maurizio Conti
    Partecipante

    Posso aggiornare uno Slimline MPS046A100 per poter gestire le pagine Web ?

    in risposta a: How to set the internal clock time ? #38071
    Maurizio Conti
    Partecipante

    Mille grazie per i consueti preziosi suggerimenti.

    in risposta a: How to set the internal clock time ? #38068
    Maurizio Conti
    Partecipante

    Sono cosciente che, non esistendo l’RTC, l’ora non possa essere mantenuta in caso di spegnimento del PLC. La variabile SysDateTime mi rappresenta comunque un orologio ‘software’ interno. Quindi mi chiedo: perchè non posso inizializzarlo (magari via WEB) allo startup ed usarlo nel programma, seppur con i limiti citati ?

    in risposta a: How to set the internal clock time ? #38065
    Maurizio Conti
    Partecipante

    E’ possibile impostare l’ora di uno Slimline Compact MPS050A000 (senza RTC) ? Ci sto provando ma con scarsi risultati.

    in risposta a: Allocazione in memoria delle variabili strutturate #38040
    Maurizio Conti
    Partecipante

    Mille grazie! Non mi era noto che il compilatore considera il tipo struttura come un tipo di dati da allineare ad indirizzo divisibile per 4.

    in risposta a: Allocazione in memoria delle variabili strutturate #38038
    Maurizio Conti
    Partecipante

    Ho capito il problema dell’allineamento però c’è però una cosa che non mi torna: Definendo una struttura come segue ed allocandone un array:

    ChannelSettingType : STRUCT Settings : USINT; Descrizione : USINT[ 24 ]; END_STRUCT;
    ChannelSettings AT %MB100.2056 : ARRAY[ 0..15 ] OF ChannelSettingType;

    Gli indirizzi di allocazione che ritornano (ottenuti con la funzione ADR) sono:

    1073766964 //ChannelSettings[0].Settings
    1073766965 //ChannelSettings[0].Descrizione[0]
    1073766992 //ChannelSettings[1].Settings
    1073766993 //ChannelSettings[1].Descrizione[0]
    1073767020 //ChannelSettings[2].Settings
    1073767021 //ChannelSettings[2].Descrizione[0]

    Quindi la struttura di 25 bytes sembra essere allocata con passo 28 bytes che non mi sembra congruente. Stessa situazione con una struttura di 25 bytes o di 26 bytes come nei due casi seguenti.

    ChannelSettingType : STRUCT Settings : UINT; Descrizione : STRING[ 23 ]; END_STRUCT;
    ChannelSettingType : STRUCT Settings : UINT; Descrizione : USINT[ 24 ]; END_STRUCT;

    in risposta a: Riconoscere da programma utente i moduli di espansione #37899
    Maurizio Conti
    Partecipante

    E’ da diverso tempo che sto sbattendo la testa su una applicazione SlimLine che ha cessato ‘improvvisamente’ di funzionare in alcune sue parti. Dopo vari tentativi ho visto che il problema si presenta semplicemente collegando allo SlimLine il modulo di espansione 16IN/8OUT sul bus I2C.

    Mi spiego: tra le varie attività, la mia applicazione riceve in modo serrato uno stream di dati sulla RS485 a 115200 bps (Task BACK), cui deve saltuariamente rispondere con un certo ‘pacchetto’ inserito anch’esso nella task Back. Tutto ha sempre funzionato fintanto che, per necessità, ho dovuto aggiungere il modulo di espansione di cui sopra: a quel punto le trasmissioni in uscita ‘probabilmente’ non sono riuscite più a rispettare le attese tempistiche e tutto ha smesso di funzionare (preciso: anche senza di fatto fare chiamate al blocco SysSetPhrDO, solo col bus collegato!).

    Che modo ho di imbrigliare le tempistiche di gestione dell’I2C (che non conosco) a vantaggio delle mie comunicazioni seriali ?

    in risposta a: Utilizzo tipi dati definiti da utente nelle funzioni e FB #36309
    Maurizio Conti
    Partecipante

    Ho notato anch’io il problema, sarebbe importante che venisse risolto dalla Axel.

Stai visualizzando 15 post - dal 1 a 15 (di 24 totali)