Mensajes recientes

Páginas: 1 ... 7 8 [9] 10
81
STX8091 / Re:Restaurar a valores de fabrica
« Último mensaje por Soporte febrero 11, 2018, 12:10:13 pm »
Tengo un PLC modelo STX8091 D1   el cual se bloqueo y le aparecen en color verde el  RTC ERROR    y en color rojo   RUN  ERROR,   he intentado reiniciarlo como se indica en la hoja de datos pero ninguna de las formas que menciona me funcionan.

Buenos dias.

En la hoja de datos figuran dos procedimientos.

http://slicetex.com/hw/stx8091/docs/STX8091-DS-AX_BX_CX_DX.pdf

  • En página 36 (sección 10.20), para firmware nuevos.
  • En página 37 (sección 10.20.1) para firmware no actualizados desde 9/Julio/2016.

¿Cuál de los dos seguiste?.

Probablemente si no has actualizado el firmware, es como se indica en la página 37.

Caso contrario, si ninguno da efecto, fijate si cuando haces el siguiente procedimiento, te queda el led PAUSE parpadeando:

1. Presione el botón RESET al mismo tiempo que el botón DEF/BOOT.
2. Libere el botón RESET pero mantenga presionado el botón DEF/BOOT un segundo.
3. Libere el botón DEF/BOOT.
4. Observe que el led PAUSE parpadee a una frecuencia de 1 Hz aproximadamente.

Si te queda parpadeando, es posible actualizarle el firmware y reiniciar.

Avísame en este último caso.

Saludos
82
STX8091 / Agregar nueva conexion RS485
« Último mensaje por Mariano febrero 11, 2018, 10:56:33 am »
Que tal Boris:

Resulta q ya tengo ocupados tanto el puerto ethernet como el RS232/485 para un panel HMI. Necesito conectar un nuevo dispositivo al PLC para lectura de datos via RS485. Que posibilidades existen bien para ampliar el PLC existente (agregando un nuevo puerto RS485) o será más factible la instalación de un nuevo PLC que realice especificamente la función de recibir estos datos.

Saludos
83
Hola,
Estoy retomando este tema. Se me genero una consulta en el Diagrama de Conexion.pdf. El Interruptor de Stop Emergencia. Es un interruptor normal abierto o normal cerrado? Gracias.-
84
STX8091 / Restaurar a valores de fabrica
« Último mensaje por InduxSA febrero 10, 2018, 12:19:25 pm »
Hola Boris

Tengo un PLC modelo STX8091 D1   el cual se bloqueo y le aparecen en color verde el  RTC ERROR    y en color rojo   RUN  ERROR,   he intentado reiniciarlo como se indica en la hoja de datos pero ninguna de las formas que menciona me funcionan.

 existe alguna otra forma de realizar un reinicio?
85
STX8092 / Re:Comunicación Visual .Net con PLC (ex Modo DAQ)
« Último mensaje por Soporte febrero 08, 2018, 10:30:27 am »
En la posición Packet(1), quisiera leer el valor del contador pero en esta instrucción veo que lo hacemos en Byte, es decir, cuando el CV del contador que quiero leer excede de '255', se resetea mi lectura y yo quisiera leer valores del orden de los miles, X000 o más.
¿Cómo puedo leer estos valores?

Buenos días.

Lo que debes hacer es desde el PLC enviar la variable de 32-bits pero separada en 4 bytes, para luego unirla nuevamente desde Visual Basic cuando recibas los bytes.

Por ejemplo, supongamos que tenés dos variables de 32-bits en Pawn llamadas "Contador1" y "Contador2" con el valor de las cuentas. Antes de enviarla por la red, debes separarlas en 4 bytes y copiarla al paquete de transmisión (por ejemplo Packet[]):

Código: (Pawn) [Seleccionar]
// Variable con cuenta de 32-bits
new Contador1, Contador2

// Array con paquete de transmisión.
new Packet[8]

// Separamos en 4 bytes a Contador1 y Contador2 mediante desplazamientos de bits y preservando solo 8-bits resultantes.
// Notar que en primer byte, colocamos los 8 bits menos significativos y en el ultimo byte los más significativos.
Packet[0] = (Contador1 & 0xFF)
Packet[1] = (Contador1 >> 8) & 0xFF
Packet[2] = (Contador1 >> 16) & 0xFF
Packet[3] = (Contador1 >> 24) & 0xFF

Packet[4] = (Contador2 & 0xFF)
Packet[5] = (Contador2 >> 8) & 0xFF
Packet[6] = (Contador2 >> 16) & 0xFF
Packet[7] = (Contador2 >> 24) & 0xFF

Luego desde Visual Basic cuando lo recibís en array Packet() podes utilizar el método BitConverter.ToInt32 para recuperar el entero de 32-bits.

Código: (Visual Basic) [Seleccionar]
Dim Packet(8) As Byte

' Primer variable de 32-bits, bytes 0 a 3.
Dim Contador1 As Integer = BitConverter.ToInt32(Packet, 0)

' Segunda variable de 32-bits, bytes 4 a 7.
Dim Contador2 As Integer = BitConverter.ToInt32(Packet, 4)

No utilizo Visual Basic, por lo que puede haber un error de sintaxis, pero esa es la idea.

Nota: Es importante que desde el PLC se transmita primero el byte menos significativo, así al recibirlos en la PC, Visual Basic los pueda unir correctamente, caso contrario, se debe invertir el orden de los bytes antes de usar el método BitConverter.ToInt32 de conversión, para que tenga el formato esperado (algunas computadoras no basadas en arquitectura Intel pueden requerirlo, esto se llama Endianness).

Saludos



86
STX8092 / Re:Comunicación Visual .Net con PLC (ex Modo DAQ)
« Último mensaje por cimx febrero 08, 2018, 02:06:27 am »
Muy bien!
La aplicación ya se estabilizó.
Ahora tengo otra cuestión; Quisiera leer el CV de un contador.

Dim Packet(8 ) As Byte
Dim dataInt(8 ) As Integer
        Try
            If (PioBoard.Cmd.Udp.Receive(4980, 9, Packet) = UdpReceiveStat.Success) Then
                For i As Integer = 0 To 8
                    dataInt(i) = CInt(Packet(i))
                Next
            Else
            End If
            lblIntCiclo.Text = dataInt(1)

        Catch ex As Exception

        End Try


En la posición Packet(1), quisiera leer el valor del contador pero en esta instrucción veo que lo hacemos en Byte, es decir, cuando el CV del contador que quiero leer excede de '255', se resetea mi lectura y yo quisiera leer valores del orden de los miles, X000 o más.
¿Cómo puedo leer estos valores?
87
IMPORTAR ARCHIVO CSV A EXCEL

Una vez leída la memoria EEPROM del PLC con la aplicación en Visual C# es posible almacenar los datos en un archivo CSV, que no es más que un archivo de texto que tiene en cada línea campos de datos separado por una coma.

Por ejemplo, supongamos recibir dos bytes de la direcciones 4 y 5 de la memoria EEPROM, con los valores 25 y 30 respectivamente.

En un archivo CSV lo almacenaríamos de la siguiente forma:

4, 25
5, 30


Donde la primera parte corresponde a la dirección y la segunda parte luego de la coma al valor de byte recibido.

Esto en Excel puede importarse especificando que la primera parte sea la columna "dirección" y la segunda parte la columna "valor".

A partir de allí, ya tenemos una tabla y podemos generar un gráfico.

A continuación mostramos en imágenes el procedimiento de importación de un archivo CSV en Excel hasta generar un gráfico con los valores de memoria recibidos.

Click en las imágenes para AMPLIAR:






















88
¡Buenas tardes foro de Slicetex!... en esta oportunidad, subimos un ejemplo de gran utilidad.

DESCRIPCIÓN

El actual ejemplo permite acceder desde un programa diseñado en Microsoft Visual C# a la memoria EEPROM del PLC y leer sus bytes de datos.

Posteriormente desde el programa en Visual C# puede procesar la información recibida y almacenarla en un archivo, realizar tablas, gráficos en excel, etc.

Este programa requiere un PLC con memoria EEPROM.

FUNCIONAMIENTO

El programa del PLC  llamado "EepromServerPLC" tiene un funcionamiento simple.

A grandes rasgos, activa el evento @OnUdpRx(), el cual será llamado cuando un paquete de datos UDP / IP sea recibido por Ethernet. Es decir, actúa como un servidor esperando una petición a la cual responde.

Cuando el paquete de datos es recibido se lo procesa y se comprueba que sea del tipo RX_TYPE_READ_EEPROM (ver constantes en globals.inc del proyecto PLC). Esto significa, que el primer byte del paquete recibido tenga el valor 0xB0.

Una vez identificado el tipo de paquete, obtiene en otros bytes dentro del mismo paquete la dirección inicial a leer de EEPROM (START_ADDRESS) y la cantidad de bytes solicitados (QUANTITY).

La aplicación en Visual C# se encarga de realizar una petición de este tipo, respetando el formato del paquete.

Luego se llama a la función EepromReadMakeData(), la cual se encarga de leer los bytes desde memoria EEPROM y almacenarlos en un array final, el cual será un paquete con el formato de datos tipo TX_TYPE_EEPROM_DATA (ver constantes en globals.inc) para que luego pueda ser procesado correctamente con la aplicación en Visual C#.

Nota-1: El programa del PLC fue diseñado para aceptar solo una petición de 100 bytes de lectura de memoria EEPROM por petición, por lo que si deben leerse más bytes, la aplicación en Visual C# realizará varias conexiones (peticiones) que no excedan los 100 bytes, hasta completar la lectura completa (por ejemplo para 10000 bytes, realizará 100 peticiones).

Nota-2: El programa del PLC al inicio, guarda valores de prueba en la memoria EEPROM del PLC. Dichos valores podrán ser leídos luego desde la aplicación en Visual C#.

Nota-3: Es importante señalar que la memoria EEPROM almacena bytes, es decir valores que no exceden los 8-bits (números de 0 a 255), por lo que si almacenamos enteros de 32-bits o variables float (decimales), los mismos se componen de 4 bytes, por lo tanto luego desde la aplicación en Visual C# debemos "unilos" nuevamente para poder interpretarlos como un entero de 32-bits o un float de 32-bits. Se recomienda almacenar las variables de 32-bits en direcciones de memoria que sean múltiplos de 4. Vea el código de ejemplo en C#.

APLICACIÓN VISUAL C#

La aplicación llamada "EepromVisualAccess" (con su código fuente) en Visual C# asociada a este ejemplo  se puede descargar desde nuestro sitio web o foro de soporte técnico (al final de este post).

A continuación mostramos una captura de pantalla de la aplicación en Visual C# y los datos recibidos de la memoria EEPROM almacenados en un archivo de texto (ver fondo de imagen).



También la aplicación ofrece guardar los datos de la memoria EEPROM en formato CSV, es decir, valores separados por "coma", así luego puede importarlo desde Excel y realizar tablas o gráficos con los valores (ver siguiente post).

Para utilizar la aplicación, recuerde antes en el código fuente Visual C# configurar la dirección IP y modelo de PLC, en la línea:

PioBoard = new Stx8xxx("192.168.1.81", 0, Stx8xxxId.STX8091)

La aplicación solicita al PLC una cantidad de bytes a leer en memoria EEPROM a partir de una direccion inicial, la cual es configurada en la ventana de la aplicación.

Todo comienza cuando se hace "click" en el botón "Leer EEPROM", el cual ejecuta el evento butReadEeprom_Click() en el código de la aplicación.

El método encargado de realizar la petición de lectura en EEPROM a través de Ethernet UDP/IP es SendReadEeprom().

Como el PLC solo puede responder 100 bytes por petición, este programa se encarga de dividir las peticiones en fragmentos en caso de solicitar más de 100 bytes de datos.

Luego la aplicación llama al método WaitPlcResponse(), el cual espera la respuesta del PLC con los bytes leídos de memoria EEPROM.

Finalmente se llama al método SaveEepromDataToFile() para guardar los datos en un archivo de texto TXT y CSV.

El usuario puede optar por almacenar los datos recibidos en archivos con formato para valor byte, formato para valor 32-bits con signo y formato para valor Float (decimal). Esto es de acuerdo a como se almacenaron los datos en memoria EEPROM, según se explicó con
anterioridad.

Nota-1: Si el programa lo solicita, es probable que le pida acceso al firewall de Windows para recibir la respuesta del PLC, por lo tanto, permitalo.

LECTURAS RECOMENDADAS

Se recomienda leer las funciones del PLC para enviar datos UDP y leer la memoria EEPROM, esto lo puede encontrar en el manual de programación del PLC:

STX80XX-MP-PLC-AX_CX_DX.pdf

También para entender el código en Visual C# puede ser útil leer la nota de aplicación AN001, que explica con dos ejemplos simples como leer, transmitir datos al PLC y usar la librería Slicetex.

LINKS DE DESCARGA

El código fuente de los ejemplos puede ser descargado de los siguientes enlaces:


PRUEBA INCIAL

Cargue el proyecto EepromServerPLC.zip al PLC (antes seleccione su modelo de PLC y compile) con StxLadder.

Luego descargue el proyecto EepromVisualAccess.zip a su computadora, abra el proyecto con Microsoft Visual C#. Configure de acuerdo a como se comentó en los párrafos de arriba la dirección IP y modelo de su PLC.

Ejecute la aplicación C# en modo "DEBUG" y luego haga click en botón "Leer EEPROM".

Si la aplicación en Windows le pide acceso o permiso a su firewall, permitalo.

Si todo sale bien, la aplicación le informará sobre la lectura de EEPROM del PLC. En este punto, puede ver en el directorio de la aplicación un archivo TXT y otro CSV con los valores leídos.

Fin de ensayo.
89
Kinco / Re:instalacion driver usb
« Último mensaje por Soporte febrero 01, 2018, 18:25:27 pm »
SI VALE EL MOMENTO,..QUIERO SABER SI ES POSIBLE QUE UNA HMI KINCO MT4434T PUEDA INTERACTUAR CON UN PLC WECON LX2E,YA QUE ESTE NO FIGURA ENTRE LOS PLCs QUE SE SELECCIONA EN FORMA GRAFICA AL INICIAR LA PROGRAMACION DE LA HMI...SI SE PUEDE ME DICEN COMO...GRACIAS SINECIO.

Buenas tardes.

No comercializamos la marca Wecon para PLC, por lo que desconozco su operación.

Lo que puedo decirte es que seguramente podrás comunicarte con el PLC desde la pantalla utilizando el protocolo ModBus RTU a través de RS232 o RS485.

Al PLC lo configurás como esclavo y a la pantalla como maestro.

Deberías buscar más información en el fabricante del PLC y en la documentación de la pantalla.

Saludos.
90
Kinco / Re:instalacion driver usb
« Último mensaje por SINECIO MEDINA febrero 01, 2018, 14:34:48 pm »
HOLA...soy de Paraguay y renuevo en el foro...para el driver debes de abrir en el windows,,archivos de programa..abrir kinco ...copiar"driver" en documentos...luego ir al administrador de dispositivos..clicar en el gadget 2,4..aparece ventana..clic actualizar controlador..dos opciones...obviamente en tu pc,examinar...buscar en documentos el que copiaste..aceptar,,,y listo...
SI VALE EL MOMENTO,..QUIERO SABER SI ES POSIBLE QUE UNA HMI KINCO MT4434T PUEDA INTERACTUAR CON UN PLC WECON LX2E,YA QUE ESTE NO FIGURA ENTRE LOS PLCs QUE SE SELECCIONA EN FORMA GRAFICA AL INICIAR LA PROGRAMACION DE LA HMI...SI SE PUEDE ME DICEN COMO...GRACIAS SINECIO.
Páginas: 1 ... 7 8 [9] 10