Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,136 a 3,150 (di 4,379 totali)
  • Autore
    Post
  • in risposta a: Connessione Ethernet tra MT8050i e Siemens LOGO #38006
    Sergio Bertana
    Amministratore del forum

    L’errore è nella definizione del PLC deve essere definito come Locale, perché è gestito direttamente dalla rete Ethernet del pannello (Screenshot).

    La connessione remota permette di connettersi ad un PLC che è fisicamente connesso ad un altro terminale, e quindi la comunicazione passa attraverso il terminale cui il PLC è connesso. Infatti l’errore che ti viene ritornato indica che non riesce a connettersi al terminale remoto.

    Quando li è un errore di comunicazione con il PLC locale l’errore è PLC NO RESPONSE.

    in risposta a: Domande su software di controllo PDMS #38005
    Sergio Bertana
    Amministratore del forum

    Ho chiesto al fornitore che mi dice che la validità della licenza in caso di migrazione della VM su altro hypervisor dipende dal tipo di licenza.

    Tutte le licenze tranne la licenza illimitata continuano ad essere ancora valide.
    La licenza illimitata deve essere riattivata perchè l’attivazione è legata agli identificatori di CPU, motherbord, BIOS, ed altri identificatori. Quindi anche se non sono sicuro al 100%, ritengo che dopo la migrazione da macchina a macchina gli identificatori verranno modificati e l’attivazione non sarà più valida.

    in risposta a: Gestione delle uscite analogiche sui moduli estensione D/A #38003
    Sergio Bertana
    Amministratore del forum

    Da quanto esposto prima è evidente che se le uscite sono utilizzate per comandare dispositivi (Esempio drivers, servovalvole, ecc.) non potendo garantire l’azzeramento del valore in uscita, occorre prevedere la gestione della abilitazione del dispositivo con un comando logico.

    Le uscite logiche sono le sole uscite di cui è garantita la disabilitazione in ogni condizione, Power On, Stop programma, errori di Watch dog, ecc… Quindi per motivi di sicurezza è sempre raccomandato gestire le abilitazioni utilizzando le uscite digitali.

    in risposta a: Gestione delle uscite analogiche sui moduli estensione D/A #38002
    Sergio Bertana
    Amministratore del forum

    Comportamento uscite analogiche su modulo 20 I/O Mixed signal.

    Power On: Le uscite si portano a +10 Volt.
    Run programma (RDY acceso): Le uscite si portano a 0 Volt e poi al valore definito da FB SysSetAnOut.
    Stop programma (RDY spento): Le uscite si portano a +10 Volt (L’uscita A00 sale lentamente a +10 Volt).

    Comportamento uscite analogiche su modulo espansione I/O analogico.
     
    Power On: Le uscite sono in Stand-By, si portano a +19mV.
    Run programma (RDY acceso): Le uscite si portano al valore definito da FB SysSetAnOut.
    Stop programma (RDY spento): Le uscite restano al valore impostato dal programma.

    in risposta a: Informazioni sull’uso delle variabili ritentive #38001
    Sergio Bertana
    Amministratore del forum

    Come già trattato in questo topic vediamo di chiarire il concetto dell’attributo RETAIN delle variabili di programma. In conformità con IEC 61131 sono riportati due tipi di avvio programma in un PLC. 

    Warm restart, noto anche come Warm reboot: Si ha con l’alimentazione del sistema, il programma viene eseguito dal suo inizio e le variabili RETAIN assumono il valore che avevano quando il sistema è stato arrestato. 

    Cold restart: Si ha dopo aver caricato il programma o su condizione di errore del PLC che ha causato un riavvio. Il programma viene eseguito dal suo inizio e le variabili RETAIN assumono il valore definito nel campo INIT. 

    Nello SlimLine l’area di memoria nella DB 100 a partire da indirizzo 2048 fino a 4096 pur non avendo l’attributo RETAIN sono ritentive. Quindi, tutte le variabili che sono allocate in questa zona mantengono il loro valore allo spegnimento e, a differenza delle variabili RETAIN mantengono il loro valore anche al caricamento del programma e/o riavvio del sistema.

    in risposta a: Informazioni sull’uso delle matrici di numeri #38000
    Sergio Bertana
    Amministratore del forum

    Ho realizzato un programma di esempio in cui viene utilizzata la variabile BMatrix che per semplicità ho definito come una matrice di 4 righe da 2 colonne (Tipo Array 4, 2). Ecco lo screenshot del programma dove puoi vedere come effettuare la definizione dei valori di inizializzazione e come accedere ai vari elementi della matrice.

    in risposta a: Informations about SlimLine I2C expansion bus #37998
    Sergio Bertana
    Amministratore del forum

    But if your requirement is to create a RS485 network with many remote I/O modules attached, you can use our Compact CPU module. It has 6 digital inputs, 4 relais outputs, 2 analog inputs, there is a version that has the RS485 port and supports the Modbus protocol. If you need more than the embedded I/Os, you can connect to it other I/O extension modules.

    In this topic you will find a description of a project with a master CPU module that manages many slave compact modules connected on RS485. The main feature of this example is that it’s possible to program the slave modules by the RS485 network directly thru an ethernet connection to the master CPU. The topic is in italian but you can download the source program and study it.

    in risposta a: Informations about SlimLine I2C expansion bus #37997
    Sergio Bertana
    Amministratore del forum

    The SlimLine I2C expansion bus is managed with complex I2C commands, each command is composed by a write command followed by a read command. Are managed 256 commands each composed with multiple bytes, to each command sent by the CPU, the extension module creates the response frame that is read by the CPU.

    The CPU module has to manage multitasking accesses, so all the I2C slave management is made with a FPGA logic to ensure the communication interoperability between the different tasks. All of this requires a management workload from the CPU and to avoid problems in the commands timing, we don’t publish any reference on how to manage the bus by a third party. So our I/O modules can be managed only by our CPU modules.

    in risposta a: Protezione su funzionamento librerie #37996
    Sergio Bertana
    Amministratore del forum

    La possibilità di avere un numero di identificazione univoco per i vari prodotti è una richiesta che ci è pervenuta da svariati clienti, il che ci ha indotti ad inserirla nei nostri sistemi. Ecco quindi che la variabile SysUniqueID è stata introdotta dalla versione SFW184 del sistema operativo che è utilizzabile solo sui prodotti MPS046 serie B.

    Credo tu ti riferisca al fatto che nell’estratto del manuale sono indicati anche i prodotti MPS046A, in effetti in quella pagina si è voluto riepilogare il PType di tutti i nostri prodotti questo indipendentemente dal fatto che poi fosse realmente disponibile la variabile SysUniqueID.

    in risposta a: Normativa per realizzare ponti wireless #37994
    Sergio Bertana
    Amministratore del forum

    Seguendo il post scritto da coronam e dando una occhiata al link postato, sembra che sia effettivamente così, quindi buon ponte WiFi.

    in risposta a: Esempio di calcolo velocità rotazione RPM #37992
    Sergio Bertana
    Amministratore del forum

    Aggiungo ancora una considerazione a quanto detto precedentemente, se vuoi più precisione devi calcolare la velocità usando un numero maggiore di punti di campionamento, quindi o aumenti il tempo di campionamento o aumenti il numero di impulsi giro.

    Se vuoi più “fluidità” nel valore, cioè avere una variazione di valore che non sia a scatti puoi utilizzare la FB Average sul valore di velocità (Vedi post). Naturalmente anche questo introduce un ritardo nella acquisizione ma media le variazioni di lettura.

    in risposta a: Esempio di calcolo velocità rotazione RPM #37991
    Sergio Bertana
    Amministratore del forum

    Da quanto mi dici immagino tu abbia modificato il calcolo velocità nel modo:

      IF ((SysGetSysTime(TRUE)-TimeBf) < 1000000) THEN RETURN; END_IF;
      TimeBf:=SysGetSysTime(TRUE); (* Time buffer (uS) *)

     
     (* Ogni 1 secondo calcolo velocità, RPM=(Impulsi*60)/10. *)
     
      MemoCtr:=Counter-MemoCtr; (* Memo counter *)
      Speed:=(TO_REAL(MemoCtr)*60.0)/10.0; (* Velocità (RPM) *)
      MemoCtr:=Counter; (* Memo counter *)

    Nel calcolo di Speed moltiplico per 60 per avere velocità in giri/min e divido per 10 perché la tua ruota genera 10 impulsi giro. Volendo si semplifica in Speed:=TO_REAL(MemoCtr)*6.0; Ora moltiplicando il numero di impulsi per 6 è evidente che la tua risoluzione è di 6 giri/min, basta la differenza di un impulso per avere +/- 6 giri. Per migliorare puoi:

    Trasformare la linea IF (Pulse) THEN Counter:=Counter+1; END_IF; in Counter:=Counter+1; in questo modo conti sia il fronte di salita che quello di discesa ed hai 20 impulsi giro anziché 10 così moltiplicando per 3 avrai un errore di +/- 3 giri/min. Campioni ogni 2 o più secondi, l’errore si divide ad ogni multiplo di tempo, ma la lettura è più lenta.

    Se utilizzi il doppio fronte e campioni ogni 3 secondi avrai Speed:=(TO_REAL(MemoCtr)*20.0)/20.0; in pratica la velocità è pari al numero di impulsi campionati, in questo modo la risoluzione è di +/- 1 giro.

    in risposta a: Configurazione backhaul in WiFi con AirLink #37989
    Sergio Bertana
    Amministratore del forum

    Intanto per realizzare una rete punto-punto ti consiglierei due antenne direttive (Esempio NanoStation o NanoStation Loco) piuttosto che due antenne omnidirezionali (PicoStation). Inoltre è da preferire la frequenza 5 GHz piuttosto che la 2.4 GHz proprio perché è meno utilizzata e quindi sicuramente più esente da disturbi di altre stazioni WiFi presenti nella zona.

    Detto questo vediamo di capire meglio l’utility AirLink, con due antenne PicoStation posizionate in campo aperto a 3 metri di altezza ed a circa 500 metri tra di loro, come si vede dalla simulazione il campo tra le due antenne è completamente libero (AirLink comunque considera solo il livello altimetrico del terreno). Ma anche se la vista ottica è libera (Linea gialla) per la comunicazione occorre fare riferimento alla zona di Fresnel (Linea viola). Ma non mi spiego perchè anche se i testi dicono che in modulazione DSSS e OFDM è sufficiente avere il 60% della zona di Fresnel libera (Linea azzurra) per avere un buon link, AirLink mi dice che il link è ostruito.

    Probabilmente i dati sono da interpretare, certo che per un link ottimo tutta la zona di Fresnel (Linea viola) deve essere libera. Ed è anche vero che il link funziona anche se vi è meno del 60% della zona di Fresnel libera ma in tal caso il throughput viene ridotto. Aggiungo che AirLink funziona bene solo se si utilizza come browser Chrome.

    in risposta a: Gestione pagine web dinamiche da parte dell’utente #37988
    Sergio Bertana
    Amministratore del forum

    Correggo quanto detto nel post precedente, come si vede in questo topic, tramite uno script java che viene da noi fornito è possibile gestire l’aggiornamento automatico delle variabili utilizzando la tecnica AJAX.

    in risposta a: Visualizzazione orologio analogico con EasyBuilder Pro #37987
    Sergio Bertana
    Amministratore del forum

    Aggiungo una nota su come ho gestito la lancetta delle ore perché può essere un valido spunto per meglio comprendere il funzionamento delle macro. In pratica nell’orologio a sinistra la lancetta delle ore si muove su di un grafico angolare il cui valore massimo è 12 (Span 12), mentre nell’orologio a destra la lancetta delle ore si muove su di un grafico angolare il cui valore massimo è 720 (Span 720).

    Grazie ad una macro eseguita a tempo vado a calcolare il valore da passare alla lancetta delle ore, che è data dalla formula Angle=Hour*60+Minute //Valore angolo (0-720). Ecco come viene definita la macro in EasyBuilderPro (Screenshot).

Stai visualizzando 15 post - dal 3,136 a 3,150 (di 4,379 totali)