Lectura/Escritura comunicaciones serie : Protocolo libre

Como había dicho en la anterior entrada aquí tenéis un ejemplo de control del puerto serie utilizando CoDeSys. En este caso un equipo de BergHof, el EC2250. Se han utilizado las funciones de comunicación que nos proporciona la librería SYSCOM (SysComWrite y SysComRead).

Para facilitar la conversión de los datos de string a buffer de bytes he utilizado una estructura con un array de bytes y una cadena string, compartiendo el mismo espacio de memoria. De este modo se puede acceder a los mismos datos de dos modos distintos. Utilizando la cadena string se gestionan los datos de entrada y salida. Y se utiliza el array de bytes como parámetro para las llamadas de las funciones de comunicación.

Fichero exportado ▶ Comunicacion ASCII Target_EC2000 V1_1

Pinout de la serie EC2000 ▶ Pinout

Leer másLectura/Escritura comunicaciones serie : Protocolo libre

Lectura/Escritura comunicaciones serie : Protocolo libre

Adjunto un ejemplo, realizado recientemente, de comunicación con un dispositivo con un protocolo propio. En este caso en concreto se trataba de un equipo inversor solar. El programa adjunto es muy sencillo, mediante un botón activamos la transferencia de la trama de petición de datos y con otro realizamos la recepción de la trama que nos responde el equipo remoto.
Como en la gran mayoría de PLCs existen un par de funciones con las que podemos implementar un protocolo personalizado de comunicación.
En una próxima entrada realizaremos el mismo trabajo pero con un equipo CoDeSys.
Podéis comprobar el funcionamiento del programa simplemente conectando un PC con un programa de terminal al puerto MJ2 del XL4.

Fichero exportado ▶ Comunicacion V02

Leer másLectura/Escritura comunicaciones serie : Protocolo libre

Tamaño de los cables entre variador y motor

Sirva esta entrada para remarcar un dato que en algunas ocasiones se nos puede pasar por alto o directamente no lo tenemos en consideración. La distancia de los cables entre el motor y el variador esta limitada, en caso de exceder esta distancia además de múltiples problemas de ruido eléctrico tenemos muchas posibilidades de dañar la etapa de potencia del variador. Como recordatorio sirvan los siguientes datos:

Gama SD250 :

50 m cable SIN apantallar

25 m cable apantallado

Gama SD500 :

Tallas inferiores a 5 igual que la gama SD250

Tallas superiores o igual a 5 (con frecuencia portadora de 2Khz)

Sin filtro adicional a la salida:

200 m cable SIN apantallar

100 m cable apantallado

Con filtro adicional a la salida:

300 m cable SIN apantallar

150 m cable apantallado

Gama SD700 :

300 m cable SIN apantallar

150 m cable apantallado

En vista a eliminar el posible ruido eléctrico que generen los variadores deberemos de tener en cuenta:

1 – Conectar la tierra de la instalación al variador.

2 – Conectar la tierra del motor al variador con cable de la misma sección que el activo.

3 – Conectar la pantalla del cable, en caso de tenerla, en ambos extremos a tierra.

4 – Los cables hacia el motor deben de ir en uan terna (triangulo equilatero U,V,W).

5 – Los cables de control iran separados de los cables del variador 50cm.

Leer másTamaño de los cables entre variador y motor

Detección de defectos con sensor de Visión: Medida

En el documento adjunto se describe el ajuste del sensor de visión PI40 para la detección de piezas defectuosas en una cadena de producción. El defecto es un desplazamiento de una zona de la pieza respecto al resto al realizar del plegado de la misma. Se pretendía realizar una detección de desplazamiento inferior a 1mm y se ha podido ajustar el limite de error a 0,6mm

En estas aplicaciones hay que tener en cuenta el posicionado de la pieza con respecto a la cámara. En el caso que nos ocupa la pieza tiene juego en el posicionado bajo la cámara por lo que hemos analizado las variaciones de medidas y son prácticamente despreciables +-1pixel (con una resolución de 0,06 mm/pixel).

Documento descriptivoCamara Vision

Leer másDetección de defectos con sensor de Visión: Medida

Formatear cadenas de números

En muchas ocasiones necesitaremos formatear una cadena numérica, creando la cadena con un numero de cifras establecido. Un claro ejemplo lo encontraremos en el programa que mostramos anteriormente de almacenamiento de datos sobre la SD. El fichero de almacenamiento se crea con las cifras de la fecha actual. Para crear unos nombres con el mismo formato, los días y meses inferiores a 10 deberán de insertarse en la cadena con un 0 inicial. Por ejemplo en lugar de ‘1_1_2014‘ crearemos ‘01_01_2014‘.
Podremos utilizar la función DWORD_TO_STRF de la librería OSCAT BASIC.
Para realizar el formateado de la cadena, llamamos a la función con el numero a convertir en cadena y el tamaño de la cadena a crear.

Por ejemplo: DWORD_TO_STRF(dia_actual, 2) = ’05’

Nota: Tened en cuenta que la misma función nos permite recortar, limitar, la cadena a generar.

Leer másFormatear cadenas de números

Detección de SD insertada en slot (PLCs EC2xxx)

Si utilizamos la memoria SD como sistema de almacenamiento externo deberemos de poder conocer cuando esta insertada en el slot y cuando no. Para ello podemos utilizar la función “FS_DiskFree” con el directorio ‘/media/sd’ como parámetro. Esta función nos retorna el tamaño del disco, por lo que retornara 0 cuando la SD no esta insertada o cuando esta llena.
Adjunto una exportación de un FB realizado para tal función.
Para la gestión de almacenamiento sobre la unidad de USB existen funciones dedicas que trataremos posteriormente.

Fichero exportado FUN_EspacioSD

Leer másDetección de SD insertada en slot (PLCs EC2xxx)

Servidor FTP y memorias externas

En los equipos de BergHof disponemos de un servidor FTP que nos permite acceder a los archivos de modo remoto. Lo mas habitual será que necesitemos acceder a ficheros de las memorias externas conectadas al controlador, ya sea una SD o un USB.

La tarjeta SD debe de estar formateada en FAT32 y el directorio de acceso es “media/sd“. Utilizando el servidor FTP, el usuario “root” (clave “root“) tiene acceso completo a la SD. Podemos ver el espacio libre de la SD utilizando el web Server integrado y el lugar exacto en el que se ha montado el directorio.

Todo lo mencionado se puede aplicar a las memorias USB. El USB se monta sobre el directorio “media/usb1“, y del mismo modo que la SD se debe de formatear utilizando FAT32.

En la gestión de usuario que nos muestra el servidor web Server, tenemos disponibles 3 usuarios:

ftpadmin : mismos permisos que “root”

ftpuser : lectura / escritura únicamente de su directorio.

ftpreader : únicamente dispone de permisos de lectura.

la claves por defecto son los propios nombre, pero podemos realizar un cambio de las mismas desde el web Server.

Leer másServidor FTP y memorias externas

CoDeSys V3: Lectura por el puerto serie

En este caso comparto un programa de ejemplo de lectura de datos por el puerto serie. Esperamos la llegada de datos ASCII por uno de los puertos serie del equipo, para posteriormente procesarlos y extraer los datos que necesitamos.

Utilizando este sistema algunos de nuestros clientes han realizado programas de aplicación para leer datos de un lector de códigos de barras, de una bascula de pesaje, e incluso para recibir los datos de una clasificación de azulejos que utilizaba un protocolo HOSTLINK® de OMRON®.

PROYECTO DE EJEMPLO 1Comunicacion ASCII Target_EC1000 V1_3

Leer másCoDeSys V3: Lectura por el puerto serie

CoDeSys V3: Escritura de ficheros de texto

Mediante tres programas ejemplos se muestran unas funciones básicas para escribir en ficheros de texto. El primero de los ejemplos simplemente escribe una cadena de texto, en el segundo se añade una variable de programa en los datos almacenados y por ultimo extraemos la fecha y hora del sistema y la insertamos al inicio del fichero junto a los datos de un contador, utilizando una separación de datos mediante el carácter “;”. Esto genera un fichero de tipo .CSV, que podremos abrir desde diversos programas de análisis de datos, por ejemplo MS® EXCEL. Se puede decir que esta seria la base para crear un sistema de control de producción, de registro de eventos, de alarmas, etc…

En el ejemplo el fichero se crea en el disco duro del equipo, pero según el equipo HW utilizado podremos crear el fichero sobre una memoria externa de tipo USB, SD, uSD, etc..

PROYECTO DE EJEMPLO 1Lectura Escritura Fichero

PROYECTO DE EJEMPLO 2Lectura Escritura Fichero V2

PROYECTO DE EJEMPLO 3Lectura Escritura Fichero V3

Leer másCoDeSys V3: Escritura de ficheros de texto

▶ Videos de producto de seguridad SICK – Canal YouTube

Adjunto link a unos videos del canal Youtube de SICK España que creo que son bastante interesantes.

1.- Controlador de seguridad “Drive Monitor” que permite mantener bajo control seguro sin perder el nivel de seguridad de la maquina, cualquier movimiento controlado por un driver (eléctrico, neumático, hidráulico).

2.- Flexiline una red de controladores de seguridad Flexisoft sin direccionamiento de red.

3.- Conexionado en serie de los sensores de la maquina, simplificación de conexionado.

VIDEO Controlador de seguridad Drive Monitor – YouTube.

VIDEO Flexisoft descripción de funcionamiento – YouTube.

VIDEO Desmostración del funcionamiento del Flexisoft – YouTube.

VIDEO FlexiLine red de seguridad sin direcciones – YouTube.

Leer más▶ Videos de producto de seguridad SICK – Canal YouTube