Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,006 a 1,020 (di 4,276 totali)
  • Autore
    Post
  • in risposta a: Settare bit di una variabile WORD #59871
    Sergio Bertana
    Amministratore del forum

    Tra gli improvements che Axel ha annunciato nelle prossime versioni di LogicLab ci dovrebbe essere anche l’accesso ai bits delle singole variabili. Al momento non è gestito, quindi o ti affidi alle classiche operazioni di AND e OR, esempio:

    VAR
        Alarm : ARRAY[0..15] OF BOOL; (* Alarm conditions *)
        WAlarm : WORD; (* Alarm word *)
    END_VAR
    
        WAlarm:=16#0000;
        IF (Alarm[0]) THEN WAlarm:=WAlarm OR 16#0001; END_IF;
        IF (Alarm[1]) THEN WAlarm:=WAlarm OR 16#0002; END_IF;
        ...
        IF (Alarm[15]) THEN WAlarm:=WAlarm OR 16#8000; END_IF;

    Dove come vedi per semplicità ho definito un array di BOOL per le varie condizioni di allarme ma tu potrai mettere le tue variabili. Naturalmente dovrai inserire la gestione di tutti i bits che usi ed il programma deve essere scritto così in sequenza.

    In alternativa puoi utilizzare la funzione VBitSet che opera su di una variabile a 32 bits.

    in risposta a: Modificare messaggio richiesta conferma azione #59868
    Sergio Bertana
    Amministratore del forum

    Rettifica…

    Mi sono informato meglio ed in effetti anche i testi nelle finestre di sistema possono essere personalizzati. Dal menù Project->System Message è possibile definire i testi visualizzati (Screenshot).

    in risposta a: Gestione motore Passo Passo con SlimLine #59865
    Sergio Bertana
    Amministratore del forum

    La frequenza è bassissima, il contatore sull’ingresso digitale è hardware quindi non perde conteggi indipendentemente dalla esecuzione del FB SysGetCounter. Il FB esegue la lettura dal contatore hardware degli impulsi ed esegue la differenza con il valore acquisito precedentemente:

    Pulses:=CounterValue-CounterMemo;
    CounterMemo:=CounterValue;

    Ad ogni esecuzione calcola il numero di impulsi acquisiti, questo numero viene sommato (Sottratto se Reverse) al valore di impulsi ritornato in Value. Ora è evidente che se cambi Reverse in movimento non potrai mai essere sincrono con il reale comportamento del motore certamente perderai qualche impulso che magari viene ancora sommato quando il motore invece ruota al contrario o viceversa.

    in risposta a: Impostazione funzione gateway Modbus TCP/IP #59863
    Sergio Bertana
    Amministratore del forum

    Mi sembra tutto impostato correttamente, in pratica hai:

    Allocato all’indirizzo Modbus 1 512 word nella DB 300 a partire da offset 0, puoi accedere a questi dati con la funzione Modbus 01 Read Coil Status.

    Allocato all’indirizzo Modbus 5000 65 word nella DB 301 a partire da offset 0, puoi accedere a questi dati con la funzione Modbus 04 Read Input Registers.

    Ora se accedi all’indirizzo IP del pannello con un ModbusPoll e se la connessione con il PLC Siemens è attiva devi poter eseguire i comandi che ti ho indicato. Stai attento all’offset di 1 tipico del Modbus, magari per sicurezza prova con un indirizzo di registro uguale o superiore a 1 e poi controlla l’offset.

    in risposta a: Gestione motore Passo Passo con SlimLine #59859
    Sergio Bertana
    Amministratore del forum

    Qual’è la frequenza massima che comandi sull’uscita PWM?

    Quando comandi l’ingresso di Reverse il motore è fermo ?

    Hai provato a comandare solo in una direzione (Ammesso che tu possa) e verificato se in questo caso la posizione acquisita corrisponde alla reale ?

    in risposta a: Da Modbus RTU a TCP con selezione indirizzo IP da nodo Modbus #59854
    Sergio Bertana
    Amministratore del forum

    Una feature molto interessante del gateway Modbus ATC-3002 è proprio quella di poter operare in modalità TCP Client potendo configurare una tabella di indirizzi IP dei dispositivi server a cui connettersi in funzione del nodo Modbus presente nel frame di interrogazione RTU.

    Ecco lo screenshot della pagina di configurazione in cui ho definito la connessione a due server Modbus TCP in funzione del nodo Modbus della richiesta RTU. Nell’esempio abbiamo:

    • Indirizzi Modbus da 01 a 05 verranno inoltrati al server con IP 192.168.0.181
    • Indirizzi Modbus da 10 a 20 verranno inoltrati al server con IP 192.168.0.200
    in risposta a: Modificare messaggio richiesta conferma azione #59822
    Sergio Bertana
    Amministratore del forum

    Solitamente i messaggi in Pop-Up sono finestre editabili direttamente da EasyBuilder, si trovano sulla barra laterale di visualizzazione delle finestre menù View->Windows Tree.

    Ma la finestra in Pop-Up di richiesta conferma a differenza delle altre è una finestra di sistema operativo e quindi non è modificabile in alcun modo.

    Come workaround ho realizzato il semplice pogetto ConfirmationRequest (Screenshot) in cui alla pressione del tasto viene visualizzata una finestra di Pop-Up che può essere personalizzata come si desidera (Download).

    in risposta a: Collegamento WIFI tra dispositivi #59764
    Sergio Bertana
    Amministratore del forum

    Per la configurazione della rete WiFi puoi fare riferimento al manuale di configurazione.

    in risposta a: Gestione stampante su porta seriale #59738
    Sergio Bertana
    Amministratore del forum

    Se la stampante la colleghi in seriale con la macro puoi gestirla in piena libertà.

    Se invece vuoi che sia il pannello a gestirla, magari con la stampa grafica della immagine visualizzata occorre configurarla come stampante e deve essere una di quelle supportate dal pannello.

    in risposta a: Collegamento WIFI tra dispositivi #59735
    Sergio Bertana
    Amministratore del forum

    Si la connessione cablata avrà protocollo Siemens S7 1200 e dialogherà con il PLC.

    La porta WiFi sarà da collegare alla rete WiFi esistente ed impostare un indirizzo IP fisso a cui lo SCADA dovrà collegarsi in Modbus.

    Dovrai poi attivare la funzione Modbus Server abilitando la funzione Gateway e con il pulsante Address mapping table definire la tabella di indirizzamento (Screenshot).

    in risposta a: Programma demo modbus TCP/IP slave #59723
    Sergio Bertana
    Amministratore del forum

    Tramite Modbus è possibile accedere solo all’area di memoria mappata in DB100, non è possibile agire direttamente sugli I/O.

    Paer acquisire gli ingressi digitali e per gestire le uscite digitali ti consiglio di mappare in DB100 variabili BOOL di appoggio degli I/O. Poi con un semplice programma in ladder o ST potrai copiare gli ingressi reali sulle varibili BOOL di appoggio e lo stato delle uscite dalle variabili BOOL di appoggio sulle uscite reali.

    in risposta a: Collegamento termoresistenze Pt100/Pt1000 #59721
    Sergio Bertana
    Amministratore del forum

    Le sonde Pt1000 sono tutte acquisiste in differenziale, i vari standards differiscono di pochissimo uno dall’altro, sono finezze che il programmatore da buon tecnico si è deliziato nell’inserire nella gestione.

    Nei fini pratici io consiglio di utilizzare  sempre la modalità:

    AD_PT1000_DIFFER Pt1000 sensor Celsius degree (Differential mode)

    Per la differenza tra i vari standard ti consiglio di cercare in Internet, troverai tabelle con i valorri in ohm alle diverse temperature.

    in risposta a: Gestione stampante su porta seriale #59718
    Sergio Bertana
    Amministratore del forum

    I modelli cMT supportano sicuramente la stampante Epson M267, con altri modelli non ho informazioni se è possibile gestirle.

    Vedo che il modello che hai scelto può avere una interfaccia Ethernet, ora bisogna capire sr è possibile tramite una connessione TCP/IP inviare i comandi di stampa, in tal caso puoi crearti una macro che tramite il FreeProtocol invia i dati alla stampante.

    in risposta a: Utilizzo di più motori in parallelo #59658
    Sergio Bertana
    Amministratore del forum

    Utilizzando più motori non è necessario effettuare la manovra di autotuning.

    Comunque se si vuole effettuarla occorre collegare un solo motore all’inverter.

    in risposta a: Gateway Modbus TCP/RTU in connessione multidrop #59655
    Sergio Bertana
    Amministratore del forum

    Le nuove librerie sono state tutte convertite per la nuova architettura XUnified (Vedi articolo), probabilmente il tuo SlimLine ha una versione firmware ancora XTarget. Ora hai due possibilità:

    1) Inserisci nel tuo progetto anche la libreria eLLabXTargetAdjLib.
    2) Esegui un upgrade del sistema e lo converti in un sistema XUnified (Vedi articolo).

    Ti consiglio sicuramente la seconda soluzione che ti permette di aggiornare il sistema rendendolo compatibile con tutte le nuove versioni di libreria.

    Aggiungo un consiglio per acquisire i vari meters puoi utilizzare il FB ACModbus, Array command Modbus, che appoggiandosi ad un’unica istanza della FB ModbusMaster_v1 permette di sequenziare automaticamente le varie acquisizioni.

Stai visualizzando 15 post - dal 1,006 a 1,020 (di 4,276 totali)