Aldebaran Inserito: 17 ottobre 2003 Segnala Share Inserito: 17 ottobre 2003 Salve a tutti!!Purtroppo sono nuovo del settore, e dovendo iniziare a programmare PLC siemens s7 300, mi sono gettato nello studio di questo linguaggio di programmazionee.Ho scaricato un piccolo simulatore di plc per vedere come funzionano le istruzioni awl, ma credo che non funzioni bene. Ecco l'esempio. Ho un ingresso e una uscita. A seconda del valore dell'ingresso, l'uscita dipende da due blocchi separati. E' come un if-then-else.Se ingresso=0 allora Uscita dipende da set istruzioni 1Se ingresso=1 allora Uscita dipende da set istruzioni 2L' ho realizzato con: U "Ingresso" SPBN ciclo2 ON "Condizione1" ON "Condizione2" = "Uscita" SPA fine ciclo2: U "Condizione3" = "Uscita" fine: NOP 0in cui Condizione1, Condizione2 e Condizione3 sono altri 3 ingressi. Il funzionamento da me voluto è che se l'ingresso è zero, allora l'uscita segue identicamente la condizione3; se ingresso è uno, allora l'uscita è sempre alta a meno che gli ingressi Condizione 1 e 2 non siano contemporaneamente alti.Pensavo che funzionasse perchè l'istruzione SPBN porta a zero il bit di prima interrogazione, e quindi l'istruzione seguente ON che fa uso normalmente del valore di RLC, in questo caso non fa da or negato con RLC in quanto il bit /ER è zero e legge semplicemente la condizione 2.Il simulatore anche se condizione 2 e3 sono entrambi alti, continua a dare l'uscita alta (nel ramo di ingresso alto naturalmente). Questo perchè l'istruzione SPBN porta a 1 il valore di RLC e la prima istruzione ON fa l'or negato con RLC=1 e quindi l'uscita non si annulla mai, infischiandosene del \ER=0.Non è vero che l'istruzione SPBN porta a zero il bit di prima interrogazione, o non è così che funziona /er oppure non funziona il simulatore?Grazie per chi può chiarirmi. Link al commento Condividi su altri siti More sharing options...
fabri Inserita: 17 ottobre 2003 Segnala Share Inserita: 17 ottobre 2003 Ciao, è successo anche a me quando ho cominciato a programmare PLcdevi pensare quasi al contrario rispetto a prima per es.quando programmi in basic o java assegni con := alle variabili valori diversi in diversi punti del programma,quando programmi un plc devi usare una sola volta nel programma l'istruzione "=" altrimenti il PLC aggiorna l'uscita in base all'ultima "=" che trovanel tuo caso diventa tipo: (in ladder perche di solito uso omron)cond1 ingresso uscita-| |---------||---------()cond2 |-||------cond3 |-||------se lavori cosi mantieni il programma semplice da leggere e da controllare Ciao, Fabrizio Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 17 ottobre 2003 Segnala Share Inserita: 17 ottobre 2003 Il programma di Aldebaran e' corretto in Step 7 (300/400). Probabilmente il "piccolo simulatore" non e' adatto.D'accordo con fabri che non si dovrebbe mai usare l'assegnazione due volte, ma in questo caso viene eseguita sempre e solo una di esse, percio' funziona. Link al commento Condividi su altri siti More sharing options...
Aldebaran Inserita: 17 ottobre 2003 Autore Segnala Share Inserita: 17 ottobre 2003 Grazie a tutti e due!!In effetti non credevo di aver interpretato male la funzione del bit \ER, e la funzione SPBN lo porta a zero.A presto. Link al commento Condividi su altri siti More sharing options...
luciopro Inserita: 17 ottobre 2003 Segnala Share Inserita: 17 ottobre 2003 io preferisco dopo ogni salto ripartire da zero con le condizioni in questo modo me ne frego del risultato dell'interrogazione del salto!!!!! Soprattutto se le interrogazioni sono poche!! Link al commento Condividi su altri siti More sharing options...
Aldebaran Inserita: 17 ottobre 2003 Autore Segnala Share Inserita: 17 ottobre 2003 x Luciopro: cosa intendi ripartire da zero dopo ogni salto?Metti a zero il RLC con l'istruzione CLR? Link al commento Condividi su altri siti More sharing options...
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