Autor Tema: PLC thinget  (Leído 49257 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PLC thinget
« Respuesta #30 en: 03 de Marzo de 2015, 00:37:51 »
Y te entiendo, pero sigo sin saber por que estas usando 2 contadores cuando con 1 es suficiente para lo que queres hacer.

Con respecto a el programa se me escapo un C1.. ahi lo corregi con un solo contador como queria:

Código: [Seleccionar]
c0=0

if x0 = 1 then
    y0=1
    c0=c0+1
    delay ms 2000
    y0=0
end if

while x0=0 { }     'Esto es imposible lograrlo como estas pidiendo que cuente el contador, sino deberia Y0 bloquear la señal para que no entre al contador

if c0>=5  then
    y1=1
else
    y1=0
endif

if C0=10 then C0=0 end if
end

Como dije cambias la tercera linea y ya funciona como lo pediste.
Citar
X0(flanco sub)------------T0(negado)-----------------Y0                               // Seccion de mantener 2 segundos Y0. T0 temporizador NO acumulable de 100ms ( 20 x 100ms = 2s )
Y0_____________|                                  |_____T0 K20                         // Se resetea solo T0 cuando se activa cortando la entrada a T0 K20, de esa forma reinicia su tiempo.
X0(flanco sub)-----------------------------------------C0 K10                         // Seccion contador hasta 10, creo que no es necesario el flanco de subida aqui.
(instruccion) LD> C0 K4 ------------------------------Y1                               // Si C0 > 4 ( es decir mayor o igual a 5 ) Y1 va a estar en 1, cuando borre el contador C0, Y1 se deberia poner a 0 automaticamente ya que la condicion no se cumpliria.
C0------------------------------------------------------(instruccion) RST C0       // Cuando se produce que C0 llega a 10 se resetea por lo tanto me apaga Y1 por la instruccion de arriba.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #31 en: 03 de Marzo de 2015, 01:00:38 »
Lo que es mi ignorancia.
no sabía que existia esta instrucción "LD> C0 K4", perdón pero recien tomo el tema
y estoy duro de cabeza, operadores matemáticos en F8 está esto.
Muchisimas gracias amigo ((:-)), se me ocurriran mas cosas y te sigo molestando, pero aver si planteo esto y lo subo
para que me digas si quedo bién.
« Última modificación: 03 de Marzo de 2015, 01:29:36 por cosmic »

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #32 en: 03 de Marzo de 2015, 21:53:06 »
Hola amifo KILLERJC.
pudiste hechar un ojo a mi programa, que te parece la solución.
Se puede soimplificar más. :-/

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PLC thinget
« Respuesta #33 en: 03 de Marzo de 2015, 22:58:50 »
Yo te di mi solucion. Al menos es lo que creo que funciona, yo no poseo el programa ni el PLC en cuestion y todos las soluciones que te pueda dar son un "supuesto".
Si por ahi me equivoco en alguna conclusion vos sos el unico que me puede decir que me equivoque. Probandolo.
El programa tuyo va a funcionar creo... las unicas cosas que me causan dudas es el K2 al definir el C0 y el reset de C0.

Y con respecto a si se puede simplificar mas te dejo esto:

Yo  no uso una comparacion del C0 con 10, ya que al definirlo con un K10 imagino que este se activara cuando llegue a 10, es decir C0 se activa cuando llega a 10. Por ende este me reinicia el contador segun el programa que te pase.

Tambien pienso que podrias quitar los set y reset de Y0.. dejandolos como yo lo hice, el mismo Y0 se encarga de mantener en 1 a Y0 hasta que el temporizador termine, cuando el temporizador se activa en mi programa, le corta la "corriente" al temporizador lo cual se resetea solo a 0 y a la salida Y0. Tambien observar que tu comparacion de C0 > 4 esta activando Y0, y luego usas un reset para cuando llega a 10 ( si vas a usar un reset que sea con un set antes ) aunque no tiene sentido usar set y reset ya que la condicion cuando se reinicie el contador deberia ponerlo a 0 a Y1 solo.

Con respecto al reset del contador, no se si es lo mismo hacerlo asi, yo lo unico que lo vi es realizado con instrucciones, por eso en mi programa lo puse como (instruccion) RST C0.

Mi programa ocupa 5 lineas del ladder.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #34 en: 03 de Marzo de 2015, 23:22:22 »
Amigo, si te fijas bién, el c0 esta cargado con k2, y yo lo condiciono a > 4 e =10.
Aunque esté asi el programa funciona, por que no se resetea en 2, ¿no deberia ser así?

Ah te cuento, que yo tengo el plc, y hago las pruebas ahí, y el programa así me funciono bién.
Pero tu sabes mas que yo, y por eso te sigo. ((:-))

Me acaba de salir otro extraño.
cargue a c0 con  k10, y si no lo reseteo sigue contando :(
« Última modificación: 03 de Marzo de 2015, 23:27:12 por cosmic »

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #35 en: 03 de Marzo de 2015, 23:29:34 »
Mira en la imagen lo que paso.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #36 en: 03 de Marzo de 2015, 23:35:27 »
No me dejo subirlo aqui va

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PLC thinget
« Respuesta #37 en: 03 de Marzo de 2015, 23:46:40 »
Es que estas intentando resetear algo que otra condicion tiene  a 1.. Por eso mismo dije que si vas a usar reset de una salida, deberias de usar el set. Pero en este caso no te sirve.

Para que se solucione:
Cambia la ultima linea, sacale el reset de Y0 y ponele una instruccion de reset de C0 ( RST C0 ) , creo que lo haces con un Enter y escribiendo RST C0
« Última modificación: 03 de Marzo de 2015, 23:49:14 por KILLERJC »

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #38 en: 03 de Marzo de 2015, 23:53:53 »
Asi lo tenia en la imagen anterior que te envie.
Pero tambien reseteaba Y1.
No se supone que si lo programao hasta 10 a k=k10 cuando llegue ahi debe ponerse sólo a cero
Creo que por eso fue que lo puse en la imagen anterior que te subi, el c0 no se resetea sólo.
Ya hago una prueba y te cuento como me fue.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #39 en: 04 de Marzo de 2015, 00:20:49 »
Estaba confundido, los timer y counter, envian un pulso cuando llegan a su cuenta programada o se resetean
mas no se resetea por si mismos al terminar su tiempo o conteo, hay que hacerlo por software

Tienes razon la instrucción de reset a y1 sobra, cuando reseteo c0 se apaga la salida y1
Asi lo tengo. :-/

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #40 en: 04 de Marzo de 2015, 00:34:23 »
Ahora estoy usando las entradas relay de memoria, pero no comprendo bien para que sirven
puedo activar X salida con el reg monitor, ¿pero como lo uso en el mundo real, por ejemplo al activar una entrada X?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PLC thinget
« Respuesta #41 en: 04 de Marzo de 2015, 00:51:32 »
las de memoria sirve como si fuera una salida Y0, la diferencia es que no posee una salida fisica.. y tambien es comun usarlas cuando existen varias lineas manejando una salida... Ejemplo:

X0 ------------------------ Y0
X1 ------------------------ Y0
X2 ------------------------ Y0

Obviamente es cuando lineas mucho mas complejas pero voy a ilustrar con un ejemplo sencillo

X0 ----------------------- M0
X1 ----------------------- M0
X2 ----------------------- M0
M0 ----------------------- Y0

Asi cambias una linea y listo para cambiar la salida ...

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #42 en: 04 de Marzo de 2015, 01:11:26 »
Umm, no me queda muy claroo amigo. :(

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: PLC thinget
« Respuesta #43 en: 04 de Marzo de 2015, 01:30:50 »
Pensalo como una salida Y0 pero sin salida fisica.

Un ejemplo de algun uso que le podes dar, suponete que tenes un programa que activa la salida Y0  cuando presionas X0, X1 o X2, y de golpe tenes que cambiar la salida a Y1, entonces tenes que cambiar 3 lineas o tal ves muchas mas cuando el programa es mucho mas complejo. Ahora si en ves de activar eso activas un M0... y luego ese M0 activa la salida Y0, deberias de cambiar solo 1 linea.

Podrias usarlo de flag para algo... Por ejemplo quiero saber si en algun momento se disparo un timer... entonces la salida del timer me activa un set de M0, ya con esto puedo usar ese M0 para actuar de alguna u otra forma

De todas formas eso es muy basico en el funcionamiento de los PLC. No se que mas ejemplos te puedo dar.

Desconectado cosmic

  • PIC16
  • ***
  • Mensajes: 175
Re: PLC thinget
« Respuesta #44 en: 04 de Marzo de 2015, 02:05:16 »
Estoy buscando la forma de una rutina util para esto, pero no he logrado nada.
Creo que dormire y mañana te cuento.
Gracias. :-/