Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumSe hai scritto il nome degli ingredienti direttamente nella ricetta non puoi utilizzare la Lable per gestire la traduzione e quindi la selezione della lingua da terminale. Devi aprire il progetto e cambiare tutti i testi in Inglese.
Se invece hai utilizzato un menu a tendina per la selezione dell’ingrediente, quindi nella ricetta è salvato un numero a cui riferirmi è possibile usare nel menu a tendina la libreria delle Label permettendo la selezione rapida della lingua.
Maggio 3, 2021 alle 11:26 am in risposta a: Realizzare grafici con i files storici generati dal pannello #59881Sergio Bertana
Amministratore del forumI files creati dal pannello con l’oggetto Data Sampling, sono creati in un formato dtl proprietario Weintek.
Utilizzando l’oggetto Backup è possibile trasferire i files di Historical data sampling in formato dtl dalla memoria del pannello su di un dispositivo Pen drive USB esterno. Nel trasferimento è possibile scegliere se mantenere il formato dtl proprietario (Copia del file) oppure di convertirlo in un formato CSV.
Scaricando il file dal pannello tramite conessione FTP si avrà il file in formato dtl originale.
L’utility Easy Converter permette di convertire il file dtl in formato Excel o in formato CSV. Ora avendo un file Excel o CSV è possibile utilizzare direttamente il programma Excel per generarsi tutti i trends desiderati.
Sergio Bertana
Amministratore del forumNon mi ritorna il codice di errore che riporti, gli errori hanno codici a 8 cifre dove le 5 cifre più significative sono l’ID dell’oggetto e le tre cifre meno significative sono il numero di errore. Puoi mica verificare l’esatta versione del FB OWireCore_v1 (Vedi screenshot).
Per resettare il controller One-Wire del modulo CPU MPS054 occorre disabilitare l’ingresso Enable del FB OWireCore_v1 e poi riabilitarlo. Prova a verificare se così facendo la lettura riparte.
In merito all’alimentazione delle sonde, dipende dal tipo di sonda che hai utilizzato, il modello TR160 non richiede alimentazione.
Sergio Bertana
Amministratore del forumTra 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.
Sergio Bertana
Amministratore del forumRettifica…
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).
Sergio Bertana
Amministratore del forumLa 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.
Sergio Bertana
Amministratore del forumMi 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.
Sergio Bertana
Amministratore del forumQual’è 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 ?
Aprile 29, 2021 alle 10:57 am in risposta a: Da Modbus RTU a TCP con selezione indirizzo IP da nodo Modbus #59854Sergio Bertana
Amministratore del forumUna 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
Sergio Bertana
Amministratore del forumSolitamente 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).
Sergio Bertana
Amministratore del forumPer la configurazione della rete WiFi puoi fare riferimento al manuale di configurazione.
Sergio Bertana
Amministratore del forumSe 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.
Sergio Bertana
Amministratore del forumSi 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).
Sergio Bertana
Amministratore del forumTramite 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.
Sergio Bertana
Amministratore del forumLe 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.
-
AutorePost