plc_hector Posted April 10, 2015 Report Posted April 10, 2015 Buongiorno a tutti Devo usare l'indirizzamento N7:[N10:0] usato con un MOV in RSLogix 500 ma non trovo la dicitura da usare in RSLogix 5000, qualquno sa come si deve fare? Grazie in anticipo.
plc_hector Posted April 10, 2015 Author Report Posted April 10, 2015 Mi sono dimenticato da dire che secondo il manuale di conversione dovrebbe essere N7[N10_0] ma questo non lo prende. Grazie di nuovo.
Henon Posted April 16, 2015 Report Posted April 16, 2015 (edited) Attraverso l'indicizzazione Array Per cambiare dinamicamente l'elemento dell'array che il vostro riferimenti logici, l'uso di tag o espressione come indice per puntare all'elemento. Questo è simile a indirizzamento indiretto in PLC-5 logica. È possibile utilizzare questi operatori in una espressione per specificare un indice di matrice: Operator Description + add - subtract/negate * multiply / divide AND AND FRD BCD to integer NOT complement OR OR TOD integer to BCD SQR square root XOR exclusive ORFor example:Definitions Example Description N7 defined as INT[256] N7[5] Questo esempio si fa riferimento elemento 5 nella matrice. Il riferimento è statico perché il valore pedice rimane costante. N10 defined as INT[256] N10_0 defined as DINT MOV the value 5 into N10_0 N7[N10_0] Questo esempio si fa riferimento elemento 5 nella matrice. Il riferimento è dinamico poiché la logica può cambiare l'indice cambiando il valore di N10_0. N7 defined as INT[256] N10_0 defined as DINT Offset defined as DINT MOV the value 2 into N10_0 MOV the value 5 into Offset N7[N10_0 + Offset] Questo elemento esempio riferimenti 7 (2 + 5) nella matrice. Il riferimento è dinamico poiché la logica può cambiare l'indice cambiando il valore di posizione o di offset. Assicurarsi che qualsiasi indice di matrice immesso è entro i confini della matrice specificata. Le istruzioni che vedono array come un insieme di elementi generano un errore grave (tipo 4, codice 20) se un pedice supera la dimensione corrispondente. Edited April 16, 2015 by Giuseppe Signorella
Henon Posted April 16, 2015 Report Posted April 16, 2015 Non puoi indicizzare indirettamente inserendo come puntatore un altro elemento array, ma devi mettere come puntatore una Tag, come quella che hai detto tu N10_0, ma puoi chimarla come vuoi Quindi N7[Pointer] oppure N7[Pointer / 2+Increment] non puoi scrivere N7[ N10[0] ] ma devi sostituire con N10[0] con una Tag (Tipo Pointer) chiaramente per ottenere i tuo compito prima devi trascrivere il Valore contenuto in N10[0] nella tag Pointer, usa l'istruzione MOV N10[0] => Pointer
Giuseppe Signorella Posted April 16, 2015 Report Posted April 16, 2015 Ciao Henon, Cortesemente utilizza la lingua Italiana all'interno dei post, perché l'uso di una lingua differente oltre ad essere contro il regolamento, rende difficoltosa la comprensione del concetto espresso. Grazie per la collaborazione.
plc_hector Posted April 27, 2015 Author Report Posted April 27, 2015 Buongiorno a tutti Grazie della risposta Henon, ho fatto come hai detto nel'ultimo post. Buon lavoro a tutti.
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