Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 781 a 795 (di 4,373 totali)
  • Autore
    Post
  • in risposta a: Domande varie su dispositivo STE2 #66730
    Sergio Bertana
    Amministratore del forum

    Ecco le risposte alle domande sul prodotto HWg-STE2 R2, sperando di essere esaustivo.

    1. Si certamente il prodotto può essere utilizzato in modalità stand-alone. Si può accedere da browser ed oltre alla configurazione è possibile visualizzare i valori attuali delle variabili acquisite. Impostando soglie  di allarmi il dispositivo è in grado di inviare eMail su allarme. Ricordo che oltre al portale SensDesk a pagamento c’è anche il portale HWg-cloud gratuito (Vedi articolo).
    2. No usandolo in modalità stand-alone il dispositivo è completamente configurabile da pagina web e non richiede alcun software aggiuntivo.
    3. Il sistema invia nativamente eMail su condizioni di allarme, per inviare SMS è necessario utilizzare un HWg-SMS-GW3. Il gateway è perfettamente compatibile con SIM Italiane.
    4. E’ possibile connettersi al dispositivo con il protocollo SNMP per acquisire in tempo reale i valori dei vari senmsori collegati. E’ anche disponibile una pagina XML che ritorna tutte le informazioni.
    in risposta a: FreeProtocol macro communication, INPORT buffer limit #66725
    Sergio Bertana
    Amministratore del forum

    Unfortunately the INPORT and INPORT3 have the same limit of 1024 bytes. If the TCP packet is longer than the limit the exceeding bytes are lost.

    I’ve no suggestions how to solve your problem to receive long packets with the Weintek terminal.

    Just for your informations we manufacture a programmable devices (PLC) that can easily manage TCP communications and probably can be used to solve the problem. For example the MPS056 can be used.

    By using the SysTCPServer and SysTCPClient you can manage TCP connection, in the programming manual you can find all the available program object

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

    Quindi stai leggendo l’indirizzo 2 quindi abbiamo bypassato il problema dell’offset -1.

    Ma sei sicuro che il tuo dispositivo accetti il comando 3x (Read Holding register) magari vuole il codice 4x.

    Io proverei a connettermi con un simulatore Modbus (Esempio quello del ns programma Toolly).

    Eventualmente se hai due convertitori seriali RS485, puoi anche spiare sempre con Toolly i pacchetti Modbus scambiati dal programma che funziona, così ti rendi conto.

    in risposta a: Utilizzare file download progetto via USB o SDCard #66709
    Sergio Bertana
    Amministratore del forum

    Per eseguire l’upload da SDCard o da Pen drive devi creare il file da EasyBuilderPro (Menù Project->Build Download Files), ti viene richiesta la cartella dove memorizzare il file di progetto. Nel caso di pannello cMT verrà creato un file di nome project.cxob.

    Ora copiare il file su SDCard o su Pen Drive (Si consiglia di utilizzare dispositivi formattati FAT32 e di dimensione massimo 16Gb). Poi inserire il dispostivo nel pannello a pannello acceso e si attiverà la finestra con la selezione del file da caricare. Nello screenshot ecco le varie fasi.

    Inserendo il Pen drive a pannello acceso si attiverà la finestra 3, che permette di scegliere l’operazione da eseguire proseguendo poi nelle varie sequenze.

    Nel caso in cui non si attivasse, verificare dopo il login accedendo al menù Generale (1) se è abilitata la voce Popup download (2).

    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.

Stai visualizzando 15 post - dal 781 a 795 (di 4,373 totali)