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




Sotto Programmi


Messaggi consigliati

Inserito:

ciao a tutti ragazzi

potete darmi un consiglio?

vorrei aggiugere ad un mio programma (main) dove si attivano due outpout di allarme q4.6 e q4.7 un sottoprogramma dove due ulteriori ingressi interrogati in una determinata condizione alzerebbero comunque le stesse uscite per allarme .

Dubbio!!! se ho una condizione di allarme nel programma principale il fatto che nel sottoprogramma sono a off posso avere dei problemi!!,si alzano ugualmente?

grazie


Inserita:

non sei stato chiarissimo, ma vediamo se interpreto bene e riesco a consigliarti.

Io mi appoggerei a dei merker sia per l'attivaizone degli allarmi nel programma main (OB1?) e nel sottoprogrmma (FC?).

alla fine di tutto metto in or i merker per l'assegnazione delle uscite.

NB: Se fai un'assegnazione alla stessa uscita in due punti vince l'ultima

Inserita:

Se le comandi con un'istruzione "set" sì, mentre se le comandi con l'istruzione "=" vale solo la condizione letta per ultima.

Se usi il "set" devi comunque gestire da qualche parte anche un "reset".

Altra soluzione: utilizzi merker di appoggio e con questi merker vai a comandare le uscite in un unico punto.

Inserita:

Non puoi definire la stessa uscita in due punti differenti del programma: "vincerà" sempre l'ultima assegnazione!!!

(salvo salti o richiami condizionati che fanno eseguire solo la parte di programma interessato, ma non è un bel modo di lavorare, e comunque non il tuo caso)

Per ogni allarme devi usare due merker ausialiari (uno definito nel main, com'è definito ora l'allarme, l'altro nel sottoprogramma che vuoi aggiungere) e metterle in OR per fare l'assegnamento dell'uscita

ciao

Inserita:

Allora da quanto sembra non sei espertissimo.

1- Parti dal presupposto che il ciclo programma è uno solo (se usi S7 300 l'OB 1), allinterno di questo devi richiamare quelli che tu chiami sottoprogrammi, che verranno eseguiti con lo stesso ordine in cui tu li hai richiamati all'interno dell'OB1.

2- Se tu usi 2 volte la stessa uscita (in uquale), assumerà sempre il valore dell'uscita utilizzata per ultima sul ciclo programma.

Spero di essere stato abbastanza chiaro.

Inserita:

grazie a tutti ho capito

ps non sono esperto nel mondo dei plc comunque ce la metto tutta

ho fatto da poco un programm con una cpu s7224 dove 40 sensori per 40 ingressi controllano il passaggio di un prodotto per tutto il trgitto di una spirale se il prodotto si incaglia ogni ingresso ha un timer che dopo tot tempo alza le mie uscite di allarme .

Da poco mi sono accorto che dovrei controllare anche la caduta in un determinato posto del trgitto utilizzando due riceventi e due trasmittenti interrompendo cosi il fascio in caso di caduta purtroppo non ho piu uscite disponibili visto che ne ho usate 38 per visualizzare con led da quadro il piano corrispondente dove e avvenuto l incastro le altre due sono sirena e lampeggiante.

merker ne ho usati una valanga per non dover trovarmi problemi con il ciclo di scansione,e per quest ultima modifica volevo usare qualche cosa di diverso grazie ciao

ps se questo forum e per piu esperti entro nell altro per dilettanti

Inserita:
ps se questo forum e per piu esperti entro nell altro per dilettanti

Guarda che nessuno ti ha mosso critiche; molto semplicemente, dalla domanda che hai fatto, si capisce che non sei un esperto di plc.

Qualcuno ha per caso detto che questa è una colpa, o che su questo forum possono postare solo quelli che programmano plc da almeno 12 anni?

Non mi pare!

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