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

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

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 ha hacer es leer la documentación de los esclavos Modbus, para saber los parametros 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 parametros correspondientes al puerto, es buena practica hacerlo de esta forma, aunque mas tarde en el bloque de inicializacion tambien se vuelve a parametrizar.

Por lo demas, podemos dejar los valores por defecto.

Otro parametro 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 Parametros

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

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 parametros de la derecha corresponden a los bits de control y la palabra de Estado, que asociamos directamente con su DB de instancia.

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 parametros 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 parametros 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

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

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

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 tambien 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 ...