Vai al contenuto
PLC Forum


S7-graph - Passo Iniziale Di Una Sequenza - come impostare il passo dal quale partire


autojac

Messaggi consigliati

Salve, io ho una sequenza di azioni, creata in linguaggio Graph. Mi si presenta un problema. Quando carico il programma nel plc (nel Plc-sim) e vado online, mi ritrovo subito nel passo 12 della sequenza, e non nel passo 0, che nelle sue proprietà è impostato come "passo iniziale". Mi chiedo, com'è possibile che la sequenza, sia arrivata gia al passo 12, dal momento che non soddisfa nessuna delle azioni necessarie per andare avanti nei vari passi di sequenza??? Quando carico il software, la sequenza non dovrebbe partire da zero??

Quindi, sembra quasi, che abbia preso di default di dover iniziare da quel passo 12. Chiedevo a voi, molto piu esperti di me, se c'è qualche impostazione-opzione da settare, affinche la mia sequenza parta dal passo zero. Ripeto: il mio passo zero è gia impostato come passo iniziale (clic a dx sul passo -> spunta su passo iniziale).

Link al commento
Condividi su altri siti


Errori nei settaggi del compilatore? Utilizzo della DB di istanza altrove nel programma, "sporcando" magari qualche word?

Sei certo che, come dici, non ci sono le condizioni perché la sequenza vada avanti fino al passo 12? Hai dei salti, tali che ti portino al passo 12 o precedenti, senza che te ne accorgi?

Se l'init sequenza lo fai correttamente, ma immancabilmente la sequenza arriva al passo 12 "da se", allora il problema è logico.

Io non ho notizia di errori da parte del compilatore, uso S7-GRAPH V5.3 + SP6.

Verifica di non avere ripetuto la spunta "passo iniziale" anche sul 12, od in quelli intermedi. (Spero tu lo abbia già fatto prima di postare). Devi avere solo un riquadro con bordo doppio.

Link al commento
Condividi su altri siti

ho ri-controllato per sicurezza e come passo iniziale c'è solo lo step 0. Sto controllando le logiche.. ci dev'essere qualcosa.. dev'essere un salto..perche è impossibile che faccia tutti quei passi, vincendo le condizioni delle varie transazioni..

Link al commento
Condividi su altri siti

Prova a mettere un bit certamente "false" in tutte le transizioni, poi lo togli, una alla volta, e vedi un poco dove è il problema.

Prova a catturare, per ogni ciclo di scansione, il valore di passo attuale su una word sempre diversa, (insomma, fatti un logger), e vedi quale sequenza passi fa prima di fermarsi.

Link al commento
Condividi su altri siti

Salve,

nel richiamo della FB creata per la logica GRAPH, giusto per capire almeno la provenienza del problema, hai provato ad usare i comandi OFF_SQ ed INIT_SQ, in maniera tale che all'avvio della CPU il programma GRAPH sia sicuramente blocccato??

Con OFF_SEQ disattivi tutti i passi, con INIT_SEQ, parti dal primo passo facendo prima però un reset della catena sequenziale.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

ok. errore concettuale. Avevo messo la possibilità di andare nella sequenza di blocco (che inizia nel passo 11..), anche mentre si era nel passo iniziale (dove non si fa nulla, si attende solo la richiesta di avvio della sequenza). Essendo in simulazione e non a bordo campo, quando avvio il plc, ho sempre qualche causa di blocco, che mi manda quindi in quella fase di sequenza. Nella realtà probabilmente non sarei andato a finire in quel passo, ma è comunque sbagliato prevedere la possibilità di andarci, essendo in quello stato iniziale.

Non so se mi sono spiegato, comunque chiedo scusa per il disturbo. Al di la dell'errore concettuale, ho sempre qualche dubbio sulla sintassi o sulla tecnica del software, in quanto è la prima volta che lo utilizzo..

Grazie per il supporto..

Link al commento
Condividi su altri siti

essendo ancora in fase di sviluppo del software comunque ho aggiunto un permissivo, che devo settare a 1, io personalmente ad ogni passo, per evitare salti veloci nella catena.. (come suggerito da Mubeta credo..)

Link al commento
Condividi su altri siti

Visto che lo hai postato, voglio replicare che però, a mio avviso, è meglio lasciare sempre la catena in automatico, usando solo "INIT_SQ" per resettarla, e mettere un bit in tutte le transizioni di avanzamento continuo o passo - passo. Non mi piace ne come è concepito "OFF_SQ", che, anche se non resetta la sequenza, non da modo di riattivarla, ne come è concepita la commutazione tra automatico/passo-passo/manuale.

Link al commento
Condividi su altri siti

Salve,

il mio vuole essere un semplice suggerimento.

ho sempre qualche dubbio sulla sintassi o sulla tecnica del software, in quanto è la prima volta che lo utilizzo..

sicuramente poi uno adotta le soluzioni più congeniali al suo modo di operare.

Come ben si sa, alla fine l'importante è raggiungere il risultato senza arrecare dannno agli altri e a quello che si sta provando.

Solitamente questa modalità suggerita da Siemens non deve essere presa necessariamente come "oro colato", a volte però non vedo il motivo di aggiungere dell'altro quando queste funzioni di supporto sono già messe a disposizione.

Volendo se si preferisce lasciare il tutto in automatico, si può utilizzare anche il comando HALT_SQ. che arresta e riattiva la catena di passi, in sostanza un PAUSE.

Link al commento
Condividi su altri siti

il funzionamento diciamo piu "grezzo", cioe mettendo dei bit e forzandoli volontariamente per andare avanti, è chiaro e non prensta problemi. Per completezza stavo comunque provando a gestire la sequenza passo-passo, con le funzioni fornite dal blocchetto fb.

Per fare una prova, mi metto in manuale, impostando a uno l'ingresso sw_man (che nega sw_auto). Soddisfo volontariamente la prossima transizione, e anche quella dopo, per vedere come reagisce il sistema. Ora la sequenza, se non fosse in passo-passo, andrebbe avanti, ma giustamente non ci va. Da quello che ho capito, visto che le condizioni della transazioni sono soddisfatte, facendo un fronte di salita sul campo T_push, la sequenza dovrebbe andare avanti di uno step.. cosa che però non succede...

dove sbaglio?? oltre a mettere a uno la variabile appoggiata in T-Push, bisogna verificare qualcosaltro??

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...