Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumIn effetti con un pò di impegno si riesce ad usare come server di posta anche GMail.
Occorre gestire la password per app secondarie, ecco una piccola guida.
Sergio Bertana
Amministratore del forumAggiungo una doverosa precisazione…
Il protocollo Modbus prevede registri a 16 bits, e non specifica l’endianness dei dati se espressi su registri di dimensioni maggiori come nel tuo caso un registro DINT a 32 bits.
I dati nei sistemi basati su architettura ARM come i ns SlimLine hanno una architettura Little-Endian, la memorizzazione inizia dal byte meno significativo per finire col più significativo.
Ma può essere che il dispositivo dove viene effettuata la scrittura abbia una architettura Big-Endian quindi il dato scritto non verrebbe interpretato correttamente, in questo caso è possibile convertire l’endianness del dato da inviare in Modbus con la funzione SwapData.
Sergio Bertana
Amministratore del forumHai diverse possibilità di arresto motore in emergenza.
- Arresto inerziale: Utilizzando il circuito STO (Safe Torque Off), oppure programmando il parametro P01.08 Stop selection al valore 1, si ottiene un arresto inerziale.
- Arresto in frenatura: Si può mantenere l’arresto decelerato con tempo di rampa impostato nel parametro P00.12 Deceleration time 1, e poi si imposta una soglia di frenatura DC parametro P01.09 Starting frequency of DC breaking while stop con una corrente di frenatura DC parametro P01.11 Stop DC breaking current ed un tempo di frenatura parametro P01.12 Stop DC breaking time.
L’arresto di emergenza dipende dalle normative, un arresto con il circuito STO scollega il motore dall’inverter quindi equivale alla apertura del teleruttore di comando di un motore asincrono AC. È quindi assimilabile a un arresto di emergenza secondo normative di sicurezza (assenza di energia al motore).
Un arresto controllato in corrente provoca un arresto istantaneo del motore ma il motore rimane controllato dall’inverter.
Sergio Bertana
Amministratore del forumIl protocollo Wiegand non ha uno standard rigido, ma la maggior parte dei dispositivi sul mercato segue delle specifiche de facto abbastanza consolidate.
- Larghezza impulso (Pulse Width): Da 20 µs a 100 µs tipico più comune 50 µs. (Significa che quando viene trasmesso un bit, la linea D0 o D1 viene portata bassa per quel tempo).
- Intervallo tra impulsi (Pulse Interval): Da 200 µs a 20 ms, tipico 1~2 ms tra un bit e il successivo.
- Sequenza di bit: I bit sono inviati in sequenza su D0 e D1, con timing definito sopra.
- Frame completo (es. Wiegand-26): 1 bit di parità iniziale, 24 bit di dati (generalmente 8 bit Facility Code+16 bit ID), 1 bit di parità finale, totale 26 bit inviati in 26~30 ms.
Come visto esiste una grande differenza tra i vari dispositivi, ad esempio il lettore RFID R3 ha una larghezza di impulso di 500us ed intervallo di 2ms in tal caso è possibile acquisire su di un modulo CPU direttamente gli ingressi in polling in task Fast (Può essere eseguito al minimo ogni 100uS vedi SysSetTaskLpTime). Non è possibile acquisire gli ingressi in polling così velocemente dai moduli di estensione perchè l’acquisizione necessita di circa 400uS.
Per poter acquisire ingressi Wiegand più veloci vedi la soluzione proposta nell’esempio ST_WiegandDcd di questo articolo. Dove i 2 ingressi sono connessi a 2 contatori, quindi occorre acquisire il conteggio ogni tempo di intervallo che anche nel caso minimo di 1 mS è ampiamente gestibile dalla task Fast. Ma anche in questo caso non è possibile acquisire i counters in polling così velocemente dai moduli di estensione.
Venendo alla tua necessità l’unica soluzione applicabile è utilizzare un modulo CPU compact, con l’opzione 4 counter e connettere al modulo 2 dispositivi. Per acquisire 8 lettori ti serviranno 4 moduli che potrai connettere tra di loro in ethernet ad esempio con il FB DataTransfer. Potrai utilizzare gli I/O liberi dei moduli come I/O digitali per la tua applicazione.
Sergio Bertana
Amministratore del forumI moduli 4G (gateway/router cellulari) di Milesight supportano APN personalizzati, incluse impostazioni di APN private.
Dalla pagina web di configurazione cellulare si può configurare APN (Access Point Name) secondo il requisito dell’operatore utilizzato. Ci sono anche campi per username e password, se richiesti dall’operatore, ed il tipo di autenticazione (None/PAP/CHAP) e PIN della SIM.
Quindi, a meno di resrizioni particolare dell’operatore posso ragionevolmente dire che i dispositivi Milesight 4G possono usare APN privati, non sembra che ci siano restrizioni tecniche che impediscano questo.
Sergio Bertana
Amministratore del forumErrors are generated only if you declare the MS data structure as CONSTANT.
VAR CONSTANT MS : MYSTRUCT := (V1:=FALSE, V2:=[10,20,30,40]); END_VAR
Without the CONSTANT attribute, the program works correctly.
I have informed Axel about this problem and I am still waiting for their response.Sergio Bertana
Amministratore del forumIl FB ModbusMaster invia il dato al tuo dispositivo utilizzando i comandi
- 16#06 Preset single register (Se scrivi un solo registro)
- 16#10 Preset multiple registers (Se scrivi più registri)
In entrambi i casi se i valori sono espressi su una variabile a 16 bit il dato presente nella variabile è inviato al dispositivo slave. Da quello che dici sembra sia il tuo dispositivo slave a non accettare valori negativi.
Come dice giustamente Concetto occore verificare la documentazione del tuo dispositivo.
Settembre 19, 2025 alle 8:19 am in risposta a: L’EGX81-W può essere utilizzato al posto del Cinterion BGS2T #84010Sergio Bertana
Amministratore del forumL’EGX81-W di Telit-Cinterion è indicato come replacement (“pin-to-pin successor”) del Cinterion BGS2T in generale:
- Housing: Entrambi hanno formato industriale robusto, con dimensioni compatte e possibilità di montaggio DIN o a pannello.
- Connettori: Pinout e connettori RS232/RS485 equivalenti. EGX81-W è pensato come replacement diretto.
- Antenna: Entrambi con connettore SMA femmina standard.
- Alimentazione: BGS2T: Alimentazione tipica 5–15 V DC. EGX81-W: Range esteso 5–30 V DC.
- Interfaccia: Interfaccia seriale su entrambi disponibile in varianti RS232 o RS485.
- Rete: BGS2T: GSM/GPRS quad‑band (850/900/1800/1900 MHz). EGX81-W: LTE Cat M1 (bande globali, es. B1, B3, B5, B8, B20, ecc.) GSM/GPRS quad‑band per fallback.
- Temperature Operative: BGS2T: -30 °C a +75 °C. EGX81-W: -40 °C a +85 °C.
Da quanto esposto può essere utilizzato come replacement ma da questo topic si evicono alcune differenze:
- Baudrate: BGS2T: Auto baudrate. EGX81-W: Di default comunicazione è settata a 115200, n, 8, 1.
- Segnale CTS: EGX81-W: Non trasmette se il segnale CTS è basso.
- Comandi AT: EGX81-W non gestisce i comandi voce (Circuit Switched) ATD<number>, ATA, ATH.
Settembre 19, 2025 alle 7:59 am in risposta a: SDM630 Eastron lampeggio LED rosso su frontale #84004Sergio Bertana
Amministratore del forumL’SDM630-Modbus ha un LED rosso che lampeggia proporzionalmente all’energia attiva consumata. La costante tipica è 1000 impulsi/kWh (1 impulso=1 Wh). Quindi il lampeggio del LED indica quanta energia si stà consumando, più veloce è il lampeggio più energia si consuma.
Oltre al LED, il contatore ha 2 uscite a transistor optoisolate configurabili (Vedi topic), si può scegliere se ogni uscita rappresenta:
- Energia attiva importata/esportata
- Energia reattiva importata/esportata
In conclusione:
- Il LED frontale è utile per test visivo veloce.
- Le uscite impulsive possono essere usate per collegare il contatore a datalogger, PLC, sistemi di monitoraggio.
Sergio Bertana
Amministratore del forumDipende dal server SMTP che usi. Alcuni hanno necessità di aprire porte o creare password per dispositivi esterni.
Con il PC il test può andare bene perché windows usa credenziali e accessi anche del PC in uso.
Non so che server SMTP utilizzi, ma sicuramente GMail è il più ostico da fare accettare.
Sergio Bertana
Amministratore del forumSui pannelli Weintek l’upload del programma può avere una protezione con password.
- Protezione dall’upload, in tal caso non è possibile eseguire l’upload del programma.
- Protezione dalla decompilazione, in tal caso è possibile eseguire l’upload ed il successivo download su un pannello identico.
- Nessuna protezione, in tal caso è possibile eseguire l’upload e poi l’eventuale modifica in EasyBuilder ed il download su di un nuovo pannello anche diverso.
Purtroppo il pannello a cui ti riferisci è un modello vecchio di oltre 20 anni e da quel modello di pannello l’upload non è possibile.
Nel caso tu avessi i files del progetto originale in tal caso è possibile con alcuni passaggi convertire il progetto per la nuova serie di pannelli.
Sergio Bertana
Amministratore del forumYes, it is possible. The error you mentioned is probably this:
MyProgram.MS – warning G0290: MS => Constant without initial value
It has no reference number, but the description indicates that the constant doesn’t have any initial value. To declare a structured data type, you must also assign it a value.
- You can initialize values in the data structure definition as follows:
MYSTRUCT: STRUCT V1 : BOOL := TRUE; V2 : UINT := 20; END_STRUCT;
- Or you can initialize the value directly when you instantiate the data structure variable in the program, like this:
VAR CONSTANT MS : MYSTRUCT := (V1:=FALSE, V2:=30); END_VAR
Settembre 5, 2025 alle 5:47 pm in risposta a: Cambio di velocità seriale durante esecuzione Modbus #83964Sergio Bertana
Amministratore del forumSicuramente è possibile cambiare al volo le impostazioni delle porte seriali, per farlo basta chiudere la porta e riaprirla con le nuove impostazioni.
Ma il dubbio è se sia ortodosso fare coesistere parametri di comunicazione diversi sulla stessa linea RS485 Modbus. Perchè i dispositivi con il baud rate diverso potrebbero male interpretare i dati è magari portarsi in condizione di errore.
Se hai come immagino un modulo CPU con più seriali ti conviene utilizzare una porta RS232 convertendola in RS485 con un convertitore come questo per realizzare una seconda rete RS485 con cui dialogare con i nuovi dispositivi.
Se il tuo modulo CPU ha una porta Ethernet puoi utilizzare uno o più convertitori come questo per creare altre reti RS485 tramite connessione Ethernet. In questo modo potrai configurare i parametri di comunicazione adatti su ogni rete evitando problemi di connessione.
Settembre 5, 2025 alle 10:47 am in risposta a: Connessione ad Internet da PLC connesso alla LAN2 del pannello HMI #83943Sergio Bertana
Amministratore del forumPurtroppo la tua esigenza non può essere risolta nel modo che hai descritto, per motivi di sicurezza dalla LAN2 non è possibile raggiungere la LAN1 quindi sfruttarla per la connessione Internet. Vediamo come altri clienti che utilizzano i ns PLC SlimLine hanno risolto questa situazione, la soluzione è comunque adattabile a tutti i PLC.
- Si utilizza la sola LAN1 sia per la connessione al PLC che alla rete del cliente, lasciando in DHCP sia il pannello HMI che il PLC. In questo modo si autoconfigurano entrambi sulla rete del cliente.
- Si gestisce una connessione seriale aggiuntiva tra il pannello ed il PLC.
- Tramite la connessione seriale il pannello chiede al PLC l’indirizzo IP che gli è stato assegnato dal server DHCP e lo imposta nelle LW-9600~3 (Per il Device 4).
- Così la connessione in ethernet è operativa sull’indirizzo IP assegnato al PLC.
- Consiglio di visualizzare in una pagina del pannello gli indirizzi IP del pannello (LW-9129~32) e del PLC ( LW-9600~3) in modo da poterli impostare nel Pass-Through da EasyAccess.
Settembre 5, 2025 alle 10:25 am in risposta a: Weincloud TAG History aggregazione di TAG string #83935Sergio Bertana
Amministratore del forumHo chiesto a Weintek ed in rffetti al momento non è possibile aggregare in un oggetto Tag History variabili di tipo stringa.
Come vedi dallo screenshot le variabili stringa sono in grigio e non è possibile selezionarle.
-
AutorePost