Anda di halaman 1dari 3

support.industry.siemens.com|ProductSupport|martes,11.

julio2017
Imprimirestapgina GenerarPDF

Tipodeartculo:FAQ,IDdeartculo365590,Fechadelartculo:12/02/2007

EnqusediferencianlasoperacionesparaeldireccionamientoindirectoentreelSTEP7yelSTEP5?

Instrucciones:
EneldireccionamientoindirectoenelSTEP7,sediferenciaentre:

1. Eldireccionamientoindirectopormemoriaconunnmero:
Paraeldireccionamientodetemporizadores,contadores,ymdulos,
2. Eldireccionamientoindirectoporregistroconunpunteroderea:
Paraeldireccionamientodezonasdememoria:Periferia,entradas,salidas,marcas,datosglobales(DBX),datosdeinstancia(DIX)ydatoslocales.

direccionamientoindirectopormemoriaconunnmero

Ejemplos:

STEP7 AnalogaenelSTEP5
L2 Cargaunnmero LKF+2 Cargaunnmero
TMW33 Guardarenlapalabrademarcas33 TMW33 Guardarenlapalabrademarcas33
LT[MW33] Cargaenvalordetiempoactualdeltemporizador2 BMW33 Elaboralapalabrademarcas33
LT0 Cargaenvalordetiempoactualdeltemporizador2
....... ....... ....... .......
AUFDB[MW33] AbreelDB2 BMW33 Elaboralapalabrademarcas33
ADB0 AbreelDB2
....... ....... ....... .......
CCFC[MW33] LlamaalFC2siVKE=1: BMW33 Elaboralapalabrademarcas33
Slofunciona, SPBFC0 LlamadaalFC2siVKE=1:
siFC2notieneparmetros SlofuncionasiFC2notieneparmetros

Eloperandodeladireccin,enlaqueseguardaelnmero(enestecaso,laMW33),puedeestarenlazonade
Marcas,datosglobales(DBX),datosdeinstancia(DIX)ydatosLocales.Lautilizacindelosdatosdeinstanciade
zona(DIX)paraeloperandodeladireccinsoloesposibleenlosmdulosdefuncin(FBs)conCODE_VERSION1(noen
losFBsconcapacidaddemultinstancia).

Direccionamientoindirectoporregistrosconayudadelpunteroderea

Ejemploconunpunterodereainterno

STEP7 AnalogaenelSTEP5
LP#4.5 CargaelpunteroparaelByte4,Bit5 LKF+4 CargaelnmerodeByte
LKF+5 CargaelnmerodeBit
SLW8 DesplazaelnmerodeBitalBytealto
OW BitenelBytealto,ByteenelBytebajo

Ejemploparaunpunterodereaexterno:

STEP7 AnalogaenelSTEP5
LP#M2.3 CargaelpunteroparalaM2.3

Clculosdelpuntero

Unapropiedaddecisivadelpunterodereaesquelosclculosdelpunterosepuedenrealizarconlasoperaciones
normalesparacomafija.Estoquieredecirlosiguienteencualquierpuntero:

Sumade1:ElpunteroaumentaalsiguienteBit
Sumade8:ElpunteroaumentaalsiguienteByte,elnmerodeBitpermaneceinvariante.

Ejemplos:

STEP7 AnalogaenelSTEP5
LP#M2.3 CargaelpunteroparalaM2.3
LP#4.5 CargaelpunteroparaelByte4,Bit5 ....... .......
+D Resultado:ElpunteroapuntaalaM7.0,esdecir,
estas3instruccionestienenelmismosignificadoque:
LP#M7.0
....... ....... ....... .......
LP#DBX2.3 CargaelpunteroparaelBitdedatosglobal2.3
L16 Carga16 .......
-D Elpunterosereduceen16Bits,esdecir,estas3
instruccionestienenelmismosignificadoque:L
P#DBX0.3

Enlosclculosconpunterosderea,slosepuedeutilizarunpunterocondenominacinderea(diferenteacero).
Encasocontrario,lasposicionesdelidentificadorderease"suman"o"restan",yapareceunaidentificacinnovlida.

Direccionamientoindirectopormemoriaconayudadelpunteroderea

Ejemplos:

STEP7 AnalogaenelSTEP5
LP#2.0 CargaelpunteroparaelByte2,Bit0 LKF+2 CargaelnmerodeByte
TMD44 Seguardaenladoblepalabrademarcas44 LKF+0 CargaelnmerodeBit
UE[MD44] Consultadelaentrada2.0parasabersivale"1" SLW8 DesplazaelnmerodeBitalBytealto
OW BitenelBytealto,ByteenelBytebajo
TMW44 Seguardaenlapalabrademarcas44
BMW44 Elaboralapalabrademarcas44
UE0.0 Consultadelaentrada2.0
parasabersivale"1"
......... .......... ....... .......
L123 Carga123 LKF+123 Carga123
TMW[MD44] Guardael123enlapalabrademarcas2 BMW44 Editalapalabrademarcas44
TMW0 Guardael123enlapalabrademarcas2

Paralacolocacindelosoperandosdelasdirecciones(enestecaso,laMD44)enlasposiblesreasdememoria,son
vlidaslasmismasdeclaracionesqueconeldireccionamientoindirectoconunnmero(consultearriba).Ladiferenciaes
quesenecesitaunadoblepalabra.
Eneldireccionamientoindirectopormemoria,elidentificadordereaenelpunterotienequeser0.Slosepueden
utilizarpunterosinternosderea.

EnelaccesoindirectoaunByte,palabraodoblepalabra,ladireccindelBitenelpunterotienequeser0.

Direccionamientoindirectoporregistrosconayudadelpunteroderea

Ejemplos:

STEP7 AnalogaenelSTEP5

Ejemploa

LP#2.0 CargaelpunteroparaelByte2,Bit0
LAR1 Cargaelpunteroenelregistrodedirecciones1 .......
//Direccionamientoindirectoporregistroconunreainterna
UE[AR1,P#0.0] Consultadelaentrada2.0parasabersivale"1"


Ejemplob

LAR1P#E2.0 Cargaelpunteroparalaentrada2.0
//Direccionamientoindirectoporregistroconunreaexterna .......
U[AR1,P#0.0] Consultadelaentrada2.0parasabersivale"1" .......


Ejemploc

LAR1P#DBX2.0 Cargaelpunteroparaelbitdedatosglobales2.0
LMW[AR1,P#0.0] Cargalapalabrademarcas2
....... .......

Ejemplod1

LAR1P#A2.0 Cargaelpunteroparalasalida2.0enelAR1
=[AR1,P#2.2] AsignaelVKEactualalasalida4.2

Ejemplod2

+AR1P#2.0 Aumentaelpunteroenelregistroen2Bytes
TW[AR1,P#0.0] Escribedesdelapalabrabajadelacumulador1enla .......
palabradesalida4.0
LP#4.5 CargaelpunteroparaelByte4,Bit5
+AR1 AumentaelpunteroenelregistroconelAKKU1
S[AR1,P#1.0] Activalasalida9.5siVKE=1

Eneldireccionamientoindirectoporregistros,elpunteropuedetenerunidentificadorderea:

Sifaltaelidentificador(ejemploa),hayqueindicarloenlasinstruccionesindirectasporregistro
Sielidentificadorestdentrodelpuntero(ejemplob),puedefaltarenlasinstruccionesindirectasporregistro.TengaencuentaenestecasoquehayqueindicarelanchodeaccesoByte,Word,DobleWorden
lasoperacionesdecargaytransferencia(ejemplod2).

Sielidentificadorestdentrodelpunteroyseindicaenlainstruccin(ejemploc),valeelreaindicadaenlainstruccin
Elidentificadorenelpunteroseignora.

Enlasinstruccionesindirectasporregistro,sepuedeindicarunOFFSET(ejemplod).stesesumaalpunterodelregistro
encasodeejecutarseelacceso.Elcontenidodelregistropermaneceinvariante.

LautilizacindelidentificadordereaLenelpunteronoesposibleenlasCPUsantiguas.

ElOFFSETindicadoentrecorchetes[AR1,<OFFSET>]puedeestardentrodelrangoP#0.0.....P#8191.7.

Lainstruccin"+AR1"slotieneencuentalapalabrabajadelOFFSETindicadoenelAKKU1ocomooperando,e
interpretalos16Bitscomounnmeroconsigno:

P#0.0.....P#4095.7
esunOFFSETpositivoparael"+AR1"y
P#4096.0.....P#8191.7
esunOFFSETnegativoparael"+AR1".

Ejemplos:

LP#0.1 OFFSETpositivomspequeoparael"+AR1"
+AR1 AumentaelcontenidodeAR1enP#0.1
......... .........
LP#4095.7 OFFSETpositivomsgrandeparael"+AR1"
+AR1 AumentaelcontenidodeAR1enP#4095.7
....... .......
LP#4096.0 OFFSETnegativomsgrandeparael"+AR1":Secorrespondecon"P#-4096.0"
+AR1 SereduceelcontenidoAR1enP#4096.0
....... .......
LP#M8191.0 Secorrespondecon"P#-1.0"("+AR1"ignoraelidentificador"M")
+AR1 SereduceelcontenidoAR1enP#1.0!
....... .......
LP#8191.7 OFFSETnegativomspequeoparael"+AR1":Secorrespondecon"P#-0.1"
+AR1 SereduceelcontenidoAR1enP#0.1!
....... .......
LP#E8192.0 SecorrespondeconP#0.0"("+AR1"ignoraelidentificador"E")
+AR1 ElcontenidodelAR1nosemodifica

Debidoaquelaoperacin"+AR1"slotieneencuentalapalabrabajadelAKKU1,tambinsepuedenutilizarpunteros
conidentificadorderea:ElidentificadornomolestaenlapalabraaltaAlcontrarioqueenelclculodelpunterocon
operacionesconenteros.

Porfavor,tengaencuentaque,independientementedelasposibilidadesparaaumentarydisminuirelregistrode
direccionesenunainstruccinindirectaporregistros,elcontenidodelregistrosiempretienequeestardentrodelrango
P<identificadoreventual>0.0.....P<identificadoreventual>65535.7.

Indicacingeneral
Deformaanlogaalregistrodedirecciones1,enlasCPUsexisteunsegundoregistroAR2conlasmismasposibilidades
deutilizacin.

Siseutilizaelregistrodedirecciones,existenlimitaciones,quesinosetienenencuentapuedenprovocarreacciones
inesperadasenelprogramadeusuario.InformacinmsdetalladasepuedeverenlaayudadelSTEP7,bajolapalabra
debsqueda"AR1".

Ayudaparaelegirlasposibilidadesdeldireccionamientoindirecto:

Siseutilizaelregistrodedirecciones,espreferibleelegireldireccionamientoindirectoporregistrosconpunterosdereainternos
Elreadememoriallamadaporlainstruccinseveenlamisma.Deestaforma,elprogramaesmsclaro,haymenosposibilidadesdefalloysermejorparaelmantenimiento
Enestecaso,nohayquetenerencuentalavidatildelosoperandosdelasdirecciones.Lautilizacindelregistrodedireccionesesposibleactualmente,independientementedelDBabiertoolosdatos
locales.

Lasventajasdelautilizacindeldireccionamientoindirectopormemoria,conunpunteroenlazonademarcas,sonlas
siguientes:

Nosetienenencuentalaslimitacionesparalautilizacindelregistro
Tampocohayquetenerencuentalavidatildelosoperandosdelasdirecciones,porquelazonademarcasestdisponiblesinlimitacionesentodoslospuntosdelprograma.
Sepuedenutilizarvariospunterosenparalelo.
Sinembargo,nosedisponedelacmodaposibilidaddel"+ARi"nidelaindicacindeunOFFSET.

UnaadvertenciaparatrabajarconpunterosopunterosANY:

Amboscontienenelpunterodereaenlos32bitsmsbajos,talcomosehamostradoarriba.

Alutilizareldireccionamientoindirecto,loserroresdeprogramacinnosuelenaparecertanrpidamentecomocuando
seutilizaeldireccionamientodirecto.Adems,nosolopuedequelazonadememoriadeseadaaparezcaenunpuntoque
nosehatenidoencuenta,sinoquesepierdandatossinquererdeotraszonasdememoria.Portanto,procedacon
cuidado,ycompruebeelprogramaconprofundidad.

Advertencia:
EnlaayudaOnlinedelSTEP7,sedisponedeinformacinadicionalyejemplosen

FormatodeltipodeparmetroANY,
FormatodeltipodeparmetroPOINTER,
UtilizacindeltipodeparmetroPOINTER,
UtilizacindeltipodeparmetroANY.

Elartculoperteneceala(s)carpeta(s)derboldeproductos:
Esteartculoestrelacionadocon4producto(s).

SiemensAG2009-2017 - Piedeimprenta Polticadeprivacidad Directivassobrecookies Condicionesdelservicio IDdigital 0.0.0.0

Anda mungkin juga menyukai