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.


Temas - InduxSA

Páginas: [1]
1
STX8092 - Familia PLC Cube / Evento Timeout
« : julio 17, 2017, 14:37:13 pm »
Hola Boris

Estoy teniendo un detalle en el evento Time out
Lo que hago es hacer dos paquetes de datos en en evento uno en Timeout1 y otro en timeout2,
dentro de cada uno de ellos valido el valor de la variable Alarmas para hacer el envio correspondiente

Mi problema es que en en evento Timeout1 no se umple el ciclo  cuando el valor de la Alarmas es 1

Te dejo el codigo del evento

@OnTimeout()

{
   //
   // Comprobar si Timeout1 ha expirado.
   //
   if(Timeout1Check() == 1)
   {
     if(Alarmas==0)
    {
       
    Mq="MQ-04"
    OT=OdT1
    GPM=Count1GetEventRPM_I()
    Contador=Count1GetEventCnt()
       // Enviar 4 campos con valores de Value1,Value2,Value3 y Value4 al servidor web.
       HttpSendGet("/PLCAdmin/GetHistorico?Maquina=%s&OT=%s&GPM=%d&Contador=%d",Mq, OT, GPM, Contador)

      }
       else if(Alarmas==1)
       {
    Mq="MQ-04"
    OT=Alarm1
   
        HttpSendGet("/PLCAdmin/GetHistorico?Maquina=%s&OT=%s&GPM=%d&Contador=%d",Mq, OT, 0, 0)
   
       }
      // Recargar Timeout1 para generarse en proximos 30 segundos.
      Timeout1Reload(30)
   
   }
     
   
 if(Timeout2Check() == 1)
   {
      // Comprobar si debemos iniciar una transmision HTTP.
   
    // Revisar si se han ingresado datos
     
   if(Alarmas2==0)
    {
       
    Mq="MQ-05"
    OT=OdT2
    GPM=Count2GetEventRPM_I()
    Contador=Count2GetEventCnt()
       // Enviar 4 campos con valores de Value1,Value2,Value3 y Value4 al servidor web.
       HttpSendGet("/PLCAdmin/GetHistorico?Maquina=%s&OT=%s&GPM=%d&Contador=%d",Mq, OT, GPM, Contador)

      }
       else if(Alarmas2==1)
    {
    Mq="MQ-05"
    OT=Alarm2
   
        HttpSendGet("/PLCAdmin/GetHistorico?Maquina=%s&OT=%s&GPM=%d&Contador=%d",Mq, OT, 0, 0)
    }
       
      // Recargar Timeout1 para generarse en proximos 30 segundos.
      Timeout2Reload(30)
   }
}

Saludos

2
Weintek - Weinview / Objeto Ascii
« : junio 07, 2017, 19:02:07 pm »
Hola Boris

Estoy programando un HMI weintek con un PLC STX8092.

Quiero enviar 3 registros , el problema es que al colocar en la pantalla los tres objetos ascii, toman un valor del que se ingreso en cualquiera de los objetos te comparto las siguientes imágenes esperando me puedas ayudar.

También hice una prueba para ver si el valor que se escribía en los objetos secundarios se guardaba en la variable y resulto que si se guarda el valor que toma de lo ingresado en el otro objeto.

te adjunto mis programas espero me puedas ayudar.


3
STX8091 - Familia PLC Cube / Conexion con el PLC
« : marzo 29, 2017, 19:55:12 pm »
Hola Boris

He cargado un programa al plc donde trato de usarlo como cliente web pero se bloqueo y no puedo conectarme a el
me marca un Time Error, como puedo resetear a valores de fabrica para volver a intentar con mi programa

se encendio el led RTC ERROR  y se queda encendido todo el tiempo

Saludos

4
STX8091 - Familia PLC Cube / Pantalla display
« : febrero 08, 2017, 16:39:10 pm »
Hola Boris

Quiero mostrar algunos datos del PLC en una pantalla LCD de unas 17 pulgadas es posible con el PLC STX 8091 D1  ?

Conoces algun producto de este tipo que pudiera usar con este modelo de PLC?

Te adjunto una imagen de algo como lo que necesito para que te des una idea o me puedas sugerir una alternativa


Saludos


5
STX8091 - Familia PLC Cube / Servicio web
« : febrero 08, 2017, 16:33:57 pm »
Hola Boris

Es posible concentrar datos de varios PLC simultáneamente en una pagina web?

y para usar el plc como servidor web es necesario comprar un dominio?}

Saludos.

6
STX8091 - Familia PLC Cube / Lecturas de codigo de barras
« : enero 31, 2017, 16:45:16 pm »
Hola Boris

Tengo la intención de realizar lecturas mediante un código de barras, el objetivo es establecer parámetros de trabajo de una maquina según la pieza que se este fabricando y que estos parámetros se obtengan a partir de un código de barras.

Es posible conectar un lector de códigos en modo PLC o en modo DAQ?

Saludos


7
STX8091 - Familia PLC Cube / Función Count1GetEventRPM_I()
« : julio 29, 2016, 14:09:55 pm »
Estimado Boris

Estoy usando la función nativa para medir RPM del PLC Count1GetEventRPM_I(), la cuestión es que esta muy inestable

He tratado de medir velocidades de 230 RPM y la medición que obtengo salta de 226 a 238 muy inestable, en algunas ocaciones da saltos hasta 300 y se va hasta 0

La pregunta es que cantidad de pulsos se muestran para realizar la medición dentro de la función Count1GetEventRPM_I() y si es posible aumentar el numero de pulsos comparados para hacer mas estable la medición

O que me recomendarías

Las velocidades que uso están entre 150 y 300 RPM , la señal la obtengo de un sensor NPN montado en una leva

Saludos

8
STX8091 - Familia PLC Cube / Uso de aplicación PLC UDP Receiver
« : julio 19, 2016, 14:47:21 pm »
Hola Boris

He leído la nota de aplicación STX-AN001  pero no me queda claro como usar la aplicación PLC UDP Receiver

Lo que quiero es enviar el valor de algunas variables cuando sea introducida una nueva clave en mi programa

cada que leo un nuevo valor en esta parte

// Leer registro 42020 para selección de articulo desde SH-300
     
      MbRtuServGetRegister(42020, Select)

necesito enviar el valor que tienen 3 variables en ese momento, la fecha y hora, a la aplicación antes mencionada

Saludos

José Camacho



9
STX8091 - Familia PLC Cube / PLC como servidor web
« : julio 13, 2016, 22:23:35 pm »
Estimado Biris

Estoy configurando el plc como servidor web

Hay una parte en el programa ejemplo en donde al cambiar el estado de la entrada DIN1 se enciende o apaga un foco

La pregunta es como puedo encender y apagar el foco pero tomando el valor de una variable del programa principal


Algo como

if (GPM>150)
{ Foco=1
}
else
{Foco=0
}

Y con el estado de foco enciende o apaga el foco

Lo intenté de esta manera y tmbien igualando la variable con las constantes nativas pero no logré que el foco cambiara de estado

Espero puedan ayudarme

Quedó atento de sus comentarios

Saludos


10
SH-300 / Cargar registro en HMI SH-300
« : julio 08, 2016, 15:45:36 pm »
Estimado Boris

Estoy tratando de imprimir las Rpm que me proporciona una señal cuadrada de 12V conectada al contador 1 en la entrada DIN7

En el panel HMI SH-300, el modelo del PLC que tengo es un 8091-D1  y la funcion nativa que estoy utilizando es la siguiente
   
      // Cargar  registro Rpm
     
      MbRtuServLoadRegister(42001,Count1GetEventRPM())

Mi problema es que en el LCD del panel me muestra una medicion mucho mas grande de lo que en realidad es

Realice la prueba en el Virtual HMI y funciona correctamente

A que se debe que las mediciones en el SH-300 sean mas elevadas??

Como lo puedo corregir

Te dejo el codigo que estoy usando para ver en que me puedes ayudar


Código: (Pawn) [Seleccionar]
PlcMain()
{

   // Inicializar rutinas Virtual-HMI.
   VirtualHmiInit()

new Select
  // new x
   //new y

   // Activar contador, cuenta por flanco ascendente.

   Count1Enable(COUNT_EDGE_RISING)
 
//
   // Inicializar Servidor ModBus RTU.
   //
   // Velocidad 9600 bps, formato 8E1 y direccion ModBus RTU 1.
   //
   // Interfaz: RS-232 (consulte hoja de datos de dispositivo)
   //
   // A partir de este momento, el servidor esta activo.
   //
   
   if(MbRtuServInit(1, 9600, SERIAL_8E1, MB_RTU_INTERFACE_RS232) < 0)
   {    
   // Error, pausar programa en este punto.
   while(true)
   {
   DelayMS(2000)
   LedToggle()
   }
   }

   //
   // Loop Principal.
   //
   Count1Reset()
   for(;;)
   {
   
             
   // Cargar  regustro Rpm
     
   MbRtuServLoadRegister(42001,Count1GetEventRPM())
   
   // Leer Holding Register en direccion 42020.
     
   MbRtuServGetRegister(42020, Select)
   
      switch (Select)
     
      {
          case 1:
          { 
             if (Count1GetEventRPM()<180)
              {
                 DoutSetOn(DOUT1)
          }
          if (Count1GetEventRPM()>200)
          {
             
          DoutSetOn(DOUT2) 
          }
          else
          {
           
          DoutSetOn(DOUT3)
             }
          }
      case 2:
          {  if (Count1GetEventRPM()<200)
              {
                 DoutSetOn(DOUT1)
          }
           if (Count1GetEventRPM()>200)
          {
             
          DoutSetOn(DOUT2)
          }
          else
          {
          DoutSetOn(DOUT3)
             }
             }
          case 3:
          {  if (Count1GetEventRPM()<220)
              {
                 DoutSetOn(DOUT1)
          }
           if (Count1GetEventRPM()>200)
          {
             
          DoutSetOn(DOUT2) 
          }
          else
          {
          DoutSetOn(DOUT3)
             }
             }
          case 4:
          {  if (Count1GetEventRPM()<240)
              {
                 DoutSetOn(DOUT1)
          }
           if (Count1GetEventRPM()>200)
          {
             
          DoutSetOn(DOUT2) 
          }
          else
          {
          DoutSetOn(DOUT3)
             }
             }
default:
            {
            DoutSetOn(DOUT1)
               }
      }
// Pausar ejecucion
DelayMS(250)
   
   }

   // Retorno.
   return 0
}

Saludos

Páginas: [1]