Conexion con el PLC y PC

  • 22 Respuestas
  • 13378 Vistas

Esteban E

  • Aprendiz
  • **
  • Mensajes: 96
Re:Conexion con el PLC y PC
« Respuesta #15 : abril 04, 2015, 22:11:04 pm »
Desde ya mucha gracias aguardo su respuesta.

Una duda es quien utiliza pawn y porque?? Uno es mas didáctico que otro pero cual es mas conveniente aprender. Como para tenerlo en cuenta en el futuro.


Gracias.

Esteban

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Conexion con el PLC y PC
« Respuesta #16 : abril 05, 2015, 20:26:08 pm »
Buenas tardes Esteban,

En el siguiente link de la nota AN001 están los ejemplos en lenguaje Ladder para descargar:

http://slicetex.com/docs/an/an001

http://slicetex.com/docs/an/an001/files/STX-AN001_files.zip

Respecto a tu pregunta sobre cual lenguaje conviene aprender: ¿ Pawn o Ladder ?.

Yo te recomendaría entender Pawn tambien (no es complicado), ya que por lo general todas las nuevas actualizaciones de software
están primero para lenguaje Pawn y luego para Ladder, ya que Pawn es el lenguaje Base del PLC.

Pawn es en general usado por personas con una formación en lenguajes programación de Computadoras, mas que de PLC para la industria.

Por otro lado, usar Pawn te permite optimizar mejor las capacidades del PLC ya que permite realizar lógicas mas complejas
por las características propias del Lenguaje. También se optimiza memoria y velocidad porque el compilador no incluye código extra.

Por otro lado, como contra, Pawn es un poco mas difícil que Ladder y probablemente para algunos sea mas difícil de interpretar.
Sin embargo, podes combinar ambos lenguajes desde un proyecto Ladder. Es decir, podes implementar algunas
cosas típicas en Ladder y otras mas complejas en Pawn.

El siguiente documento explica como combinar ambos lenguajes:

http://slicetex.com/ladder/docs/files/STXLADDER-PL.pdf

El siguiente es una introducción a Pawn:

http://slicetex.com/ladder/docs/files/STXLADDER-PI.pdf

Quedo a disposición por cualquier duda.
« Última Modificación: abril 05, 2015, 20:29:35 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Esteban E

  • Aprendiz
  • **
  • Mensajes: 96
Re:Conexion con el PLC y PC
« Respuesta #17 : abril 06, 2015, 20:24:14 pm »
Buenas noches

No me activa el relay

Con el siguiente código:

Código: (VB.NET) [Seleccionar]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click



        ' Variable para retorno de estado del PLC.
        Dim OnUdpRxStat As UdpRxCmdStat

        ' Variable para almacenar el estado de una conexion para enviar comando a el dispositivo.
        Dim CmdStat As SendStat

        ' Crear array de bytes a enviar (dos bytes).
        Dim DataBytes(2) As Byte


        ' Especificar el primer byte el valor "1", para activar RELAY1 / DOUT1.
        DataBytes(0) = 1

        ' Especificar el segundo byte un valor cualquiera.
        DataBytes(1) = 55

        ' Enviar bytes UDP al script con el metodo "Send".
        ' Nota: El valor retornado en OnUdpRxStat no es comprobado por cuestiones didacticas, pero deberia hacerlo.
        CmdStat = PioBoard.Cmd.Udp.Send(DataBytes, 2, OnUdpRxStat)

        ' Comprobar retorno del comando.
        If Not (CmdStat = SendStat.Success) Then

            ' Error: Mostrar cartel con descripcion.
            MessageBox.Show(CmdStat.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

            ' Retornar.
            Return

        End If






        If (CmdStat = SendStat.Success) Then

            MessageBox.Show("Codigo de Error:\n" + CmdStat.ToString(), "Error al enviar commando (UdpRx) ...", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End If

        ' Comprobar respuesta del PLC al ejecutar la operacion "UdpRx" (buffer
        'del PLC lleno o no leido, demasiados bytes, etc.)
        If (OnUdpRxStat = UdpRxCmdStat.OK) Then

            Dim ErrorCod = "Codigo de Error:\n" + OnUdpRxStat.ToString()
            MessageBox.Show(ErrorCod, "Error al ejecutar operacion (UdpRx) ...", MessageBoxButtons.OK, MessageBoxIcon.Error)


        End If


Primero me da el error : "nSucess" luego "nOK" y no me activa el relay 1. Adjunto diagrama lagger  por las dudas.



Esteban

« Última Modificación: abril 07, 2015, 16:55:39 pm por Soporte »

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Conexion con el PLC y PC
« Respuesta #18 : abril 07, 2015, 11:48:03 am »
Buen dia,

En el diagrama OnUdpRx.sld cambia el RELAY1 por RELAY8 y proba.

Porque en el diagrama Principal.sld, network N005 estas pisando el valor de RELAY1.

Te adjunto el diagrama Ladder modificado.

Recorda también en el ejemplo Basic utilizar la IP del PLC y recompilar:

Código: (VB.NET) [Seleccionar]
   ' Inicializar libreria STX8XXX. Especificar IP: 192.168.1.81, Password: 0 y Dispositivo: STX8081.
   PioBoard = New stx8xxx.Stx8xxx("192.168.1.81", 0, Stx8xxxId.STX8081)
« Última Modificación: abril 07, 2015, 16:54:22 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Esteban E

  • Aprendiz
  • **
  • Mensajes: 96
Re:Conexion con el PLC y PC
« Respuesta #19 : abril 07, 2015, 12:02:06 pm »
Hola

Probé y funciono con el relay ocho. Ahora lo que no entiendo es porque con el relay 1 no funciona, no entendí eso que estoy pisando N005.


Esteban

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Conexion con el PLC y PC
« Respuesta #20 : abril 07, 2015, 12:16:57 pm »
Porque el diagrama Principal.sld se esta ejecutando todo el tiempo, fijate que el componente la N005 le pone 0 o 1 al RELAY1 de acuerdo al valor de salida "Q" del timer T5.

Entonces, cuando el evento OnUdpRx ponga RELAY1=1, un instante despues el diagrama Principal.sld le pone RELAY1=0, el efecto neto es RELAY=0.

Principal.sld esta dentro del SCAN-CYCLE, leer documento:

http://slicetex.com/ladder/docs/files/STXLADDER-UM.pdf
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Esteban E

  • Aprendiz
  • **
  • Mensajes: 96
Re:Conexion con el PLC y PC
« Respuesta #21 : abril 09, 2015, 21:20:39 pm »
Hola el sistema esta funcionando correcto. Ahora en el otro proyecto que se utiliza VB.net pero en plataforma web asp.net ejecuta todo correcto sin errores pero no activa el relay y el firewall esta configurado ya que cuando lo ejecutas por primera vez te pide aceptar el pedido.


Saludos.

Esteban

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re:Conexion con el PLC y PC
« Respuesta #22 : abril 10, 2015, 11:55:09 am »
Buen dia Esteban,

No conozco de ASP.NET ya que no lo utilizo, pero comproba que del lado servidor este cargada la librería STX8XXX.DLL, ademas la configuración de red sea la correcta.

Por otro lado, verifica que realmente te estés comunicando a la placa (enviando paquetes) con algún programa para monitorear la red como Wireshak .
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com