Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumIntanto bisogna chiarire che errore compare perchè esiste un errore UV ed un errore OV2, ma non un errore UV2.
Se è un errore UV DC bus under-voltage:
Allarme di sottotensione, di solito si presenta quando la tensione di alimentazione dell’inverter è troppo bassa. Verifica se è effettivamente questa la causa. Strano che succeda attivando il freno, sembra che l’attivazione del freno provochi un abbassamento della tensione di linea. Puoi disabilitarne il controllo e quindi la comparsa dell’allarme impostando
- P11.00=0 (Phase loss protection) Input phase loss software protection disable
- P11.01=1 (Frequency drop at sudden power dip) Disabled
Se è un errore OV2 Over-voltage during deceleration:
Allarme di sovratensione durante la fase di decelerazione, di solito succede se la rampa di decelerazione è troppo veloce e quindi si ha una sovratensione sul bus DC. Per risolverlo puoi provare a rendere più lenta la rampa di decelerazione. Se ti serve invece arrestare il motore velocemente allora devi inserire una resistenza di frenatura per impedire cher la tensione del bus DC si alzi troppo.
Sergio Bertana
Amministratore del forumAxel has just informed me that this behaviour is a bug. They have opened ticket:
LL-3790: Invalid constant value for structured types.
A fix will be available in future versions of LogicLab.
Sergio Bertana
Amministratore del forumCollegare dispositivi I2C tramite I/O digitali rispetto alla connessione diretta degli stessi sul bus di espansione (Vedi funzione SysI2CWrRd) può essere utile per collegare dispositivi che si trovano lontani dal modulo CPU, in questo modo i segnali I2C sono optoisolati dal sistema ed il sistema è protetto da eventuali disturbi indotti sul bus.
Ma naturalmente ci sono delle controindicazioni, utilizzando gli I/O presenti sul modulo CPU il tempo di gestione è minore rispetto agli I/O dei moduli di estensione e questo permette di avere una gestione del bus I2C più veloce.
Ma la cosa più importante è che i segnali I2C devono essere open collector, quindi l’unico modo per gestirli con I/O digitali è che le uscite permettano questa gestione e solo uscite statiche di tipo MOS lo permettono. Il modulo PCB124 ha uscite a driver quindi non è possibile utilizzarlo.
Inoltre i segnali I2C sono tipicamente a 5Vdc e quindi occorre avere ingressi ed uscite in grado di gestire segnali a 5Vdc e solo gli I/O del modulo CPU hanno questa caratteristica.
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_VARWithout 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
-
AutorePost