Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 916 a 930 (di 4,504 totali)
  • Autore
    Post
  • in risposta a: Esiste ancora il modulo CPU MPS052 CODESYS? #66700
    Sergio Bertana
    Amministratore del forum

    Per la scrittura di file CSV puoi dare una occhiata al FB StringToLogFile, dove trovi anche esempi di alcuni datalogger.

    Nella documentazione del FB FTPClient trovi un esempio di datalogger con trasferimento automatico su server FTP del file CSV.

    Per la lettura da file CSV, nella documenatzione della funzione SysStrFind trovi il programma TagFinder che potrebbe esserti utile come traccia.

    In questo topic trovi un vecchio programma che implementa un FB per la lettura di una cella da file CSV.

    in risposta a: Problema connessione Modbus RTU #66695
    Sergio Bertana
    Amministratore del forum

    Posso pensare al classico problema dell’offset sull’indirizzamento Modbus.

    Quando si fanno le prove con Mobus conviene sempre utilizzare indirizzi superiori allo 0, poi al limite ti accorgi che tu chiedi l’indirizzo 1 in realtà vai a leggere l’indirizzo 0.

    Nella specifica originale (E così fà anche il terminale Weintek) quando definisci l’indirizzo del registro in realtà viene richiesto l’indirizzo definito -1. Quindi se tu hai scelto di acquisire l’indirizzo 0 in realtà viene richiesto l’indirizzo -1 ed il tuo dispositivo risponde con un codice di eccezione. Se vedi nelle possibilità di scelta del protocollo Modbus c’è anche l’opzione zero base addressing, che elimina l’offset.

    Per le variabili a 16 bits non hai problemi perchè Modbus utilizza il fomato Big-endian, ma nelle variabili a 32 bits come le FLOAT32 potresti avere un problema nell’endianness, vedi le impostazioni nel protocollo (Screenshot).

    Per le variabili float inoltre il pannello utilizza il formato IEE754, che è quello più utilizzato ma se la tua scheda utilizza un’altro formato potresti avere problemi di visualizzazione dei valori.

    in risposta a: Utilizzo FB ModbusSlave #66613
    Sergio Bertana
    Amministratore del forum

    Il FB ModbusSlave può operare su un unico banco di memoria di cui nel parametro Buffer occorre passare l’indirizzo di allocazione e nel parametro Size la dimensione. Per rispondere alla tua domanda l’unica soluzione possibile è di definire una struttura dati che contiene le due variabili che vuoi pubblicare.

    MODBUSDATA: STRUCT
    	VarToMB1 : ARRAY[0..9] OF BYTE;
    	VarToMB2 : ARRAY[0..9] OF BYTE;
    END_STRUCT;

    Poi dichiari una variabile VarMB di tipo MODBUSDATA e ne passi l’indirizzo al parametro Buffer del FB.

    VAR
        VarMB : MODBUSDATA; (* Modbus data *)
    END_VAR
    
        Mdb.Buffer:=ADR(VarMB); //Modbus buffer address
        Mdb.Size:=SIZEOF(VarMB); //Modbus buffer size

    Attenzione all’allineamento, sai che i sistemi ARM hanno allineamento ad indirizzo multiplo 2 per le variabili a due bytes ed indirizzo multiplo 4 per le variabili 4 bytes. Quindi se le variabili in struttura sono ad 1 byte BOOL o BYTE vengono accodate ma se sono a 2 bytes o 4 bytes il compilatore inserisce bytes liberi per correggerne l’allineamento.

    in risposta a: Esiste ancora il modulo CPU MPS052 CODESYS? #66608
    Sergio Bertana
    Amministratore del forum

    Si certo immagino la difficoltà di utilizzare nuove librerie, se dai una occhiata al manuale programmazione LogicLab puoi verificarne la fattibilità.

    Riguardo al connettore USB, è possibile utilizzarlo solo per connettere una memoria di massa, noi consigliamo il mini Lettore/scrittore micro SD-Card USB. Tieni comunque presente che il modulo ha già uno slot micro SD-Card integrato.

    in risposta a: Esiste ancora il modulo CPU MPS052 CODESYS? #66606
    Sergio Bertana
    Amministratore del forum

    Si quel modello di CPU utilizzava CODESYS 2 ed è fuori produzione da un certo tempo.

    Attualmente abbiamo a catalogo il modello MPS055 che può essere programmato oltre che con LogicLab anche con CODESYS 3.

    Purtroppo essendo basata su modulo Raspberry non è al momento fornibile dato i ben noti problemi che affliggono la diponibiltà del modulo.

    Non sò quanto sia complesso il programma ed in quale linguaggio è scritto, ma se è un linguaggio testuale IL o ST, non è complesso il porting in ambiente LogicLab, dove puoi utilizzare il modulo CPU MPS054.

    in risposta a: Come posso gestire gli I/O dell’inverter da Modbus #66603
    Sergio Bertana
    Amministratore del forum

    Il registro Modbus 300A ritorna lo stato degli ingressi logici (Uno per ogni bit del registro).
    Il registro Modbus 300B ritorna lo stato delle uscite logiche (Una per ogni bit del registro)

    Per gli ingressi logici è possibile disabilitarne le funzioni vedi parametri P05.00~P05.09.
    Per le uscite logiche è possibile disabilitarne le funzioni vedi parametri P06.01~P06.05.

    in risposta a: Numero massimo di connessioni Modbus TCP/IP #66558
    Sergio Bertana
    Amministratore del forum

    Se hai impostato a 12 il numero di connessioni nella pagina Servers su IPServer[0] e nella pagina Protocols il Modbus [3] è connesso a IPServer[0] il sistema accetta fino a 12 connessioni simultanee. Quindi pùo gestire i 9 terminali e la connessione da LogicLab. Ora visto che mi dici che hai problemi vediamo alcuni comandi che puoi dare da Telnet per indagare.

    NETStat: Riporta l’elenco delle connessioni attive, dovresti vedere tutte le connessioni Modbus sulla porta 502 attive e ancora la porta in listening per altre connessioni.

    [Admin]> NetStat
     Id  Proto  Local Address          Foreign Address        Status
    [00] TCP    0.0.0.0:502            0.0.0.0:0              LISTENING 
    [01] TCP    0.0.0.0:21             0.0.0.0:0              LISTENING 
    [02] TCP    192.168.0.181:23       192.168.1.110:65123    ESTABLISHED
    [03] TCP    192.168.0.181:502      192.168.1.110:65120    ESTABLISHED
    [04] TCP    192.168.0.181:502      192.168.1.110:65146    ESTABLISHED

    RMStats: Visualizza la memoria rilocabile disponibile. Può essere che nel tuo programma già stai utilizzando troppa memoria rilocabile e non c’è nè abbastanza per allocare tutte le istanze Modbus.

    SysLog: Riporta il log degli errori.

    Nel caso ci fossero dei limiti che al momento non riesco a spiegarmi abbiamo altre soluzioni per risolvere il problema, ma prima vorrei capire come mai non funziona la configurazione attuale.

    in risposta a: Errore 10007502 su FB ModbusMaster_V1 #66552
    Sergio Bertana
    Amministratore del forum

    Per la descrizione degli errori occorre andare alla pagina Elenco errori. Inserendo l’errore ne viene riportata la descrizione. Nel tuo caso è:

    CRC errato in frame RTU risposta a comando

    Sembra che ad un comando Modbus inviato dallo SlimLine l’inverter abbia risposto con un frame contenente un CRC errato.

    Dubito che il CRC inviato sia errato, propenderei piuttosto per disturbi che alterano i dati scambiati su RS485 tra SlimLine e Inverter.

    Hai utilizzato un cavo schermato e twistato per il cablaggio della linea RS485?

    Gli inverter hanno il filtro di rete?

    in risposta a: Problema con connessione a PLC Siemens S7-1200 #66522
    Sergio Bertana
    Amministratore del forum

    Intanto ti consiglio di scaricare la Guida connessioni PLC e dare una occhiata alle informazioni sulla connessione dei PLC Siemens S7-1200/S7-1500 (Siemens S7-1200/S7-1500 Absolute Addressing Ethernet).

    Ti consiglio infatti di realizzare un semplice progetto con un solo oggetto pulsante toggle riferito ad una variabile BOOL assoluta del PLC. Provando il progetto in simulazione con EasyBuilderPro se il PC si connette al PLC con il TIA portal sei sicuro che la connesione di rete è corretta. Verifica che su TIA portal nel configuratore Hw della CPU nelle proprietà CPU meccanismi di collegamento sia attivato il GET/PUT.

    Quando tutto funziona in simulazione potrai scaricare il progetto sul pannello reale e se le configurazioni di rete sono corrette il progetto funziona sicuramente.

    in risposta a: Come mascherare cifre in variabili REAL #66500
    Sergio Bertana
    Amministratore del forum

    Anche  se non mi è molto chiaro quello che ti serve, di solito quando si opera con numeri REAL si utilizza sempre nei calcoli la massima risoluzione, il valore viene troncato solo in visualizzazione, dove le funzioni SysVfprintf e SysVsnprintf permettono appunto di definire quante cifre visualizzare (Segnaposti del formato printf).

    Ma se per qualche motivo vuoi troncare i decimali di un numero REAL devi utilizzare la funzione eRound.

    in risposta a: Modulo CPU SlimLine password persa #66494
    Sergio Bertana
    Amministratore del forum

    Da quanto ho capito non avete sviluppato voi l’applicazione che gira sui PLC. Probabile che chi ha sviluppato l’applicazione per proteggerla abbia cambiato le credenziali di accesso. Per cui vanno chieste le credenziali a chi ha sviluppato l’applicazione.

    Proprio per garantire la sicurezza delle applicazioni non abbiamo previsto un modo per riportare i PLC a default se non si conoscono le credenziali di accesso. Nel caso si desiderasse resettarli alla condizioni di fabbrica, perdendo però il programma esistente, è possibile inviarceli in manutenzione (Aprendo un RMA).

    Per il terzo se non lampeggia il led di RUN, potrebbe aver perso il firmware e quindi anche l’applicazione. Per ricaricare il firmware vedi articolo al capitolo “Aggiornamento tramite seriale Rs232 o USB”.

    Per informazione ti rimando all’articolo che illustra le procedure di backup e restore, ma come detto prima è necessario conoscre le credenziali di accesso.

    in risposta a: Utilizzo Modbus TCP/IP su SlimLIne Raspberry #66324
    Sergio Bertana
    Amministratore del forum

    Il funzionamento del server Modbus TCP/IP sul modulo SlimLine Raspbery è identico a quello degli altri moduli SlimLine.

    Il server è aperto di default sulla porta 502 e risponde con nodo Modbus 1, si può accedere a tutta l’area DB100 indicando indirizzo Modbus 40000.

    Naturalmente il server Modbus è attivo solo se il run time LogicLab è in esecuzione.

    in risposta a: Errore in FB SysTCPClient #66270
    Sergio Bertana
    Amministratore del forum

    Qual’è il codice del tuo sistema, e la versione del firmware?

    Il FB SysTCPClient è indispensabile per la connessione, hai verificato che Toolly eseguito da un’altro PC apra la porta a cui il FB SysTCPClient si connette?

    Se ti connetti in Telnet allo SlimLine e dai il comando Arp vedi l’IP del PC a cui ti connetti.

    [Admin]> arp
    IP:192.168.1.110 MAC:00-0C-29-E6-AD-E4 [30 (Sec)]
    1 ARP entrie(s) found
    in risposta a: Attivazione EasyAcess su pannello presso cliente #66268
    Sergio Bertana
    Amministratore del forum

    Mentre per l’attivazione EasyAccess 2.0 con Activation Card (Vedi topic) occorre rilevare l’Hardware key del pannello ed il codice dellla Activation Card, per l’attivazione delle licenze preinstallate (Vedi topic) occorre disporre  dell’Hardware key del Session ID e Password.

    Per rilevare turri i dati occore visualizzare la pagina 76 del pannello, se nel tuo programma non è prevista la visualizazione di questa pagina (Cosa sempre consigliata, anche per diagnostica) puoi creare un progetto (O aggiungere al progetto attuale) la possibilità di visualizzare la pagina 76.

    Crei un progetto caricabile da chiavetta USB che puoi inviare al cliente, il cliente dovrà semplicemente trasferire il file su pen drive USB (Max 32Gb, Formattazione FAT32), inserirla a terminale acceso, verrà richiesta conferma di aggiornamento programma con la possibilità di selezionare il file. Confermato verrà eseguito il nuovo programma, ed accedendo alla pagina 76 il cliente potrà comunicarti Session ID e Password.

    in risposta a: Errore in FB SysTCPClient #66211
    Sergio Bertana
    Amministratore del forum

    Il fatto che il FB SysPing non riesca a raggiungere il PC è indicativo, intanto hai verificato se il PC risponde alle richieste di ping?

    Se il PC risponde alle rischieste di ping allora c’è un problema di configurazione di rete, il mask delle reti è 255.255.255.0?

    Visto che lo SlimLine ha indirizzo 192.168.0.1 potrebbe essere l’indirizzo definito anche nelle configurazioni come gateway di rete lo hai verificato?

    Prova a cambiare indirizzo IP dello SlimLine, inoltre puoi provare a connetterti alla porta del tuo PC (Quella impostata nel FB SysTCPClient) da un’altro PC utilizzando la funzione TCPClient dell’utility Terminal di Toolly e verificare che la connessione sia possibile. Questo per verificare che il firewall del PC renda accessibile la porta definita.

Stai visualizzando 15 post - dal 916 a 930 (di 4,504 totali)