Академический Документы
Профессиональный Документы
Культура Документы
Una forma de leer y copiar información dinámica es realizarlo mediante punteros con
formato ANY.
Lo que vamos a ver es por un lado cómo se crean a mano los punteros, y luego darle
una aplicación práctica.
Pero antes de eso, tenemos que ver un poco (o refrescar) qué es el formato ANY.
STEP 7 almacena los datos del tipo de parámetro ANY en 10 bytes. Al estructurar un
parámetro del tipo ANY, los 10 bytes deben quedar ocupados, ya que el bloque llamado
evalúa todo el contenido del parámetro. Si, por ejemplo, especifica un número de DB en
el byte 4, deberá indicar también explícitamente el área de la memoria en el byte 6.
STEP 7 gestiona los datos de los tipos de datos simples y compuestos de forma diferente
a la de los tipos de parámetros.[..]
Bueno, pues en cristiano, lo que quiere venir a decir es que con un ANY lo que defines
es un área de la memoria (marcas, entradas, db..) y defines la longitud de ese
área. Además, el puntero con formato ANY tiene obligatoriamente 10 bytes de longitud
y tienes que rellenar los 10 bytes sean necesarios o no. Así por ejemplo, puedes definir
el área definido en un DB en concreto y que sea de un ancho de 24 bytes… por poner un
ejemplo.
Byte 0: Hay que cargar siempre un 10H. Una constante que le sirve a Step 7 para
indicar que es un ANY.
Tendrás que cargar en hexadecimal en el byte 1 el número según la tabla para indicar
qué tipo de datos quieres usar.
Pero también se puede crear un puntero ANY con informacion sobre un temporizador,
contador o bloque. Es parecido pero no es del todo igual. Veámoslo.
La tabla siguiente muestra la codificación de los tipos de datos para el formato ANY en
el caso de los tipos de parámetros.
¿Y para qué usamos un puntero con formato ANY?
Bueno, pues después de todo este rollo (que está bien saber por otro lado) vamos a ver
si podemos darle una utilidad.
Lo que nos va a permitir esto es poder leer áreas de los diferentes tipos de memoria y
poder escribirla en otro área de memoria de forma dinámica.
Pues por ejemplo, en los hornos de curvar parabrisas con los que trabajo, la información
de la pauta hay que volcarla en diferentes momentos sobre la zona donde se está
curvando. Es decir, en cada zona del horno, se lee la información de potencias de esa
potencia para un determinado cajón el cual va cambiando. Es decir, tienes una zona que
es dinámica y un carro que es dinámico.
Como ves, aunque no lo vayas a aplicar todos los días, es bastante útil cuando toca.
NETWORK
TITLE =END OF BLOCK
BEA ;
END_FUNCTION
[/box]