RD4X, RD3X | Top

RD4X Lee variables de la zona 4x o 3x (protocolo Modbus). El formato de la instrucción es: RD4X id, Cant, Dst, Org, Port id = número de identificación del equipo esclavo. Cant = cantidad de variables a leer del equipo esclavo. Dst = variable local a partir de la cual se almacenan las variables leídas. Org = dirección (Modbus) de memoria del equipo esclavo a partir de la cual se empieza a leer. Port = número de puerto de comunicación local. Cuando se ejecuta la instrucción ésta ocupa el puerto de comunicación hasta que es concluida. Mientras el puerto esté en uso la ejecución de cualquier instrucción de comunicación que intente usar el mismo puerto pondrá el acumulador con estado de ocupado (valor 0). Cuando la comunicación halla terminado la ejecución de la instrucción pondrá el acumulador con el resultado de la misma: concluido (valor 1) o error (valor 3). Solo la instrucción que inició la comunicación puede liberar el puerto. Esto significa que si se ejecuta una sola vez la ejecución de otras indicará siempre como ocupado (valor 0) aunque la comunicación halla concluido. En caso de error ya cuenta con un re-intento de comunicación que es transparente para el usuario. Cuando el resultado es error (valor 3) es porque ha fallado en los 2 intentos. Las direcciones remotas parten de 1 como en Modbus, las locales de cero. RD4X y RD3X se usan de la misma forma. Solo se diferencian en en las áreas de memoria. La instrucción opuesta es WR4X La ejecución de esta instrucción hace una rotación de acumuladores. Programa ejemplo. Dato y Dato2 son variables locales. Alterna entre lectura y escritura. RD4X 1, 1, Dato, 1, 2 ;Lee Dato remoto JMPNC NoWrahora ;Pasa a Wr si terminó WR4X 1, 1, 2, Dato2, 2 ;Capia Dato2 a remoto NoWrahora END

Otro ejemplo:

RD4X 1, 1, qTodas, 2450, 2
END

Tomando como referencia el CP121 ROM 2.08 lo que hace es copiar las salidas. "qTodas" ha sido definida en las salidas con la dirección cero. Entonces lee las salidas en el remoto y las copia a las locales. Al consultar el área de memoria del ejemplo se ve que 2450 corresponde a la dirección Modbus de las salidas.

WR4X

READ4X

Lista de instrucciones

Indice