• Skip to primary navigation
  • Skip to main content

ProgramaciónSiemens

Cursos online de automatización industrial con PLC Siemens

  • Cursos
  • Mi cuenta
    • Mi cuenta
    • Blog
    • Foros
    • Curso de iniciación a la Industria 4.0
    • Curso Express de TIA Portal
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto

Cómo registrar valores de un PLC desde un PC en 5 min

Cómo registrar valores de un PLC desde un PC en 5 min

por Iñigo Gútiez · 14 Comments

Hoy te voy a demostrar que registrar valores de un PLC se puede hacer en un tiempo record si tienes las herramientas adecuadas.

Contenido

  • 1 ¿Se puede registrar valores de un PLC en 5 minutos?
    • 1.1 ¿Empezar desde cero?
  • 2 ¿Y cómo hacemos para registrar valores de un PLC?
  • 3 El video.
  • 4 El código.
  • 5 ¿Qué te ha parecido?

¿Se puede registrar valores de un PLC en 5 minutos?

Bueno, para empezar, dependerá un poco lo que se quiera registrar.

Lógicamente si se quiere hacer una cosa bestialmente grande y complicada, seguramente no.

Pero si tienes las herramientas adecuadas, y estamos hablando de registrar digamos media docena de valores, a tiempo fijo, se puede sin problemas.

¿Empezar desde cero?

No, lógicamente si cada vez que tienes que hacer un registro, tienes que empezar de cero, no lo vas a poder en 5 minutos.

En general, yo lo suelo hacer de esta manera cuando me toca hacerlo.

Pero no es la forma más eficiente de trabajar.

Por eso he desarrollado una forma de realizar el registro que sea sencillo de implementar cada vez que lo necesite.

Lo que quiero que veas es que se puede darle un poco al rosco y hacer tus propios programas que te cuesten un poco (o mucho) el primer día, pero que para el futuro, sea una gran inversión.

Este método que te presento, lo he incluido dentro de la plantilla del curso de Snap7 y VB.Net.

Lógicamente, tu puedes crear tus propias creaciones.

O comprar software de Siemens, u otros fabricantes que te ayuden. Aunque sus licencias cuestan varios miles de euros.

¿Y cómo hacemos para registrar valores de un PLC?

En mi caso, como la plantilla tienen controles que leen/escriben en el PLC, puedo usar esta característica para crear una colección de controles y pasárselo a la función para que los trate.

Es decir, configuro «la lista de la compra» de los controles que quiero registrar y luego solamente hago la llamada.

Tú, tendrás que realizar algo parecido con tus creaciones.

El video.

Ahora, quiero enseñarte a lo que me refiero, porque vas a ver que es realmente sencillo si lo piensas, y creas tu forma de trabajar.

La que te muestro, es la que yo he creado para el curso de Snap 7, pero lógicamente no es la única, ni tiene por qué ser la mejor.

Solamente es una forma de trabajar, que funciona razonablemente bien.

El código.

Te adjunto el código del bloque de escritura que te he presentado.

Por si lo puedes reutilizar para tus creaciones, o adaptar la idea de alguna forma.

#Region "EScribir archivos "
    ''' <summary>
    ''' Escritura en un log de valores de controles
    ''' </summary>
    ''' <param name="ColeccionControles">Colección que contendrá los controles cuyos valores se quieren registrar</param>
    ''' <param name="Archivo">Path completo del archivo de registro</param>
    ''' <param name="Separador">Caracter separador entre valores (por ejemplo ";" o ",")</param>
    ''' <param name="Hora">True: Registrar la hora, False: No registrar hora</param>
    ''' <param name="Fecha">True: Registrar la fecha, False: No registrar la fecha</param>
    Public Sub Escribir_Log(ByVal ColeccionControles As Collection, ByVal Archivo As String, ByVal Separador As String, ByVal Hora As Boolean, Fecha As Boolean)
        Dim Linea As String = ""
        Dim Contador As Integer = 0
        Dim file As System.IO.StreamWriter

        If Not IO.File.Exists(Archivo) Then
            If Fecha Then
                Linea = "Fecha"
                Contador = Contador + 1
            End If
            If Hora Then
                If Contador > 0 Then
                    Linea = Linea & " " & Separador & " " & "Hora"
                    Contador = Contador + 1
                Else
                    Linea = "Hora"
                    Contador = Contador + 1
                End If
            End If

            For i = 1 To ColeccionControles.Count
                If Contador > 0 Then
                    Linea = Linea & " " & Separador & " "
                End If
                Linea = Linea & ColeccionControles(i).Name
                Contador = Contador + 1
            Next
            Linea = Linea & vbCrLf
        End If


        Contador = 0
        If Fecha Then
            Linea = Linea & Now.ToShortDateString
            Contador = Contador + 1
        End If
        If Hora Then
            If Contador > 0 Then
                Linea = Linea & " " & Separador & " " & Now.TimeOfDay.ToString
                Contador = Contador + 1
            Else
                Linea = Linea & Now.TimeOfDay.ToString
                Contador = Contador + 1
            End If
        End If

        For i = 1 To ColeccionControles.Count
            If Contador > 0 Then
                Linea = Linea & " " & Separador & " "
            End If
            Linea = Linea & ColeccionControles(i).PLC_Valor
            Contador = Contador + 1
        Next
        Try
            file = My.Computer.FileSystem.OpenTextFileWriter(Archivo, True)
            file.WriteLine(Linea)
            file.Close()
        Catch ex As Exception

        End Try

    End Sub

#End Region

¿Qué te ha parecido?

Espero que te haya abierto la mente y dado ideas para tus proyectos.

Como ves, se puede hacer en un tiempo mas que razonable si tienes una herramienta ya creada.

Evidentemente me ha llevado muchas horas desarrollar el motor sobre lo que se asienta todo.

Y a ti también te va a costar hacer algo así, o parecido.

Pero créeme que merece a pena una vez lo tienes hecho.

Ni que decir tiene, que si no quieres complicarte la vida, siempre tienes el curso de Snap7 con VB.Net donde tendrás a tu disposición la plantilla actualizada con el motor de lectura/escritura que he creado apoyándome en Snap7.

Poco a poco voy metiendo nuevos controles, y además junto con un alumno del curso que me está haciendo de beta tester, estamos de forma continua realizando pruebas y mejorando la plantilla para que sea más eficiente y robusta.

Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.

 

 

Iñigo Gútiez

Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí

Puedes seguirme en cualquiera de las siguientes redes sociales.

Filed Under: blog

Reader Interactions

    Deja un comentario Cancelar

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    14 Comentarios

  1. Daniel Quinteros says

    10 mayo, 2018 at 20:51

    Muy bueno el video Iñigo. Muchas gracias.
    Te quería pedir si es posible, un ejemplo de envío de correos (alarmas), con s7-1200 a una cuenta Hotmail, Gmail, etc. La información de Siemens es confusa y no me a funcionado. Te lo agradecerá mucho si nos puedes ayudar con esto.

    Responder
    • Iñigo Gútiez says

      10 mayo, 2018 at 21:59

      Con un S7-1200, directamente es complicado porque funciona sobre el puerto 25, y ese puerto no lo usa ningun servicio.
      Tienes un ejemplo aquí: https://programacionsiemens.com/enviar-email-tm_mail-tia-portal/
      Saludos

      Responder
  2. David says

    11 mayo, 2018 at 10:44

    Perdona Iñigo pero una duda que no viene al caso ¿de donde sacas esas imágenes o fotos que acompañas a la entrada al blog? Lo digo por son super concisas; describen y resumen fielmente el contenido del la entrada al blog ¿has sido publicista alguna vez? Saludos !!!

    Responder
    • Iñigo Gútiez says

      11 mayo, 2018 at 15:07

      Jaja, no no.
      Sólo intento buscar en un banco de imágenes que compre el poder usarlo en su día e intento buscar una imagen que pegue más o menos bien.
      Que siempre no es fácil.
      Pero vamos, quedan más o menos.
      Saludos

      Responder
  3. Chema says

    11 mayo, 2018 at 16:16

    Buen aporte Iñigo precisamente tengo el objetivo de aprender en VB.Net y pensaba comprarte el curso y aprender porque despue lo voy a poder aplicar en varios sitios.
    Pero primero tengo unas modificaciones en un plc de Rockwell y me tendrá un tiempo entretenido a ver si me lo saco de encima y empiezo el curso de VB.Net que no quiero que se me demore. Ya tendrás noticias mias.
    Un Saludo ?

    Responder
  4. Antonio Gil says

    12 mayo, 2018 at 11:12

    Eres un máquina Iñigo! Muy útil cada post qué subes!
    Gracias

    Responder
    • Antonio Gil says

      12 mayo, 2018 at 11:14

      Por cierto, tienes algún curso/ manual de VB disponible?
      Saludos

      Responder
      • Iñigo Gútiez says

        12 mayo, 2018 at 12:05

        Hola Antonio,
        No, no tengo ninguno.
        Pero hay en la red muchos sitios donde sí tienen.
        Saludos

        Responder
  5. José Carlos says

    14 mayo, 2018 at 22:29

    Buenas noches Iñigo,
    Comienzo dándote las gracias por lo increíblemente fácil que consigues hacer cosas que llevarían horas de desarrollo. Hoy un compi del trabajo que no tenía ni idea VB, pero si que sabe arrastrar y soltar jajaja… se ha puesto a poner controles LED y botones ON/OFF salidas booleanas y le ha quedado una aplicación funcional :).
    PD: por el momento he ejecutado aplicaciones realizadas con tu plantilla del curso de snap7 en 7 autómatas S7-1200 y la estabilidad es genial, reconexión en caso de problemas de red, visualiación de gráficas con datos cruzados de varios autómatas, ….. y ahora la posibilidad de hacer LOG…me quito el sombrero, de categoría lo tuyo…

    Responder
    • Iñigo Gútiez says

      14 mayo, 2018 at 23:36

      Muchas gracias José Carlos!
      Esa es un poco la idea: que gente sin conocimientos previos en VB.NET pueda crear un HMI funcional de una forma sencilla.
      La idea es que vaya creciendo con el tiempo y que cada vez vaya mas fino y con más funcionalidades.
      Un saludo!

      Responder
  6. NOEL says

    5 junio, 2018 at 23:50

    Muy bueno y lo haces facil. Un saludo

    Responder
    • Iñigo Gútiez says

      7 junio, 2018 at 19:20

      Muchas gracias Noel!

      Responder
  7. Luis Parra says

    20 junio, 2018 at 20:47

    Mil gracias.
    Es posible descargar una versión temporal STEP-7 para realizar prácticas?. Si no se realizan prácticas se olvidan los instructivos.

    Responder
    • Iñigo Gútiez says

      20 junio, 2018 at 20:50

      Desde la web de Siemens se pueden bajar los trial de 21 días.

      Responder
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto
  • Blog

Copyright © 2021 · Programación Siemens · Todos los derechos reservados

· ¿Quién soy? · Misión, Visión y valores

7 pasos para programar mas ordenado y profesional op

7 pasos para programar más ordenado y profesional

Recibirás de forma TOTALMENTE GRATUITA:

  • Un PDF con los pasos para programar de forma más eficiente, limpia y profesional

PROGRAMACIÓN SIEMENS te informa que los datos de carácter personal que nos proporciones rellenando el presente formulario serán tratados por Iñigo Gútiez Chagartegui como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es para enviarte nuestras publicaciones, promociones de productos y/o servicios y recursos exclusivos. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de ActiveCampaign, LLC  (proveedor de email marketing), ubicada en EEUU. ActiveCampaign, LLC
 está acogido al acuerdo EU-US Privacy Shield. Puedes ver la política de privacidad de ActiveCampaign en https://www.activecampaign.com/privacy-policy/. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@programacionsiemens.com así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en nuestra política de privacidad.

x