Br1.91 Inserito: 16 aprile 2012 Segnala Inserito: 16 aprile 2012 Salve a tutti, sto programmando un vecchio plc siemens S-200 cpu 216, ma è sorto un problema nell' utilizzo dei confronti per abilitare un uscita per qualche secondo. Allora, un contatto I0.0 NA abilita un temporizzatore T101 che è settato a +0,(quindi conterà fino a 3276.7s); nel segmento successivo vi sono due confronti ovvero T101>=I16#20 e T101<=I16#40 e infine l'uscita Q0.0 A questo punto l'uscita dovrebbe essere abilitata tra 2 e 4 s giusto?e invece no Q0.0 RIMANE ATTIVA DA CIRCA 5 SECONDI A 7 SECONDI E PASSA! Sapete spiegarmi perché?
Br1.91 Inserita: 17 aprile 2012 Autore Segnala Inserita: 17 aprile 2012 Ancora nessun aiuto? Io ora sto cercando di scaricare una versione più recente di micro/win, poiché attualmente sto usando la 3.2 ed è un po' anzianotta e perché non sembra proprio un errore di programmazione ma proprio di esecuzione!
rguaresc Inserita: 17 aprile 2012 Segnala Inserita: 17 aprile 2012 Hai usato valori desadecimali e non puoi aspettarti risultati in decimale. Devi fare i confronti con numeri decimali di tipo INT: T101>=20 e T101<40
Br1.91 Inserita: 17 aprile 2012 Autore Segnala Inserita: 17 aprile 2012 Hai proprio ragione, solo che io ho sempre usato quella scrittura li ovvero 16#*** per scrivere confronti e non ho mia avuto problemi fino all' uso di questa vecchia 216! cioè è possibile che nelle cpu tipo 222 o 226 che ho usato più spesso anche se scrivo nel modo sopra citato esegue il programma in secondi? Se questo non fosse vero allora non mi sono mai accorto della differenza che di fatto nelle prime nove cifre dopo lo "0" non persiste ma dalla decima esiste!
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora