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 ... 63
1
SH-300 / Re:PLC No conmuta Salidas DOUT 1 y 2
« : noviembre 06, 2018, 18:00:04 pm »
Conmutan la 3, 4 y 8 perfectamente pero la 1 y la 2 no lo hacen.
Los números de registros cargados en la pantalla son 6001, 6002 ... 6008.

Probé con 1, 2 ... 8 pero el relé enciende y se apaga inmediatamente después.

Las lámparas virtuales en la pantalla conmuntan bien, lo único que no funciona son las salidas 1 y 2.

Buenas tardes Mariano,

No lo pude probar hoy, pero por lo que veo en el programa, estás usando números en vez de las constantes DOUT1, DOUT2, DOUT3, etc en las funciones DoutSetOn() y DoutSetOn().

Proba remplazarlas todas por las constantes respectivas:

Código: (Pawn) [Seleccionar]
   if(MbRtuServGetGpCoil(6001)){DoutSetOn(DOUT1);}
   else{DoutSetOff(DOUT1);}
     
   if(MbRtuServGetGpCoil(6002)){DoutSetOn(DOUT2);}
   else{DoutSetOff(DOUT2);}
     
   if(MbRtuServGetGpCoil(6003)){DoutSetOn(DOUT3);}
   else{DoutSetOff(DOUT3);}
     
   if(MbRtuServGetGpCoil(6004)){DoutSetOn(DOUT4);}
   else{DoutSetOff(DOUT4);}
     
   if(MbRtuServGetGpCoil(6008)){DoutSetOn(DOUT8);}
   else{DoutSetOff(DOUT8);}

Las constantes DOUT tienen distinto valor numérico que utilizar "1, 2, 3, ..., etc".

Por ejemplo, hacer DoutSetOff(3) es equivalente a hacer DoutSetOff(DOUT1 | DOUT2), apaga las dos al mismo tiempo. Ya que las constantes representan BITs, y el número 3, en binario es 11, es decir, ambos bits en la posición de DOUT1 y DOUT2.

Avísame si te sigue fallando.

Saludos!


2
STX8091 / Re:Leer o escribir a SQL server express
« : octubre 25, 2018, 15:59:51 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

Buenas tardes. Si, debés enviar los datos a tráves de una conexión HTTP o web al servidor, mediante una petición GET o POST, como se explica en el post de arriba. Luego desde PHP obtenés dichos valores y los guardás en base de datos o en archivo.

La nota de aplicación AN032 describe como realizar peticiones GET o POST.

Saludos!

3
STX8091 / Re:Ayuda para configurar WebServer
« : 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!

4
STX8091 / Re:Medición de corriente alterna con toroide
« : 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!


5
STX8091 / Re:Detención indeseada PLC
« : 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!


6
STX8091 / Re:Detención indeseada PLC
« : 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!

7
¡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!





8
STX8091 / Re:Detención indeseada PLC
« : 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!

9
STX8091 / Re:Detención indeseada PLC
« : octubre 10, 2018, 12:50:51 pm »
Me dejará cargar todo el código incluso el que hace uso de la EEPROM?

Si no recuerdo mal, si; pero no escribas arriba de los 16KB de la EEPROM, ya que lo limita internamente el modelo.

Saludos!

10
STX8091 / Re:Detención indeseada PLC
« : octubre 10, 2018, 10:46:30 am »
Buenos días,

Si no queda más alternativa voy a probar con el otro PLC pero espero para probar el cambio de D2 a D1.

Adjunto archivos para cambio de D2 a D1.

Recordar que modelo D1 tiene mitad de memoria disponible, pero en firmware inferior a 211, no se comprueba que programa exceda limites y debería dejar cargar el proyecto original.

La ultima prueba que hice fue desconectarle el panel sh300 y el puerto Ethernet y anular las sentencias que me indicaste además de las dos q hacían uso del panel.

No hubo reset pero habría que probarlo un par de días para tener certezas

Otra prueba podría ser desconectar el cable ethernet, pero dejar solo el servidor web habilitado y ver si no se detiene. Luego conectar el cable ethernet y verificar.

Saludos!

11
STX8091 / Re:Detención indeseada PLC
« : octubre 09, 2018, 18:50:57 pm »
La unica forma que tendria de corroborar que no se cuelgue seria por la "no indicacion de encendido" del led que se activa por reinicio de wdt. Ya que no podria acceder al webserver del plc. Pero hago la prueba y te aviso.

Claro, si, me llama la atención porque casi no te quedan cosas para desactivar en cuanto a software.

Pasamelo para probar ya que aparentemente no ha habido modificaciones en el circuito. Digo aparentemente porque en la caja metálica puesta a tierra donde se haya instalado el PLC no he cambiado nada y en lo que hace al resto de la instalación por lo que he podido revisar no encuentro ni cables cortados ni nada que me haga sospechar de algún desperfecto eléctrico en el circuito.

Bueno, ya te voy a pasar el archivo para pasar de D2 a D1.

¿Cabe la posibilidad de que remplaces el PLC por el del laboratorio?.

Saludos!

12
STX8091 / Re:ModBus TCP con dos PLC y un panel HMI
« : octubre 09, 2018, 11:22:47 am »
Cita de: Rodrigo
si en vez de leer entrada o escribir salidas quiero hacerlo en bits de GP, solo cambio la dirección verdad? en el caso de las lecturas las entradas 10001at16 las cambio por 4001at16 ? o si quiero escribir cambio 1at16 lo cambio por 4020at16 por ejemplo... 

Para escribir GP coils, utilizás el mismo componente del ejemplo, desde dirección 4001.

Para leer GP coils, debés remplazar el componente que lee las entradas en el ejemplo por el componente "MbClSendReadCoils".

El mismo se configurara igual que MbClSendReadDiscretes , solo que la dirección para GP-COIL es ADDR=4001 y QTY=16 (si pedís 16 bits).

13
STX8091 / Re:ModBus TCP con dos PLC y un panel HMI
« : octubre 09, 2018, 11:18:13 am »
Lo que estaba pensando es que en el caso de la aplicación con 3 PLCs + el panel, seria configurar únicamente como servidor al 8091 y clientes a los dos remotos (8092) para interactuar con el 8091... a la vez a los 8091 también como servidor para que el panel comande sobre ellos... y el bit de baliza estaría en el 8091 que seria leído por los dos 8092... que opinas? podrías ver un ejemplo asi?.

Buenos días Rodrigo. Buenas idea. He probado armar tres PLC con un HMI conectados por ModBus TCP, donde un PLC es servidor, y el resto, dos PLC y HMI son maestros.  Funciona correctamente, todos acceden al PLC servidor.

Hice una prueba rápida de prueba, luego tendré que emprolijar y subir los ejemplos.



La única diferencia, es que desde el HMI en este caso, a cualquier dirección de registro o bit que quieras leer o escribir en el PLC, debes sumarle 1. Por ejemplo, si querés acceder desde el HMI al GP-COIL 4064 en el PLC, debes accederlo como 4064+1=4065.

Se puede configurar el PLC para que no necesites esa consideración desde el HMI, pero entonces los otros dos PLC clientes, deberán hacer la misma consideración sumando 1 a la dirección. Esto se puede elegir, depende de como lo quieras. Capaz, que si queres mantener compatibilidad de diseño de HMI con proyecto actual, te convenga que los PLC sean los que incrementen en 1 la dirección.

Saludos!



14
STX8091 / Re:Detención indeseada PLC
« : octubre 09, 2018, 11:11:02 am »
Como el cable utp que conecta al router con el plc es algo largo (12 mts aproximadamente) voy a probar cambiarlo por uno blindado y puesto a tierra.

Si, puede ayudar.

Ahora, te recuerdo que este reset constante lo hace desde que cambié al plc a D2 y la versiones nuevas de stxladder y firmware.... será necesario que probemos volviendo a d1 y a algún firmware anterior para descartar que sea algún problema de las nuevas versiones?

Bueno, cabe esa posibilidad después de todo, lo que me llama la atención, es que corro tu programa y no presenta problemas.

Te puedo pasar para cambiar a modelo D1 y que pruebes.

Por otro lado, ¿te acordás que versión de firmware utilizabas sin problema?. Para verificar si hay algún cambio relacionado.

Saludos!

15
STX8091 / Re:Detención indeseada PLC
« : octubre 09, 2018, 11:04:14 am »
Con conexión desde afuera te referís a la entrada telefónica del router o a la entrada ethernet del PLC?

No, me refería a si desconectando el Ethernet tenias la falla.

Directamente desde este PLC no conmuto relé alguno. Lo único que tiene como periférico es un transductor de presión como entrada análógica, sus salidas a relé que cierran las entradas (digitales) de un kit arduino con transmisor de sms por gsm y un led indicador de reset por wdt. Y un pseudo led debug desde una de las salidas pwm usada como digital y otro led indicación de comunicación por enlace exitosa conectada a la otra salida pwm usada también como digital.

¿Por casualidad alimentás el kit Arduino u otro circuito con la salida de tensón +5D del PLC?.

La última prueba que hice ayer fue comentar o anular si se quiere
la llamada a los eventos

//TcpServerSetRxEvent()

y el de la pantaslla sh300

//MbRtuServInit(1, 9600, SERIAL_8E1, MB_RTU_INTERFACE_RS232);

Se sigue colgando el programa aunque anoche aguantó por lo menos 3 horas hasta donde pude ver. Esta mañana cuando abrí el webserver ya se habia colgado.

Fíjate de comentar también la inicialización del servidor TCP y desconectar el cable del SH-300 directamente.

Código: (Pawn) [Seleccionar]
// TcpServerInit(82, 30) 

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