Mensajes recientes

Páginas: 1 2 [3] 4 5 ... 10
21
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Mariano octubre 09, 2018, 15:24:54 pm »
Hola Boris

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

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.


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

Lo único q alimento es un led de indicación de reset por desborde de wdt. El arduino y demás tienen alimentación propia y sólo comparten el negativo común.


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)

Lo hago y te aviso.

Con respecto al cable utp, lo cambié esta mañana por uno con blindaje puesto a masa.


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.


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.

Por mi parte resumo todas las pruebas y las hago en un rato para informarte Boris.

Gracias por tu tiempo y asesoramiento.




22
STX8091 / Re:ModBus TCP con dos PLC y un panel HMI
« Último mensaje por Soporte 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).
23
STX8091 / Re:ModBus TCP con dos PLC y un panel HMI
« Último mensaje por Soporte 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!


24
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte 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!
25
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte 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) 
26
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Mariano octubre 09, 2018, 10:52:25 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.

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?

Saludos
27
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Mariano octubre 09, 2018, 09:19:51 am »
¿Sin conexión desde afuera, ocurre también el problema?.

Con conexión desde afuera te referís a la entrada telefónica del router o a la entrada ethernet del PLC?

¿Conmutas alguna bomba, o carga con rele, contactor, etc, igualmente?.

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.

En @OnTcpServerRx() proba el siguiente código en remplazo de: while((Id=TcpServerGetUnreadId()) > 0)

Código: (Pawn) [Seleccionar]
for(new Count=0; ((Id=TcpServerGetUnreadId()) > 0) && (Count < 100); Count++)

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.

En cuanto a hardware el único cambio que hice fue el de la fuente de 12V por una similar a la que viene con el plc

Sigo probando
Saludos
28
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte octubre 08, 2018, 17:41:17 pm »
La consulta sería como proceder para hallar el segmento de código que me está produciendo el "stop" del plc?

Había pensado en ir guardando en EEPROM números guías dentro del código pawn para acceder a él post reset y así intentar ver al menos en que punto del programa se produce la falla. Quería consultarte si tenés alguna herramienta o técnica que me pueda ayudar a aislar el problema.

No es mala idea, pero es una falla aleatoria de ese tipo, si es como la describís, puede ocurrir en cualquier momento y siempre en distinto punto del programa.

El programa no aparenta tener algo que salga fuera de lo común.

Creo que lo ideal seria ir eliminando funciones, para llegar al punto donde no se resetea.

Me inclinaría ha hacer la siguiente prueba, desconectando las salidas reles, tenes problemas?. Así descartamos ruidos eléctricos.

Por otro lado, desconectando la pantalla SH-300, tenes problemas?. La pantalla constantemente interrumpe al PLC, es algo que ya esta super probado, pero para descartar que la comunicación serie no esté interfiriendo de alguna forma con las operaciones que realizas.

Finalmente, es posible que en el PLC de prueba-servidor le conectes otro PLC-cliente y verifiques que todo te funciona sin problemas?.

Podrá caber la posibilidad de que algún problema de programación de más bajo nivel de la ejecución de sentencias o procedimientos sea responsable de estas paradas en el programa?

No lo descarto, pero no estoy seguro si es una falla de comunicación/programación o de ruido.

Este PLC está en servicio hace ya dos años y medio aproximadamente. Nunca le cambié la batería interna. Podrá ser causa del problema?

No, no debería afectar la batería al funcionamiento.
29
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Soporte octubre 08, 2018, 17:30:06 pm »
La última prueba que hice fue desconectar la antena del modem y aunque sigue bloqueándose y reseteandose por wdt. El intérvalo de tiempo entre bloqueos parece haberse prolongado desde los 5 minutos aproximadamente a los 60 minutos aproximadamente.

¿Sin conexión desde afuera, ocurre también el problema?.

¿Conmutas alguna bomba, o carga con rele, contactor, etc, igualmente?.

En el PLC que tengo encendido en laboratorio no se produce reset alguno en los tres día que está funcionando. Este está conectado al router en mi casa, pero no hay aquí antena que tenga que transmitir/recibir datos, por lo cual asumo que la ejecución del evento correspondiente @OnTcpServerRx() ha de ser mucho más rápida.

En @OnTcpServerRx() proba el siguiente código en remplazo de: while((Id=TcpServerGetUnreadId()) > 0)

Código: (Pawn) [Seleccionar]
for(new Count=0; ((Id=TcpServerGetUnreadId()) > 0) && (Count < 100); Count++)
Para evitar que si por algún motivo la función TcpServerGetUnreadId() devuelve siempre mayor a cero, no se bloqueé el código en el evento y dispare el watchdog.

Ya que es la única parte que veo que es potencialmente peligrosa.

El resto de las funciones que llamás dentro dentro del evento, no generan retardos, más allá de lo normal de ejecución del procesador.

Escribir en la EEPROM genera un pequeño retardo, pero es de 5 a 10 mS por cada operación.

Se me hace que es un problema de interferencia o "cuelgue" de algún evento...

El evento solo se activa al recibir datos desde el cliente, si no los recibe, no se ejecuta.

Pero sospecho de ruido eléctrico, ya que en el laboratorio no te da problemas, y acá si.

Las cargas como bombas, ¿las controlás a través de un contactor o relé?.

Saludos!






30
STX8091 / Re:Detención indeseada PLC
« Último mensaje por Mariano octubre 08, 2018, 12:15:53 pm »
Hola Boris,

La última prueba que hice fue desconectar la antena del modem y aunque sigue bloqueándose y reseteandose por wdt. El intérvalo de tiempo entre bloqueos parece haberse prolongado desde los 5 minutos aproximadamente a los 60 minutos aproximadamente.

Será alguna cuestión vinculada a buffers llenos o interferencia entre eventos?

En el PLC que tengo encendido en laboratorio no se produce reset alguno en los tres día que está funcionando. Este está conectado al router en mi casa, pero no hay aquí antena que tenga que transmitir/recibir datos, por lo cual asumo que la ejecución del evento correspondiente @OnTcpServerRx() ha de ser mucho más rápida.

Se me hace que es un problema de interferencia o "cuelgue" de algún evento...

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