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 ... 49
1
Ahora tengo otro ,  envio un string desde el host al PLC y el PLC lo recibe aparentemente
y responde con una linea

SerialSendByte( ' 1 ' )     el problema es que en el host no recibo el     ' 1 '    sino algo asi como una g o ACK

Que tipo de codificacion uso para operar con caracteres ?

Buenas tardes, esta bien, corrobora que uses el carácter comillas simples 'x', sin dejar espacios.

Ademas comprobá que los parámetros del puerto serie sean los mismos entre Host y PLC.

Obviamente, usar un cable cruzado entre PLC y Host.

Te adjunto un ejemplo simple para que pruebes, transmite el carácter "1" cada 0.5 segundos, podes probarlo en PuTTY.

Lo acabo de probar con PuTTY y funciona correctamente.

Código: (Pawn) [Seleccionar]
PlcMain()
{
   // Initialize Serial Port, 9600 bps, 8N1.
   if(SerialInit(9600) < 0)
   {
      while(1)
      {
         // Error.
      }
   }

   // Program Main Loop.
   while(1)
   {
      // Delay program for 500 ms.
      DelayMS(500)
      LedToggle()
     
      // Transmit "1" character.
      SerialSendByte('1')
   }
}

Si te sigue sin funcionar, es probable que tengas algun problema con el driver del puerto serie en Windows, muchas veces, si usas un adaptador USB, es conveniente desenchufarlo y volverlo a enchufar (algunos ruidos pueden desconfigurarlo). Cerrar programa terminal y volverlo a abrir.

También verificar que no haya conflicto en el driver o probar unir Tx / Rx del cable, y hacer una prueba tipo loop.

Quedamos a disposición.

Saludos

2
STX8092 - Familia PLC Cube / Re:Modo DAQ
« : octubre 18, 2017, 13:18:05 pm »
Perfecto, gracias, quedamos a disposición.

3
STX8092 - Familia PLC Cube / Re:Modo DAQ
« : octubre 18, 2017, 10:29:37 am »
Buenos días,

¿Que modelo de PLC tenés?.

El error ErrorCmdUnsopportedInPLC significa que el "comando no esta soportado en modo PLC", esto se debe a una de dos posibles causas:

  • Que tengas un modelo de STX8092 que solo soporte modo PLC, pero no modo DAQ (como los modelos C1, C2, D1 y D2).
  • Que no hayas iniciado en en modo DAQ si tenés un modelo con soporte modo DAQ.

En el primer caso, no podrias utilizarlo, sin embargo, si necesitas comunicarte con Visual C# en la red local en modo PLC, podes utilizar la transmisión/recepción de datos como explica la nota de aplicación AN001:

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

Se muestra en la nota un ejemplo para leer una entrada y para enviar datos al PLC para activar/desactivar una salida.

En el segundo caso, si tenes un modelo A1 o A2, en StxLadder desde menú "PLC > Configurar PLC > Pestaña Otros", debes seleccionar Modo DAQ y reiniciar el dispositivo.

Saludos

4
Buenos días,

En cuanto a la conexión física de un sensor de voltaje, es la misma aplicada para la sonda de corriente? con cuanto voltaje trabajarían para su alimentación? y el componente usado para su lectura en el programa seria el de "Vin To Voltage" correcto ? o me equivoco ?.

No, deberías usas el componente VIN READ VOLTAGE, que lee la entrada VIN y entrega una salida en variable tipo Float con el voltaje leído.

En la respuesta sobre la ubicación de los sensores de mA en las entradas VIN4/VIN5, tengo entendido que no se pueden conectar sondas que trabajen con mA no es así? pero mi duda surge ya que en la sonda de corriente, esta también trabaja con un voltaje disfrazado (por así decirlo). Entonces esta no se podría usar en las demás entradas, solo que cambiándole en el programa el componente que se adecue a el? (Pregunta un tanto imaginativa para aclarar).

No, en las entradas VIN4/VIN5 solo podes conectar una tensión, no corriente. De lo contrario la lectura será erronea.

Como le expliqué por teléfono, al sensor PT100 por ejemplo, no podes colocarlo directamente, debes comprar un transductor que lo convierta a corriente (ej: 4-20 mA) o a tensión (ej: 0-10V). Luego podes conectarlo al PLC. Los transductores también "linealizan" el PT100, ya que naturalmente tienen una respuesta cuasi-lineal, por lo que el transductor generalmente los "adaptan" a una respuesta lineal (y así puede usar la ecuación de la recta comentada con aterioridad).

Le dejo algunos links de lo que es un PT100:

http://medirtemperatura.com/PT100-PT1000.php

http://medirtemperatura.com/PT100-PT1000-con-compensacion.php

http://www.arian.cl/downloads/nt-004.pdf

Recuerde, el PT100 es el sensor propiamente dicho de temperatura, luego necesita un transductor, que lea el cambio de resistencia con la temperatura del PT100 y lo convierta a corriente o tensión, pero no lo puede conectar directamente al PLC sin un transductor.

Saludos

5
Ejem: Supongamos que se quiere detectar una falla en el conexionado del sistema y que cuando el plc detecte la falla, este emita una alarma (sonica/luminica aunque eso en este momento no es relevante), es solo la funcion como tal. Retomando, que desenergice el sistema totalmente y que se pueda ver por el HMI el lugar donde se detecto la falla (linea / sensor / falta de energia entre otros. Si me explico? De tal modo que el operador pueda verificar, corrobar el error y solucionarlo. Sin necesidad de examinar cada lugar de la maquinaria.

En pocas palabras, una alarma que informe el lugar de la falla y que apague el sistema totalmente.

Buenas tardes,

Lo que podrías hacer en tu proyecto, es declarar una variable del tipo "Bool", que se llame por ejemplo AlarmaFalla con el valor "0" inicial. Entonces, dicha variable AlarmaFalla la harás "1" cuando detectes en algunos de tus chequeos la condición de falla, por ejemplo, la lectura de alguna entrada DIN señalando algún evento externo o alguna otra condición interna (ej. temperatura critica).

Eso es en el caso general, pero también podrías declarar variables especificas de falla, por ejemplo FallaTemperatura, FallaLinea, etc que harás 1 o 0, según tus chequeos, y a su vez reflejar el valor de las mismas en el HMI.

Pero eso lo debes establecer en la lógica de tu proyecto y tomar la acción que quieras cuando algunas de las alarmas de falla sea 1, por ejemplo activar una salida rele con indicación lumínica o reflejarlo solamente en el HMI.

Saludos

6
Tengo una inquietud con respecto a la calibracion de la sonda de temperatura (PT 1000 alimentada con 24VDC) ya que esta al ser calentada disminuye su amperaje y cuando se enfria aumenta (Inversamente proporcional). Basado en los extremos de -70 a 110 °C y de 4 a 20mp, donde segun lo anterior se hipotetiza "4ma= 110 y 20ma= -70 °C" la calibracion no se adecua a las temperatura en pruebas casera que he realizado (Navegando por la web utilice otra formula Y=MX+B) y esta tampoco resulta a la hora de calibrar el sensor.  Todo esto acompañado de un testigo para la calibracion (Termometro analogico).

Mayormente los ejemplos que he visto por la web se emplea esta formula pero de un rango de 0 a 100 indiferente de su unidad fisica.

Practicamente lo que quiere decir es que si tiene un "tip" para calibrar esta sonda?.

Si no comprende mi consulta, con gusto lo vuelvo a escribir de otra forma.

Buenas tardes,

Si el transductor es lineal pero inversamente proporcional, donde 4mA = 110 °C y  20 mA = -70 °C, solo debe aplicar la formula que le pasé y despejar "y" para que le quede la ecuación lineal  Y= MX+B:

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

Donde: x1= 4mA, y1 = 110 °C, x2 = 20 mA e y2 = -70 °C

(x-4)/(20-4)=(y-(110))/(-70-(110))
(x-4)/(16)=(y-110)/(-180)

((x-4)/16))*(-180)=y-110
(x-4)*(-11.25)=y-110

-11.25 x + 45 = y - 110

y = -11.25 x + 45 + 110

Resultando la formula final a emplear:

y = -11.25 x + 155

Si remplaza valores en "x" para 4 o 20, el resultante será y=110 e y=-70.

Si grafica:



Saludos




7
Buenos días,

1) Debido a la logica del proyecto, desearia saber si existe un componente en ladder  o si lo que voy a decir a continuacion se tiene que hacer en pawn; Necesito un componente que cuando le llegue un "1", este automaticamente mande a abrir un contacto por "X" tiempo, sin importar que a este le lleguen pulsos de 1 y 0 continuamente, si no que al primer pulso haga la accion y empiece a contar "X" tiempo para reanudar y volver a cerrar el contacto. (Ejm: Si la temperatura del motor llego a su temp critica, este mande a desconectar el motor por X tiempo para que se refrigere y vuelva a encender automaticamente).

Si, puede realizar una lógica similar a la que le adjunto en proyecto (ver network N003). En la misma se utiliza un timer tipo "TP":



Cuando Temp1 pasa los 70 °C, se escribe en variable Temp1Off el valor 1 (esta variable la usamos para señalizar temperatura de apagado o critica).

Si Temp1Off pasa de 0 a 1, usamos un timer tipo TP para temporizar 15 segundos y mantener variable Temp1Timer en 1 (esta variable indica temporización de apagado).

Luego en la lógica, comprobamos si Temp1Off=1 o Temp1Timer=1, hacer DOUT1=0.

Finalmente si Temp1Off=0 y Temp1Timer=0, hacer DOUT1=1 (indirectamente Temp1 < 70 y fin de temporización).

El efecto neto, es que si Temp1 > 70 °C, se pone DOUT1=0 por 15 segundos (independiente de si Temp1 vuelve por debajo de 70 °C, aunque si vuelve a subir y bajar, la temporizacion se reinicia por otros 15 segundos), luego del tiempo de temporizacion y si Temp1 < 70 °C, se hace DOUT1=1.

2) Se puede ver mas de 4 entradas en el HMI ? o se tiene que programar otro "menu" para ver las demás variables?

No, solo 4 entradas al mismo tiempo.

Pero como bien decis, podes programar que por cada menu, se muestren diferentes variables.

Fíjate en el diagrama OnNetHMI.sld, Network N002:



Cuando se aprieta el boton M1 se genera un menú, cuando se aprieta M2, se genera otro menu. Alli podes colocar las variables que queres mostrar.
Obviamente, podes extender y mostrar más menues o funciones con diferentes teclas sugún quieras.

Cambien, si usas este esquema, recorda borrar del diagrama LeerSensores.sld (Network N004) el componente VirtualHMI, ya que intentaría sobres-escribir lo que tengas en pantalla, porque se llama continuamente.

Siempre refiriéndome al proyecto que te adjundo del cual venimos hablando.

Saludos






8
Buen dia ing, puede darme una llamada por favor? estoy al borde de la desesperación.

Nuestros días de atención es Lunes a Viernes (ver horarios página).

El lunes continuamos.

Otra cosa disculpe, como identifico en la imagen adjunta, que salida posee "RedFalla"

En la imagen que adjunta, RedFalla es una variables, quiere decir que esta en memoria, el componente escribe un "0" o "1" en la misma. No necesariamente se refleja en una salida, solo sirve para indicar una condición, ya que esta definida para usarse dentro del proyecto.

Le aconsejo tomarse un tiempo para leer conceptos básicos del manual y practicarlos, le va a ayudar luego a ganar tiempo para entender los más complejos.

Saludos y buen fin de semana.

9
Buen dia, por favor como hago para agregar variables??? :-\

Buenos dias, puede hacerlo desde:

  • Menu Proyecto > Definir variable (Ctrl + D)
  • Menu Proyecto > Tabla de variables (Ctrl + T)

Le aconsejo leer el manual:

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

Y practicar ejemplo en pág. 60, donde se aborda el tema de variables didacticamente.

Saludos

10
Continuo realizando pruebas, la información solicitada es: Sensor de temperatura. 4 mA@-40°C........20 mA@110°C &  sensor de presión -7.psi@4 mA .......160 psi@20 mA. y otro sensor de presión de 0 psi@4 mA…..435 psi@20 mA. (teniendo el ejemplo yo ajusto las escalas)
 
En la escala del sensor de presión dar salidas discretas…ejemplo….35 psi no arranca compresor (seria otra entrada, otro sensor)……..350 psi se apaga compresor……..230 psi arranca ventilador 2…..200 psi se apaga ventilador 2……250 psi arranca ventilador 3….230 psi se apaga ventilador 3. Ayúdame con esta lógica Ladder por favor que no le encuentro como hacerla.

Buenas tardes,

Te adjunto un proyecto de ejemplo que muestrea las entradas VIN1, VIN2 y VIN3 (configuradas para corriente con jumpers J3, J4, J5) cada 500 mS y escala los valores leídos a magnitudes físicas de Temperatura y Presión.

En el diagrama de Inicio.sld se establece rango 0-5V para cada entrada y se activa el filtro analógico para filtrar ruidos o variaciones pequeñas en la lectura.

En el diagrama Principal.sld se llama cada 0.5 segundos al diagrama LeerSensores.sld, que se encarga de leer entradas analógicas, convertir valores e imprimir en VirtualHMI.



Se deben conectar los sensores a:

  • VIN1 se conecta a sensor de temperatura (valor final en variable Temp1)
  • VIN2 se conecta a sensor de presión 1 (valor final en variable Presion1)
  • VIN3 se conecta a sensor de presión 2 (valor final en variable Presion2)

Se explica para VIN3 a Presión (las demás entradas siguen la misma lógica):

Para escalar el valor, primero se toma la muestra de la entrada en la variable float Sensor3, luego se convierte a variable Presion2 llamando a una función con código Pawn llamada EscalarPres2.sfc, en la cual se utiliza la ecuación matemática de la recta que pasa por dos puntos, de esta forma obtenemos una ecuación que nos permite limitar el valor de Presion2 entre 0 y 435 PSI, donde 0 representa 4mA y 435 representa 20 mA.



Ecuación de la recta por dos puntos:

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

Hacemos:

  • x1=4 (4mA)
  • x2=20 (20mA)
  • y1=0 (0 PSI)
  • y2=435 (435 PSI)

Remplazando en ecuacion:

(x-4)/(20-4)=(y-(0))/(435-(-0)
(x-4)/16=(y)/(435)
((x-4)/16)*435 = y
y = 27.19x - 108.76

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

y = 27.19 x - 108.76

Este algoritmo se implementa en Pawn, con la función "EscalarPres2.sfc":



Notar como en Pawn, las entradas del componente hace que las variables Sensor3=IN1 y Presion2=OUT1, de acuerdo a como se cablean en los puertos del componente.

Finalmente en diagrama Principal.sld, usamos comparadores para activar la salida DOUT2 si Presion2 >= 230 PSI, y desactivar la salida si Presion2 <= 200 PSI.



Podes probar todo lo anterior conectado los sensores al PLC y viendo los valores en VirtualHMI.



Recorda que podes ajustar la ecuación a "mano" o realizando medidas empíricas para obtener puntos reales de la ecuación de la recta.

Esto podes plasmarlo en papel para afinar la ecuación y luego pasarla al PLC.

Cualquier duda quedo a disposición.

Saludos

11
Buenos días, perfecto.

1-. Convertir a °C los mA.

Para convertir a grados °C habría que aplicar una formula, para ello hay que tener una referencia de la cual partir.

En el sensor, ¿cuantos grados representan 4 mA y cuantos grados representan 20 mA?.

Esto lo especifica el fabricante del transductor, son los extremos de la escala.

2-.En la escala del sensor de presión dar salidas discretas…ejemplo….35 psi no arranca compresor……..350 psi se apaga compresor……..230 psi arranca ventilador 2…..200 psi se apaga ventilador 2……250 psi arranca ventilador 3….230 psi se apaga ventilador 3.

Bien, acá lo mismo, para pasar de mA a PSI, necesitaría saber ¿cuantos PSI representan 4 mA y cuantos PSI representan 20 mA?.
 
Una vez que se obtengan las magnitudes físicas, luego podemos mediante comparaciones activar/desactivas salidas.

Saludos

12
Realice la prueba del sensor y este varia con respecto a la temperatura.

Adjunto imágenes del pequeño test.

Perdón, habia un error en el código que te pasé en Ladder, media la corriente en AMPERES, por lo tanto para obtener MILI-AMPERES, debía multiplicar el valor de la lectura por 1000. Se me pasó por alto.



Te adjunto el proyecto completo corregido para que cargues y pruebes nuevamente con el sensor de 4-20 mA.

Quedo a disposición.

Saludos.

13
Otra prueba que puede hacer para verificar uso del sensor, es conectarlo al multimetro (tester) para independizar del PLC.

Es decir, conecta el transductor 4-20 mA a la entrada de corriente (0-200 mA) del multimetro y lo configura como amperimetro.

Luego se fija en pantalla la lectura de corriente cuando calienta el PT1000.

Algo asi:



Puede realizar esta prueba antes que conectar al PLC, para verificar conexionado.

Saludos

14
Buenas tardes,

Revise el hilo que me notifico y realice el paso del Firewall. Hago el proceso nuevamente y presiono el boton M1, pero lo unico que se muestra estático es el mensaje que le adjunto en el rar.

Bien, tiene comunicación con VirtualHMI.

Ahora... ¿Conecta el PT1000 directo al PLC o lo conecta antes al transductor de corriente 4-20 mA?.

Cuando desconecto la PT1000 este valor se quede fijo en la pantalla, debería quedar en 0 no es asi?

El valor 0.01 mA puede deberse a alguna pequeña corriente residual o error en conversión analógico-digital, es prácticamente 0. Estaríamos hablando de 10 micro-amperes.

Ademas cuando conecto la PT 1000 esta se calienta de manera rápida.
No se si estoy conectando algo mal (lo cual dudo con toda la explicación que me han brindado) podria ser que la sonda necesita es 12v DC?.

No creo que sea por los 12VDC, algún valor debería leer cuando varia la temperatura si esta usando un transductor 4-20 mA.

¿Tiene la descripción de terminales de salidas 4-20 mA del transductor? puede ser que este conectando o interpretando algo mal en el sensor.

Si tiene el pin-out adjuntelo así puedo verificar.

Saludos.

15
Buenos días,

Le adjunto unas imágenes de como tengo conectado el sensor de temperatura PT1000 con 24VCC tal cual como me indico, pero aun así con la programación que me facilito (muy agradecido por su apoyo en este proyecto) una vez que compilo y ejecuto el programa no logro hacer que en el Virtual HMI se imprimara un mensaje o algo. No se si me falta configurar algo mas en el programa o estoy haciendo algo mal.

Una vez cargado el programa tal cual en el PLC, ejecute VirtualHMI . Por defecto, VirtualHMI intenta conectarse al PLC en la dirección IP 192.168.1.81, si esta utilizando otra para el PLC, debe especificar la IP desde el botón config de VirtualHMI.

Luego de configurado, active VirtualHMI a posición "ON" con switch y luego toque el botón "M1" para que intente conectarse al PLC.

En este punto deberia mostrar algun mensaje en al pantalla.

Si sigue sin mostrar nada, puede ser que el Firewall de windows este bloqueando el programa, en ese caso siga los pasos de este mensaje:

http://foro.slicetex.com/index.php?topic=252.msg1324#msg1324

Quedamos a disposición.

Saludos

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