Float to HMI

  • 2 Respuestas
  • 3305 Vistas

GermanM

  • Novato
  • *
  • Mensajes: 15
Float to HMI
« : agosto 06, 2013, 19:41:22 pm »
Hola Foro Slicetex, necesito saber si es posible enviar datos float desde el PLC via MODBUS hacia el HMI SH300 para visualizar valores con decimales.

Desde ya muchas gracias

GermanM

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2258
  • Soporte Técnico
Re: Float to HMI
« Respuesta #1 : agosto 06, 2013, 22:32:35 pm »
Buenas tardes German, dejame que averiguo y te respondo.
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2258
  • Soporte Técnico
Re: Float to HMI
« Respuesta #2 : agosto 07, 2013, 14:27:43 pm »
Buen día German, para el HMI SH-300 subimos un nuevo ejemplo en la pagina Web para mostrar float en el panel HMI desde el PLC.

Podes ver el ejemplo en el siguiente link: Float HMI

En el ejemplo podes encontrar el proyecto para el PLC en Ladder y el proyecto para descargar en panel HMI.

La descripción seria la siguiente:

Los registros MODBUS tipo holding son enteros de 16-bits. El display HMI ofrece la posibilidad
de considerar parte del numero mostrado como entero y otra parte como decimal.

Por ejemplo, si consideramos el numero entero 24506, podemos decirle al display HMI que los
primeros 3 dígitos son la parte entera y los últimos 2 son la parte decimal, resultando
en la visualización:  245.06

Entonces, si tenemos un float en el PLC con el valor 245.06 debemos multiplicarlo por 100 para
obtener 24506 y mantener la resolución de dos decimales en la parte entera.

Luego almacenamos en el registro MODBUS el float con el valor 24506, previamente convertido a entero con:

VariableEntera = FloatToInt(VariableFloat)

Finalmente, configuramos un objeto "NUMERIC" en el SH-300 para que
lea el registro MODBUS con el valor 24506, pero que muestre 245.06.

Utilizar "FORMAT" con DIGIT=5 y DECIMAL=2 como muestra la foto en este link en el objeto NUMERIC del software del SH-300.

Para concluir, debemos convertir los float a enteros (previamente
multiplicados por 10 x numero_de_decimales). Luego almacenamos el valor
en el registro MODBUS y mostramos en el SH-300 utilizando un formato
de configuración.

Como el registro MODBUS es de 16-bits esta tecnica nos limita el rango
del valor float a mostrar en el HMI.

Quedamos a disposición por cualquier otra consulta.


« Última Modificación: agosto 07, 2013, 14:36:17 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com