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




Twido Soft - subroutine


Messaggi consigliati

Inserito:

Con il programma Twido soft, è possibile richiamare una subroutine (SR..), all'interno di di un'altra subroutine (SR..)?

Ho provato, ma non mi sembra che funzione, mi da errore di compilazione! ;)


Inserita:

dimmi come inserisci i tuoi salti perchè non ci sono per me limitazioni

Inserita:

esempio:

ld %i0.4

sr1

end

sr1:

ld %i0.5

sr2

ret

sr2:

ld 1

s %m0

ret

Inserita:

ho scritto pari pari, ed è corretto!!!

Non c'è nient'altro che possa darti l'errore di compilazione?? Hai solo questo nel tuo programma? Questo va bene, ma andava bene anche senza che lo scrivessi direttamente...

Inserita:

Dall'. IN LINEA di TWIDO SOFT :

Indicazioni

Una subroutine non deve richiamare un'altra subroutine.

Le istruzioni di subroutine non possono essere racchiuse tra parentesi e non devono essere posizionate tra le istruzioni AND(, OR(, e un'istruzione di parentesi chiusa ")".

L'etichetta può essere posta solo prima di un'istruzione LD o BLK che segna l'inizio di un'equazione booleana (o rete).

La chiamata alla subroutine non deve essere seguita da un'istruzione di assegnazione. Questo perché la subroutine può cambiare il contenuto dell'accumulatore booleano. Pertanto, su un ritorno, essa può avere un valore diverso da quello posseduto prima della chiamata. Vedere l'esempio seguente.

bigalex :blink:

Inserita:

vero, sinceramente ho solo ragionato sul fatto che la chiamata ad una subroutine non è altro che un salto ad un gruppo di istruzioni concluse le quali si risalta all'indietro al punto subito successivo alla chiamata. In effetti però il twido non permette subroutine annidate, ciò non toglie che si possa fare l'identica cosa usando i salti normali. Quindi molto semplicemente invece di chiamare la SRxx, salta ad una Label %Lxx e fai le identiche cose. Al posto di RET ovviamente risalti ad una %Lxx posta nel punto corretto.

Ad ogni modo l'errore viene dato non in fase di sviluppo, ma se vai a scaricarlo nel plc... e se scegli di vedere che tipo di errore hai commesso, il twido lo dice chiaramente che non si possono annidare SR in altre SR senza dover domandare al forum o guardare nell'.

Inserita:

grazie per le risposte.....era quello che immaginavo, solo che sull'. non ero riuscito a trovare ciò che ha indicato bigalex.

grazie ancora

Inserita:

Bastava inserire nella ricerca SR e ci arrivavi in un battibaleno . :)

bigalex :blink:

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