Configuración CB1241(RS-485) - CM1241(RS-232) Modbus RTU

Configuración CB1241(RS-485) - CM1241(RS-232) Modbus RTU

En esta practica, vamos a ver dos en una, ya que vamos a configurar un módulo CB1241 (RS-485) para comunicación Modbus RTU en una red RS-485 y a su vez la CM 1241(RS-232) para otra comunicación Modbus RTU pero en esta ocasion Punto a punto.

Lo primero que vamos a hacer es leer la documentación de los esclavos Modbus, para saber los parámetros de la comunicación y a los registros que queremos acceder, la siguiente imagen es una muestra de ello.

Primero vamos a empezar con el CB1241, que lo insertamos en el mismo PLC, como se puede ver en la imagen.

Pasamos a realizar la configuración del mismo, y asignamos los parámetros correspondientes al puerto, es buena practica hacerlo de esta forma, aunque mas tarde en el bloque de inicializacion también se vuelve a parametrizar.

Por lo demás, podemos dejar los valores por defecto.

Otro parámetro importante para la parametrización de los Bloques de Función a utilizar es el ID de Hardware, donde cada módulo tiene un ID único e irrepetible.

Y a continuación, habiendo insertado el CM 1241(RS-232) volvemos a realizar los mismos pasos que anteriormente, la configuración del puerto, con los valores acorde a nuestro escalvo. Al tener solo un esclavo para realizar las pruebas, ambos se probaran con esté, de ahi la repetición de Parámetros

Igualmente, utilizaremos el ID para los bloques que veremos a continuación.

El primer bloque que vamos a utilizar para inicializar ambos puertos, correspondientes a la CB y CM es el MB_COMM_LOAD que al insertarlos nos crea el DB de instancia corespondiente, si vemos los parámetros que tenemos que pasarle, el primero de ellos REQ, como lo vamos a ejecutar en el OB100 se lo ponemos a TRUE directamente, el siguiente parámetro PORT, va asociado con el ID que comentabamos anteriormente, BAUD es la velocidad en baudios de la comunicación con nuestro esclavo, al igual que la paridad PARITY por último nos queda MB_DB que asociaremos posteriormente con el DB de instancia del siguiente bloque a utilizar MB_MASTER.

Los siguientes parámetros de la parte derecha, corresponderian a los bits de control y palabra de estado, en caso de producirse algún error, por lo contrario su valor es 0

Hacemos la misma configuración el puerto siguiente, en este caso la CM 1241 y asociamos los valores que correspondan, al igual que el anterior este boque lo insertamos en el OB100

Ya podemos insertar el bloque MB_MASTER directamente en el OB1, o bien crear un FC-FB para la llamada de dicho bloque, al igual que el anterior, al insertarlo el asistente nos creara el DB de instancia, que dicho DB es el que asociamos al bloque MB_COMM_LOAD.

Ahora ya pasamos a parametrizarlo, REQ de request para ejecutar el bloque, eso dependera de nuestra lógica de programa, MB_ADDR es la dirección del esclavo, MODE si vamos a ejecutar lectura o escritura, en este caso lectura corresponde a 0, DATA_ADRR corresponde a la primera dirección de los registros que nos interesa leer, seguido de DATA_LEN que son la cantidad de registros.Por último nos queda DATA_PRT que es el puntero donde vamos a guardar los datos leidos

Al igual que el bloque anterior los parámetros de la derecha corresponden a los bits de control y la palabra de Estado, que asociamos directamente con su DB de instancia.

Para el bloque correspondiente al otro puerto, hariamos el mismo proceimiento, en este caso están repetidos, ya que se ha comprobado con el mismo esclavo, conectandolo yde uno para conectar al otro y comprobar su funcionamiento.

Como se puede aprecir en las imagenes anteriores ya estabamos en RUN, ya se habia compilado y cargado el programa, y si comprobamos las direcciones donde apuntaba el puntero, comprobamos que hemos leido los registros que nos interesa.

Si cambiamos de vista, y vemos la direcciones del segundo bloque, comprobamos que también hemos leido satisfactoriamente los registros, se puede observar que algunos registros, siguen conservando el mismo valor, y otros han cambiado. Ahora solo faltaria adaptarlos a las direcciones correctas de los esclavos, y ponerlo a funcionar.

17 de Mayo del 2014

Si te ha gustado o te ha sido de utilidad, compartelo ...

“La gratitud en silencio no sirve a nadie”. Gladys Bronwyn Stern