Inicio > Foro > Terminales de operador (Weintek) > Duda de direccionar variables en el sistema SlimLine
- Este tema tiene 1 respuesta, 1 participante y se actualizó por última vez 3 años, hace 11 meses da Sergio Bertana.
-
autorPublicación
-
Mayo 14, 2020 en 7: 58 am #55182Anonimoinactivo
Estoy preparando un programa con muchas variables Modbus para publicar en un panel Weintek HMI, tengo las primeras 127 variables BOOL, asignadas a las direcciones 100.0 - 100.127, luego en Modbus en el panel utilizo las direcciones 40000-40127.
Ahora debería asignar variables REALES, la primera será 100.128, por lo que en Modbus en el panel tendrá la dirección 40000+ (128/2) = 40064. Pero el 40064 ya está asignado a una variable BOOL, ¿dónde me perdí?
Mayo 14, 2020 en 8: 07 am #55185Sergio BertanaAdministrador del foroIntentemos aclarar ...
Con acceso a las variables BOOL (comandos Modbus 0x / 1x en el panel HMI), la dirección de solicitud Modbus recibida de la HMI es utilizada por el SlimLine para apuntar a la variable en DB100 simplemente restando el desplazamiento 40000. Entonces, el 40064 del panel corresponde a la variable BOOL asignada a 100.64.
Con acceso a las variables WORD (comandos Modbus 3x / 4x en el panel HMI), la dirección de solicitud Modbus recibida desde la HMI es utilizada por el SlimLine para apuntar a la variable en DB100 restando el desplazamiento 40000 e multiplicando el resultado por 2. Entonces, el panel 40064 corresponde a la variable WORD asignada a 100.128.
Todavía recuerdo que siendo eso SlimLine basado en la arquitectura ARM, las variables de 2 bytes siempre deben asignarse con una dirección divisible por 2 (Ejemplo 100.2, 100.4, ... 100.130, .. 100.514, etc.), las variables de 4 bytes como REAL siempre deben asignarse con una dirección divisible por 4 ( Ejemplo 100.4, 100.8,… 100.128, .. 100.512, etc.).
-
autorPublicación
- Debe iniciar sesión para responder a este tema.