PDA

Ver la versión completa : Comparar 2 DB por medio de Punteros



primo
29/07/2010, 17:45
Buenos Dias... en estos momentos estoy necesitando comparar el Contenido de Dos Db para tomar acciones si un dato contenido en uno no esta en el otro!!! lo estoy haciendo por medio del lazo loop next... pero no puedo anidar dos lazos usando punteros "p#0.0" por ejemplo.. cuando hago la suma de puntero para revisar todo el Db me arroja un Error en el PLC!!! De ante mano.. muchas Gracias!!!! les dejo en Groso modo la estructura del Programa!!!!

L P#0.0
T #Puntero_1

L P#0.0
T #Puntero_2


AUF "PPP"
L 10
l_1: T #Contador_Lazo_1

L DBW [#Puntero_1]
T #Dato_1

L 10
l_2: T #Contador_Lazo_2

AUF "OOO"
L DBW [#Puntero_2]
T #Dato_2

L #Dato_1
L #Dato_2
==I
S #Bobina

L #Puntero_2
L P#2.0
+D
T #Puntero_2

L #Contador_Lazo_2
LOOP l_2

L #Puntero_1
L P#2.0
+D
T #Puntero_1


L #Contador_Lazo_1
LOOP l_1

David_cloud
29/07/2010, 22:09
Hola.
¿Porque lo haces con el bucle LOOP?

primo
30/07/2010, 16:12
Bueno Es que hasta el Momento es la unica manera que Visualizo para comparar los Db...!!! estoy pensando hacer un salto en el programa pero que me salte en el mismo FB o FC segun sea el caso...

David_cloud
30/07/2010, 20:29
Esta es la manera que utilizo yo para hacer blucles con DB, esta es para poner a 0 un Db, si la modificas devidamente estoi seguro que puedes hacer el ejercicio que dices
en el OB100:
L P#12.0 // es apartir del direccionamiento del DB que quieres comenzar
T MD 30

en el OB1:
CALL FC1

en FC1:
AUF DB7
L 0
T DBD[MD30]
L MD30
L P#4.0
+D o +R //(AHORA NO ME ACUERDO QUE TENIA QUE SER)
T MD30
L P#40
==D
SPB __000
BEA
__000: L P#0.0
T MD30
BEA
Editar/Borrar Mensaje