Mensajes recientes

Páginas: 1 2 [3] 4 5 ... 10
21
STX8091 / Re:Leer o escribir a SQL server express
« Último mensaje por nathalie octubre 25, 2018, 15:23:11 pm »
Hola, que tal? tengo una duda con respecto al la obtencion de los datos del plc, por medio de php  se pueden obtener los registros del plc? solo para leer y visualizar, nada de escribir en el plc,  y estos datos guardarlos en una base de  datos como respaldo
22
STX8091 / Re:Ayuda para configurar WebServer
« Último mensaje por Soporte octubre 21, 2018, 19:19:54 pm »
Al cambiar el puerto al 2018 (por probar algo) ocurre exactamente lo mismo. Accedo al WebServer por LAN ingresando 192.168.1.81:2018 en el navegador pero desde afuera de la red nada...

A veces las compañías de telefonía móvil bloquean algunos puertos, a diferencia de la banda ancha cableada.

Fíjate probar para el web server puertos estándar, como el 80, o los alternativos oficiales, como el 591, 8008, 8080.

https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=http-alt

El router que dispongo tiene para SIM 4G. La misma ya está configurada con un chip de Movistar y tengo acceso a internet mediante el router. Además ya está configurado el servicio DDNS mediante la página no-ip.com para que el router actualice su IP dinámica a un determinado hostname. Todo esto funciona correctamente y puedo ver desde la página de administración de hostnames de no-ip.com la IP dinamica del router actualizada constantemente.

Otra prueba que podes realizar, es utilizando la IP dinámica y no el nombre de dominio, así descartás algún error de DNS o tablas en no-ip.com.

Si tenés la IP dinamica asignada como XXX.XXX.XXX.XXX, accedes al PLC con esa IP, estando el "port forward".

Finalmente, es ver si el router esta enviando bien los paquetes de afuera, por ejemplo colocando una PC en el router con web-server, y hacer una prueba rápida.

Podes hacer un web server rápido con UwAmp.

Saludos!
23
STX8091 / Ayuda para configurar WebServer
« Último mensaje por EBD octubre 20, 2018, 21:07:36 pm »
Buenas tardes,
Abro este tema ya que estoy teniendo problemas al configurar mi router para montar el WebServer con un STX8091.
Mí problema surge al habilitar el forward del puerto 80 del router para que dirija a la IP del PLC (actualmente 192.168.1.81). En la página de configuración de port forwarding del router parecería estar todo configurado correctamente pero al intentar acceder desde afuera (con la IP dinámica) no es posible. Sí me permite acceder al WebServer estando conectado a la red Wifi y con la dirección de IP del PLC.
Ya he probado cambiando el puerto del PLC, como vi que sirvió para problemas similares en el foro. Al cambiar el puerto al 2018 (por probar algo) ocurre exactamente lo mismo. Accedo al WebServer por LAN ingresando 192.168.1.81:2018 en el navegador pero desde afuera de la red nada...

El router que dispongo tiene para SIM 4G. La misma ya está configurada con un chip de Movistar y tengo acceso a internet mediante el router. Además ya está configurado el servicio DDNS mediante la página no-ip.com para que el router actualice su IP dinámica a un determinado hostname. Todo esto funciona correctamente y puedo ver desde la página de administración de hostnames de no-ip.com la IP dinamica del router actualizada constantemente.

Adjunto algunas imagenes de la configuración del router. Desde ya, muchas gracias.
24
STX8091 / Re:Medición de corriente alterna con toroide
« Último mensaje por Soporte octubre 17, 2018, 16:46:02 pm »
Hola Boris, para calcular la corriente TrueRms del toroide conectado a la entrada analógica 4, usando el proyecto TrueRmsSampler.zip, se llena el buffer y llama a OnVin4BufFull la cual usa funciones para calculo(GetVoltagesum y GetVoltageRms). Si deseo calcular la corriente TrueRms de tres toroides conectados en tres entradas (4, 5, 6) sus respectivos buffers llamaran a   OnVin4BufFull, OnVin5BufFull y OnVin6BufFull. ¿puedo usar las mismas funciones (GetVoltagesum y GetVoltageRms) en las tres OnVinXBufFull o se superpondrán los datos en las Variable.

Buenas tardes Eduardo.

En principio si mal no veo, si podrías re-utilizar las funciones GetVoltageSum() y GetVoltageRMS(), ya que si te fijás por dentro de cada función no se utilizan variables globales o que estén fuera de la función, por lo tanto solo depende de sus argumentos.

Lo único, es que deberías crear para cada canal un nuevo set de variables globales del mismo tipo para almacenar los datos de cada canal, esto es:

Samples[] (array de 127 elementos), SamplesNumber, I_RMS, Sum y V_RMS.

Podes darle un nombre más representativo con el número de canal por ejemplo: Samples5, Sum5, SamplesNumber5, etc.

Cada una de estas variables, luego las conectas como argumentos a las funciones reutilizadas, de la misma forma que el ejemplo.



NOTA:

La función GetVoltageSum(), tiene una linea que depende del número de canal:

SampleVoltage = VinToVoltage(4, IN3, 8)

Que en este caso es "4", pero como solo se usa para convertir un valor en memoria a voltaje, no es necesario cambiarlo, siempre y cuando se utilice los canales 4,5,6,7 y 8, ya que comparten las mismas características.

Por otro lado, en diagrama Inicio.sld, recordá establecer el rango y activar el sampler para los otros canales a utilizar, tal como hace el ejemplo para el canal 4.

Saludos!

25
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte octubre 17, 2018, 16:23:22 pm »
Algo que me olvidé de sugerir para que pruebes, es llamar al siguiente comando al inicio del programa en PlcMain() por una sola vez:
 
Código: (Pawn) [Seleccionar]
   // Desactivar TCP split en stack TCP/IP.
   NetTcpSplitOff()

Utilizar tanto en el cliente, como en el servidor (es decir ambos PLC tienen que estar configurados con esta opción al iniciar para que se puedan comunicar).

Esto evita que el PLC divida los paquetes TCP para mejorar desempeño, pero que quizás con tu router este dando problemas.

Saludos!

26
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte octubre 17, 2018, 11:04:04 am »
Buenos días Mariano,

Se me ocurrió cambiar los puertos 81 y 82 a otros números y al parecer se solucionó la falla y no volvió a resetearse. Entonces le cargué el programa completo. (Sólo que en modo D1 me dejaba usar la mitad de la EEPROM). No hubo fallas. Lo que hice hace una hora, fue mudar todo de nuevo. PLC a D2, StxLadder a 1.9.3 etc. Lo estoy probando y te aviso. Al parecer el reset se origina por usar esos números de puerto... o bien por lo menos uno de ellos (calculo el 82 asignado al TCP) es el que causaba el problema...

No podría haber imaginado una solución de ese tipo, bastante extraño, a lo mejor ambos puertos deban estar un poco más separado para evitar algún conflicto. Pero intento comprender a que se puede deber, ya que no debería ser así.

Lo que sí sería conveniente es que el PLC de algún tipo de aviso ante este tipo de errores sin que el programa se llegue a bloquear y ser necesario un reset por watchdog de todo el PLC. Esto es a los fines de que no entren en juego los actuadores que dependen en todo momento de las distintas salidas.

Si, es que pudiendo reproducir la falla me seria más fácil entender el por qué. El manejo de comunicaciones por parte del PLC es una "tarea" independiente, por lo tanto es raro que si se "bloquea" detenga al resto de las actividades.

Es decir, si se cuelga en la "comunicación" y nunca devuelve el control al programa del PLC, es lógico que se te dispare el watchdog, ya que no lo podes alimentar.

Si se cuelga en la "comunicación", pero de alguna forma sigue respondiendo, por ejemplo si conectas StxLadder y lo interrogás para ver información menú "PLC > Configurar PLC", y responde, es porque de alguna forma no está totalmente bloqueado, pero falla al devolver el control al PLC.

Si no responde nada, es algún tipo de otra falla interna, como error de memoria o un error no contemplado.

Pero comentame como sigue.

Saludos!
27
STX8091 / Re:Medición de corriente alterna con toroide
« Último mensaje por Tama octubre 17, 2018, 09:50:24 am »
Hola Boris, para calcular la corriente TrueRms del toroide conectado a la entrada analógica 4, usando el proyecto TrueRmsSampler.zip, se llena el buffer y llama a OnVin4BufFull la cual usa funciones para calculo(GetVoltagesum y GetVoltageRms). Si deseo calcular la corriente TrueRms de tres toroides conectados en tres entradas (4, 5, 6) sus respectivos buffers llamaran a   OnVin4BufFull, OnVin5BufFull y OnVin6BufFull. ¿puedo usar las mismas funciones (GetVoltagesum y GetVoltageRms) en las tres OnVinXBufFull o se superpondrán los datos en las Variable.

Gracias Eduardo.
28
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Mariano octubre 16, 2018, 17:55:37 pm »
Buenas tardes Boris

Te comento las últimas pruebas. Si bien el programa original anduvo un tiempo sin presentar fallas. Después de unas 7 u 8 horas comenzó a bloquearse cada intérvalos de 40 o 50 minutos mayormente y a veces llegaba a funcionar un par de horas hasta que se volvía a bloquear. Esto es, corriendo el programa original, con PLC en modo D1, firmware v200 e instalado con stxladder 1.8.2

Se me ocurrió cambiar los puertos 81 y 82 a otros números y al parecer se solucionó la falla y no volvió a resetearse. Entonces le cargué el programa completo. (Sólo que en modo D1 me dejaba usar la mitad de la EEPROM). No hubo fallas. Lo que hice hace una hora, fue mudar todo de nuevo. PLC a D2, StxLadder a 1.9.3 etc. Lo estoy probando y te aviso. Al parecer el reset se origina por usar esos números de puerto... o bien por lo menos uno de ellos (calculo el 82 asignado al TCP) es el que causaba el problema...

Voy a examinar más exhaustivamente la diferencias entre versiones, para determinar que puede haber cambiado y hacer algunas pruebas.

Con respecto a esto, tal vez no haya diferencias entre versiones, ni de D1 a D2 ni en los entornos de Stxladder. Dejame completar esta última prueba para no buscar la falla en vano.

Lo que sí sería conveniente es que el PLC de algún tipo de aviso ante este tipo de errores sin que el programa se llegue a bloquear y ser necesario un reset por watchdog de todo el PLC. Esto es a los fines de que no entren en juego los actuadores que dependen en todo momento de las distintas salidas.

Saludos

29
¡Buenos días usuarios!

Hoy adjuntamos en archivos ZIP, dos ejemplos para poder transmitir una cadena (string) a través del puerto serie (RS232 o TTL, según el modelo).

Requiere que actualice el firmware de su PLC a la última versión y utilizar StxLadder versión 1.9.5 o superior.

Ejemplo en Pawn:

Debe utilizar la función SerialSendStr(), por ejemplo para transmitir el valor de la variable Counter:

Código: (Pawn) [Seleccionar]
SerialSendStr("Counter = %d ", Counter)
Ejemplo en Ladder:

Debe utilizar el componente SerialSendStr. En el siguiente ejemplo se transmite la cadena "Counter = %d" cada 1 segundo, donde %d es remplazado por el valor de la variable Counter (que se incrementa en 1 por cada transmisión).



Prueba:

Puede utilizar el programa PuTTY, el cual es un terminal que puede funcionar en Windows/Linux y aceptar trasmisiones desde el puerto serie. Conecte el PLC a la computadora con un cable cruzado, conigure PuTTY para leer el puerto serie con los parámetros 9600 BPS, 8N1.

Al recibir la cadena "Counter = %d" cada 1 segundo desde el PLC, debería ver una pantalla similar a la siguiente:



PuTTY puede descargarlo desde:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Saludos y buenas transmisiones!




30
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte octubre 16, 2018, 12:12:24 pm »
Buenos días Mariano,

En la última prueba que realicé pasé el PLC a modelo D1. Le cargué el firmware v200 y el programa inicial que tenía en servicio (sin uso de instrucciones para la memoria EEPROM) y volvió a funcionar todo normalmente sin fallas.

Para esto, tuve también que instalar stxladder versión 1.8.2 en lugar de la 1.9.3. Esta última no me dejaba compilar el proyecto inicial (el que estaba normalmente en servicio) por falta de memoria RAM.

Voy a examinar más exhaustivamente la diferencias entre versiones, para determinar que puede haber cambiado y hacer algunas pruebas.

¿Podrías enviarme por mail, el proyecto que cargás al PLC que te funciona?.

El proyecto que no te funciona, ¿supongo que es el mismo que ya me pasaste, no?.

Quería agregarte que en la configuración del router están asignados los puertos 81 al webserver y 82 al tcp server. Donde pide el tipo de puertos entre TCP y UDP está definido en las dos alternativas como Both (ambos). Habrá algún conflicto con los números de puerto asignados. (No hay ningún otro servidor virtual instalado como sistemas de alarma o vigilancia ni nada por el estilo)

No, esto no creo que sea un problema.

Saludos!
Páginas: 1 2 [3] 4 5 ... 10