Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,516 a 1,530 (di 4,504 totali)
  • Autore
    Post
  • in risposta a: Creazione report formato PDF ed export in rete #55004
    Sergio Bertana
    Amministratore del forum

    I pannelli Weintek possono generare file nel formato CSV per i dati di log o file JPG per l’hardcopy delle immagini visualizzate (Vedi topic).

    Il terminale può gestire file PDF in sola lettura per una eventuale visualizzazione.

    Il pannello può inviare file su server FTP in rete e/o ha un server FTP attivo con cui è possibile connettersi per la lettura dei files.

    in risposta a: Utilizzo CODESYS sul modulo SlimLine Raspberry #55002
    Sergio Bertana
    Amministratore del forum

    La porta RS485 è stata provata con il modulo ModbusMaster “grafico” di Codesys.

    La porta CAN è stato testata con il modulo CANOpen “grafico” di Codesys. Non si sono provati moduli che gestiscono gli assi.

    Nelle nostre prove abbiamo sempre usato il runtime CODESYS “Standard” e non “Multicore”.

    Ricordo che la licenza CODESYS per Raspberry NON è realtime per cui occorre tenerne conto. Ecco cosa riporta il datasheet.

    The runtime system does not have real-time behavior. Its Jitter depends on many factors, especially on parallel executed Linux applications, and is ideally approximately 50 µs with maximum values of approximately 400 µs.

    in risposta a: Informazioni sulla esecuzione delle Macro #54992
    Sergio Bertana
    Amministratore del forum

    Il pannello può eseguire anche più macro in contemporanea, non c’è un limite prefissato sul numero di macro contemporanee eseguibili.

    Naturalmente il limite è dato dal carico di lavoro che il panello stà eseguendo, quindi i pannelli più performanti saranno in grado di gestire più velocemente tutte le macro rispetto ai pannelli meno performanti.

    in risposta a: Domande su utilizzo software CODESYS #54989
    Sergio Bertana
    Amministratore del forum

    Lato CODESYS è possibile gestire la porta ETH1 (Modbus tcp) e la porta CAN master. Le porte seriali e la ETH2 sono di esclusivo utilizzo HMI con EasyBuilderPro quindi CODESYS non le può gestire.

    WebVisu non è supportato, Weintek ha EasyBuilderPro il proprio ambiente di sviluppo HMI e non ha interesse a spingere i clienti ad usare WebVisu. Il loro approccio è usare CODESYS come PLC in un terminale dove la visualizzazione grafica è in ambiente EasyBuilder che comunica con il PLC in Ethernet via localhost.

    Rumors danno la possibilità di rilascio di Etercat sulla famiglia CMT nella seconda parte dell’anno, ma al momento non è possibile sapere se solo gestibile da CODESYS o anche da HMI.

    in risposta a: Utilizzo CODESYS sul modulo SlimLine Raspberry #54982
    Sergio Bertana
    Amministratore del forum

    Ecco le risposte.

    1. I moduli di espansione si connettono al modulo CPU con dei cavetti di interconnesione che vanno acquistati separatamente. Esiste un cavo passante per i moduli intermedi ed un cavo non passante per il modulo finale.
    2. La licenza CODESYS non è compresa nel prezzo di acquisto del prodotto. Questo perchè il prodotto può essere utilizzato anche con altri linguaggi di programmazione. La licenza CODESYS và acquistata direttamente dallo store del fornitore e si sceglie quella adatta alla propria applicazione.
    3. Il simulatore I/O si collega ai moduli di estensione I/O, bisogna eseguire il cablaggio dal connettore del simulatore ai morsetti del modulo I/O.
    4. Il bus I2C utilizzato sui sistemi SlimLine è attualmente utilizzato da oltre un decennio in migliaia di applicazioni. Naturalmente è un bus locale quindi i moduli di estensione sono direttamente connessi al modulo CPU.
    5. I moduli di I/O digitale hanno il tipico filtro in ingresso da 4.5 mS come richiesto dalla normativa. Il tempo di accesso ad un modulo di I/O è dell’ordine di 250 uS. Quindi possiamo dire che è sicuramente un tempo di risposta paragonabile ai PLC classici.
    6. Per la gestione dei moduli di I/O e del circuito di watchdog forniamo la libreria eCDSSystem8Core (Vedi articolo). Come vedi dall’esempio per gestire i moduli di I/O forniamo nella libreria delle funzioni apposite.
    in risposta a: Utilizzo cMT-G01 – Gateway MQTT/OPC-UA #54976
    Sergio Bertana
    Amministratore del forum

    Si certo puoi usare il cMT-G01 per quello che devi fare.

    Però visto che tutti i pannelli hanno supportano la connessione con PLC OMRON EtherNet/IP (NJ/NX1P) ed il protocollo Modbus TCP, potresti tranquillamente utilizzare (Risparmiando sul costo) anche un cMT-SVR o qualsiasi pannello HMI.

    Realizzi un programma con un Data Transfer ciclico che legge i dati dal PLC e li appoggia in variabili HMI che poi saranno accessibili dallo SCADA via Modbus TCP.

    in risposta a: Come collegare due terminali HMI ad un Logo #54966
    Sergio Bertana
    Amministratore del forum

    Se il Logo accetta più connessioni TCP/IP contemporanee basta collegare uno switch e mettere i due pannelli in rete con il PLC, ognuno di essi dialogherà con il PLC.

    Se il Logo acccetta una sola connessione TCP/IP puoi configurare un pannello per dialogare con il PLC in modo Locale, l’altro pannello lo configuri per dialogare con il PLC in Remoto definendo come indirizzo IP quello del pannello connesso al PLC. Il secondo pannello raggiungerà il PLC passando attraverso il primo.

    in risposta a: Lettura variabili di tipo REAL da PLC SlimLine #54964
    Sergio Bertana
    Amministratore del forum

    Ma hai provato il progetto che  trovi qualche post prima del tuo, fà esattamente quello che cerchi di fare tu.

    Dove è l’errore… quello che hai scritto mi sembra tutto corretto ma i  dubbi sono:

    Che tipo di protocollo hai impostato, perchè se usi lo ZeroAddressing hai un errore sull’offset.

    Hai mica modificato l’endianness di lettura, le variabili REAL usano 2 words e quindi è importante avere l’endianness corretto. Si imposta nella definizione del protocollo. Ti consiglio di provare prima con una variabile UINT che essendo a 16 bits non ha problemi di endianness.

    Nella definizione della variabile sul pannello hai definito che è una variabile float ed hai definito il suo range di valori.

     

    in risposta a: Errore in esempio programma librerie 1wire #54937
    Sergio Bertana
    Amministratore del forum

    La libreria 1Wire DEVE essere compilata definendo la flag Case sensivity nel progetto (Screenshot).

    in risposta a: Identificare errori comunicazione driver Modbus #54888
    Sergio Bertana
    Amministratore del forum

    Nel capitolo System Registers del manuale di EasyBuildderPro, trovi l’elenco di tutte le variabili di sistema con il loro significato. Eccone un estratto.

    LB-9200 PLC 1 status (SN0, COM 1), set on to retry connection (Node 1)
    LB-9201 PLC 1 status (SN1, COM 1), set on to retry connection (Node 2)
    ...
    LB-9455 PLC 1 status (SN255, COM 1), set on to retry connection (Node 255)
    LB-9500 PLC 2 status (SN0, COM 2), set on to retry connection (Node 1)
    LB-9501 PLC 2 status (SN1, COM 2), set on to retry connection (Node 2)
    ...
    LB-9755 PLC 2 status (SN255, COM 2), set on to retry connection (Node 255)

    Come vedi c’è un bit per ogni nodo modbus che si attiva su errore comunicazione.

    Il Pop up “PLC not response” può essere cancellato o inibito per singolo driver (non per singolo nodo), ti rimando a questo topic per le informazioni.

    in risposta a: Progetto startup HMI e modulo CPU SlimLine #54864
    Sergio Bertana
    Amministratore del forum

    L’errore è non leggere la documentazione del pannello, perchè se vedi il pin out del pannello sulla porta COM1 non usa i pin standard 2-3-5 del connettore 9 poli. Ma usa i pin 5-6-9 quindi non puoi utilizzare il connettore standard.

    Nella pagina del terminale trovi uno schema di costruzione del cavo, devi seguire le connessioni del modello MT6050i.

    Consiglio, visto che hai i cavi già connessi al PC, anzichè trasferire il progetto sul terminale reale usa il simulatore On-Line di EasyBuilderPro che ti permette di testare tutto il funzionamento come con il pannello reale. La simulazione  dura circa 10 minuti poi devi riavviare il simulatore.

    in risposta a: Domande generiche sulla programmazione #54861
    Sergio Bertana
    Amministratore del forum

    1) Non si possono dichiarare RETAIN le variabili di I/O, se vuoi mantenere la situazione di una variabili allo spegnimento del sistema dichiare una variabile globale BOOL di tipo RETAIN ed appoggi lo stato sulla variabile e poi copi la variabile sulla relativa variabile di uscita.

    E’ evidente che non puoi e sarebbe inutile mantenere lo stato delle variabili di ingresso, quelle riportano lo stato reale dell’ingresso quindi lo stato del dispositivo che lo comanda.

    2) Si usano i FB quando hai più uscite ma sopratutto quando hai variabili di memoria definite all’interno. I FB mantengono la memoria allocata e quindi lo stato delle variabili, mentre nelle function tutte le variabili interne sono distrutte all’uscita della function.

    3) Si può fare, riportiamo esempi di collegamento con Raspberry utilizando Node-RED, tra l’altro l’MPS055 è basato su Raspberry e permette in un unico prodotto di avere la programmazione LogicLab e di utilizare Node-RED (Vedi esempio).

    4) Si il modello MPS054 ha 4 I/O, e sono mappati come %IX255.0, %IX255.1, %QX255.0, %QX255.1.

    5) SysFirstLoop non è una funzione, è una variabile globale (ce ne sono molte) che è attiva solo al primo loop di esecuzione programma. Ma come hai visto c’è la task Boot sotto alla quale puoi collegare tutti i program che vuoi e questi sono eseguiti una sola volta alla prima esecuzione.

    Viene utilizzato SysFirstLoop per comodità nei programmi dove si deve agire al primo loop di esecuzione sulle variabili locali, che non sarebbero visibili da altri program e quindi non potrebbero essere gestite da un program eseguito in task di Boot.

    in risposta a: Caratteristiche di memoria dei sistemi #54835
    Sergio Bertana
    Amministratore del forum

    Per fare chiarezza la dimensione di memoria sui sistemi MPS054 dipende dal sistema, le versioni Lite dispongono di:
    131 kB programma utente
    12 kB RAM disponibili per dati utente di cui 6 kB sono ritentivi

    E’ possibile acquistare una opzione per estendere le dimensioni di memoria come nelle versioni Full che dispongono di:
    262 kB programma utente
    20 kB RAM disponibili per dati utente di cui 6 kB sono ritentivi

    Collegandoti ad un sistema Full con LogicLab ecco il report di memoria:

    Used code size: 5E50h (23 KByte)
    Free code space: 3A1A0h (232 KByte)
    Total code space:3FFF0h (255 KByte)
    
    Used data space: 695h (1 KByte)
    Free data space: 396Fh (14 KByte)
    Total data space: 4004h (16 KByte)
    
    Used retain data space: 0h (0 KByte)
    Free retain data space: 3E8h (0 KByte)
    Total retain data space: 3E8h (0 KByte)

    Come vedi il total code space è 3FFF0h pari a 262128 bytes, total data space è 4004h pari a 16388 bytes a cui devi sommare i 4096 bytes della DB100 per un totale di 20484 bytes.

    Per quanto riguarda l’area retain abbiamo 3E8h pari a 1000 bytes di area retain a cui occorre sommare i 2048 bytes dell’area retain della DB100 (Da DB100.2048 a DB100.4096). Siccome l’area retain viene salvata 2 volte in FRAM ecco il risultato dei 6 kB.

    Ma a parte questi discorsi teorici, il tuo problema è che probabilmente ti sei connesso ad un sistema Lite ed hai acquisito dal sistema valori di memoria che sono la metà di quelli del sistema Full ed il tuo programma necessita di più memoria dati. O come  dici tu hai eseguito il comando Refresh current target che assegna i valori del sistema Lite.

    Soluzione al problema è connetterti ad un sistema Full (O ad un sistema Lite con opzione installata) ed eseguire dal menù On-line il comando Force target image upload. In questo modo carichi dal sistema il file con estensione imgx che contiene i dati corretti.

    in risposta a: Protezione con credenziali di accesso su pagine #54821
    Sergio Bertana
    Amministratore del forum

    Il comportamento è molto strano, non abbiamo mai avuto segnalazioni di problemi simili, l’unica possibilità è di poter verificare direttamente noi il problema.

    Per farlo dovresti creare un utente per EasyAccess (Che terminata la prova cancellerai) e comunicarci le credenziali per poter accedere al terminale con una descrizione esatta del problema in modo da poterlo replicare.

    Ma in questi giorni stiamo lavorando in smart working, ed è difficile organizzare la prova, dovremo aspettare la riapertura.

    in risposta a: Errore connessione con sistema SlimLine #54818
    Sergio Bertana
    Amministratore del forum

    Io consiglio sempre ai neofiti di acquistare un modello di sistema SlimLine con interfaccia ethernet perchè rende molto più semplice la connessione con LogicLab.

    Il modello MPS050 non ha connessione ethernet, quindi per connettere LogicLab puoi utilizzare la connessione seriale RS232 ti serve l’apposito cavo ed adattatore, oppure una connessione via USB utilizzando il driver RNDIS. In questo topic trovi informazioni sulla connessione.

    Purtroppo la connessione seriale prevede un solo canale di comunicazione quindi potrai programmare da LogicLab ed eseguire il debug, ma non potrai accedere al server web integrato, al file system, ed alla connessione Telnet che ti permette di attivare la console di spionaggio. Tutte queste funzioni sono funzioni avanzate che probabilmente vorrai utilizzare quando diventerai più esperto.

Stai visualizzando 15 post - dal 1,516 a 1,530 (di 4,504 totali)