Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Problema Simulazione Step7


Messaggi consigliati

Inserito:

salve, ho il seguente problema

ho creato diversi blocchi per ogni sottofunzione, poi inserendoli nell'ob1 come fc e facendo partire la simulazione iniziano a lampeggiare, come se le condizioni di enable diventassero vere e false ad ogni ciclo di scansione.

ho fatto la seguenti ipotesi:

- supero il tempo max di elaborazione delle funzioni ( anche se queste non sono affatto complesse circa 146 byte della memoria di lavoro)

ringrazio a tutti sin da ora


Reverendo bit
Inserita: (modificato)

Ciao rixio

Non credi che dovresti dare più informazioni per far capire il problema?

ho creato diversi blocchi per ogni sottofunzione

Spiega meglio cosa intendi

facendo partire la simulazione

Ma usi il plcsim o sei online con la CPU?

Saluti

Modificato: da Reverendo bit
Inserita:

semplicemente nell'ob1 ho richiamato diverse fc :

tutte tranne 1 durante la simulazione (su pc )si illuminano di verde che rimane tratteggiata come non venisse eseguita ( ed in effetti non viene eseguita)

nonostante l'enable all'ingresso dell'fc sia alto.

Il codice è scritto correttamente, la mia ipotesi è essendo la funzione con diversi richiami a db, temporizzatori e comparatori troppo complessa e vada in una sorta di tempo limite per l'esecuzione, ma ciò mi sembra strano avendo scritto funzioni più complesse perfettamente funzionanti.

Inserita:

Non esiste un tempo massimo di elaborazione per funzione, ma il controllo temporale è eseguito sull'intero programma utente. E comunque se lo sfori, di default, è previsto lo stop della CPU. Quindi, siccome in stop non ci vai.....

Ricapitolando se enable è alto la funzione viene sicuramente richiamata. Come fai a dire il contrario ? Hai aperto la FC e sei andato in controllo stato e hai visto che non ciclava la banda verde in basso ? Nel post precedente parlavi di lampeggio, quindi veniva elaborata a fasi alterne, giusto ? Fai una cosa: sulla linea dell'enable, subito dopo le tue condizioni inserisci in serie un merker disponibile che ti abilita a sua volta una funzione di ADD su doppio intero. Poi fai lo stesso come primo segmento della funzione secondo te non elaborata, scegliendo lo stesso merker di abilitazione ma una DW di conteggio diversa. Prima di caricare il programma assicurati che il merker di abilitazione sia a 0 come pure le dword di conteggio. Solo a caricamento ultimato imposta a 1 il merker di abilitazione, e verificare i valori della dword, che dovrebbe essere sempre coincidenti. Facci sapere. Non è che ti sei lasciato ingannare dal colore del bordo della FC ??? Devi sapere che il fatto che sia tratteggiata e non colorata di verde non è indice di mancata elaborazione.

Inserita:

trovato il problema:

un rung che ha più move per il reset di allarmi in una db, non permette la corretta esecuzione del blocco.

los copo della linea di codice è sovrascrivere tutti i bit di una db e lo fa semplicemente con delle move di tutti zero, ho messo in allegato un immagine

Inserita:

Premesso che starti dietro non è semplice, mi sembra di capire che il tuo problema derivasse dal fatto di entrare nella tua funzione dopo aver azzerato le word fino alla 4 ma prima di azzerare le word 6-8-10 e quindi avevi un funzionamento anomalo... giusto ?

  • 2 weeks later...
Inserita:

Ho risolto il problema ricreando al funzione. Adesso tutto funziona, ho però un ulteriore problema con le vat , vorrei forzare un insieme di variabili circa 120 sul simulatore plcsim, le comando ma me ne forza solo quelle che vedo in schermata circa 20 , mentre le restanti non vengono coamdnate. anche se riesco a forzarle manualmente al ciclo successivo il simulatore me le resetta. C'è qualche emccanismo di prioirtà di plcsim sulle vat? Queste non dovrebebro avere la precedenza?

Inserita:

In una tabella VAT si effettuano scritture di variabili, da non confondere assolutamente con le forzature.

Questo significa che tu scrivi il valore in un determinato istante e basta.

Se nel programma ci sono poi istruzioni che scrivono nella variabile un altro valore, quello che tu hai scritto da VAT viene sovrascritto.

Inserita:

l'idea di fare era forzare una serie di ingressi dalle vat, invece di selezionarli manualmente uno ad uno da plcsim.

Vorrei avere qualche idea da utilizzare per variarle rapidamente

Inserita: (modificato)

Gli ingressi e le uscite li puoi forzare, ma non nelle VAT.

Nelle VAT fai sempre e solo scritture. Per le forzature devi, dalla VAT, aprire una tabella di forzamento (Variabile --> Forzamento).

Modificato: da batta

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...