Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Mensajes - Soporte

Páginas: 1 2 [3] 4 5 ... 64
31
STX8091 / Re:ModBus TCP con dos PLC y un panel HMI
« : octubre 02, 2018, 09:16:31 am »
Buenos días Rodrigo, muy bien, hacemos el ejemplo y te estoy subiendo el mismo por este medio cuando lo tenga. Saludos!

32
STX8091 / Re:Guardar registros a PC
« : septiembre 27, 2018, 16:36:24 pm »
Tratare de arrancar del ejemplo basico entonces. Muchas gracias.

Muy bien, saludos.

33
STX8091 / Re:Guardar registros a PC
« : septiembre 27, 2018, 11:12:03 am »
Podrías darme algunas recomendaciones para "recortar" los módulos que hacen al uso de la EEPROM del PLC y a la comunicación con la aplicación?

Hay un ejemplo más básico, que solo lee la memoria EEPROM:

http://foro.slicetex.com/index.php?topic=301.0

Dicho ejemplo, permite a la aplicación C# solo leer toda la memoria EEPROM del PLC, y da algunos ejemplo para almacenar variables.
Creo que te va a ser mucho más simple de entender si es algo básico lo que necesitás.

El ejemplo DataLogger parte del ejemplo más básico mencionado, pero tiene muchas funciones, por ejemplo va almacenando muestras cada cierto tiempo automáticamente, se fija si queda espacio, las asocia a una fecha/hora, configuración por página web, visualización por web, mails, opciones de aviso en memoria llena, etc. Para que todo funcione, debe estar todo interralacionado y casi que conviene escribir la aplicación desde el ejemplo, más que adaptarlo.

Lo aplicación en C# para el DataLogger, parte de ciertos conceptos, por ejemplo, presupone que la memoria EEPROM esta dividida en registros, cada registro tiene 7 muestras asociada a una fecha/hora.

No es difícil de modificar, pero primero debes entender todo para saber lo que hacés.

Por una cuestión de tiempo, lo que puedo hacer, si no te sirve el ejemplo básico, es simplificarte el DataLogger para que solo use la memoria EEPROM y la aplicación en Visual C#, y desde ahí lo adaptas a tu ejemplo. Pero así mismo, vas a tener que estudiarlo para saber lo que estás haciendo.

Avísame que te parece.


34
STX8091 / Re:Guardar registros a PC
« : septiembre 26, 2018, 12:25:21 pm »
Buenos días,

tengo a mano y su número de serie es 10051.

Adjunto te paso para actualizar el dispositivo S/N 10051, las instrucciones están en el archivo "readme.txt".

Una vez actualizado, probar compilar proyecto seleccionando modelo D2 y transferir al PLC.

Saludos!

35
STX8091 / Re:Guardar registros a PC
« : septiembre 25, 2018, 19:50:50 pm »
Estuve probando un programa que ya tengo compilado en la versión 1.8.2 de stxladder. Iba a agregarle código para comenzar a utilizar la EEPROM y al intentar compilarlo con la nueva versión instalada de stxladder 1.9.3 me produce el mismo error de falta de RAM. (Adjunto captura de pantalla).

Probé tu programa, y efectivamente consume más memoria que la disponible para ese modelo.

El tema es que en versiones de StxLadder y firmware antiguas, se hacia una comprobación incorrecta de memoria, por ello no saltaba el error.

Lo más práctico será hacer un upgrade del modelo STX8091-D1 a STX8091-D2 en tu dispositivo y ampliar así la memoria.

En este caso, podemos hacerlo sin costo.

Necesitaría el número de serie de tu dispositivo así te paso las instrucciones para realizar la actualización y que puedas usarlo como un modelo D2.

Saludos!

36
STX8091 / Re:Guardar registros a PC
« : septiembre 25, 2018, 10:56:24 am »
Ahora por lo menos la abre bien Boris.

Perfecto, saludos!

37
STX8091 / Re:Guardar registros a PC
« : septiembre 24, 2018, 13:20:04 pm »
Buenos días,

El error que se produce al intentar ejecutar la aplicacion de descarga de datos es el de la imagen adjunta.

En la ùnica pc que me funciono fue en una que tiene windows 2010.

En xp se produce el error

Fijate de probar la versión que te adjunto de la aplicación, ya que la anterior estaba orientada el Framework 4.x, por lo tanto la configuré para Framwork 2.x y luego la recompilé.

¿Por otro lado, en la máquina con Win XP, el software StxLadder te funciona?.

38
StxLadder - Slicetex Ladder Designer Studio / Re:Reset de contador
« : septiembre 20, 2018, 13:02:00 pm »
Gracias boris, voy a intentar con ésto que me decís, porque me parece lo más lógico, que la entrada DIN5, que en mi caso es el vacuostato puede generar un ruído y se active en la segunda vez como si fuera la tercera. Voy a probar y después te aviso como me fue.

Otra posibilidad, es remplazar el componente que lee DIN5, por otro que solo lee "flancos positivos", es decir solo si la señal va de 0 a 1, genera un 1 a la salida, pero si es "1" constante, genera un "0".

Seria así:



Te dejo el proyecto modificado para esta prueba.

Saludos!

39
StxLadder - Slicetex Ladder Designer Studio / Re:Reset de contador
« : septiembre 19, 2018, 17:32:19 pm »
Buenas tardes,

buenas boris, te cuento que realicé el programa tal cual vos me habías aconsejado, coloqué un reset mediante un DIN(adjunto programa), y anda perfectamente hasta la 3era carga luego se ancla el el contador C12 cuando cuenta 2 en lugar de 3, y no encuentro el problema ya que como te digo las primeras dos veces funcionó perfectamente, si podés darme una mano te voy a agradecer.

Quizás, si cuenta 2 en lugar de 3, puede ser que por algún motivo este tomando 2 pulsos, como 3 pulsos, por ejemplo por ruido. Esto es, entre un pulso y otro, se genera un pequeño pulso que se toma como válido.

¿Cómo te das cuenta que cuenta 2 en lugar de 3?.

Una forma de hacer más lentas las entradas digitales, para que no respondan tan rápido, es con el componente DIN DELAY llamándolo desde el diagrama Inicio:




En el ejemplo de arriba, se establece un retardo de 20 mS para que el PLC no tome como válidos pulsos de menor duración.
Te adjunto el proyecto para que lo pruebes con este componente.

Puede ser una solución. Fijate de incrementar el valor hasta 50 mS, no más, y ver resultado obtenido.

Sino vemos otra posibilidad.

Puede ser que en el N030 el T9 me esté complicando, y no me dede resetear?porque las primeras dos veces anduvo bien, y para iniciar de nuevo el proceso se tardó bastante, en cambio la última carga, en la que falló el programa no se tardó en volver a colocar.

No parece estar relacionado con el otro código a primera vista.

También puse los siguientes componentes, antes del contador (en N024), para asegurar que Reseteo_C12 se actualice antes de llamar al contador.:



Fijate de cargar el proyecto que te pasé adjunto en el ZIP y probar.

Saludos!


40
Buenas tardes,

Buenas tardes Boris, aplique la finción de filtro VinFilterAOn(200,2000) lo cual ayuda pero no creo que sea la solución buscada.

Pensé que estabas utilizando VinFilterAOn(200,2000), por eso recomendaba última versión de firmware.

te comento, lo que creo que hace es filtrar n muestra. pero si hay un error como una falsa lectura (porque he comprobado que entrega cero frente a un valor de tensión no nulo), lo mete dentro del promedio que por ser alto no se nota tanto pero genera una baja. lo que tuve que hacer es cuando el valor leído es cero o no está en el rango de medición lo descarto.

Se me ocurre entonces quizás una falla por estar el ADC ocupado o un error de comunicación que no se maneja correctamente (que está contemplado, pero de alguna forma se escapa).

A la lectura de entradas, ¿las haces dentro de un loop?, ¿cada cuánto tiempo lees? ¿estás utilizando último firmware?.

Avísame, y podría repetir la prueba para ver si me hace lo mismo.

Saludos!






41
STX8091 / Re:Dudas sobre guardar en Eeprom varias veces
« : septiembre 13, 2018, 17:52:30 pm »
Buenas tardes,

Escribir_eeprom_f(Float: Valor, Address)
   {
   new Sts_write_eeprom_local
   new B_Eeprom[4]
   new Float: W_Eeprom[1]

   //Escribe en Eeprom
   W_Eeprom[0] = Valor
   UnpackBytes(W_Eeprom,0,B_Eeprom,0, 4)
   Sts_write_eeprom_local = EepromWriteCells(Address, 4, B_Eeprom)
   return Sts_write_eeprom_local
   }


¿Por qué utilizas UnpackBytes()?.

Además, en EepromWriteCells(), estas escribiendo 4 valores, pero ocupando 4x4 bytes.

Podés hacer así para guardar de a un Float/Entero a la vez:

Código: (Pawn) [Seleccionar]
EepromWriteValue(Address, Val)
{
   // Definir un array de 1 celdas.
   new Data[1]
   
   // Asignar array con valor.
   Data[0] = Val
   
   // Escribir Data[] a partir de la dirección Address de la EEPROM.
   return EepromWriteCells(Address, 1, Data)
}


O si queres guardar todo el array de una sola vez:

Código: (Pawn) [Seleccionar]
EepromWriteCells(Totalizadores_de_consumo_mensual, 13, DIR_VAL_CONSUMO_0)
Y te van a quedar los 13 elementos a partir de la dirección DIR_VAL_CONSUMO_0 separados (por 4 bytes cada uno, es decir el elemento 2 va a estar a partir de DIR_VAL_CONSUMO_0+4.

La dirección DIR_VAL_CONSUMO_0 debe ser múltiplo de 4, por ejemplo 0, 100, 104, 200, etc.

Para leer de a un valor:

Código: (Pawn) [Seleccionar]
EepromReadValue(Address)
{
   // Definir un array de 1 celdas.
   new Data[1]
   
   // Leer 1 celdas a partir de la dirección Address de la EEPROM.
   EepromReadCells(Address, 1, Data)
   
   // Retornar Valor.
   return Data[0]   
}


O leer todos los valores:

Código: (Pawn) [Seleccionar]
EepromReadCells(DIR_VAL_CONSUMO_0, 13, Totalizadores_de_consumo_mensual)
Luego, cada elemento que leas y tengas en un array (por ejemplo entero) podes convertirlo a Float así:

Código: (Pawn) [Seleccionar]
new Float: ValorFloat

ValorFloat = Float: Totalizadores_de_consumo_mensual[0]

Si por ejemplo Totalizadores_de_consumo_mensual[] estaba definido como entero.

Un Float: de un Entero desde el punto de vista binario no tiene diferencias, ambos ocupan 4 bytes. Luego, para leerlos, si. Uno se interpreta con decimales (por ello usas el "tag" Float:) y otro simplemente es un entero. Por ello para guardarlo en EEPROM no hace falta nada especial, lo mismo que para leerlos, lo que guardas/lees es un dato binario. Luego en tu programa, si debes colocarlo en la variable adecuada mediante una conversión para que pueda interpretarse.

La pregunta es : al llamar a la función  EepromWriteCells() debo tener alguna consideración si el llamado se hace varias veces?

No, el PLC espera a que la memoria EEPROM este lista para escribir (si esta ocupada), pero podes probar colocar un pequeño delay (ejemplo 10 mS) si sospechas que hay un tema de tiempos.

Igual, evitar un bucle de escritura infinito, porque la memoria tiene un límite de escritura.

Actualizar a último firmware, ya que hay algunas correcciones para memoria EEPROM.

Avísame cualquier duda,

Saludos!

42
Buenas tardes,

La pregunta es:  ¿ Que puedo hacer para que el resultado leido de la conversión no sea nulo ?

¿Utilizás en alguna parte del código una llamada a la función VinFilterAOn() para activar el filtrado analógico?.

Ya que en la últimas versiones de firmware fue corregido un Bug que evita que entregue valores extremos.

Sino decime.

Saludos!


43
STX8091 / Re:Guardar registros a PC
« : septiembre 13, 2018, 17:23:25 pm »
Buenas tardes Mariano,

Consulta1: Será posible hacerla funcionar en windows 2007? y en xp?

Si, basta que tengas instalado el Framework 2.0 para Visual C#, fijate para descaregarlo en el siguiente link (al final de la página):

http://slicetex.com/hw/stx80xx/soft.php

También, otra forma que podes hacer es instalar StxLadder en la máquina de destino, para que descargue los requisitos de framework.

Si funciona StxLadder, funciona la aplicación.

Consulta2: Podrías pasarme unas líneas de código PAWN para guardar datos en la EEPROM de un PLC STX8091-D1?

Me estuve fijando, y lo único que debés hacer es cambiar el modelo de dispositivo en el proyecto por el STX8091-D1.

La única diferencia, es que vas a tener la mitad de memoria para log de datos, ya que la EEPROM es de 16KB frente a 32KB del otro modelo.

Es altamente recomendado actualizar el firmware a la última versión.

Consulta3: Por favor pasame a mi correo una cotización actualizada de un PLC PLCSTX8091-D2.

Ahí te pasé la cotización a tu email.

Saludos!

44
Discusión General / MOVIDO: Capacidad de fuente entradas 4-20mA
« : septiembre 10, 2018, 11:49:15 am »
El tema ha sido movido a STX8091.

Link al mensaje:

http://foro.slicetex.com/index.php?topic=352.0

Páginas: 1 2 [3] 4 5 ... 64