DesmoGiec Posted July 29 Report Share Posted July 29 Ciao! tia portal per certi versi mi è ancora sconosciuto, spero possiate aiutarmi. Dunque, con i 300 (e step7 vecchio), in un fc con input any, richiamando l'fc e passando, ad esempio, db80.dbw126, riuscivo ad accedere ad any e a recuperare sia db che indirizzo della variabile passata. Allego esempio: L P##PrimoDatoDB1 // <--- any LAR1 L W [AR1,P#4.0] T #i_DBn[0] L B [AR1,P#6.0] T #w_HW1 L B [AR1,P#7.0] T #w_HW2 L B [AR1,P#8.0] T #w_LW1 L B [AR1,P#9.0] T #w_LW2 L #w_HW1 SLD 8 L #w_HW2 SLD 8 L #w_LW1 SLD 8 L #w_LW2 OD L L#8 /D T #i_SrcMove CALL "BLKMOV ANY" DB_SOURCE :=#i_DBn[0] ADDRESS_SOURCE :=#i_SrcMove COPY_LENGHT :=#LunghezzaConfrontoInByte DB_DESTINATION :=#i_DBn[1] ADDRESS_DESTINATION:=#i_DestMove RET_VAL :=#rtvl Non ho messo il codice intero, ma tanto basta. In questo modo riesco a dinamicizzare le operazioni passando a suddetto FC una word effettiva, con il proprio commento, anzichè passare degli int che rendono "poco capibile" il codice. Come posso replicare la stessa cosa in tia? Non posso accedere direttamente ad any come facevo col vecchio step7. Ho provato a capire come poter usare peek, ma non saprei come dinamicizzare i parametri. in dbnumber e offset mi richiede dei dint, che però dovrei recuperare in qualche modo dall'any.. conoscete qualche metodo simile? Link to comment Share on other sites More sharing options...
drn5 Posted July 29 Report Share Posted July 29 Mah...così su due piedi direi che usando le strutture (UDT) il codice risulterebbe chiaro. Il tuo esempio col 300 se me lo dovessi trovare davanti, oggi, per farci delle modifiche mi farebbe diventare matto... Forse 20 fa aveva senso...oggi no. Link to comment Share on other sites More sharing options...
84paolo Posted July 29 Report Share Posted July 29 Su una FC del tia se fai click con il destro e togli la spunta "Accesso ottimizzato" puoi usarle tranquillamente le variabili Any. A me capita su vecchi software convertiti in TIA di usarli Link to comment Share on other sites More sharing options...
batta Posted July 29 Report Share Posted July 29 Dovrei provare ma, se lavori con blocchi non ottimizzati e AWL, dovresti poter fare la stessa cosa. Hai provato a fare la migrazione da Simatic Manager e S7-300 in TIA e S7-1500 del codice in questione? Bisogna chiedersi però se non ci sia un modo più efficiente per ottenere lo stesso risultato. Link to comment Share on other sites More sharing options...
DesmoGiec Posted July 30 Author Report Share Posted July 30 (edited) 16 ore fa, drn5 ha scritto: Mah...così su due piedi direi che usando le strutture (UDT) il codice risulterebbe chiaro. Il tuo esempio col 300 se me lo dovessi trovare davanti, oggi, per farci delle modifiche mi farebbe diventare matto... Forse 20 fa aveva senso...oggi no. Vero, ma quell'fc non fa parte del programma principale, è una semplice fc che richiamo, che non è oggetto di modifiche "logiche". 16 ore fa, 84paolo ha scritto: Su una FC del tia se fai click con il destro e togli la spunta "Accesso ottimizzato" puoi usarle tranquillamente le variabili Any. A me capita su vecchi software convertiti in TIA di usarli 16 ore fa, batta ha scritto: Dovrei provare ma, se lavori con blocchi non ottimizzati e AWL, dovresti poter fare la stessa cosa. Hai provato a fare la migrazione da Simatic Manager e S7-300 in TIA e S7-1500 del codice in questione? Bisogna chiedersi però se non ci sia un modo più efficiente per ottenere lo stesso risultato. Il blocco non era ottimizzato, avevo già letto di questa cosa, eppure mi dava errore. Oggi, riaprendo il progetto per fare altri test... magia, funziona tutto. Eppure avevo fatto pure la compilazione.. Sarà che l'ho fatta non chiudendo l'fc? Scusate, alla fine funziona tutto per come l'avevo impostato, quindi accedendo ad any come solito. Grazie comunque a tutti Edited July 30 by DesmoGiec Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now