Entonces para poder controlar la pantalla hmi que quiero visualizar puedo cargar en 42032 = nro pantalla
y la info del programa que quiero modificar ej variable1,2....x en 42001 42002.... hasta 42031 ?
Exacto.
Si necesitase modificar 100 valores de variables o parametros desde el hmi no hay suficientes memorias no?
Así es en primera instancia.
También podes hacer que un registro sea un indice. Por ejemplo, haces que el 42001 almacene un
entero que representa un grupo. Luego cuando leas los registros 42002, 42003, etc, sabes que si el registro 42001=1,
almacenas los valores de los otros registros en X array, si 42001=2, almacenas los registros en Y array, etc.
Podría ser una alternativa.
Por ultimo, he probado que en el ejemplo que está en la web activa y desactiva un motor (6002) y cambia el texto en la pantalla, como puedo capturar ese valor?, me serviría para generar una pantalla con diferentes alarmas y al oprimir numeros del teclado ir desactivandolas. El tema es que en el programa se refleje esa acción cambiando una variable de 1 a 0
¿Queres capturar el valor "1" o "0" del ejemplo ?.
Bien. Primero debes entender que el "1" o "0" que cambia el ejemplo de la
AN024 esta dentro de la posición de memoria de las GP-COIL (bit de propósito general, en el rango 6001 a 6128).
Entonces para leerlos debes usar los componentes ladder para leer
GP-COILS como
MbRtuServGetGpCoil (para leer) y
MbRtuServGetGpCoil (para escribir).
Fijate la imagen 01 que adjunto. En la network N003 el componente
MbRtuServGetGpCoil lee la dirección 6002 (un bit) y lo almacena en la variable bool "GpCoil".
Luego esa variable "GpCoil" la utiliza para activar el led
DEBUG. Pero podes usarla para activar un rele u otra lógica.
Debes notar que desde el HMI, se escribe periódicamente la dirección 6002 con el valor ingresado con la tecla "1".
Ver imagen 02 adjunta.
Si necesitas leer registros con valores enteros de 16-bits (se llaman
Holding Registers), para el rango de direcciones 42001 a 42032, usas los componentes
MbRtuServGetRegister (para leer) y
MbRtuServLoadRegister (para escribir).
Recorda que vos escribís y lees en la memoria del PLC. Luego el HMI los busca periódicamente (de acuerdo a como lo programes y en la pantalla que se encuentre) leyendo la memoria del PLC. Pero no actuas sobre el HMI en si.
Te recomiendo leer detenidamente los ejemplos de las notas de aplicacion:
HMIhttp://slicetex.com/docs/an/an024/http://slicetex.com/docs/an/an024/files/an024-example1.zipPLChttp://slicetex.com/docs/an/an023http://slicetex.com/docs/an/an023/ModBusRtuServer1.zipSaludos