Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,396 a 1,410 (di 4,379 totali)
  • Autore
    Post
  • 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.

    in risposta a: Utilizzo di EasyAccess su dispositivi Android #54808
    Sergio Bertana
    Amministratore del forum

    Nel client VNC devi definire l’indirizzo IP assegnato al pannello da EsasyAccess e poi la porta classica del servizio VNC che è la 5900.

    Ma visto che dici che non funziona, io proverei ad accedere al pannello via VNC da Android utilizzando il WiFi del telefono connettendoti ad una rete WiFi dove vi è anche il pannello (A cui avrai assegnato un IP statico). In questo modo ti assicuri che l’App che hai usato funzioni e sopratutto che il server VNC del pannello sia abilitato ed accessibile. Ti ricordo che il server VNC và abilitato sul pannello.

    Per accedere al VNC del pannello da dispositivo Android verifica di aver installato oltre a VNC, EasyAccess, EasyAccessVPN e OVPN connector.

    in risposta a: Acquisizione ingressi, gestione uscite digitali #54805
    Sergio Bertana
    Amministratore del forum

    Di questo argomento si è già parlato in questo topic, gli I/O logici sono automaticamente mappati nell’immagine di processo, il FB SysGetAnInp serve per l’acquisizione degli ingressi analogici.

    Ecco lo screenshot del programma SimplyLD, un semplice programma ladder che realizza una gestione logica ed una acquisizione analogica.

    Come vedi gli I/O logici li ho dichiarati nelle variabili globali, quindi sono visibili da tutti i programmi che possono referenziarli.

    Nel programma ladder ho istanziato il FB SysGetAnInp per l’acquisizione analogica e poi ho creato un nuovo ramo ladder, che ha un contatto ed una uscita. Ho trascinato sul contatto l’istanza creata e poi ho cancellato sia il contatto che l’uscita.

    Per definire le variabili in ingresso/uscita dal FB basta trascinare l’oggetto sul relativo piedino. Ti lascio il progetto per il download.

    in risposta a: EasyAccess per connettermi a PLC e telecamera #54803
    Sergio Bertana
    Amministratore del forum

    Riguardo al Passthrough viene creata una rotta nel tuo PC che instrada i pacchetti verso il terminale tramite EasyAccess, e siccome l’ordine di instradamento definito dalla sequenza di Passthrough è prioritaria sulle altre, qualsiasi indirizzo tu definisca (Anche se appartiene alla rete del PC) viene instradato sul terminale via EasyAccess.

    Quindi per risponderti posso dirti che anche se è meglio avere una rete diversa dal tuo PC il Passthrough funziona anche se il dispositivo è nella stessa rete.

    Per conoscere il traffico utilizzato da EasyAccess per ogni terminale, devi abilitare la visualizzazione nelle impostazioni e così il traffico verrà visualizzato accanto ad ogni terminale (Screenshot).

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

    Che versione di EasyBuilderPro utilizzi…

    Il problema che lamenti si verificava compilando il progetto con una vecchia versione di EasyBuilderPro, prova a scaricare l’ultima versione ed a ricompilare il progetto.

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

    L’esempio del post precedente al tuo fà già esattamente quello che hai chiesto.

    Per poter visulizzare variabili sul pannello HMI devi dichiarare la variabili globale mappandola nella DB100 all’indirizzo che preferisci.

    Ricorda che le variabili a 2 bytes INT, UINT, WORD devono sempre essere allocate ad indirizzi divisibili per 2 (Esempio DB100.2, DB100.8, DB100.100, ecc…).

    Le variabili a 4 bytes DINT, UDINT, DWORD devono sempre essere allocate ad indirizzi divisibili per 4 (Esempio DB100.4, DB100.8, DB100.256, ecc…).

    Sul terminale HMI devi indirizzare la variabile usando l’indirizzo di allocazione diviso per 2 sommato a 40000. Se ad esempio la variabile è allocata a DB100.256 sul terminale dovrai indicare indirizzo 40128.

    Guarda questo topic dove trovi un esempio di progetto PLC e HMI.

Stai visualizzando 15 post - dal 1,396 a 1,410 (di 4,379 totali)