Jump to content
PLC Forum


Giovanni Segreto

Quali sono le differenze tra una programmazione fatta con software siemens step 7 tia portal e software omron

Recommended Posts

step-80

Mi scuso per aver ormai ampiamente sporcato la discussione ma tant'è ..ormai faccio un altro tentativo..

 

Batta, il discorso multiistanza è chiaro(sono andato a vedermi anche l'.). 

Dove mi incarto ora è qui:

 

Tia1.thumb.png.b7db0b3681a7c0f64786b62989498654.png

 

o meglio, in qualche modo dovrò poter dire all'FB dell'asse 1 per esempio che l'asse che si vuole comandare è proprio l'asse 1(credo). 

Ho provato a creare una variabile come input chiamata 'Asse' (vd foto) ma non trovo nella lista la dicitura 'To_Axis_PTO . 

Dove mi perdo? o meglio, come dico poi all'FB qual'è l'oggetto tecnologico che devono prendere in considerazione? 

Share this post


Link to post
Share on other sites

batta

Il parametro dell'asse lo devi passare come IN/OUT.
Per la dichiarazione, come tipo di dato, devi scrivere il tipo di oggetto tecnologico che hai usato per quell'asse: TO_SpeedAxis, TO_PositioningAxis. TO_SynchronousAxis, e così via.

Qui sotto vedi un esempio di come dichiarare le variabili nel blocco FB.
image.png.941021f6917a57c4db84fd8801c19065.png

 

E qui come si presenta invece il richiamo del blocco FB.

image.png.05544c33b0080d035267166a3771bf14.png

Share this post


Link to post
Share on other sites
step-80

Perfetto. Grazie Batta, chiarissimo come sempre:worthy:

Share this post


Link to post
Share on other sites
step-80

@batta Dato che ci siamo, nella mia immensa ignoranza non ho mai capito perchè esistano le variabili In,Out,InOut. 

Mi spiego: so a cosa servono ma mi sono sempre chiesto : che vantaggio puó avere dichiarare una variabile ‘solo’come in? E ‘solo’come out? Perchè non si dichiarano tutte InOut e basta? 

 

Mi è capitato, dentro l’FB di cui parlavo sopra, di dover eseguire un’autoritenuta di una variabile dichiarata come Out. Mettendo la bobina tutto ok, nel mettere il contatto il sistema mi avvertiva giustamente che non la potevo andare a ‘leggere’ e che quindi dovevo dichiararla come InOut. 

Forse ho sbagliato io ad usare una autoritenuta ‘direttamente’ su un bool dichiarato come Out. 

Edited by step-80

Share this post


Link to post
Share on other sites
batta

La distinzione ha una motivazione, diciamo, filosofica, ma anche motivazioni pratiche.

E, comunque, distinguere tra cosa può essere solo letto, solo scritto o letto e scritto, secondo me aiuta.

Poi, se richiami un blocco, ad un parametro di ingresso puoi collegare, volendo, contatti in serie o in parallelo. Ad un parametro OUT oppure IN/OUT, ovviamente, non lo puoi fare.

C'è anche un'altra grande differenza: se passi come parametro una struttura, nel caso di parametri IN o OUT viene replicata l'intera struttura, che poi vedi anche nel db di istanza. Passando invece una struttura come IN/OUT (come nell'esempio degli assi), non viene replicata tutta la struttura, ma viene usato un puntatore. Se provi ad aprire il db di istanza, vedi subito cosa intendo.

Share this post


Link to post
Share on other sites
step-80

Rinnovo i ringraziamenti . 

Scusate se ho sporcato la discussione :smile:

Share this post


Link to post
Share on other sites
step-80

@batta ti chiedo gentilmente lumi. Ovviamente anche a chiunque altro voglia intervenire.

 

Dunque TIA V11, quindi vecchiotto.

Ho 16 bool in un DB che voglio inviare ad una cpu remota con l'istruzione PUT. Allego immagine del DB.

 

1801697960_TIA2.thumb.png.7df48430e26c4f666bece18f26ea8c84.png

 

Ovviamente volevo inviare i 16 bool insieme ma il blocco PUT non mi permette(o non sono capace) di inserire nel parametro SD_1 i 16 bool cosi come sono. Cercavo una istruzione per trasferirli in una word ma non ho trovato nulla che facesse al caso mio e quindi li ho trasferiti bit per bit(vedi immagine)

 

323456869_TIA1.thumb.png.cce06f50b1e6e0c63ac8278fe11e7903.png

Come vedete l'indirizzo mi viene dato in Giallo in quanto mi dice che l'area di dati non è stata trovata. In compilazione mi escono avvisi ma nessun errore. 

Sul blocco poi ho inserito la word :

 

745612699_TIA3.png.a5102e2b5e8e2b3b6ff20ae93730b74e.png

 

C'era un sistema piu elegante per fare ciò che ho fatto? 

Ti Sento spesso parlare di GHATER o SCATTER , ma non le trovo, credo sia per la versione datata . Potevano fare al caso mio?

 

Ho sentito dire spesso che Siemens ha i bit 'al contrario' ...Questo significa che quando ricevo i dati sull'altra cpu devo invertire qualcosa o l'ordine viene rispettato?

 

Grazie anticipatamente come sempre

Edited by step-80

Share this post


Link to post
Share on other sites
leleviola
13 ore fa, step-80 scrisse:

Ho sentito dire spesso che Siemens ha i bit 'al contrario' ...Questo significa che quando ricevo i dati sull'altra cpu devo invertire qualcosa o l'ordine viene rispettato?

quando punti a una DWord il numero di Word a cui punti non è la Word meno significativa ma la Word più significativa, la seguente è quella meno significativa, se sei abituato a Mitsubishi in cui quella a cui punti è quella meno significativa in Siemens è il contrario

Share this post


Link to post
Share on other sites
batta
20 ore fa, step-80 scrisse:

C'era un sistema piu elegante per fare ciò che ho fatto? 

Ti Sento spesso parlare di GHATER o SCATTER , ma non le trovo, credo sia per la versione datata . Potevano fare al caso mio?

Ti confermo che Gather e Scatter non ci sono nella tua vetusta versione di TIA.
Nel DB11, i 16 bit che devi inviare li potresti dichiarare come una STRUCT di 16 bit, anziché come una word.
Poi, nel richiamo di PUT, metti il nome della struttura in SD_1.

Se, per non so quali motivi, desideri mantenere la Word, cerca nella guida in linea "sovrapposizione con AT".
Io penso però che se trasformi la word in struttura di 16 bit, sia tutto più chiaro.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...