Mensajes recientes

Páginas: 1 ... 3 4 [5] 6 7 ... 10
41
STX8091 - Familia PLC Cube / Re:Leer o escribir a SQL server express
« Último mensaje por Soporte noviembre 21, 2017, 10:54:14 am »
Hola Vi en una parte que con un post se puede enviar información y que había un scrip para enviar a sql. Lo que estoy necesitando es poder leer y escribir en una base de datos sql server valores tomados. Y escribir valores.

Buenos días Esteban,

Se puede indirectamente. Es decir, mediante el cliente web del PLC podes enviar una petición GET o POST al servidor web.

En una petición GET o POST podes enviar texto o valores.

Luego, en el servidor web tenes que manejar los datos recibidos, lo cual podes hacerlo con lenguaje PHP (que cualquier server soporta) y desde ese punto usas PHP para escribir la base de datos SQL.

La nota de aplicación AN032 te explica como enviar datos al servidor web utilizando el cliente web del PLC.

También explica un ejemplo de como capturar dichos datos con PHP en el servidor.

Te copio a continuación el script PHP que se expone en la nota de aplicación:

Código: (PHP) [Seleccionar]
<?php
 
// Obtener valores recibidos via HTTP GET.
 
$field1 $_GET["field1"];
 
$field2 $_GET["field2"];
 
$field3 $_GET["field3"];
 
$field4 $_GET["field4"];

 
// Obtener cadena de fecha/hora actual.
 
$datetime date("Y/m/d H:i:s");

 
// Armar cadena con datos recibidos.
 
$logString sprintf("Time: %s Field1: %s Field2: %s Field3: %s
 Field4: %s\r\n"
$datetime$field1,
 
$field2$field3$field4);

 
// Agregar cadena con datos recibidos al archivo log.txt.
 
file_put_contents("log.txt"$logStringFILE_APPEND);

 
// Responder con mensaje.
 
echo "Log OK! Hello from PHP!\r\n"
?>


El anterior script PHP, captura 4 valores transmitidos por el PLC y los almacena en un archivo de texto llamado log.txt en el servidor web.

Cada vez que recibe una peticion GET del PLC con datos transmitidos, los va almacenando en una linea nueva de log.txt:

Ejemplo:

Código: (log.txt) [Seleccionar]
Time: 2016/10/11 13:39:44 Field1: 0 Field2: 0 Field3: 0 Field4: 0
Time: 2016/10/11 13:40:14 Field1: 1 Field2: 2 Field3: 3 Field4: 4
Time: 2016/10/11 13:40:44 Field1: 2 Field2: 4 Field3: 6 Field4: 8
Time: 2016/10/11 13:41:14 Field1: 3 Field2: 6 Field3: 9 Field4: 12
Time: 2016/10/11 13:41:44 Field1: 4 Field2: 8 Field3: 12 Field4: 16
Time: 2016/10/11 13:42:14 Field1: 5 Field2: 10 Field3: 15 Field4: 20
Time: 2016/10/11 13:42:45 Field1: 6 Field2: 12 Field3: 18 Field4: 24
Time: 2016/10/11 13:43:15 Field1: 7 Field2: 14 Field3: 21 Field4: 28
Time: 2016/10/11 13:43:45 Field1: 8 Field2: 16 Field3: 24 Field4: 32
Time: 2016/10/11 13:44:15 Field1: 9 Field2: 18 Field3: 27 Field4: 36


En el caso anterior, el PLC cada 30 segundos envió al servidor web 4 campos field1, field2, field3 y field4, con valores numéricos que se incrementan.

A partir de dicho ejemplo (ver nota de aplicación AN032 ) te queda desde PHP insertar los datos en tu base de datos SQL en el servidor web.

Te dejo unos links sobre SQL y PHP:

http://aprende-web.net/progra/sql/sql_1.php

http://programacion.net/articulo/como_interactuar_con_una_base_de_datos_mysql_usando_php_141

Hay bastante información en google sobre PHP y SQL.

Saludos
42
STX8091 - Familia PLC Cube / Leer o escribir a SQL server express
« Último mensaje por Esteban E noviembre 20, 2017, 20:59:55 pm »
Hola Vi en una parte que con un post se puede enviar información y que había un scrip para enviar a sql. Lo que estoy necesitando es poder leer y escribir en una base de datos sql server valores tomados. Y escribir valores.


Saludos.

Esteban
43
STX8091 - Familia PLC Cube / Re:Como conectar un sensor de temperatura/presion 4-20 mA
« Último mensaje por Soporte noviembre 17, 2017, 17:53:06 pm »
3) Es posible imprimir todo un diagrama (pestaña) del programa? (tener en una imagen todo la programacion Ladder como si fuera adjuntada a un manual de usuario). En menu de herramientas, aparace un icono de "imprimir" pero no se encuentra habilitado.

Buenas tardes Jose,

Ya actualizamos StxLadder a la versión 1.8.4, la cuál permite exportar los diagramas a archivos de imágenes.

De esta forma podes luego incrustar dicha imagen en tu archivo WORD para realizar el manual o como soporte de documentación e imprimirlo.

La nueva opción está en el menú:

  • Archivo > Exportar > Como Imagen ... : Exporta toda el área usada por el diagrama a imagen.
  • Archivo > Exportar > Área visible como Imagen ...: Exporta el área mostrada o visible en pantalla a imagen.

Espero que le sea de utilidad y buen fin de semana.

Saludos

44
STX8091 - Familia PLC Cube / Re:Como conectar un sensor de temperatura/presion 4-20 mA
« Último mensaje por Soporte noviembre 16, 2017, 21:19:16 pm »
Estimado Jose, buenas tardes,

1) Es posible ver mediante la programacion de una tecla "Mx o' Fx", en la HMI el tiempo transcurrido de un temporizador?

Si. Primero debes obtener el tiempo transcurrido del temporizador y copiarlo en una variable, ya sea usando el componente "GET ET" o desde el mismo temporizador usando el puerto "ET". Luego imprimís dicha variable en el HMI como cualquier otra variable entera.

2) Es posible descargar el programa ya cargado del PLC al PC? o solo se puede del PC al PLC?.

Solo es posible transferir el programa desde la PC al PLC, no en sentido contrario.

3) Es posible imprimir todo un diagrama (pestaña) del programa? (tener en una imagen todo la programacion Ladder como si fuera adjuntada a un manual de usuario). En menu de herramientas, aparace un icono de "imprimir" pero no se encuentra habilitado.

Estamos trabajando para que pueda exportarse a un archivo de imagen el diagrama ladder, calculo que en estos días tendremos una versión actualizada de StxLadder con esa funcionalidad, así podes adjuntarlo en un manual.

Ver solución alternativa en siguiente respuesta.

4) Es posible o existe un componente contador para generar una parada total?. Ejemplo: 3 intentos de arranque automatico y luego parada total en un tiempo "X" despues hay que resetear para volver arrancar el equipo.

No, deberías implementar la lógica, hacer la cuenta y en caso que supere los intentos, bloquear al programa mediante una variable global que no permita entrar a la lógica común hasta que resetees el equipo. Ejemplo, una variable tipo "bool" que se llame TotalStop, y cuando sea "1" no se pueda ejecutar más nada.

5) Se requiere o existe un componente que pueda leer la diferencia entre dos variables y que el rango diferencial sea programable? (ya he usado los establecidos ">, <, >=, <="). (colocar el valor del diferencial).

Si no entiendo mal: ¿Un componente que lea dos variables, la reste y luego la compare con una diferencia?.

No, como tal no existe un componente así. A menos que hagas uno a través de una función Pawn, donde tengas 3 entradas y realices la comparación.

Luego podes reutilizar dicho componente llamando a la función Pawn tantas veces lo necesites.

Saludos
45
STX8091 - Familia PLC Cube / Re:Como conectar un sensor de temperatura/presion 4-20 mA
« Último mensaje por yove639 noviembre 15, 2017, 21:33:23 pm »
Boris

Me han surgido las siguientes interrogantes, gracias de antemano por sus respuestas:

1) Es posible ver mediante la programacion de una tecla "Mx o' Fx", en la HMI el tiempo transcurrido de un temporizador?

2) Es posible descargar el programa ya cargado del PLC al PC? o solo se puede del PC al PLC?.

3) Es posible imprimir todo un diagrama (pestaña) del programa? (tener en una imagen todo la programacion Ladder como si fuera adjuntada a un manual de usuario). En menu de herramientas, aparace un icono de "imprimir" pero no se encuentra habilitado.

4) Es posible o existe un componente contador para generar una parada total?. Ejemplo: 3 intentos de arranque automatico y luego parada total en un tiempo "X" despues hay que resetear para volver arrancar el equipo.

5) Se requiere o existe un componente que pueda leer la diferencia entre dos variables y que el rango diferencial sea programable? (ya he usado los establecidos ">, <, >=, <="). (colocar el valor del diferencial).
46
StxLadder - Slicetex Ladder Designer Studio / Re:TIME ALARM SET EVENT
« Último mensaje por Soporte noviembre 13, 2017, 13:28:02 pm »
Hola Buenos días. Si lo vi, pero si no mal veo cuando se corta la luz no tengo problema porque ya no me queda el contador bien ?

Una opción es que luego de iniciar, de acuerdo a la hora actual determines el valor del contador para activar la alarma correspondiente.

Ejemplo, al iniciar obtenés hora actual y mediante comprobaciones "if" en Pawn compruebes en que rango esta la cuenta de la alarma. Ejemplo, si la hora actual es antes de las 9 hs, le corresponde "1", si es antes de las 13 hs, le corresponde el "2", y así sucesivamente. Cargas de esta forma la variable del contador y luego estableces la alarma correspondiente inicial usando dicha variable.

Posteriormente el sistema funciona normalmente.

¿Me explico?

Saludos
47
StxLadder - Slicetex Ladder Designer Studio / Re:TIME ALARM SET EVENT
« Último mensaje por Esteban E noviembre 13, 2017, 11:32:28 am »

Hola Buenos días. Si lo vi, pero si no mal veo cuando se corta la luz no tengo problema porque ya no me queda el contador bien ?


saludos.

Esteban


48
StxLadder - Slicetex Ladder Designer Studio / Re:TIME ALARM SET EVENT
« Último mensaje por Soporte noviembre 13, 2017, 11:12:55 am »
Hola estoy necesitando agregar mas de 5 TIME ALARM SET EVENT. No hay alternativa de modificar para que me deje agregar mas ya que todos los otros programas que veia para utilizar y poder trabar con mas de 5 eventos corro el riesgo que si se corta la luz no vuelva a trabar correctamente. Yo por ejemplo ahora lo logro con temporizadores pero me pasa eso que cuando se corta la luz ya no respeta la proximo evento y lo mismo veia usando una entrada y colocando un mismo evento para varias horas.

Buenos días Esteban,

El sistema base es de alarmas no se puede alterar, ¿pero has probado extender el numero de alarmas como muestra el siguiente POST?.

http://foro.slicetex.com/index.php?topic=155.msg697#msg697

En el ejemplo se extiende la cantidad de alarmas, organizando las mismas en grupos, donde se muestra como crear 3 grupos de alarmas con 8 alarmas cada una, en total 24 alarmas.

La idea es que agrupes las alarmas en orden secuencial. Entonces, supongamos para OnTimeAlarm1 podes crear 8 sub-alarmas, organizadas en orden secuencial (señaladas por un indice) y a medida que se vayan activando, activas la siguiente alarma dentro del grupo.

Quedo a disposición por cualquier duda.

Saludos
49
StxLadder - Slicetex Ladder Designer Studio / TIME ALARM SET EVENT
« Último mensaje por Esteban E noviembre 11, 2017, 15:16:45 pm »
Hola estoy necesitando agregar mas de 5 TIME ALARM SET EVENT. No hay alternativa de modificar para que me deje agregar mas ya que todos los otros programas que veia para utilizar y poder trabar con mas de 5 eventos corro el riesgo que si se corta la luz no vuelva a trabar correctamente. Yo por ejemplo ahora lo logro con temporizadores pero me pasa eso que cuando se corta la luz ya no respeta la proximo evento y lo mismo veia usando una entrada y colocando un mismo evento para varias horas.

Saludos.

Esteban
50
STX8091 - Familia PLC Cube / Re:Como conectar un sensor de temperatura/presion 4-20 mA
« Último mensaje por Soporte noviembre 10, 2017, 13:05:46 pm »
Buenos días,

Utilizando los componentes VIN SET RANGE & VIN TO VOLTAGE ó VIN SET RANGE & VIN READ VOLTAGE , no pude obtener resultado de calibración es decir : usando un sensor de presión y con un manómetro de presión como testigo.
 
¿Tienes alguna otra forma de hacer esta medición?

Si estas conectando bien el transductor y leyendo corriente o tensión (según corresponda), no podemos saber cuales son los valores correctos que esperas obtener sin ningún dato extra o pista que permita ver donde podes tener el error.

Para esto debes seguir un método lógico de detección de errores, esto quiere decir, descartar lo que es error de medición con error de procesamiento (código o formula).

Por ejemplo, si medís tensión, rango 0 a 5V, y el sensor te entrega por ejemplo 1V para 100 PSI (supongamos), entonces:

  • Corroborar con voltimetro que para 100 PSI el sensor te entrega 1V. Si no obtenes resultado esperado, verificar caracteristicas del sensor.
  • Sin el sensor conectado, aplicar 1V con fuente externa en entrada del PLC y verificar si marca 100 PSI. Si no obtenes resultado esperado, corroborar formula y código utilizado en PLC hasta descartar error de programación.

Finalmente, una vez que dilucides que que tanto el sensor como el código empleado en el PLC trabajan como esperas, procedes a conectar el sensor y hacer la prueba final para ver el resultado o concluir que se trata de otro tipo de error.

Con respecto a la entrada VIN3, es curioso el comportamiento, como puedes ver la tengo eliminada del proyecto, (pero ya me están solicitando otra variable, que debe ser analg 4-20mA).  Trabaja o responde bien, hasta un valor (ejm 56 psi) de ahí en adelante no varía, se queda frozen en ese valor, si se reduce la presión vuelve a tomar el valor correspondiente y certero con respecto al manómetro como testigo. Esto sucede en los dos PLC 8091 D1.

Mismo caso que anterior, sin el sensor, conecta una fuente variable externa de tensión a VIN3 configurado para corriente.

Con cuidado, para no dañar la entrada, variá el voltaje entre 0V y 2V, esto te permitirá simular 0 a 20 mA y verificar formula/entrada del PLC en pantalla.

Si mediante la aplicación de tensión externa (y descartando error de código) obtenes error en la medición (ejemplo solo mide 0 a 10 mA) podes considerar que hay algún daño en la entrada. En ese caso, podes enviarnos el PLC para reparar.

Saludos
Páginas: 1 ... 3 4 [5] 6 7 ... 10