Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,536 a 2,550 (di 4,283 totali)
  • Autore
    Post
  • in risposta a: Disponibilità protocollo Modbus sullo SlimLine CODESYS #38798
    Sergio Bertana
    Amministratore del forum

    Se tutto è corretto dovrebbe funzionare, ma visto che non funziona, ti posso dare indicazioni solo se mi invii uno screenshot della cattura dei pacchetti nella console di spionaggio (Topic).

    in risposta a: Utilizzo della FB SysSpyData e della console di spionaggio #38797
    Sergio Bertana
    Amministratore del forum

    Per illustrare meglio il concetto di funzionamento del meccanismo di spionaggio utilizzo un semplice programma (Stampa) che con una FB ModbusMaster esegue la lettura in modbus RTU. Nell’esempio utilizzo le due porte seriali di un modulo CPU CODESYS interconnesse tra di loro (Attenzione per interconnetterle occorre usare un adattatore Null-Modem su di una porta ed un adattatore modem sull’altra).

    La FB ModbusMaster ha al suo interno chiamate alla funzione SysSpyData, queste chiamate possono essere abilitate forzando a TRUE l’ingresso SpyOn della FB così come ho fatto nell’esempio. Se con il programma in funzione attiviamo la console di spionaggio, nel terminale UDP di Toolly vedremo i pacchetti Modbus RTU scambiati (Screenshot).

    Come si vede nella prima parte la comunicazione è attiva invio un frame di Tx e dopo 76 mS viene ricevuto il frame Rx di risposta. Siccome nel programma ho inserito il Delay a 1Sec il successivo frame di Tx verrà inviato dopo un secondo. Il frame di Tx esegue la richiesta di 2 registri, così ho evidenziato nel frame Rx il valore ritornato dei 2 registri ed il CRC finale (Download programma).

    in risposta a: Informazioni sui terminali MT8071iE #38795
    Sergio Bertana
    Amministratore del forum

    Tutti i terminali hanno il Real Time Clock, i terminali MT8071iE e MT8100iE differiscono dai modelli MT8070iE e MT8100iE per le seguenti particolarità.

    Non hanno l’omologazione UL.
    Dispongono di 3 porte seriali (Anzichè 2) ma nessuna di queste è isolata.

    La funzione Ethernet Pass Through permette tramite la porta Ehernet del terminale di dialogare con il PLC connesso alla seriale (Topic). La funzione è utuilizzabile anche con EasyAccess 2.0 (Topic).

    Se ho capito bene l’ultima domanda, vorresti trasferire un file da un Pen Drive inserito nella presa USB del terminale verso il PLC connesso in seriale. Questa opaerazione non è possibile, dal pannello puoi dialogare in seriale con il PLC sia con il suo protocollo nativo sia con protocollo libero (Puoi costruire una macro adatta allo scopo), ma non puoi neanche da macro eseguire operazioni sui files.

    Se come PLC utilizzi un nostro SlimLine CODESYS puoi gestire direttamente il file system del Pen Drive da linguaggio ST (Topic).

    in risposta a: Gestione scheda I2C custom connessa come estensione #38794
    Sergio Bertana
    Amministratore del forum

    Non mi dici che versione di sistema operativo è presente sul tuo modulo SlimLine, ti consiglio di aggiornarlo all’ultima versione in quanto le prime versioni presentavano un bug sul ritorno della funzione SysI2CWrRd, penso sia questo il tuo problema.

    Ho dato una occhiata al datashet del lettore RFID ed ho notato che i comandi I2C operano su stream di dati in lettura con lunghezza superiore ai 10 bytes. Come vedi nel manuale noi consigliamo di non eccedere i 4 bytes in scrittura e lettura (Scambio di 8 bytes in totale) nella funzione SysI2CWrRd. Questo perchè durante l’accesso, il bus I2C viene monopolizzato, generando dei jitters sulla esecuzione delle tasks di priorità superiore.

    L’acceso al bus I2C è relativamente lento (Per scambiare 10 bytes occorrono ca 350 uS), quindi và da sè che se hai più accessi consecutivi al bus con molti bytes in scambio, e sei in task Fast, non eseguirle tutte consecutivamente, altrimenti superi il tempo di esecuzioe di 1 mS (Che è il tempo di default con il quale viene eseguita la task Fast). Puoi prevedere un sequenziatore ed eseguire un acesso al bus I2C al loop di esecuzione.

    in risposta a: Disponibilità protocollo Modbus sullo SlimLine CODESYS #38792
    Sergio Bertana
    Amministratore del forum

    Il CRC fa parte del protocollo Modbus RTU ed è automaticamente gestito dal FB che lo genera per il frame di comando e lo controlla nel frame di ricezione. I problemi di comunicazione possono nascere da molti fattori: Hai controllato le impostazioni della porta seriale che siano uguali a quelle  del modulo? L’indirizzo di nodo Modbus è corretto? L’indirizzo ed il numero di registri da Leggere/Scrivere sono corretti ?Il codice funzione di Lettura/Scrittura è gestito dallo strumento? Attivando l’ingresso SpyOn del blocco funzione è possibile inviare alla console di spionaggio i frame Modbus inviati e ricevuti dal FB (Vedi sul Manuale programmazione IEC61131-3 come utilizzare la console di spionaggio). Se mi invii il report di spionaggio magari posso indirizzarti verso la soluzione del problema.

    in risposta a: Gestione di un modem GSM con un sistema SlimLine #38790
    Sergio Bertana
    Amministratore del forum

    Il modem alla accensione prende le configurazioni che sono state memorizzate al suo interno (Vedi comando AT&W), per funzionare correttamente il FB di gestione inizializza il modem alla configurazione di fabbrica (Comando AT&F Reset AT Command Settings to Factory Default Values) e poi invia tutti i comandi AT necessari per settarlo nel modo desiderato.

    Di solito di fabbrica i modem escono settati già corretamente e se non hai mai eseguito un comando AT&W non dovresti avere problemi, prova ne è che il tuo funziona. Ma ad esempio il FB disabilita l’echo (Comando ATE0), utilizza il segnale DTR per disconnettere il modem (Comando AT&D), attiva il CLIP (Comando AT+CLIP=1) e molte altre inizializzazioni.

    Il numero del centro servizi è preso in automatico dalla SIM non devi impostarlo, mentre il PIN deve essere disattivato. Il FB è stato sviluppato in ST quindi lo puoi sicuramente autocostruire, bisogna però valutare tempi e costi rispetto all’uso di un componente pronto da usare.

    Per il test non c’è problema il FB funziona gratuitamente per 15 minuti all’avvio del programma, quindi lo puoi testare liberamente, tra l’altro con la funzione di spionaggio (Topic) è possibile verificare subito se ci sono problemi.

    in risposta a: Gestione di un modem GSM con un sistema SlimLine #38788
    Sergio Bertana
    Amministratore del forum

    Ricordo che tra le librerie per i sistemi SlimLine esiste una libreria eModemLib appositamente dedicata alla gestione del modem, il FB ModemCore gestisce tramite una porta seriale RS232 il modem. Nella stessa libreria come si vede dal manuale programmazione esistono FB per la ricezione e l’invio di SMS e per la connessione in GPRS. Questa libreria è stata testata con il modem BGS2 della Gemalto, ma almeno per la parte di inizializzazione e gestione SMS quasi tuti i modem dovrebbero utilizzare gli stessi comandi AT e quindi non è escluso che funzioni anche con il tuo modem. Però se vuoi puoi sviluppare tu il programma che gestisce i comandi AT proprio come abbiamo fatto noi nella libreria. Quindi alla prima domanda, si puoi utilizzare anche la versione Lite del modulo CPU, ed accedere alla pagina web tramite porta USB. Le pagine web sono liberamente modificabili con un qualsiasi editor HTML (Topic).Per quanto riguarda la gestione modem, credo che tu ti stia riferendo alla Modem machine, questo è un laboratorio, abbiamo realizzato una versione base utilizzando una CPU con ethernet perché molto più pratica nella connettività rispetto alla USB, ed utilizzando un access point WiFi puoi accedere anche da tablet e smartphone. Ma è possibile caricare il programma su qualsiasi CPU anche la Lite. Il vantaggio è che ti trovi già buona parte della struttura programma e pagine web già pronte e le puoi adattare alle tue esigenze come è stato fatto in questo caso (Topic).

    in risposta a: Interfacciarsi con SlimLine da Visual Studio #38787
    Sergio Bertana
    Amministratore del forum

    Si tutta la DB 100 è accessibile dal modbus nativo gestito dal sistema opearativo, quindi ci sono a disposizione 2048 words da DB 100.0 a 100.4094, a cui corrispondono gli indirizzi modbus da 40000 a 42047. Le WORD allocate dopo l’indirizzo 100.2048 sono ritentive allo spegnimento.

    Ricordo che si può inserire nel proprio programma uno o più gestori di modbus slave con il FB ModbusSlave, e definire aree di memoria al di fuori della DB100 accessibili da modbus su indirizzi modbus definibili nella istanza della FB.

    Altra libreria free di modbus trovatra in rete e la “free-dotnet-modbus“.

    in risposta a: Gestione di chiamate telefoniche ed invio di SMS #38783
    Sergio Bertana
    Amministratore del forum

    Il problema del modem lasciato acceso ed inattivo per molto tempo che viene disconnesso dalla rete è un problema atavico, questo problema è superato dal ns FB. Il blocco funzione di gestione modem controlla tramite comandi AT l’effettiva connessione del modem alla rete, e, se non connesso, ne forza la riconnessione. La libreria eModemLib_E200 ha introdotto un ulteriore robustezza su questa funzione di controllo.

    Il problema della memoria piena è anche lui superato dal ns FB, è controllata la ricezione dei messaggi SMS da parte del modem, che dopo averli letti provvede a cancellarli, lasciando sempre spazio nel buffer di ricezione.

    Diverso è il problema della ricezione dei messaggi concatenati, nel caso di ricezione di alcuni messaggi lunghi (ed i messaggi dell’operatore telefonico sono tipicamente così) si poteva creare un errore nella lettura del messaggio che bloccava il funzionamento del FB. Questo problema è stato risolto dalla versione eModemLib_E100 della libreria modem.

    Consiglio, per testare il funzionamento del modem in applicazioni critiche di solito si utilizza un heartbeat con la funzione di chiamata. Si esegue dal modem una chiamata ad un numero prefissato dove un operatore o un sistema automatico controlla il CLIP del chiamante. Questa soluzione è senza costi, il sistema chiamato non risponde alla chiamata e la mancata ricezione della chiamata per un tempo superiore al prestabilito genera una condizione di allarme. Per un controllo automatico è possibile utilizzare un sistema SlimLine e modem.

    in risposta a: Acquisizione valore di resistenza da ingresso analogico #38781
    Sergio Bertana
    Amministratore del forum

    Nel cortocircuito a massa non vi sono problemi. Gli ingressi del convertitore A/D sono protetti su ingressi analogici di valore superiore al fondo scala, vi è una resistenza serie di protezione quindi non ti preoccupare se il valore supera 1,25 Volts.

    Non so che valore di resistenza avrai tra i due elettrodi al variare del livello dell’acqua nel serbatoio, serebbe interessante sapere l’esito delle tue prove. Attenzione al loop di massa, il modulo PCB122 ha gli I/O analogici riferiti al negativo di alimentazione quindi si può creare un loop di massa con l’acqua del serbatoio.

    Diverso sarebbe utilizzare il modulo espansione I/O analogico, in cui gli I/O analogici sono isolati galvanicamente dalla alimentazione. In pratica tutti i canali di ingresso sono riferiti tra di loro, tutti i canali di uscita sono riferiti tra di loro, ma vi è isolamento galvanico tra gli ingressi le uscite e l’alimentazione.

    in risposta a: Domande varie su programmazione SlimLine #38779
    Sergio Bertana
    Amministratore del forum

    Per la tua domanda sulla acquisizione del valore di resistenza ho postato la tua domanda in questo topic.

    in risposta a: Acquisizione valore di resistenza da ingresso analogico #38778
    Sergio Bertana
    Amministratore del forum

    Vi sono dei topic specifici che riguardano l’acquisizione del valore di resistenza (Topic). La funzione ResistorValue è stata realizzata appositamente per l’acquisizione di una resistenza da un ingresso A/D tramite un partitore resistivo. Dovendo acquisire valori così elevati di resistenza non puoi entrare con l’ingresso settato per 0÷10 Volts, in quanto la relativamente bassa impedenza in ingresso falsa troppo la lettura.

    Ti consiglio di utilizzare l’acquisizione A/D differenziale a 1,25 Volts ed un canale D/A per generare i volts di alimentazione di un partitore resistivo. Visto l’interesse della problematica anche per altri clienti ho realizzato un programma dimostrativo che tratta esattamente la tua applicazione (Manuale, Programma sorgente).

    in risposta a: Estendere connessione seriale in wireless #38777
    Sergio Bertana
    Amministratore del forum

    Intanto si ipotizza una comunicazione monodirezionale tra l’apparecchiatura e le due stampanti, perchè se così non è non è possibile collegare due stampanti all’unica uscita.Se il dialogo è monodirezionale posiamo utilizzare tre radiomodem D5, uno connesso all’apparecchiatura e due connessi alle due stampanti. In questo modo i dati in uscita dalla apparecchiatura saranno ricevuti contemporaneamente da tutte e due le stampanti. Dovendo coprire la distanza di 3 Km utilizzerei tre antenne J pole sui radiomodem.

    in risposta a: Domande varie su programmazione SlimLine #38774
    Sergio Bertana
    Amministratore del forum

    Il modulo CPU MPS050 che tu hai non ha la porta Ethernet, per avere la porta Ethernet devi utilizzare il modello MPS053, questo modello però ha solo la porta seriale RS232 e non la RS485. Per avere la porta Ethernet e la porta RS485 devi utilizzare la versione MPS046.

    Come dici giustamente tu per vedere lo stato degli I/O logici da terminale devi appoggiarli nella DB100, l’area DB 100 è l’unica accessibile da Modbus. In questo topic c’è un esempio che è proprio come il tuo, se scarichi l’esempio hai sia il programma dello SlimLine che quello del terminale così puoi vedere come funziona. Attenzione nel tuo esempio le variabili mbusI0, mbusI1,… sono allocate ad indirizzo MB100.1, MB100.4,… e non và bene. Il terminale legge variabili a bit a partire da MB100.16 (0x 40016) e non indirizzi inferiori (In questo topic trovi ulteriori informazioni).

    Per quanto riguarda gli esempi che noi identifichiamo con il codice PTPxxx, si trovano già installati sul tuo PC insieme alla installazione di LogicLab, sono nella cartella di installazione programma (Esempio C:Program Files (x86)ElsistLogicLabExamples).

    Per quanto riguarda le funzioni SysGetPhrDI e il ByteToBit devi riferirti al Manuale programmazione IEC61131-3 e/o agli esempi che tu hai già citato. Ti ricordo che puoi anche acquisire 16 bits di stato in una unica WORD di memoria (Senza quindi suddiverli in Bits con la ByteToBit) utilizando la funzione HMI 3x_Bit che permette di testare il singolo bit di una WORD. Se per esempio appoggi tutti gli ingressi nella WORD a MW100.16 sul terminale puoi scrivere 3xBit 4000800 per il bit0, 4000801 per il bit 1 e così via fino a 4000815 per il bit 15.

    in risposta a: Monitoraggio temperatura ed umidità in reparti produttivi #38773
    Sergio Bertana
    Amministratore del forum

    Ti propongo l’HWg-STE2. E’ un prodotto da connettere via LAN, viene proposto con una sonda di temperatura, ma si può abbinare in alternativa una sonda combinata temperatura/umidità. Come vantaggio è che è completamente autonomo, ha una proprio Web server integrato, può memorizzare autonomamente un certo numero di letture e fare un grafico su una delle due letture (Topic).Su condizioni di allarme può inviare eMail, ha due ingressi digitali per eventuali allarmi. I dati possono essere inviati al portale gratuito SensDesk. Se vuoi gestire un tuo database privato puoi utilizzare il software HWg-PDMS che installato su un server aziendale può ricevere le informazioni da tutti gli STE geograficamente distribuiti e fare storicizzazione.Utilizza il protocollo SNMP standard ed è compatibile con tutti i programmi di supervisione (Esempio Nagios, Cacti, ecc), inoltre può essere interfacciato con i ns dispositivi SlimLine per realizzare automazioni (Topic).

Stai visualizzando 15 post - dal 2,536 a 2,550 (di 4,283 totali)