2 de diciembre de 2010

Visualización del tiempo ciclo con Step7 + WinCC Flexible

Una de las cosas que, en mi opinión, no debe faltar en una máquina que disponga de panel de visualización, es una pantalla dedicada al tiempo ciclo. Es curioso ver como en muchas inspecciones de máquinas, el ingeniero de métodos y tiempos, cronómetro en mano, comprueba que nuestra máquina dé cadencia. Si en vez de eso, le damos una tabla de tiempos tomados de forma precisa por el PLC, le simplificaremos la labor y seguramente lo agradecerá... y ya sabemos que el ingeniero de métodos y tiempos es un tipo con el que conviene llevarse bien ;)

Nota: entiéndase tiempo de ciclo como el tiempo que transcurre desde que obtenemos una pieza terminada y la siguiente.

Para ello voy a suponer que mi máquina está comandada por un PLC S7-300 y como HMI tengo un panel táctil de Siemens como el MP277, y sobre esta base voy a programar lo que sería una visualización sencilla de los últimos diez tiempos de ciclo.

En este ejemplo el PLC calculará el tiempo ciclo y mediante una variable booleana le indicará al panel que recoja el dato. Luego el panel leerá el dato y lo introducirá en una tabla de valores, los visualizará por orden de recepción (primero el más reciente) y marcará con color verde el menor y con color amarillo el mayor. La visualización quedará tal como se muestra a continuación:


Empecemos con la programación en el PLC.

23 de noviembre de 2010

Recopilación de código de las últimas entradas de Step7

Para hacer más cómodo el acceso al código que he puesto en las últimas entradas sobre Step7, he recopilado los bloques de función (FB) de mis contadores, temporizadores y el control de cilindro de doble efecto y los he agrupado en un proyecto. Así simplemente será necesario copiar y pegar los FB para hacer uso de ellos.


El proyecto te lo puedes bajar de aquí.

Los FB que se incluyen son:

- Contadores de 32 bits (FB5, FB6, FB7 y FB8).
- Contador en un RTM (FB9).
- Temporizador sin usar temporizadores Simatic (FB11).
- Temporización discontinua (FB12).
- Control de cilindro neumático de doble efecto (FB10).

Espero que así resulte más funcional.

20 de noviembre de 2010

Ejemplo de control de un cilindro neumático de doble efecto en Step7

El cilindro neumático de doble efecto es el actuador al que más veces me habré enfrentado; no exagero si digo que el 80% de las salidas digitales que he programado han sido para controlar algún cilindro neumático de este tipo.

Para comandar el cilindro se pueden elegir diversos tipos de electroválvulas, las más habituales son las de dos posiciones (monoestables o biestables) o tres posiciones (centros cerrados o centros a escape).

Su programación casi siempre sigue las mismas pautas, así que he programado un bloque de función (FB) donde está todo el código repetitivo. Aquí cada programador tiene sus propias manías y preferencias, el código que pongo a continuación es el que me resulta más cómodo, pero supongo que para otros no será la mejor solución.

13 de octubre de 2010

Programación de un Sinamics S120 en un PLC S7-300 (parte 2ª y última)

Entrada anterior aquí.

En este ejemplo voy a usar el modo MDI (Manual Data Input), que es la manera más sencilla de posicionar un eje en Sinamics. Los parámetros de posicionamiento (velocidad, posición de destino -modo absoluto- o distancia de desplazamiento -modo relativo- e incluso aceleraciones) se le pasan desde el PLC, y se activan con el comando Start.

Si necesitamos una programación más elaborada, tenemos a nuestra disposición el modo de bloques de desplazamiento (traversing blocks), en el que se pueden programar hasta 64 secuencias de movimiento que se pueden ejecutar secuencialmente o según cualquier otro criterio programable, pero en mi aplicación no es necesario.

Para empezar debemos habilitar el eje (esta señal debe ponerse a cero y luego a uno después de un error en el Sinamics):


Para saber si tenemos el servomotor listo:

10 de octubre de 2010

Programación de un Sinamics S120 en un PLC S7-300 (parte 1ª)

En esta entrada hablé de cómo configurar un Sinamics S120 controlado por un PLC S7-300. Como bien me apuntan en un comentario, falta hablar de cómo hacer la programación en el S7-300, así que voy a ello.

Lo primero es ir a la página de Siemens y descargar el Toolbox SINAMICS S120, que es un fichero en formato zip que incluye un proyecto de Step7 con un interface programado para Sinamics S120; también incluye documentación (en inglés y alemán).

La lectura de la documentación es obligada, porque dependiendo de como queramos manejar nuestro servomotor debemos seguir unos pasos u otros. En esta entrada voy a describir como he hecho la programación para manejar un eje en posicionamiento absoluto. Básicamente, lo que voy a hacer desde el PLC es:
  • puesta en condiciones de funcionamiento
  • referenciado (homing)
  • posicionado a una velocidad dada

7 de septiembre de 2010

Los contadores de horas de funcionamiento (run-time meters) de los S7-300/400

Los PLC de Siemens de las series S7-300 y S7-400 (y también el WinAC) vienen equipados con contadores de horas de funcionamiento (CHF). Se trata de temporizadores con una resolución mínima de una hora, aunque su formato no es como un temporizador Simatic: se almacenan en enteros con signo de 16 ó 32 bits y puede haber uno o varios, dependiendo del modelo de PLC. Por ejemplo, un PLC 313C-2DP viene equipado con uno de 32 bits, el WinAC tiene ocho de 16 bits, etc.

En la información del módulo del PLC 313C-2DP podemos ver su contador de horas de funcionamiento:


Ocho contadores de horas de funcionamiento de un sistema WinAC:


Si los CHF son de 16 bits podemos contabilizar como máximo 32 727 horas, que son unos 3,7 años, lo cual puede quedarse corto, problema que no existe con los de 32 bits. Podemos usarlos para, por ejemplo, contabilizar las horas que está el PLC en funcionamiento, las horas que está funcionando en modo automático o, lo que en mi opinión sería su uso más lógico, saber las horas de trabajo efectivo de la máquina.

2 de agosto de 2010

Contando en Step7

En mis programas de Step7 siempre he hecho un uso muy escaso de las funciones integradas de contaje. De hecho, cuando necesito contar, suelo recurrir a hacer mi propio contador ad hoc. En mi opinión, las instrucciones de contaje Simatic no resultan muy útiles, tienen su propio formato en BCD y su mayor limitación reside en su limitado rango de contaje, de 0 a 999. Si necesitamos contar más siempre se pueden encadenar dos o más contadores, pero no es muy práctico tener un contador repartido entre varias variables.

Otra opción que tenemos es utilizar contadores según la norma IEC 1131–3, que en Step7 están implementados como bloques de función de sistema (SFB) en la biblioteca Standard Library, bajo el apartado System Function Blocks. El SFB0 "CTU" sirve para contar hacia adelante, el SFB1 "CTD" para contar hacia atrás y el SFB2 "CTUD" para contar en ambos sentidos. El tipo de variable de contaje es un entero de 16 bits con signo (INT) lo que nos da un rango entre -32 768 y 32 767. En la ayuda de Step7 vienen perfectamente documentados. Aunque este rango nos permite un mayor juego, se me antoja que para muchos posibles usos se queda corto. Por ejemplo, una aplicación típica sería un contador de piezas en una máquina: es habitual llevar la cuenta de piezas buenas y piezas malas, la cantidad de piezas procesadas según su referencia, etc. Y ciertamente en una aplicación así el rango de contaje podría ser mayor, con la posibilidad de contar, dependiendo de la máquina, incluso millones.

No existe en Step7 un contador que tenga un rango de 32 bits, o por lo menos yo no he encontrado ninguna referencia, así que tengo mi propio bloque de función (FB) que uso para poner contadores de piezas en mis máquinas. Está programado en AWL y el código es muy sencillo:

6 de julio de 2010

La protección KNOW HOW de Step7

Es habitual en los proyectos de Step7 que ciertos bloques de programa estén protegidos, sobre todo si usamos bloques de bibliotecas de Siemens. Por ejemplo, los bloques que entrega Siemens para manejar una CP340 están protegidos:


Si intentamos abrirlos nos saldrá el mensaje:


Estos bloques tienen activada la protección KNOW HOW y tan solo nos permite ver la interfaz del bloque (parámetros IN, OUT e IN/OUT) y su comentario general. Sin embargo, el código del bloque, las variables estáticas y temporales, y los comentarios de los segmentos son inaccesibles.

Nosotros también podemos proteger nuestros bloques de programa. En la página web de Siemens está explicado, el procedimiento es sencillo y voy a poner un ejemplo.

21 de junio de 2010

Temporización en Step7 sin usar temporizadores SIMATIC

El número de temporizadores SIMATIC que tenemos disponibles programando en Step7 está limitado, depende de cada modelo de PLC. Por ejemplo, para un 312C tenemos 128 temporizadores, para un 313C-2DP son 256, etc. Esto es suficiente para la mayoría de las aplicaciones, pero puede ocurrir que necesitemos más. Como solución existen varias alternativas. Una sería usar temporizadores según la norma IEC, que en Step7 vienen implementados como funciones del sistema integradas (SFB). Dicha norma define dos tipos de temporizadores, TON y TOF, que no son más que un retardo a la conexión (SFB4) y retardo a la desconexión (SFB5), respectivamente. Para utilizarlos los tenemos disponibles en la biblioteca 'Standard library', bajo 'System Function Blocks'. Podemos usar tantos como queramos, pero teniendo en cuenta que para cada temporizador será necesario declarar un bloque de datos (DB) de instancia, lo cual ocupa memoria (58 bytes por cada temporizador exactamente).


Estos temporizadores no usan el formato de tiempo S5TIME propio de Step7, sino que usan el formato TIME según la norma IEC. Este formato no es más que un entero doble con signo (32 bits) donde se almacena el tiempo en milisegundos. Para saber más sobre su funcionamiento, en la ayuda de Step7 vienen perfectamente documentados.

Pero existe otra opción para realizar temporizaciones. En Step7 tenemos la función del sistema SFC64 TIME_TCK (time tick), con la que se puede leer el cronómetro del sistema de la CPU. Esto nos da la opción de construir nuestro propio temporizador a medida y es lo que voy a hacer a continuación.

21 de mayo de 2010

Temporización discontinua en Step7

Supongamos que tenemos que controlar la dosificación de un líquido que debe producirse durante un tiempo preciso. Además, existe una barrera que, al interrumpirse, bloquea la salida del líquido y, al liberarse, debe seguir dosificando el tiempo restante. Está claro que hay que usar un temporizador. En Step7 existen cinco clases de temporizadores:
S_IMPULS ó SI -> Impulso
S_VIMP ó SV -> Impulso prolongado
S_EVERZ ó SE -> Retardo a la conexión
S_SEVERZ ó SS -> Retardo a la conexión con memoria
S_AVERZ ó SA -> Retardo a la desconexión
Cada temporizador tiene dos instrucciones posibles para lanzarlo: la corta (SI, SV, ...) en la que simplemente especificamos el tiempo de temporización y la larga (S_IMPULS, S_VIMP ...), en la que además podemos parametrizarlo.

12 de abril de 2010

Modificar datos en recetas a través de scripts en WinCC Flexible

En los paneles de operador de Siemens (si exceptuamos los paneles más sencillos) tenemos la posibilidad de programar nuestras propias funciones en Visual Basic Script. Esto nos permite una gran flexibilidad a la hora de plantear nuestras aplicaciones, incluso permitiendo liberar al PLC de ciertas operaciones complejas usando el panel como apoyo de cálculo.

Desde un script tenemos acceso a la tabla de variables, a los objetos, a las funciones pre programadas e incluso a otros scripts. La programación es muy cómoda ya que el editor del WinCC Flexible es muy completo, con sintaxis coloreada, asistente de funciones y plantillas de código. Tal y como viene explicado en la ayuda:

Para crear scripts pulse <Ctrl><Espacio> y compruebe la amplia variedad de funciones. Escriba scripts utilizando funciones del sistema o el modelo de objetos. El objeto HMI Runtime permite acceder fácilmente al sistema. Para seleccionar una referencia de objetos pulse <Alt><Flecha derecha>. Puede crear scripts complejos con elementos del lenguaje de programación VBScript y acceder directamente a las variables a través de los nombres, p.ej. variable = 5.

En mi caso se me planteó la siguiente situación: en una máquina existe una receta donde se almacenan diferentes cotas para situar un eje durante el montaje de una pieza. Estas cotas son diferentes para cada referencia de trabajo (piezas diferentes) y están referidas al punto de apoyo de la pieza en la máquina. El cliente ha estado usando la máquina durante un tiempo y llevaba creadas más de 50 referencias. Por imperativo de diseño es necesario variar el punto de apoyo de todas las piezas, con lo que todas las cotas almacenadas deben ser modificadas en una cantidad fija. Además se prevé que en un futuro el punto de apoyo pueda volver a cambiar. Modificar las cotas para todas las referencias a mano sería una posibilidad, pero para hacerlo más fácil podemos echar mano de un script.

9 de abril de 2010

Unas notas sobre la administración de usuarios en WinCC Flexible

En las máquinas que fabricamos, como interfaz hombre-máquina (HMI), solemos instalar paneles de operador táctiles de Siemens. Estos paneles tienen su propio software de programación: el WinCC Flexible. Esta herramienta permite, de una forma relativamente sencilla, sacarle todo el partido a los paneles.

Entre la muchas funciones que nos permite configurar está la de la gestión de usuarios y contraseñas de una forma muy completa y con muchas posibilidades. Podemos crear grupos y usuarios con diferentes niveles de acceso, para restringir el acceso a partes del panel del operador. Por ejemplo, puede interesarnos que un operario pueda cambiar la referencia que fabrica una máquina, pero no permitirle que cambie los parámetros de dicha referencia, reservando esta operación a un encargado.

8 de marzo de 2010

Preparar un PC para comunicar con un PLC Beckhoff a través de Ethernet

Supongamos la siguiente situación: tengo un PLC Beckhoff con el que realizo intercambio de datos para mostrarlos en una aplicación hecha en Visual Basic (o .NET) a través de Ethernet (ver esta entrada). En el ordenador con el que he hecho la programación no hay problemas, la comunicación es impecable, pero si nos llevamos el ejecutable del programa (con sus respectivas bibliotecas DLL y similares) a otro PC nos vamos a encontrar con que no funciona.

El motivo es que la comunicación con el PLC se hace a través de un enrutado propio de Beckhoff: AMS Router. Por lo tanto es imprescindible instalar TwinCAT en todos los PC que vayan a ejecutar la aplicación. En el proceso de instalación es suficiente con seleccionar la opción TwinCAT CP, que es el controlador de Beckhoff para paneles de control (Control Panels).

Advertencia: es imprescindible que el sistema operativo del PC sea de 32 bits, yo lo he probado con éxito sobre un Windows 7 Starter.

Una vez instalado reiniciamos el PC y en el arranque aparecerá la siguiente pantalla (que hasta donde yo sé, no se puede ocultar):

1 de marzo de 2010

Sincronización sencilla de ejes en un Simotion

Supongamos que tenemos dos servomotores controlados por un sistema Simotion y necesitamos que se muevan de forma sincronizada, que el movimiento que ordenemos a uno se vea inmediatamente reflejado en el otro. La mejor forma de plantear esta configuración es definiendo tres ejes: un eje por cada servomotor más un eje virtual. La filosofía a seguir será acoplar cada uno de los ejes de los servomotores al eje virtual, de forma que nosotros ejecutemos las órdenes de movimiento sobre el eje virtual y que cada uno de los servomotores lo sigan automáticamente.

Un eje virtual no tiene asociado un control de lazo cerrado ni un accionamiento o un encóder. Las consignas y sus valores reales son siempre coincidentes. Generalmente su utilidad consiste en ser un eje auxiliar para generar como eje maestro, por ejemplo, consignas para varios ejes reales.

Voy a partir de una configuración como la que ya he mostrado en esta serie de entradas, donde ya tenía un par de ejes creados. Me he de asegurar de que en cada uno de los ejes (en este ejemplo los llamaré EJE_A y EJE_B) esté marcado el uso de la tecnología de operación síncrona (Synchronous operation).


A continuación insertaremos el eje virtual, para ello en el árbol de proyecto, en el apartado Axis haremos doble clic sobre Insert axis. Nos aparecerá el diálogo de creación de ejes, donde también marcaremos Synchronous operation y aceptaremos.

22 de febrero de 2010

Cursos on line de autoaprendizaje de Siemens

Navegando por la web de automatización de Siemens me he encontrado con una interesante sección llamada "Zona de Autoestudio", que son cursos on line sobre varios de sus productos. La temática es variada: PLC, HMI, buses de campo y accionamientos. Están orientados a gente que quiera iniciarse en el campo de la automatización industrial y son un complemento al programa de formación SITRAIN.

Se puede acceder a los cursos desde este enlace, pero si no usamos una versión actualizada de Internet Explorer y Flash nos denegará el acceso. Sin embargo yo he accedido sin problemas desde Firefox a través los enlaces que están a continuación.

Los cursos en español son:

Conocimientos básicos de LOGO!
Tutorial de LOGO! Soft Comfort.
Proyectos con LOGO!

Introducción al SIMATIC S7-200.


Introducción a los PLC, basado en los autómatas programables SIMATIC S7-300 / S7-400.

Conocimientos básicos sobre arquitectura y protocolos de comunicación de una red Profibus.


Curso gráfico sobre el accionamiento Micromaster 420 (configuración hardware, montaje, instalación y parametrización).

También están disponibles los siguientes cursos en inglés:

Introducción a la red Profinet.

Introducción a la red Industrial Ethernet.

WinCC Flexible para nuevos usuarios.


Tutorial sobre la configuración, hardware, montaje y parametrización del accionamiento SINAMICS G120.


Está anunciado, pero aún no disponible, un curso sobre los nuevos PLC SIMATIC S7-1200.

Ya fuera de la temática de los cursos, Siemens tiene disponible para su descarga toda su colección de manuales SIMATIC en este enlace (visto en InfoPLC). Eso sí, hay que tener paciencia porque ocupa más de cuatro gigabytes.

17 de febrero de 2010

Comunicación serie en un PLC Beckhoff CX9010 (interfaz CX9010-N030)

Si necesitamos implementar comunicación serie RS-232 en un PLC CX90x0 de Beckhoff tenemos dos opciones: añadir una interfaz CX90x0-N030, que trae dos puertos RS232 con conector SUB-D, o la opción de una tarjeta EL6001 de terminales enchufables. En mi caso he optado por la primera opción; estas notas describen como configurar y programar una comunicación serie con una interfaz CX9010-N030.

El primer paso será incluir el puerto serie en la configuración, así que abrimos el TwinCAT System Manager y vamos en nuestro proyecto a 'Configuración E/S -> Dispositivos de E/S' con el botón derecho del ratón y seleccionamos 'Agregar dispositivo...'


En la ventana de 'Insertar dispositivo de E/S' seleccionamos 'Micelánea -> Puerto de comunicación serie' y pulsamos OK.

8 de febrero de 2010

Comunicación entre un PLC Beckhoff y Visual Basic

En una aplicación reciente he tenido que comunicar a través de Ethernet un PLC Beckhoff CX9010 con una aplicación programada en Visual Basic 2008 Express. Para realizar esta conexión tenemos a nuestra disposición de manera gratuita controles OCX y DLL de comunicación. Estas son las notas que resumen las pruebas que hice para obtener una comunicación óptima.

La comunicación entre el PLC y Visual Basic se realiza mediante el protocolo ADS (Automation Device Specification) y funciona sobre los protocolos TCP/IP o UDP/IP. En el PLC no es necesario realizar ninguna configuración especial. Simplemente se deben tener claras las variables que necesitamos comunicar para poder agruparlas y leerlas y/o escribirlas en una única operación. Mis primeras pruebas leían y escribían variables individualmente, pero al pasar de un pequeño número de operaciones de lectura/escritura el programa se ralentizaba. Entonces opté por agrupar todas las variables necesarias en dos estructuras, una con los datos que se van a leer desde la aplicación en Visual Basic (estructura de lectura) y otra con los datos que la aplicación podrá modificar (estructura de escritura). Como ejemplo pondré estas dos estructuras declaradas en 'Data types':

27 de enero de 2010

Remanencia de datos en un Beckhoff CX9010

El Beckhoff CX9010 es en realidad un PC embebido con procesador ARM que ejecuta Windows CE. Esta configuración le otorga ventajas frente a un PLC convencional, entre las que destacan una mayor conectividad y accesibilidad. Sin embargo también existen inconvenientes. Cuando apagamos un PLC no nos preocupa qué pasará si hay un corte de corriente, es algo con lo que se cuenta en su diseño. Sin embargo un PC requiere un apagado de forma controlada, para evitar pérdida de datos. Si el CX9010 sufre un corte de alimentación puede que los últimos datos que estemos manejando se pierdan... si no tomamos las precauciones adecuadas.

Para realizar la remanencia de datos en el CX9010, Beckhoff nos ofrece dos alternativas. La primera es escribir en la memoria flash que usa a modo de disco duro. Mediante el bloque de función FB_WritePersistentData podremos almacenar nuestras variables. El inconveniente es que si se produce una caída de tensión en medio de un proceso de escritura puede haber corrupción de datos, además de tener en cuenta que no podemos abusar de la escritura en memoria flash ya que puede sufrir desgaste por machacar demasiado la misma zona de memoria. La segunda alternativa, que será la que desarrolle a continuación, consiste en usar el dispositivo NOV/DP-RAM que viene integrado en el CX9010.

11 de enero de 2010

Comunicación Profibus entre un Beckhoff CX9010 y un servomotor Festo MTR-DCI (parte 2ª)

Teniendo el servomotor configurado y comunicando en la primera parte, vamos ahora con la programación.

En el CD que acompaña al servomotor viene un ejemplo de programación para Step7 y no dice nada de Beckhoff (ni de ningún otro fabricante). Explorando un poco el ejemplo veo que el control se hace a través de un FB escrito en lista de instrucciones (AWL), que afortunadamente no está protegido y puedo analizarlo: lo que se hace es leer 8 bytes de entrada a través de Profibus, se interpretan según el modo de funcionamiento del servomotor, se codifican los posibles comandos al servomotor en 8 bytes de salida y finalmente se transmiten por Profibus. Lo que voy a hacer es 'traducir' el código en AWL de Step7 a lenguaje ST para el CX9010.

ADVERTENCIA: El código que presento a continuación lo he probado únicamente utilizando el servomotor en posicionamiento absoluto. Para los demás modos de funcionamiento debería funcionar, he procurado ser meticuloso a la hora de transcribir el código, pero puede haber errores. Si usas este código y te funciona, si le haces modificaciones o si encuentras un error te agradecería que me lo comuniques.

Para empezar voy a declarar los tipos de datos necesarios. He intentado respetar al máximo la programación hecha en Step7 por Festo, los nombres de las variables son un calco y su funcionalidad idéntica.

7 de enero de 2010

Comunicación Profibus entre un PLC Beckhoff CX9010 y un servomotor Festo MTR-DCI (parte 1ª)

En mi PLC Beckhoff CX9010 tengo pinchada una tarjeta maestra de Profibus EL6731. Con ella voy a controlar un servomotor Festo MTR-DCI, exactamente el mismo modelo que probé en esta entrada, solo que en aquella ocasión el control lo hacía desde un Siemens S7-300.

Empecemos por instalar los ficheros de configuración GSD del servomotor. Para ello vamos al CD que viene con el servomotor (o en la web de Festo) y los copiamos al directorio C:\TwinCAT\Io\Profibus (la ruta depende de donde hayamos instalado el TwinCAT).


NOTA: Voy a suponer que el servomotor tiene dirección Profibus 6 y una configuración similar a la mostrada en esta entrada.

Ahora voy a configurar la red Profibus para comunicarme con el servomotor. En el TwinCAT System Manager, selecciono:
Configuración E/S => Dispositivos de E/S => Dispositivo 4 (EL6731)
y voy a la pestaña 'EL6731'.


Dejo la dirección Profibus 1 para la tarjeta EL6731 y ajusto la velocidad a 12 megas (el servomotor la ajusta automáticamente), el resto de parámetros los dejo tal y como están.

4 de enero de 2010

Conectando con un Beckhoff CX9010 a través de ethernet

El PLC Beckhoff CX9010 se programa a través de unos de los dos puertos ethernet que trae. Programar a través de ethernet solo tiene ventajas: es rápido, prácticamente cualquier ordenador sirve y sin problemas de tierras.

El CX9010 no es un PLC propiamente dicho, es un PC embebido (con procesador ARM) que lleva como sistema operativo Microsoft Windows CE y ejecuta un PLC virtual (soft PLC). Para conectarse a él existen varios métodos. Al tener un Windows CE lo podemos integrar en una red y programarlo desde donde queramos, incluso a través de internet. Cutre-foto con mi móvil:


En mi caso me voy a conectar directamente con un cable ethernet cruzado. Lo primero es ir a la conexión de red de nuestro PC a las propiedades de la conexión TCP/IP y marcar la casilla 'Obtener dirección IP automáticamente'.