Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,121 a 3,135 (di 4,374 totali)
  • Autore
    Post
  • in risposta a: Program error su compilazione programma per Slimline #38025
    Sergio Bertana
    Amministratore del forum

    Tanto per creare una traccia di come effettuare la lettura dei registri dal misuratore Femto D4 della Electrex ho realizzato un semplice programma Ladder che effettua la lettura da modbus di tutti 55 registri del dispositivo. Come si vede dalla stampa del programma un unico programma Ladder gestisce la lettura Modbus di tutti i registri.

    Per chiarezza di programma ho definito una struttura dati di tipo FEMTOD4VARIABLES con la definizione di tutti i registri del dispositivo, la FB ModbusMaster provvederà a valorizzarli tutti ad ogni lettura (Nel mio programma viene eseguita una lettura ogni secondo). Come se vede dal datasheet del dispositivo i registri sono mappati a partire dall’indirizzo 200, ma il protocollo Modbus ha offset 1, e l’FB sottrae 1 dal valore di indirizzo definito perché i dispositivi Modbus dovrebbero aggiungere di default l’offset di 1. Alcuni dispositivi non fanno questa operazione percui potrebbe essere necessario definire indirizzo 201, allego programma sorgente.

    in risposta a: Interfacing a Gateway RS232 DLMS-MODBUS in Modbus #38024
    Sergio Bertana
    Amministratore del forum

    In the manual abstract are reported some Modbus frames, to use them, and so to try if the modbus communication works properly you can use our Toolly program. Using Toolly as a terminal emulation it’s possible to send data to a serial connection even to a TCP/IP connection. So assuming that the SlimLine is connected to the PC by Ethernet you can try Modbus communication (See screenshot).

    in risposta a: Interfacing a Gateway RS232 DLMS-MODBUS in Modbus #38023
    Sergio Bertana
    Amministratore del forum

    Just to clarify, the Gateway RS232 DLMS-MODBUS is a product developped by Marcom (See the WebSite). It is based on our SlimLine ARM7 IEC61131-3 CPU module our code MPS046B100.

    The software is completely developped by Marcom and we do not have any information on it, anyway the modbus TCP support is native in the SlimLine product, so I can inform how the protocol itself works, but I haven’t any informations about the Modbus registers. The Modbus protocol supports codes 0x01, 0x02, 0x03, 0x04, 0x05 0x06 and 0x10 and address starting at 40000, there is also an address’s alias at 20000 (See IEC 61131-3 Programming manual abstract).

    I don’t know what program do you use to read the modbus data,  I suppose that the Data address error message is returned by the program you use. In that case it could be the register address 40000 that is not managed by some SCADA programs, so I suggest to use its alias 20000.

    in risposta a: Programmare dispositivi Compact su rete RS485 #38022
    Sergio Bertana
    Amministratore del forum

    In questo topic si parla di rete con CPU compact utilizzate come moduli di I/O in alternativa ai moduli TRP C28M anche perché il costo è di qualche pochi superiore ma si tratta di prodotti programmabili.

    Se tu sei già riuscito a leggere/scrivere gli I/O del TRP da PC in Modbus non dovresti avere problemi a gestirli con i blocco funzione Modbus. Ti ricordo che abbiamo fatto diversi upgrade del FB ora l’ultimo livello è il ModbusMaster. In questo topic puoi trovare il programma sorgente di una FB creata appositamente per la gestione dei TRPC28M.

    in risposta a: Domande frequenti su pannelli HMI #38020
    Sergio Bertana
    Amministratore del forum

    Tutti i pannelli HMI Weintek gestiscono i protocolli di comunicazione con quasi tutti i PLC di mercato, per un elenco completo dei PLC supportati si può consultare la Guida connessioni PLC. Comunque relativamente al protocollo PPI Siemens confermo che è supportato. Naturalmente proponendo noi una gamma di PLC con protocollo modbus consigliamo di dare una occhiata.

    Per il download del progetto da PC nel pannello si può utilizzare un cavo USB A to mini B, oppure se il pannello ha la porta Ethernet (Come nel caso del MT8050iE) si può utilizzare la connessione Ethernet che pemette anche di eseguire l’upload da remoto via Internet e la gestione del pannello da remoto con VNC (Topic).

    La serie iE si programma con EasyBuilder Pro (Ne consiglio il download dalla pagina del terminale del nostro sito). Ricordo che il programma permette anche la completa emulazione del pannello compresa la connessione con il PLC. Pertanto puoi solo con il programma testare completamente il progetto dialogando con il PLC e solo dopo acquistare il pannello.

    Tutti i pannelli della serie iE hanno il real time clock calendar con mantenimento orario a sistema spento tramite batteria.

    Si tutti i pannelli serie iE hanno 3 porte COM ed una USB Host. Le versioni con Ethernet hanno anche l’interfaccia Ethernet.

    I pannelli sono mediamente pronti a stock, comunque sul sito (Se si è registrati) o autoinviandosi una quotazione automatica (Topic) è possibile vedere se il prodotto è disponibile (Spunta verde nella colonna disponibilità).

    Se il pagamento è in carta di credito o contrassegno e se il pannello è a stock la spedizione avviene nel pomeriggio successivo all’ordine (Se l’ordine arriva per le 10 parte nel pomeriggio stesso), mediamente al giorno dopo arriva dal cliente.

    in risposta a: Program error su compilazione programma per Slimline #38018
    Sergio Bertana
    Amministratore del forum

    L’upgrade del firmware è obbligatorio per utilizzare la nuova versione della FB, per l’upgrade guarda qui.

    La FB ModbusMaster gestisce il CRC al suo interno, lo genera per i frames di comando e lo controlla sui frames di risposta ricevuti, ed è proprio questo controllo che garantisce la correttezza dei dati.

    In effetti la riga di codice IF (MdbElect.Ok) THEN @ElctDPtr:=TO_REAL(MdbElect.Buffer)/1000.0; END_IF; genera un errore di compilazione. Ma c’è qualcosa che non mi torna, il parametro MdbElect.Buffer deve essere valorizzato con l’indirizzo del buffer che contiene i dati da scrivere/leggere tramite il comando modbus.

    Non capisco quello che tu vuoi fare con il tuo programma, in pratica stai convertendo in float un indirizzo di memoria e lo trasferisci nella memoria puntata da ElctDPtr di cui non ne conosco il tipo. Attenzione. l’uso dei puntatori è molto pericoloso bisogna sempre sapere con certezza cosa succede. Un uso improprio può portare anche ad un blocco della esecuzione del programma.

    in risposta a: Connessione Ethernet tra MT8050i e Siemens LOGO #38016
    Sergio Bertana
    Amministratore del forum

    Non sono esperto di LOGO (Noi produciamo la nostra serie di prodotti SlimLine) ma attenzione alle variabili VM, potrebbe essere che debbano essere indirizzate solo su indirizzi pari, quando indirizzi l’indirizzo dispari può essere che la variabile venga scritta su due variabili contigue.

    Prova ad usare VM0, VM2, VM4 e così di seguito…

    in risposta a: Program error su compilazione programma per Slimline #38012
    Sergio Bertana
    Amministratore del forum

    Aggiungo che come base di partenza puoi usare il programma indicato in questo post. Come vedi in quel caso viene sequenziata la lettura di diversi nodi, mentre tu dovrai sequenziare letture sempre dallo stesso nodo ma da registri diversi.

    in risposta a: Program error su compilazione programma per Slimline #38011
    Sergio Bertana
    Amministratore del forum

    Partiamo dal PROGRAM ERROR, questo tipo di errore è un errore interno al LogicLab, viene generato dopo avere parsato tutto il codice sorgente ed aver generato il metacodice per la compilazione. Purtroppo la linea riportata a diferenza di altri errori di parsing del codice sorgente non è riferita al programma sorgente ma è riferita al metacodice interno, e quindi non è possibile risalire facilmente al problema.
     
    In presenza di questo errore la soluzione per trovarlo è di commentare parti di programma sorgente e ricompilare fino a trovare la parte di programma che genera l’errore. Eventualmente puoi inviarmi il progetto support[at]elsist.it per una analisi mia e/o per inviarlo ad Axel per ulteriori tests.
     
    Mi hai detto che usi una PCB122*100 quindi dovrai utilizzare un convertitore RS232/RS485 tipo ATC-105 o altri della ns gamma di convertitori. Ma perché non usi la porta RS485 del modulo CPU ?
     
    In quanto al programma come si vede dal manuale istruzioni, tutti i registri da leggere dal contatore Electrex sono su registri contigui, allora io mi eviterei il lavoro di sequenziare le letture ma utilizzerei una sola lettura di tutti i registri contemporaneamente o al limite 2 o 3 letture di gruppi di registri.

    in risposta a: Connessione Ethernet tra MT8050i e Siemens LOGO #38008
    Sergio Bertana
    Amministratore del forum

    Intanto per la visualizzazione di uno stato è preferibile utilizzare un oggetto Lampada Bit gli oggetti Pulsante Toggle e Imposta Bit servono ad impostare i valori sul PLC. Naturalmente ne visualizzano anche il reale stato, ecco perché al cambiamento di stato del’ingresso del PLC cambia lo stato del pulsante sul terminale.

    Ma quando si cerca di impostare i valori nel PLC bisogna essere certi che il programma del PLC non operi sullo stesso operando, tu non puoi attivare una uscita se il programma del PLC la disattiva e/o viceversa. In pratica il terminale comanda l’uscita per un attimo ma poi il programma PLC la rimette nella condizione da lui imposta.

    Per operare con dei comandi da terminale in sinergia con il programma PLC devi usare dei merker interni (Operandi M), il terminale opera sul merker attivandolo/disattivandolo poi il programma PLC usa il merker per gestire l’uscita in parallelo alla sua logica.

    in risposta a: Connessione Ethernet tra MT8050i e Siemens LOGO #38006
    Sergio Bertana
    Amministratore del forum

    L’errore è nella definizione del PLC deve essere definito come Locale, perché è gestito direttamente dalla rete Ethernet del pannello (Screenshot).

    La connessione remota permette di connettersi ad un PLC che è fisicamente connesso ad un altro terminale, e quindi la comunicazione passa attraverso il terminale cui il PLC è connesso. Infatti l’errore che ti viene ritornato indica che non riesce a connettersi al terminale remoto.

    Quando li è un errore di comunicazione con il PLC locale l’errore è PLC NO RESPONSE.

    in risposta a: Domande su software di controllo PDMS #38005
    Sergio Bertana
    Amministratore del forum

    Ho chiesto al fornitore che mi dice che la validità della licenza in caso di migrazione della VM su altro hypervisor dipende dal tipo di licenza.

    Tutte le licenze tranne la licenza illimitata continuano ad essere ancora valide.
    La licenza illimitata deve essere riattivata perchè l’attivazione è legata agli identificatori di CPU, motherbord, BIOS, ed altri identificatori. Quindi anche se non sono sicuro al 100%, ritengo che dopo la migrazione da macchina a macchina gli identificatori verranno modificati e l’attivazione non sarà più valida.

    in risposta a: Gestione delle uscite analogiche sui moduli estensione D/A #38003
    Sergio Bertana
    Amministratore del forum

    Da quanto esposto prima è evidente che se le uscite sono utilizzate per comandare dispositivi (Esempio drivers, servovalvole, ecc.) non potendo garantire l’azzeramento del valore in uscita, occorre prevedere la gestione della abilitazione del dispositivo con un comando logico.

    Le uscite logiche sono le sole uscite di cui è garantita la disabilitazione in ogni condizione, Power On, Stop programma, errori di Watch dog, ecc… Quindi per motivi di sicurezza è sempre raccomandato gestire le abilitazioni utilizzando le uscite digitali.

    in risposta a: Gestione delle uscite analogiche sui moduli estensione D/A #38002
    Sergio Bertana
    Amministratore del forum

    Comportamento uscite analogiche su modulo 20 I/O Mixed signal.

    Power On: Le uscite si portano a +10 Volt.
    Run programma (RDY acceso): Le uscite si portano a 0 Volt e poi al valore definito da FB SysSetAnOut.
    Stop programma (RDY spento): Le uscite si portano a +10 Volt (L’uscita A00 sale lentamente a +10 Volt).

    Comportamento uscite analogiche su modulo espansione I/O analogico.
     
    Power On: Le uscite sono in Stand-By, si portano a +19mV.
    Run programma (RDY acceso): Le uscite si portano al valore definito da FB SysSetAnOut.
    Stop programma (RDY spento): Le uscite restano al valore impostato dal programma.

    in risposta a: Informazioni sull’uso delle variabili ritentive #38001
    Sergio Bertana
    Amministratore del forum

    Come già trattato in questo topic vediamo di chiarire il concetto dell’attributo RETAIN delle variabili di programma. In conformità con IEC 61131 sono riportati due tipi di avvio programma in un PLC. 

    Warm restart, noto anche come Warm reboot: Si ha con l’alimentazione del sistema, il programma viene eseguito dal suo inizio e le variabili RETAIN assumono il valore che avevano quando il sistema è stato arrestato. 

    Cold restart: Si ha dopo aver caricato il programma o su condizione di errore del PLC che ha causato un riavvio. Il programma viene eseguito dal suo inizio e le variabili RETAIN assumono il valore definito nel campo INIT. 

    Nello SlimLine l’area di memoria nella DB 100 a partire da indirizzo 2048 fino a 4096 pur non avendo l’attributo RETAIN sono ritentive. Quindi, tutte le variabili che sono allocate in questa zona mantengono il loro valore allo spegnimento e, a differenza delle variabili RETAIN mantengono il loro valore anche al caricamento del programma e/o riavvio del sistema.

Stai visualizzando 15 post - dal 3,121 a 3,135 (di 4,374 totali)