Início / Descargas / Rockwell Automation / Automatas / Micrologix / Convertir dos INTEGER (N) a FLOAT (F) en Micrologix

Convertir dos INTEGER (N) a FLOAT (F) en Micrologix

  • Publicado: 20 Junio 2015
  • Automatas
  • Leído Visto: 2968 veces

Los registros del Modbus son de 16bits INTEGER así que cuando vamos a leer un FLOAT que se compone de 32bits necesitamos leer dos registros ya que la instrucción MSG solo admite 16bits, algunos aparatos lo convierten directamente diciéndole el canal de inicio y orden de lectura pero en los micrologix tenemos que juntarlo nosotros.

Para ello vamos a utilizar la instrucción CPW Pag.225: http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1766-rm001_-en-p.pdf

Yo lo tengo utilizado para leer desde el PLC los valores de un analizador de redes,  para ello configuramos la red modbus-RTU como nos explica el compañero JOSÉ MANUEL LUQUE en su página web:

http://plc-hmi-scadas.com/RsLogix500_Micrologix_Master_Modbus.php

Una vez hecha la comunicación como hemos visto anteriormente(Pero con nuestras variables) ,para este ejemplo simplemente con insertar la instrucción CPW y decirle que empieza en SOURCE #N7:2 y que tiene longitud LENGTH 2 nos bastaría para que el resultado nos lo copie en DEST #F8:1

Ahora bien, muchas veces no vienen ordenados los canales, es decir por ejemplo que le decimos que nos lea el registro 40000 y 40001 y nos lo copie en N7:2 Y N7:3,Y en vez de leer de izquierda a derecha lee de derecha a izquierda lo que se llama en la configuración que no he encontrado orden de palabras más alta o más baja (Si alguien lo sabe estaré encantado de corregir el ejemplo), en este caso aunque es un poco más engorroso copiaremos el N7:2 a N7:4 para corregir el orden.

 

Y ya estaría.

Parece una gilipollez pero hasta que no me lo enseñaron era un calvario.

SUERTE Y A LIO.