Vai al contenuto
PLC Forum


Richiamare Un Programma - dicitura call


ANTONIO PLC

Messaggi consigliati

Buongiorno avrei un problemino un po strano ,dovendo richiamare un SBR non riesco a trovare la dicitura CALL non vorrei fosse un problema del mio programma ? Grazie a chi mi risponda . :(

Link al commento
Condividi su altri siti


la funzione con il nome call non cè, ma per richiamare un sbr basta che vai all ulltima cartella dove cè scritto richiama sottoprogrammi lo apri e poi cè il box sbr se ne è stato creato solo uno altrimenti sono in ordine numerico crescente. ;)

Link al commento
Condividi su altri siti

Ciao. io utilizzo nell'S7200 il KOP e, come ti è stato detto, non esite il comando CALL.

Per far ciclare un sottoprogramma utilizzo i due merker SM0.1 o SM0.0

In pratica nel ramo del segmento scrivo ( tradotto in AWL ).

LD On_primo_ciclo:SM0.1

CALL OB100_RST:SBR0

OB100 è solo come esempio, tu potresti mettere il blocco che ti interessa.

La differenza tra SM0.0 e SM0.1 è che SM0.0 è sempre a 1 per tutto il ciclo

mentre SM0.1 è a 1 solo per il primo ciclo macchina.

Spero di essere stato esauriente.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao pelino grazie x (=per) la risposta inoltre ho letto sul manuale che per iniziare un sottoprogramma dovrei assegnare un etichetta per dare al sottoprogramma il numero però o notato che anch'essa non c'è tra i simboli come procedo grazie.

Modificato: da Livio Migliaresi
Link al commento
Condividi su altri siti

Ciao, non so cosa intendi per etichetta, io no richiamo nessuna etichetta per lanciare un

sottoprogramma, mi limito ad inserirlo, in un segmento facendolo precedere da uno dei

merker S che ti avevo descritto nel precedente post.

Solitamente utilizzo SM0.0 che è sempre alto ( sempre che io voglia far ciclere il blocco

ad ogni scansione del programma ).

Non vorrei che per etichetta tu intenda un salto, questo io no l'ho mai fatto.

Prova a creare un sottoprogramma con una semplice istruzione e poi nel main

lo fai ciclare con SM0.0 e vedrai che funziona.

Io utilizzo una CPU 214 XP e ho utilizzato le uscite veloci Q0.0 e Q0.1 per

pilotare due motori passo/passo, se la cosa ti può interessare..........

Non sono un grande esperto di 200, visto che ho sempre utilizzato

300 e 400 ma un pò di esperienza me la sono fatta.

Link al commento
Condividi su altri siti

Cciao pelino come etichetta intendevo dire non il richiamo dalla SRB cioè la bobina ma ( inizia sottoprogramma n ) quel quadrante che si pone dopo il richiamo della SBR se hai dei manuali potresti vedere un esempoi .IO sto cercando di imparere dai manuali Siemens ,sinceramente mi sto trovando molto in difficolta . Grazie a tutti per i consigli e il tempo che mi dedicate con le vostre risposte.

Link al commento
Condividi su altri siti

Ciao pelino adesso sto provando a far funzionare questa benedetta sbr esempio scrivo nel main il programmino dopo di che vado nella sbr 0 e gli scrivo il programma che mi dovrebbe funzionare da sottoprogramma ,giusto ? vorrei sapere il richiamo sm0.1 lo scrivo nel main a fine programma o nel sottoprogramma al primo segmento ?

Link al commento
Condividi su altri siti

Ciao, allora senti questa:

nel sottoprogramma ( SBR0 ) scrivi una semplice istruzione, per esempio con I0.0 metti a 1 Q0.0

poi nel main segmento 1 richiami il sottoprogramma e davanti metti SM0.0 in modo che cicli sempre.

Per caricare il box ( sottoprogramma SBR0 ) devi andare in Richiama sottoprogramma e trascinarlo

dopo il contatto aperto di SM0.0 nel segmento 1.

Ogni sottoprogramma che richiami deve sempre essere preceduto da un contatto aperto o chiuso che sia,

quando vuoi che un sottoprogramma cicli sempre devi farlo precedere da ( per comodità ) SM0.0.

Il merker SM0.0 è un merker di sistema che è sempre a 1 per tutto il programma.

Nel successivo esempio io richiamo il sottoprogramma Restart, per vedere le istruzioni in KOP prima

scrivi in AWL l'esempio successivo e poi lo visualizzi in KOP. Prima però devi creare il sottoprogramma

RESTART(SBR0) o cumunque un sottoprogramma con un nome differente.

LD Always_On:SM0.0

CALL RESTART:SBR0

Link al commento
Condividi su altri siti

L'istruzione più corretta e comprensibile è questa, dimentica quanto ti ho indicato nel precedente post

l'avevo presa da un mio progetto.

LD SM0.0

CALL SBR_0:SBR0

Ho provato ad allegarti l'esempio ma non sono riuscito. non mi accetta il tipo file .mwp

ho provato a rinominarlo .doc post-210848-0-88920300-1405177734_thumb.,

vedi se riesci a leggerlo rinominandolo .mwp.

Link al commento
Condividi su altri siti

CIao pelino adesso ho letto tutto dopo provero il tutto come mi hai suggerito ti faccio sapere .Non so quando leggerai la mia risposta ti faccio i miei piu sentiti auguri di buon fine anno e di un buon inizio per te e per tutti gli amici del Forum GRAZIE ANCORA .

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