Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,951 a 1,965 (di 4,482 totali)
  • Autore
    Post
  • in risposta a: Errore esecuzione programma EasyBuilderPro #40001
    Sergio Bertana
    Amministratore del forum

    Prova a disinstallare il programma ed a reinstallarlo con firewall e antivirus chiusi.

    in risposta a: Simulazione connessione con sistema SlimLine #40000
    Sergio Bertana
    Amministratore del forum

    No purtroppo il simulatore SimuLab del PLC SlimLine presente in LogicLab simula solo il funzionamento del programma (Topic), con il simulatore è possibile realizzare programmi PLC in IEC61131, trasferirli nel simulatore, mandarli in esecuzione, eseguire il debug come se si fosse connessi ad un sistema reale. Ma il simulatore non gestisce la comunicazione Modbus.

    Disponendo di un sistema PLC reale è possibile il contrario, simulare il pannello (Con il simulatore inserito in EasyBuilderPro) testando il funzionamento del programma sviluppato connettendosi al PLC (In seriale o in Ethernet).

    Se proprio vuoi simulare la comunicazione con il PLC trovi in Internet ottimi simulatori di Modbus, per esempio ho utilizzato questo simulatore modbus master, e come vedi nello screenshot ho simulato il progetto di startup (Topic). Naturalmente se ti connetti in TCP/IP dovrai impostare l’IP del PC che esegue il simulatore con lo stesso IP definito nel progetto terminale.

    in risposta a: Informazioni su contatore di energia SDM630MCT #39999
    Sergio Bertana
    Amministratore del forum

    Il contatore di energia SDM630MCT è una conveniente soluzione per misurare e visualizzare i parametri di potenza e qualità elettrica, facile da programmare ed ha una navigazione è friendly. Come dice il manuale utente (Download dal sito) può funzionare con tensioni fase/neutro da 100 a 295 Vac e tensioni fase/fase da 173 a 500 Vac quindi è sicuramente adatto per operare su linee trfase a 400 Vac.

    Lo strumento si alimenta con una tensione da 85 a 275 Vac. La sua portata nominale è 5A ma è pensato per poter utilizzare trasformatori amperometrici esterni che si rapportino ai suoi 5A nominali.

    Con il parametro CT si configura il TA, impostando la corrente del secondario (1 o 5 A) ed il rapporto di trasformazione. Se per esempio si utilizza un TA 100/5 si imposterà una corrente di 5A ed un rapporto 20.Allo stesso modo è previsto l’utilizzo di un trasformatore di tensione nel caso si inserisca lo strumento su linee a tensione più elevata.

    Con il parametro PT si configura il trasformatore, impostando la tensione del secondario (da 100 a 500 V) ed il rapporto di trasformazione. Se per esempio si utilizza un trasformatore 1000/100 si imposterà una tensione di 100V ed un rapporto 10.

    Attenzione, lo strumento da noi gestito è certificato MID, quindi i parametri CT e PT possono essere impostati una sola volta.

    in risposta a: Una libreria per la gestione del servizio REST #39998
    Sergio Bertana
    Amministratore del forum

    Rimando alla lettura di questa nota tecnica per una spiegazione dettagliata delle funzionalità del protocollo REST.

    in risposta a: Lettura di 3 temperature da sonde 1-Wire #39996
    Sergio Bertana
    Amministratore del forum

    Non devi usare Ok ma Done per gestire l’Enable, sOWRdTemperature(Enable:=NOT(sOWRdTemperature.Done)). Se vedi il manuale riporta:

    Ok: Attivo per un loop se lettura temperatura eseguita correttamente
    Done: Si attiva al termine della esecuzione lettura temperatura

    Quindi se le lettura non và a buon fine Ok non si attiva ma Done si. Però comunque è strano quello che dici perchè Ok è attiva un solo loop (Quindi non puoi vederla in debug, troppo veloce) e disabilitando Enable si deve azzerare Done. La mia impressione e che tu con Ok attivo non esegui più il FB.

    in risposta a: Lettura di 3 temperature da sonde 1-Wire #39994
    Sergio Bertana
    Amministratore del forum

    Si certo puoi utilizzare una sola istanza del FB sOWRdTemperature, basta definire prima di abilitarlo l’IDCode della sonda. Terminata l’acquisizione della temperatura, puoi disabilitare l’FB, cambiare IDCode e ripetere l’acquisizione della nuova sonda, e così via…

    in risposta a: Visualizzazione su pagina web variabili acquisite da Modbus #39992
    Sergio Bertana
    Amministratore del forum

    Ho realizzato un semplice progetto DemoWebPage, che visualizza su SlimLine la pagina che tu hai postato, in realtà l’ho leggermente modificata cambiando l’indirizzo delle variabili. Ho usato una variabile UINT ed una variabile REAL, ecco la stampa del programma ST di test che contiene anche il istato della pagina web.

    Puoi eseguire il download del programma (Contiene anche pagina htm di test) e verificarne il funzionamento. In questo topic o questo, trovi idee per abbellire la pagina.

    in risposta a: Orologio programmatore festività con lettura da file CSV #39991
    Sergio Bertana
    Amministratore del forum

    In realtà LogicLab ti segnala una warning, cioè un avviso, nel progetto è definito un target diverso dal tuo, basta che nel menù Project?Select Target tu selezioni il sistema Mps053 XTarget 12.0. Comunque il programma funziona correttamente anche con questa warning.

    La connessione ad Internet per l’aggiornamento dell’ora è un optional, puoi tranquillamente cancellare il ramo FBD che lo gestisce. Il tuo sistema ha il real time clock che mantiene data/ora anche allo spegnimento. Se le date sono sempre le stesse, per il calcolo della data di Pasqua puoi utilizzare il blocco funzione riportato in questo topic.

    in risposta a: Calcolo CRC per dispositivi One-Wire Maxim #39989
    Sergio Bertana
    Amministratore del forum

    I prodotti Maxim iButton sono una famiglia di dispositivi che comunicano tutti su un solo filo con il protocollo 1-Wire, ogni  dispositivo ha un codice univoco di 8 byte. Il byte meno significativo (letto per primo) identifica il tipo di prodotto (family code), i successivi 6 byte contengono il numero seriale (indirizzo dispositivo), il byte più significativo (letto per ultimo) è il cyclic redundancy check (CRC).

    Utilizzando una comunicazione seriale ad indirizzamento è possibile collegare in parallelo (Su un unico bus) più dispositivi come le sonde di temperatura One-Wire della Sensit. Ma è possibile anche utilizzare TAG di riconoscimento per controllo accessi ed una gamma di altri prodotti commerciali. L’acquisizione avviene con un adattatore 1-Wire a RS232 connesso alla porta seriale o collegando il dispositivo al terminale Picoface (Supporta 1 solo dispositivo).

    Per la lettura dei dispositivi da noi commercializzati forniamo delle librerie già pronte, venendo dietro alla tua richiesta ho estrapolato dalla libreria ePLC1WireLib la funzione OWCRC8Calc che esegue il calcolo del CRC. Ecco il programma OWCRCCalculation (stampa e download) che esegue il calcolo del CRC.

    in risposta a: Utilizzo uscite analogiche modulo esp. 20I/O mixed signals #39988
    Sergio Bertana
    Amministratore del forum

    Per la riparazione occorre compilare il modulo RMA, se il guasto è solo sul circuito di uscita si tratta di sostituire il driver e sicuramente il costo è inferiore a quello di un nuovo modulo. Ma devi considerare che le riparazioni sono sempre un azzardo, può essere che si sia guastato più di quello che immaginiamo. Poi devi aggiungere i costi di spedizione ed il tempo di riparazione (Solitamente 1 settimana) durante il quale rimani senza modulo.

    Visto che il modulo funziona in tutte le altre sue funzioni, valuta tu se mandarlo a riparare o acquistare un nuovo modulo e tenere il tuo come “muletto” per tests.

    in risposta a: Orologio programmatore festività con lettura da file CSV #39986
    Sergio Bertana
    Amministratore del forum

    Con i nostri  moduli CPUSlimLine è possibile facilmente realizzare quello che desideri. Il FB SysETimeToDate ti ritorna il valore del giorno, mese, anno, ora, minuti, secondi attuali, puoi in modo semplice da neofita della programmazione utilizzare le comparazioni per comparare il valore con le date da te definite. Naturalmente ci sarà una comparazione per ogni data, ecco un esempio in ST.

    DateTime(); (* Date/Time value *)
    Festivity:=FALSE; (* Festivity flag *)
    IF ((DateTime.Day = 1) AND (DateTime.Month = 1)) THEN Festivity:=TRUE; END_IF;
    IF ((DateTime.Day = 6) AND (DateTime.Month = 1)) THEN Festivity:=TRUE; END_IF;
    IF ((DateTime.Day = 15) AND (DateTime.Month = 8)) THEN Festivity:=TRUE; END_IF;

    In questo modo quando desideri cambiare le date devi modificare il programma. Puoi anche usare al posto dei valori predefiniti da programma delle variabili tampone e modificare le variabili da debug oppure da pannello operatore, ma dovresti già a priori assumere un numero di confronti. Molto più versatile è invece gestire le date tramite un file CSV, ogni volta che vuoi modificare le date ti basterà trasferire via FTP il nuovo file nel sistema.

    Sono partito dal FB riportato in questo topic per realizzare un nuovo FB che gestisce la lettura di un file CSV e attiva il comando se la data odierna è definita nel file, ecco il listato del FB. Il FB è volutamente ridotto al minimo, viene eseguita solo la ricerca di giorno/mese, deve servire da stimolo ai clienti per realizzare il proprio FB con gestione dell’anno, aggiungendo anche gli orari ecc.

    Fornisco l’intero progetto LogicLab con un programma in FBD (Screenshot), che istanzia il blocco funzione in modo da poterne testare il funzionamento. Per completezza nel progetto (Ramo 0001) ho inserito anche l’aggiornamento automatico del real time clock con un server NTP su Internet in modo da avere sempre la data corretta. Nel ramo 0002 attivando Di00CPU viene eseguito il FB che attiverà Do00CPU se è un giorno festivo, nella tua richiesta se vuoi disattivare l’uscita inserirai un NOT (Download progetto con file CSV di esempio).

    in risposta a: Programma di virtualizzazione COM seriali gratuito #39985
    Sergio Bertana
    Amministratore del forum

    Rimando a questo articolo nella nostra knowledge base per ulteriori informazioni.

    in risposta a: Effettuare la scalatura di un valore #39984
    Sergio Bertana
    Amministratore del forum

    La funzione Linearize esegue il calcolo del valore in uscita in base al valore in ingresso basandosi su due arrays VInReference e VOutReference, alla esecuzione della funzione i due arrays devono essere valorizzati. Quindi per leggere i valori da un file CSV devi leggere il file e trasferire i valori nei due arrays. Credo che basandosi sui due topics che hai citato puoi già avere una idea di come fare.

    Ma se la necessità è di modificare dinamicamente i valori negli arrays, basta molto più semplicemente dichiarare gli arrays come RETAIN e con LogicLab da debug modificarne i valori.

    Se definisci gli arrays RETAIN ogni volta che carichi il programma il loro valore viene reinizializzato al valore di init. Se desideri che rimangano i valori impostati da debug basterà allocare gli arrays nell’area di memoria tampone (Da DB100.2048 in avanti). In questo topic informazioni sull’uso della memoria ritentiva.

    in risposta a: Informazioni sui terminali MT8071iE #39981
    Sergio Bertana
    Amministratore del forum

    Il modello HWP8071iE1 rimpiazza il modello HWP8070iE1, ha le stesse caratteristiche con in più la certificazione ATEX. Per la programmazione si utilizza sempre EasyBuilderPro.

    in risposta a: Nuovo blocco funzione per Gateway Modbus TCP/RTU #39979
    Sergio Bertana
    Amministratore del forum

    E’ passato un pò di tempo dal primo post nel frattempo è uscito un nuovo target XTarget_12.0 ed alcune cose sono state migliorate, ora sono disponibili il FB SysTCPServer per gestire la connessione TCP in modo server ed il FB SysSerialPort per gestire la porta seriale, ho quindi ripreso il vecchio progetto modificandolo ed ho pensato di realizzarlo in FBD anzichè in ladder ecco il risultato. Qui poi scaricare il programma sorgente.

    Ma veniamo alla tua domanda, intanto il programma è un gateway di comunicazione, cioè permette il passaggio dei dati da una connessione TCP verso una connessione seriale e nel passaggio il FB ModbusTCPGateway esegue la conversione dal protocollo Modbus TCP al protocollo Modbus RTU e viceversa.

    Se vedi la porta in ascolto sul server TCP è la 1000 (La porta 502 è quella gestita di default dallo SlimLine con il Modbus TCP), quindi devi nel TIA portal impostare la porta 1000 altrimenti dialoghi con il protocollo Modbus dello SlimLine ed intereoghi i suoi registri interni e non quelli del termoregolatore.

    Per quanto riguarda l’indirizzo delle variabili 40001 e 40002 sono indirizzi di variabili dello SlimLine ma tu devi riferirti agli indirizzi delle variabili del termoregolatore.

Stai visualizzando 15 post - dal 1,951 a 1,965 (di 4,482 totali)