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 ... 77
1
STX8092 / Re:Rango de direcciones Modbus TCP y Modbus RS-232
« : febrero 27, 2020, 10:35:02 am »
Voy a modificar el proyecto para entrar en el rango de direcciones que el PLC puede utilizar.
Por otra parte, le comento que el link a la referencia AN022 no estaría funcionando correctamente. Y de acuerdo a las pruebas que he realizado, ese rango de direcciones (40001 a 40016) sería el que necesito utilizar con mi PLC.

Perfecto, gracias, ya corregí el link.

Saludos!

2
STX8092 / Re:Rango de direcciones Modbus TCP y Modbus RS-232
« : febrero 27, 2020, 09:56:47 am »
Tengo un PLC STX-8092 y solamente puedo usar el rango de direcciones entre 40001 y 40050.
Cuando intento utilizar cualquier otro rango de direcciones Modbus, no puedo comunicarme.

Estaría requiriendo leer direcciones entre 0001 y 1500.

Buenos días. No, es normal, ya que es una limitación de memoria del PLC cuando lo utilizás como Esclavo (cliente).

El PLC para ModBus Esclavo, tiene disponible 64 registros de 16-bits, y 128 direcciones para 1-bit (0 o 1) para acceso de escritura/lectura.

El rango de direcciones lo encontrás en las notas de aplicaciones AN022 y AN023.

Te pego a continuación las tablas de direcciones válidas que se encuentran en dichas notas de aplicación:

AN022: ModBus Servidor TCP



AN023: ModBus Servidor RTU



Quedamos a disposición.

Saludos!



3
Si aun configurando correctamente estos parametros se sigue cayendo la comunicación de parte de la pantalla, se puede probar por ejemplo reduciendo a la mitad los parametros Max word block package size & Max bit block package size? En ModBus TCP el primero quedaria en 8 mientras que el segundo en 16.

Buenos días. Reducir a la mitad los valores de los parámetros no debería ser problema, funcionaria igual, ya que estás por debajo del límite máximo soportado por el dispositivo. Lo importante es no pasar el valor máximo, 16 y 32. Quizás puede ser otra la causa del problema de perdida de comunicación, como las detalladas en los emails.

Saludos!

4
Algunos clientes tienen computadoras locales  conectadas con Windows y por escritorio remoto reprograman el PLC, pero no sé si será opción para ustedes.



Si de escritorio remoto se trata, otra posibilidad económica es utilizar una Raspberry para ejecutar StxLadder en Linux y reprogramar el PLC.

En la Raspberry deberías instalar un gestor de ventanas (como XFCE o alguno más liviano), entonces tenés acceso gráfico para correr programas. Para acceso remoto con escritorio, debés instalar allí un servidor tipo VNC, RDP, etc. Hay mucho en internet sobre esto.

A StxLadder lo podés ejecutar en Linux utilizando "WINE", que es una implementación nativa que permite correr aplicaciones Windows (con limitaciones).

Una vez instalado WINE, descargás StxLadder y lo instalás normalmente. Te va a crear el ejecutable y abrís el proyecto normalmente.

Si bien StxLadder con WINE arranca en Linux, por las propias limitaciones de la librería WINE que no iguala del todo a Windows, funciona con algunos bugs en la interfaz gráfica para algunas funciones. Pero para abrir el proyecto y programar, no hay problemas.

Te paso en archivo adjunto (abajo) una captura de pantalla de StxLadder corriendo en Linux Debian con WINE, en un escritorio XFCE.



Entonces los pasos serían, instalar un escritorio gráfico, instalar WINE, instalar y ejecutar StxLadder, probar localmente programar el PLC con StxLadder, y luego instalar un servidor para hacer escritorio remoto desde otra computadora. Te recomiendo googlear en internet, hay mucha información y tutoriales.

Podés ir probando esto en laboratorio y luego vemos si se puede simplificar un poco el proceso, o se deciden por la implementación con protocolo TCP detallada en el mensaje anterior.

Saludos!

5
Quería saber si es posible, y en caso que lo sea cual es la dificultad para ustedes de implementar una nueva funcionalidad en el StxLadder para realizar la carga de un programa al PLC de forma remota.
Esto resultaría muy útil para cuando se desarrollan nuevas versiones del programa y se quiere instalar esta nueva versión en una máquina que se encuentra trabajando lejos de nuestra central.
En teoría, los PLC están conectados a traves de una VPN a nuestra central, por lo que cada PLC y computadora se encuentran dentro de una misma red local (aunque sea virtual) por lo que entiendo que la comunicación no sería tan distinta, por lo menos a ese nivel. Obviamente, la funcionalidad debería ser lo suficientemente robusta para que en caso de perdida de conexión con el PLC, no se pierda el programa nuevo como también el viejo.

Marcos.

Buenas tardes Marcos.

Como poder se podría si no se me pasa nada por alto. Actualmente no se permite porque se utiliza el protocolo UDP para la transferencia de información (datos, programación, firmware, etc), lo cuál no es confiable para internet. Por lo tanto tendríamos que migrar a TCP para la conexión, no es algo imposible, solo que nos llevaría tiempo y trabajo porque hay varios mecanismos que implementar, ya que hay que modificar tanto firmware como el software de StxLadder a bajo nivel. En ese caso, con que tengas la dirección IP ya podrías programarlo normalmente remotamente.

Por otro lado, también es necesario modificar el Bootloader del PLC, el que te permite actualizar firmware, para esto tendrían que enviar el PLC físicamente ya que se reprograma con herramientas especiales.

En cuanto a no perder el programa viejo durante la programación, esto no sería posible por la limitación en memoria, no hay espacio para que convivan dos programas al mismo tiempo. En caso de perdida de conexión o falla fatal durante una transferencia, el PLC podría reiniciarse y quedar detenido esperando un nuevo programa.

Algo para mencionar, es que en las comunicaciones 4G, las empresas de telefonía suelen bloquear muchos puertos, dejando abiertos los utilizados solo para página web y otros que no recuerdo. Creo que eso es otro punto a considerar en el momento del desarrollo de la funcionalidad. Si lo usas dentro de una VPN (no tengo mucha experiencia en esas redes) a lo mejor no tenés esa limitante.

Si esto es algo importante para ustedes, podríamos pasar una cotización para desarrollar dicha funcionalidad, al costo, más que nada para asignar un tiempo que no teníamos planeado y encararlo para este nuevo año. Avísame por mail o mensaje privado.

Saludos!

6
STX8091 / Re:Escalar señal 4 a 20 mA
« : enero 03, 2020, 19:47:39 pm »
Subimos dos ejemplos extras para leer corriente utilizando un resistor externo en paralelo a las entradas analógicas.

Esto puede ser muy útil para utilizar otra impedancia diferente a los 100 ohms (resistor interno) que utilizan las entradas VIN1 a VIN3, o para utilizar las entradas VIN4 a VIN8 como entradas de corriente también.

  • VinScale_Pawn_V1_250_Version_1.zip: Leer corriente utilizando resistor 250 ohms en paralelo a VIN1 (no colocar jumper J3). Como la entrada VIN1 no admite más de 4.5V, la corriente máxima permitida para leer es 4.5V/250 Ohms = 16 mA.
  • VinScale_Pawn_V4_250_Version_1.zip: Leer corriente utilizando resistor 250 ohms en paralelo a VIN4. Como la entrada VIN4 admite hasta 10V, la corriente máxima permitida para leer es 10V/250 Ohms = 40 mA.

En ambos casos se configura el rango de tensión para la entradas en 0-10V, con la siguiente sentencia:

Código: (Pawn) [Seleccionar]
// Para VIN1
VinSetRange(1, VIN_RANGE_10V)

// Para VIN4
VinSetRange(4, VIN_RANGE_10V)


7
STX8091 / Re:Consulta Bloqueo por falla ethernet (reparación)
« : enero 03, 2020, 17:47:11 pm »
He intentado conectarme mediante notebook independiente pero tampoco se conecta.
Este plc era uno de laboratorio q yo tenia de repuesto. No te lo quise enviar a revisar como quedamos para descartar q fuera algun problema de la red. Hoy no me quedo otra q recolocarlo y comprobe q la red no es el problema sino algo con el puerto ethernet del plc aparentemente. Cuando coloque el nuevo... te enviare el provisorio q esta colocado ahora para q lo chequees tambien.

De este sospecho que tenga mal el hardware ethernet, cuando tengas el remplazo, lo reparamos también.

Saludos!

8
STX8091 / Re:Consulta Bloqueo por falla ethernet (reparación)
« : enero 03, 2020, 17:45:57 pm »
El plc reemplazo de aquel q producia la falla consultada en este foro acaba de sufrir una falla de algun tipo q no alcanzo a discernir. El resultado es q no muestra salida alguna de datos por el sh300... todos valores en cero. No hay salidas pwm y el led debug no parpadea o lo hace muy rápido. Como no tengo otro nuevo... le coloque nuevamente el q hacia la falla de puerto ethernet es decir.... el plc viejo (reemplazo provisorio) corre sin problemas mientras no conecte el puerto ethernet. El lunes por la mañana vamos a estar enviandote el q se averio hoy para q puedas chequear a que se debe la falla. No obstante te pido me cotices un 8091-d2 nuevo para reemplazar el provisorio q puse.
Mi correo es xxxx@hotmail.com.
Lo necesitaría con la mayor urgencia posible.

Buenas tardes Mariano, te envié la cotización por mail.

Respecto a este último, envíalo cuanto antes así te lo reparo, probablemente algún daño por tensiones si no tenés repuesta del mismo.

Supongo que ya has verificado reiniciar memoria a fábrica o ver si no está activado en modo bootloader (esperando recibir firmware).

Saludos!

9
Kinco / Re:Conexión mt4434te kinco con plc modicon m221ce16r
« : diciembre 23, 2019, 11:59:37 am »
Buen año, Carlos

Igualmente, buen comienzo de año, saludos!

10
Kinco / Re:Conexión mt4434te kinco con plc modicon m221ce16r
« : diciembre 23, 2019, 10:59:28 am »
Buenos días,

No utilizo dicho PLC como para ejemplificar, pero si podrías utilizar el protocolo universal ModBus TCP para conectarlos.

El PLC debe especificarse como Escavo y el HMI como Maestro. En la configuración del HMI especificar la dirección IP del PLC, así puede acceder.

ModBus TCP es un protocolo en que podés acceder a registros y bits del PLC desde el HMI. En el manual del PLC te dará mejores detalles de como configurarlo.

Para el HMI, hay un ejemplo para ModBus TCP en el siguiente link:

http://slicetex.com/hmi/kinco/files/examples/FirstTest_MT4434TE.zip

http://slicetex.com/hmi/kinco/docs.php

El ejemplo es básico, configura al HMI para leer registros desde el PLC, así como escribir y leer bits. Podés utilizarlo como punto de partida.

Saludos!

11
El tema ha sido movido a Kinco.

Acceda al mensaje desde el siguiente link:

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

12
STX8091 / Re:Escalar señal 4 a 20 mA
« : diciembre 16, 2019, 20:09:02 pm »
Me ayudaría mucho a entender lo que usted me describe, con un ejemplo en pawn, para convertir la señal de corriente en valores de -100 a 1600 mbar

Buenas, te adjunto abajo en el archivo .ZIP un proyecto en Pawn con el ejemplo.

Te creé una función (macro) llamada VinScale(c) que acepta como argumento "c" la corriente de la entrada 4-20 mA y te devuelve el valor escalado entre -100 y 1600 mBar. Así no debés despejar y es más fácil.

La función VinScale() no es otra cosa que la ecuación de la recta que pasa por dos puntos, despejada para "Y":

Código: (Pawn) [Seleccionar]
#define VinScale(%1)       ( (((%1)-X1)/(X2-X1))*(Y2-Y1) + Y1 )
En el ejemplo, solo debés configurar las constantes Y1 e Y2, que son los valores de salida deseados para X1=0.004 (4mA) y X2=0.02 (20mA).

Los siguientes valores son para salida -100 y 1600 mBar:

Código: (Pawn) [Seleccionar]
//
// Punto 1 (importante colocar punto decimal)
//

#define X1     (0.004)     // Corriente (4 mA)
#define Y1     (-100.0)    // -100 mBar.

//
// Punto 2 (importante colocar punto decimal)
//

#define X2     (0.02)      // Corriente (20 mA)
#define Y2     (1600.0)    // 1600 mBar.

Probá cargar el ejemplo en el PLC y desde Virtual-HMI vas a poder observar los valores de corriente leídos y la salida en mili-bar correspondiente:



Quedamos a disposición si algo no se comprende.

Saludos!

PD: Podés convertir el macro VinScale() a una función si necesitás hacer el código más versátil o agregar otros parámetros. Queda a criterio.

13
STX8091 / Re:Escalar señal 4 a 20 mA
« : diciembre 16, 2019, 13:36:05 pm »
Buenos días,

Supongo que se refiere a escalar una señal, es decir, teniendo una señal lineal de 4-20 mA, llevarla a un valor o magnitud física dentro de una escala.

Linealizar es otro concepto, ya que linealizar significa convertir una señal no-lineal (que puede tener un comportamiento logarítmico por ejemplo), en una señal lineal. Eso es algo más complejo, ya que se necesita conocer las formulas físicas de la señal.

En el caso de escalar la señal, es un tema conceptual sencillo, hay que aplicar la ecuación de la recta que pasa por dos puntos.

Supongamos que 0.004 amperes representan 0 grados Celcius y 0.02 amperes representan 1000 grados Celsius.

Ecuación de la recta por dos puntos:

(x-x1)/(x2-x1)=(y-y1)/(y2-y1)

Hacemos:

  • x1=0.004 (4mA)
  • x2=0.02 (20mA)
  • y1=0 (limite inferior, 0 °C)
  • y2=1000 (limite superior, 1000 °C)

Remplazando en ecuación:

(x-0.004)/(0.02-0.004)=(y-0)/(1000-0)
x/0.016 - 0.25 = y / 1000

Despejando "y" obtenemos la ecuación final a implementar en Pawn:

y = 62500 x - 250

Obtenemos una ecuación, cuya salida "y" estará limitada entre 0 y 1000 para todos los valores de "x" entre 0.004 (4mA) y 0.02 (20mA)

Si remplazás "x" por valores de corriente entre 0.004 y 0.02, obtenés valores entre 0 y 1000 que serán los valores de temperatura.

Para otras condiciones, simplemente cargá la ecuación de la recta papel y despejar para obtener la ecuación final para aplicar en Pawn.

Espero que sea esto lo que buscás.

Si no se entiende algo, avísame.

Saludos!





14
Kinco / Re:Mostrar ventana Pop-Up
« : diciembre 16, 2019, 13:13:26 pm »
Buenos días te paso el ejemplo en los siguientes links:

PROYECTO PLC:
www.slicetex.com/hmi/kinco/files/examples/popup/HmiKincoPopUp1.zip

PROYECTO HMI:
www.slicetex.com/hmi/kinco/files/examples/popup/PopUp1_MT4434TE.zip

DESCRIPCIÓN:

El PLC se conecta a la pantalla HMI con ModBus TCP, siendo el PLC Esclavo y la pantalla Maestra.

En la pantalla del HMI se mostrarán dos ventanas Pop-Up.

NETWORK #1:
Simplemente obtenemos el valor del bit ModBus "4002" y lo copiamos a la variable "Flag".

NETWORK #2:
La ventana Pop-Up #1 se muestra con método indirecto (componente INDIRECT WINDOW en HMI).
En este caso el PLC escribe en el registro 40010 el número de ventana a mostrar. Si el valor del registro es 0, la ventana se cierra.

NETWORK #3:
La ventana Pop-Up #2 se muestra con método directo (componente DIRECT WINDOW en HMI).
En este caso el PLC escribe en el bit 4003 el valor 0 o 1.
Si el valor del bit es 1, la ventana se muestra, si es 0, la ventana se cierra.
Como en el ejemplo el bit se modifica por el timer cada 2 segundos, el efecto en pantalla es una ventana pop-up que aparece y desaparece.

PRUEBA:

Compile el proyecto seleccionando adecuadamente su modelo de PLC.

Transfiera el programa al PLC y el programa de diseño al panel HMI.

La ventana Pop-Up #1 se mostrará si toca el interruptor en pantalla.

La ventana Pop-Up #2 se mostrará cada 2 segundos.

MÁS INFORMACIÓN:

Los componentes del HMI (INDIRECT/DIRECT WINDOW) se explican en el manual del HMI Kinco:

Sección 4.8 (pág. 211) "WINDOW COMPONENT" (versión 1506).

www.slicetex.com/hmi/kinco/docs.php#Manuals

CONSIDERACIONES:

El el programa de diseño del HMI, a veces es necesario limpiar la compilación antes de transferir para forzar que se apliquen los últimos cambios al proyecto. Para limpiar la compilación, seleccione menú "Tools > Clear build result".

IMÁGENES:

COMPONENTE INDIRECT:


COPONENTE DIRECT:


VENTANA POP-UP:


DISEÑO GENERAL:


Saludos!

15
STX8091 / Re:Muestrear dos señales al mismo tiempo
« : diciembre 03, 2019, 21:39:49 pm »
Buen día,  el tiempo de muestreo lo tengo en 630us que me dan 4 ciclos de una señal de 50Hz, los valores rms funcionan bien con eso no tengo problema pero hice lo que me decías y sigue siendo errático el valor, cómo que se mantiene estable un tiempo y después empieza nuevamente a mandar cualquier valor... Cree dos Buffer de 10 paquetes para ir guardando en uno mientras el otro hace el calculo con sus contadores pero  sigue igual...  Podrá ser que se pierdan tramas UDP y ahí se pierde el sincronismo? O que la trama invierta l orden de los paquetes cuando envía varios del mismo canal? Porque no le encuentro otra explicación... o si hay otra forma de calcular el desfadaje a través de las entradas digitales metiendo medio ciclo pasando las señales por un Smith Trigger? Se me ocurre si puedo medir el tiempo entre ambas y no por medio algebraico

Buenas, estuve haciendo unas pruebas, por ejemplo, en 200 mil muestras, hay un pequeño defasaje o corrimiento de 2 a 4 muestras entre dos canales y puede ser que a la larga, eso sea más pronunciado. Lo que hice fue conectar una senoidal (con la salida analógica 0-10V) a dos canales VIN al mismo tiempo y loguear las muestras de cada canal en dos archivos diferentes. Luego ver si el valor del número de muestra X en canal A, coincide con el número de muestra X en el canal B.

Te paso el log:

http://www.slicetex.com/temp/samples.zip

En el archivo A y B, están la muestras con el formato [número de muestra,valor].

Creo que lo que podés hacer más efectivo, para evitar la red, es calcular el RMS y factor de potencia en modo PLC, utilizando el sampler para llenar los arrays. Activando el sampler para muestrear y hacer el calculo, y luego desactivar. Luego activar y calcular de nuevo, para evitar un posible desincronismo en operación prolongada. Total, supongo que el coseno necesitás tenerlo actualizado casa cierto tiempo.

Luego pódes enviar el dato ya calculado a Visual C# desde el PLC.

No sé si este enfoque te sirve.



Por metódo digital, se puede medir el ancho de un pulso o frecuencia utilizando los contadores rápidos, pero no la diferencia de tiempo entre dos pulsos, al menos no hay funciones disponibles desarrolladas.

Saludos!

Páginas: [1] 2 3 ... 77