Mensajes recientes

Páginas: 1 ... 8 9 [10]
91
STX8091 / Re:Errores iniciales en modo DAQ
« Último mensaje por Soporte abril 16, 2018, 21:35:40 pm »
El paso siguiente sería extender el funcionamiento con samplers a 2 canales (dos entradas).
En el manual del usuario item 10.4 encontré que el modelo STX8081 tiene dos samplers, por lo que deduzco que el STX8091 también los tiene.

No, el modelo STX8091 tiene un solo sampler para los 8 canales analógicos, solo debes usar el sampler A.

Por favor, necesitaría algunas indicaciones (cómo hacer las modificaciones en el programa) para poder hacer funcionar dos entradas analógicas con samplers. No sé cual forma es más conveniente: 1 solo sampler con las entradas VIN1y VIN2  o utilizar el sampler A para VIN1 y sampler B para VIN3, por ejemplo.
Talvez el trabajo de programanción para activar las cuatro entradas con los dos samplers es el mismo que activar solo dos.

Adjuntamos ejemplo modificado que muestrea canales VIN4 y VIN5.

Como lo dicho anteriormente, para todos los canales se usa el mismo sampler. Esto se especifica en la siguiente línea del archivo Form.cs:

Código: (C#) [Seleccionar]
// Activar sampler A, muestrar entrada analogica VIN4/VIN5 a 400 uS,
// es decir a una tasa de muestreo de 2500 Hz.
// Enviar las muestras obtenidas a traves de paquetes UDP-STREAM.

PioBoard.Cmd.Vin.SamplerAStart(VinSamplerACh.Vin4 | VinSamplerACh.Vin5, 400);

Notar como se colocan los canales a muestrear con el operador "|".

Si se muestrean 3 canales, utilizar:

Código: (C#) [Seleccionar]
PioBoard.Cmd.Vin.SamplerAStart(VinSamplerACh.Vin4 | VinSamplerACh.Vin5 | VinSamplerACh.Vin6, 400);
Y así sucesivamente.

Para todos los canales se utiliza la misma velocidad de muestreo.

Luego en archivo UdpStreamRxVin.cs, en método UdpStreamRxVin(), recordar especificar rango de operación en entradas, por ejemplo:

Código: (C#) [Seleccionar]
// Establecer rango de 0-10V para canal VIN4/VIN5 (llamar una sola vez para configurar).
PioBoard.Cmd.Vin.SetRange(VinCh.Vin4, VinVoltRange.Unipolar_10V);
PioBoard.Cmd.Vin.SetRange(VinCh.Vin5, VinVoltRange.Unipolar_10V);

Finalmente en método RxHandle() comprobamos si los paquetes recibidos vienen del canal VIN4 o VIN5:

Código: (C#) [Seleccionar]
           
            // Comprobar si el paquete UDP-STREAM fue recibido con éxito.
            if (PacketStatus == UdpStreamStat.Success)
            {
                // Comprobar, si el paquete contiene muestras de entrada VIN4.
                if (ID == UdpStreamPacketIDs.VIN4)
                {
                      // Escribir archivo TXT
                }

                // Comprobar, si el paquete contiene muestras de entrada VIN5.
                if (ID == UdpStreamPacketIDs.VIN5)
                {
                      // Escribir archivo TXT
                }
            }

Al muestrar, en este ejemplo se escriben las muestras de VIN4 y VIN5 en el mismo archivo, anteponiendo el número de canal para identificarlo, quedando el archivo TXT final como:

Código: (Archivo VIN.TXT) [Seleccionar]
VIN4 = 0
VIN4 = 0
VIN4 = 0
VIN4 = 0
VIN4 = 0
VIN4 = 0
VIN5 = 5,2
VIN5 = 5,2
VIN5 = 5,2
VIN5 = 5,2
VIN5 = 5,2
VIN5 = 5,2

En este caso VIN4 tenia colocado 0V y VIN5 tenia colocado +5.2V.

Queda a criterio poner las muestras en archivos diferentes, o en el mismo archivo pero separadas por coma, etc.
Es cuestión de programación.

Una nota al respecto, es que el ejemplo toma "X" muestras y termina la adquisición. Como utiliza la misma variable contador para ambos canales, tomará "X/2" muestras de cada canal. Modificar para contar muestras por separado, o simplemente ingresar el doble de muestras a tomar al inicio del programa, si se quiere adquirir "X" muestras para cada canal.

Saludos!
92
STX8091 / Re:Errores iniciales en modo DAQ
« Último mensaje por OscarC abril 14, 2018, 09:39:13 am »
Estimado soporte,

Todo funcionó perfecto. Pudimos adquirir con la entrada VIN4 y guardar el registro el un archivo vin.txt.
Muchas gracias por la ayuda.

El paso siguiente sería extender el funcionamiento con samplers a 2 canales (dos entradas).
En el manual del usuario item 10.4 encontré que el modelo STX8081 tiene dos samplers, por lo que deduzco que el STX8091 también los tiene.
Por favor, necesitaría algunas indicaciones (cómo hacer las modificaciones en el programa) para poder hacer funcionar dos entradas analógicas con samplers. No sé cual forma es más conveniente: 1 solo sampler con las entradas VIN1y VIN2  o utilizar el sampler A para VIN1 y sampler B para VIN3, por ejemplo.
Talvez el trabajo de programanción para activar las cuatro entradas con los dos samplers es el mismo que activar solo dos.

Aguardo su respuesta.

Les agradezco mucho si tiempo y disposición.

O.Curadelli



94
STX8091 / Re:sensor PT100, tensión alimentación
« Último mensaje por Soporte abril 11, 2018, 19:17:45 pm »
Buenas, según el manual del plc en las entradas analógicas VIN1 utilizada con el jumper 3 se puede utilizar un sensor Pt100 de 4 a 20mA con una tensión de operación de-3 a 3,5 volt, pero esas son tensiones de operación respecto de la corriente que me da el PT100, y la tensión de alimentación de cuanto a cuanto puede ser?puede ser una fuente de 24volt?

Estando el jumper colocado, podes alimentar el transductor de corriente con 24VDC, conectando como se muestra en la siguiente imagen:



A la entrada VIN1 en este caso no le llega toda la tensión de la fuente, porque en el medio está el transductor de corriente donde caerá la mayor parte de la tensión de la fuente para solo dejar circula 4-20 mA en todo el lazo (actúa como una fuente de corriente en realidad, pero podes verlo como una resistencia variable que aumenta/disminuye automáticamente para dejar pasar los 4-20 mA).


95
STX8091 / sensor PT100, tensión alimentación
« Último mensaje por sebeta abril 11, 2018, 10:30:05 am »
Buenas, según el manual del plc en las entradas analógicas VIN1 utilizada con el jumper 3 se puede utilizar un sensor Pt100 de 4 a 20mA con una tensión de operación de-3 a 3,5 volt, pero esas son tensiones de operación respecto de la corriente que me da el PT100, y la tensión de alimentación de cuanto a cuanto puede ser?puede ser una fuente de 24volt?
96
SH-300 / Re:SH300 sin respuesta
« Último mensaje por Soporte abril 10, 2018, 11:47:30 am »
El problema que tengo es que todo esa secuencia de cambios de pantalla e incluso el Gcoil funcionaba antes de conectarlo al autoclave,y ahora que lo conecté no funciona, por eso es que te consulto si puede ser algún error de conexión algo por el estilo, o por algun error de distintas versiones de programas, lo raro es que si me funciona por ejemplo: "bomba de vacío activada" o "bomba de vacío Activada" pero solamente si cambio manualmente las hojas de la pantalla HMI, eso me parece raro.

Buenos días.

Si no actualizaste versiones de firmware del PLC, no deberías tener cambios. Así mismo, las nuevas versiones tienen retro-compatibilidad para el caso del PLC y StxLadder para estas funciones.

Para el HMI, podrías utilizar la versión de software que se encuentra en nuestra página para probar si usas una diferente, en el caso de que antes hayas utilizado otra más antigua cuando te funcionaba.

Respecto al funcionamiento, solo puedo comentarte de acuerdo a errores puntuales que podes mostrarme.

Me inclinaría a pensar que si antes te funcionaba, es probable que tengas un error de conexionado, por ejemplo entradas digitales que se ponen a masa o algo que esté dando una entrada diferente a la lógica.

La forma de corregirlo es por partes, desconectar todo (entradas/salidas), e ir conectando progresivamente y probar si funciona, hasta dar con el problema.

También, cargar el último proyecto que tengas en backup que funcionaba correctamente, muchas veces se hacen cambios y se pasan por alto.

Saludos.

97
SH-300 / Re:SH300 sin respuesta
« Último mensaje por sebeta abril 09, 2018, 21:43:38 pm »
ha ok te envío el programa como zip, otra cosa que te quería comentar es que la pantalla HMI no me funciona el GCOIL para el inicio del programa, si funciona cuando voy cambiando las pantallas manualmente y se activa la caldera lo puedo ver en la pantalla, pero nada más y la idea es que la con el botón en la pantalla HMI comience el proceso.

Según veo en la pantalla, tenes el botón configurado como "Instant On", ver imagen adjunta:



Esa configuración hace un "1" mientras tenes apretado el botón o por un instante, luego es "0".

En el programa, "Gcoil" será "1" por un instante, fijate que cuando se hace "0" no te pare el programa.

En ese caso, deberias hacer que cuando es "1" active otro flag con "1" (por ejemplo una variable llamada "START") y solo cuando termina el ciclo, se haga "START = 0".

También, en el HMI, podes probar utilizar la opción "Reverse" para que sea "1" si lo apretaste y "0" si lo volvés a apretar.

Saludos


El problema que tengo es que todo esa secuencia de cambios de pantalla e incluso el Gcoil funcionaba antes de conectarlo al autoclave,y ahora que lo conecté no funciona, por eso es que te consulto si puede ser algún error de conexión algo por el estilo, o por algun error de distintas versiones de programas, lo raro es que si me funciona por ejemplo: "bomba de vacío activada" o "bomba de vacío Activada" pero solamente si cambio manualmente las hojas de la pantalla HMI, eso me parece raro.
98
STX8091 / Re:Errores iniciales en modo DAQ
« Último mensaje por Soporte abril 09, 2018, 20:44:56 pm »
Pude generar la versión Debug (F5), pero al ejecutarlo (Start Debugging) se genera el archivo de salida vin1.txt (todo con ceros) y me dá los errores indicados en el archivo adjunto UdpStreamRxVin.png (impresión de pantalla).

Ese error que te muestra es normal, ya que el programa intenta acceder a el control "progressBar1" (barra de progreso) a tráves de un proceso en paralelo o diferente al proceso que arrancó la ventana. Es decir, cuando la librería espera datos de la placa (en este caso) lo hace en un proceso separado al proceso principal del programa (como si fueran dos programas separados). De otra forma te bloquearía la ejecución del programa ya que el proceso principal se quedaría esperando datos y no te dejaría hacer otra actividad en el programa. Por ello, la librearía crea un proceso en paralelo.

Esto se soluciona generando delegados para acceder al control "progressBar1" desde un subproceso, pero quizás es un tópico un poquito más avanzado de programación que lo podes hacer más adelante, ya que en modo "Release" no genera dicho error. Hay mucha información en internet sobre este tema.

Solo ocurre en modo "Debug".

Intento generar la versión "release" (build ssolution F6) y parece que se se genera (Build suceeded) pero no aparece en el directorio Release el archivo Vin_UdpStream.exe actualizado.

Por favor necesito ayuda para salvar este error o generar la versión release.

Fíjate si el proyecto lo tenés configurado como "Release" desde sus propiedades.

Te paso imagen demostrativa:



Por otro lado, cuando arranques el programa, es probable que te pida permiso en el Firewall de Windows, como en la siguiente imagen:



Si tenés duda que Windows te lo está bloqueando, debes proceder a eliminarlo del Firewall de Windows, como te explicamos con la aplicación SignalView en el post anterior, solo que ahora debes buscar cualquiera que se llame Vin_UdpStream y eliminarlo. Luego volver a arrancar el programa y dar permisos cuando te aparezca el cartel.

Luego el programa cuando arranca y "muestrea" indica en una barra el progreso como se ve en la figura siguiente:



Te paso adjunto 3 proyectos configurados para leer canal: VIN1 y VIN4

Dos están en Visual Studio 2010 y otro en Visual Studio 2015.

Creo que estas usando la versión 2010, probá compilarlos.

  • Para probar la entrada VIN1, te recomiendo colocar entre 1V entre terminales VIN1 y AGND.
  • Para probar la entrada VIN4, te recomiendo entre 5V entre terminales VIN4 y AGND.

Luego, el archivo de texto de las muestras, te va a mostrar un contenido similar al siguiente:

Código: (TEXT) [Seleccionar]
5,08
5,12
5,12
5,08
5,12
5,12
5,12
5,12
5,12
5,12
5,12
5,12
5,12
5,12
5,12

Recuerda configurar la IP de tu computadora en los ejemplos adjuntos, línea:

Código: (C#) [Seleccionar]
PioBoard.Cmd.BoardConfig.SetUdpStreamHostIp(192, 168, 1, 15);
Saludos

99
SH-300 / Re:SH300 sin respuesta
« Último mensaje por Soporte abril 09, 2018, 13:48:59 pm »
otro problema que se me presento hoy fue que no se si me está leyendo el pt100 los valores de corriente, se puede verificar eso con el virtual HMI?los valores de corriente del pt100 me refiero, interconectando el plc por medio del cable rj45, el problema es que cuando en el proceso inyecto el vapor para la esterilización el pt100 no sensa la presion que tengo programada en el rango de presión, que en el programa es la N017 por ejemplo, me gustaría poder utilizar saber si puedo utilizar el virtual HMI como para ver los valores de corriente(temperatura).

Si mal no interpereto, en N009 estás mostrando la corriente de VIN1, ¿no se si eso es lo que querés hacer?.

Igualmente, en VirtualHMI podes mostrar la variable que le indiques.

Como regla a verificar, muchas veces los problemas suelen ser que en una parte del programa escribís una variable (por ejemplo con 0) y en otra parte la volvés a escribir con "1", haciendo que el resultado sea diferente al deseado.
No quiere decir que eso este pasando acá, pero revisar que no sea un tema de ese tipo.

Ir progresando de a partes, primero en el programa asegurarse que una parte del proceso funcione bien, luego agregas código para la siguiente parte del proceso, y así hasta completar el programa.

Saludos
100
SH-300 / Re:SH300 sin respuesta
« Último mensaje por Soporte abril 09, 2018, 13:38:36 pm »
ha ok te envío el programa como zip, otra cosa que te quería comentar es que la pantalla HMI no me funciona el GCOIL para el inicio del programa, si funciona cuando voy cambiando las pantallas manualmente y se activa la caldera lo puedo ver en la pantalla, pero nada más y la idea es que la con el botón en la pantalla HMI comience el proceso.

Según veo en la pantalla, tenes el botón configurado como "Instant On", ver imagen adjunta:



Esa configuración hace un "1" mientras tenes apretado el botón o por un instante, luego es "0".

En el programa, "Gcoil" será "1" por un instante, fijate que cuando se hace "0" no te pare el programa.

En ese caso, deberias hacer que cuando es "1" active otro flag con "1" (por ejemplo una variable llamada "START") y solo cuando termina el ciclo, se haga "START = 0".

También, en el HMI, podes probar utilizar la opción "Reverse" para que sea "1" si lo apretaste y "0" si lo volvés a apretar.

Saludos





Páginas: 1 ... 8 9 [10]