# Ayuda con registro de desplazamiento [LOGO!]



## sarky (Nov 3, 2010)

No estoy seguro de que este sea el subforo indicado, pero me parecio el mas correcto.

llendo al grano necesito una mano con LOGO!, tengo que realizar un registro de desplazamiento de 8 bits, sin utilizar la funcion "registro de desplazamiento".

llevo un rato pensandolo y me estoy quemando la cabeza, alguien me puede dar una mano?


----------



## ecotronico (Nov 4, 2010)

Hola *sarky* :



> realizar un registro de desplazamiento de 8 bits



¿A qué te refieres con esta función:
1- Mover un registro de 8 bits?
2- Realizar shift con un registro de 8 bits?
3- Ninguna de las anteriores --> especificar.

El asunto es que tendrás que tener el manual de instrucciones del LOGO y luego buscar por ahí cómo realizar tu "registro de desplazamiento" en lenguaje ensamblador. Quizás con instrucciones básicas como AND, OR, XOR, NOT, etc.


----------



## pandacba (Nov 4, 2010)

Poder especificar mejor la aplicación, e incluso que modelo de Logo! utilizas? programas sobr el dispositivo o sobre la PC, tenes el Logo! Confort? cual extensióne utilzas(porque supongo que si estas implemntando un shif register, no creo que te alcancen las I/O standard)
Por último te comento que en mi caso particular y teniendo en cuenta ciertas y determinadas condiciones de la aplicación he utilizado circuitos externos que complementen al Logo! o a culquiera de los restantes micro PLC's


----------



## sarky (Nov 10, 2010)

el programa que utilizo es el logo soft comfort de siemens y lo que que quiero hacer es un registro de desplazamiento clasico, en el que ingrese una señal en forma de pulsos y otra señal "trigger" por llamarlo de algun modo, qe cuando el trigger este en 1, en el primer bit se ponga en uno, en el segundo pulso qe ingresa si el trigger siga en uno qe se ponga en 1 el primer bit, y el segundo bit tome el estado que tenia anteriormente el primer bit y así sucesivamente hasta llegar al octavo en que la informacion del bit se pierde


----------



## pandacba (Nov 10, 2010)

No me decis mucho, porque si pasamos algo basasdo en los últimos modedlo de logo! hay cosas que no sirven para el de primera generación, igualmente el logo confort fue evoluconando a medida que salieron nuevos modelos la versión actual es la 6.1 para el español y hay una actualización  posterior si es que no salio otra en estos últimos meses
Lo que más importa es la versión de logo que dispones para ponerla en el confort y ver las funciones disponibles para ese modleo, o tal vez no lo tengas y se trata para algún proyecto educativo algun práctico que te han dado, aclaralo enonces uno save como proceder, porque si es asi, listo me olvido del modelo caso el Confor y testeo con el modelo más reciente o que mejor se adecue y lsto
Aclaralo por favor

El registro de que tipo tiene que ser? SISO, SIPO, PIPO, PISO?

Para que te hagas una idea un Shift Regster esa conformados con Flip-Flop del tipo D, lo más paresido que tenes en el logo es un flip-flop SR que se pude convertir en D agregando con puertas es decor con las funciones básica del Logo!


----------



## sarky (Nov 22, 2010)

es para un proyecto del colegio, perdon qe no conteste antes, estuve sin internet en casa.

lo ideal seria hacerlo como decis vos, con rs i compuertas.

ah i con respecto al tipo, no me especifico el profesor, pero creo qe un siso seria menos complicado.


----------



## Nepper (Nov 24, 2010)

pandacba dijo:


> Para que te hagas una idea un Shift Regster esa conformados con Flip-Flop del tipo D, lo más paresido que tenes en el logo es un flip-flop SR que se pude convertir en D agregando con puertas es decor con las funciones básica del Logo!


Simple, el panda te dijo todo... 

ponés google => imágenes, ponés "shift registrer" y te salen alternativas..
















luego, si no sabés lo que es un flip flop tipo D, pones google y sale otra vez...
http://hades.mech.northwestern.edu/index.php/Flip-Flops_and_Latches

en base a eso, te lo armás en el ladder o en el bloque de función, el chiste es ese, que veas cómo manipular los bloques para lograr un flip flop tipo D utilizando un RS...
No recuerdo nada de los logo, hace como 7 años que no toco uno, si los temporizadores y contadores tienen una entrada llamada "enable" o algo parecido, podrías manipularlo de tal forma que logres un shift registrer... fijate, yo una vez tube que general un pulso (que no me lo daba el PLC) con 2 temporizadores... es cuestion de encadenar...


----------



## sarky (Nov 26, 2010)

estoy intentando hacerlo con rs y compuertas y se me esta complicando muchisimo, ya que en el logo no existen los flip flop tipo d y no se me ocurre como reemplazarlo.

la verdad que esto me esta desesperando, ya no se como pensarlo 	:cabezon:


----------



## Nepper (Nov 26, 2010)

yo ahora no lo tengo el logo, ¿podés poner un print screen de los temporizadores, o copiar el menú de ayuda a ver que entradas y salidas tienen los RS del logo??


----------



## sarky (Nov 27, 2010)

http://www.siemens.com.co/SiemensDo...t_download_Framework_1_1.aspx?id=23&type=PDFS

ahi estan las descripciones de todas las funciones incluidas las del rs


----------



## Nepper (Nov 28, 2010)

ok... lo estube viendo...
no te compliques, aca hise uno que a mi me andubo.

No solo es cuestion de compuertas, tenés que entender cómo funciona el PLC para manipularlo y lograr el efecto necesario...

Si te fijas el ladder adjunto, ese me andubo...

Arpobeché la caracteristica del escaneo del PLC para actualizar los registros en forma retardada...
Realmente me basé en esto





fijate que el retardo es necesario, cuando pones en 1 el S, el Q tarda en polarizarce, evitando que active el otro S cuando está activo el clok. Al finalizar el clok, Q se estableciò pero ya no se encuentra habilitado S del otro flip flop.

En mi lader, los flip flop se actualizan de atras hacia adelante, para que no pise al que sigue.

El temporizador se activa primero, este temporizador activado, activa todos los ladders. Cuando llega al final del lader, se resetea, por lo que la habilitación de todos los ladder funcionan SOLAMENTE 1 ESCANEO.
Esta función la podría haber echo con un ons (one shoot rising) que me genera un pulso de 1 scan, pero el logo no tiene esa función.

Mi ladder está construido con el CX-Programmer de OMNRON
fijate cómo adaptarlo al logo!...


----------



## sarky (Nov 29, 2010)

no se leer ladders de omron  si me hicieras el favor de realizarlo en el logo seria de mucha ayuda, entiendo mas o menos la idea de temporizar las salidas pero sigo sin poder lograr que funcione hno:


----------



## krit (Nov 29, 2010)

Hace ya unos dias que vengo siguiendo e investigando este tema y aunque la idea del SET y RESET que aporta Nepper es la mejor, yo me habia empañado en usar saltos pues asi lo habia resuelto cuando estudiaba S5 (de Siemens) y aun no habiamos llegado a ls instrucciones de desplazamiento. El logo no permite saltos y ahi me atasque.
La solucion de Nepper es genial. Usar un temporizador; genial.
Bueno, partiendo de esa solucion permitirme hacer de traductor y pasarlo a logo.
Adjunto copia de pantalla y programa. Se usan 
Entradas 
----I1.- Entrada de impulsos
----I2.- Entrada de datos
Salidas
----Q5,Q6,Q7 y Q8

La unica diferencia es que no he usado temporizador; lo he cambiado por un detector de flancos (M2 se activa un ciclo de programa cuando I1 pasa de cero a uno); ons real.
He puesto un contador para ver que realmente es asi ya que en la simulacion no se llega a ver.


----------



## Nepper (Nov 29, 2010)

claro, en realidad es una casualidad, porque cuando lo hise la primera vez, yo armé los ladders de arriba hacia abajo, o sea
Q0 
Q1
Q2
Q3
el problema que me generaba esto, que cuando Q0 (W10.00) se ponía en 1, como el siguiente en el ladder era Q1 (w10.01 en el mio), y estando Q0 en 1, Q1, Q2 y Q3.... se actibavan en un solo SCAN.
La solución obiamente, fué comenzar abajo.
Yo no pensé que traducirlo al logo fuera dificil, ya que pensé (me habré confundido con el zelio de Shneider) además ade editor en bloques, tiene editor en ladder.

De cierta forma, tampoco quería hacerl en bloques porque no sabría el orden de SCAN que tendrían los bloques, por lo que la construcción supongo, fué un factor importante al traducirlo

Buen trabajo Krit 

Bueno, es verdad que mi ladder no se entiende mucho, me faltaron algo de comentarios.
El primer rung (o ladder, o línea) es un bit de SIEMPRE EN ON con un temporizador de 2 seg (20x100ms)
Los rungs que sigen son los registros de desplazamiento, donde W10.0# son los registros.
Fijate que al SET le puse el registro anterior directo y al RSET le puse el registro anterior negado.
El último rung es la función RESET DE CONTADOR/TEMPORIZADOR, este borra el temporizador T0000
Entonces, al cumplirse los 2 segundos, se activa el timer, habilita todos los rungs, actualiza todos los rungs y al finalizar, se resetea el temporizador, evitando que al siguiente SCAN se actualicen nuevamente los registros (llenando todo con 1 o 0)


----------



## sarky (Nov 30, 2010)

krit, la verdad que te agradezco tu ayuda, es casi perfecto  lo qe no entiendo es la funcion de la marca 1 y la marca 2 

[edit] sigo sin entender porque estan puestas las marcas ahi, pero a prueba y error pude modificarlo para que quede como lo necesito.
en lugar de I1 puse un generador de pulsos para que el avance sea automatico y lo hice de 8 bits (8 salidas)
lo adjunto:


----------



## krit (Dic 1, 2010)

Bien veo que has completado el programa.Yo solo puse algunas salidas ya que lo demas es repetir lo mismo.
La entrada de impulsos logicamente se puede sustituir por un generador,eso segun lo que tu necesites.
Respecto las marcas adjunto un diagrama de tiempos para que veas como funciona.
M1 es una marca auxiliar de M2.
M2 es la marca que detecta un flanco de subida en la entrada de impulsos y solo esta activa durante un ciclo de scan del automata.Esto permite controlar el desplazamiento de forma que solo hace uno cada ciclo aunque la entrada I1 (en tu caso el generador) esta acitva mas tiempo.
Si anulas esto y el tiempo que el generador de impulsos es mayor que el tiempo de scan al entrar un uno por la entrada I2 el desplazamiento es casi continuo y enseguida te aparece este uno en la salida Q8 aunque solo haya habido un impulso.

Me alegro de que funcione el programa, y si en alguna cosa mas puedo ayudar pregunta.

[quoteBueno, es verdad que mi ladder no se entiende mucho, me faltaron algo de comentarios.
][/quote]

No, no Nepper el ladder esta clarisimo, de hecho estoy empezanzo con Omron (tengo por aqui un CPM2A,un CPM1 y un C28k) y casi es lo unico que entiendo un poco bien; lo de los temporizadores, entradas rapidas de contador y otras instrucciones me cuestan mas aprenderlas.Cambia mucho de Siemens a Omron asi que habra que dedicarle tiempo.
De todas formas yo aprendi S5 en lista de instrucciones y me gustaria hacer lo mismo con los automatas de Omron; mas que nada porque tengo una consola de programacion y ahi el ladder no sirve.

Un saludo


----------



## pandacba (Dic 2, 2010)

Sarky, me alegro que puedas haberlo resuelto, de esta experiencia debes sacar como conclusión, lo siguiente, el nonmbre del automatao LOGO! proviene obviamente de logica, para lograr el máximo rendimiento y sacarle provecho alli donde ni sus creadores soñaron es concociendo a fondo la lógica base, si tenes esa base solida alli haces lo que sea. los diagramas son muy lindos pero si no se práctican no se entienden ni se asimilan
Eso por un lado y por otro lado conocer a fondo cada una de las funciones de logo! una forma, es entrando donde esta la parte del logo alli encontraras un montón de aplicaciones que estan planteadas como un problema y luego resuelatas, esas al menos deberias concocerlas ya que la práctica es la que ejercita, el logo trae un excelente entorno de desarrollo, práctica con el, consulta al fabricante, estoy seguro que no lo hiciste porque ellos te responden, cuando lo utilice por primera vez, que era la primera versión hace 10 años o más, tuve que consultar algunas cosas, y simpre recibi respuesta.

El tema como les sucede a muchos que no pueden decidir que PLC utilizar porque muchos ven solamente el costo, y el supuesto ahorro se termina llendo por la alcantarilla, con el tiempo plus que lleva el desarrollo. 

De alli que vea en cada caso que necesito, un microcontrolador? un micro PLC? o un PLC? y que tal un sitema basado en PC? una vez dilucidado que utilizo busco que marca utilizare... mrando los distintos modelos y que me ofrecen y cual se adecua a mis necesidades concentrando basicamente en tres elementos en el caso de los microPLC Logo!,Zelio y MilleniumIII, por alli podemos llegar a utilizar el Click

Pero sin lógica básica no llegamos ni a la esquina para que tengas uns  idea un registro de desplazamiento se puede hacer mecanicmente, hidraulicamente....
De echo las Caterpillar tenian un sistema inteligente hidráulico.....

Saludos


----------



## sarky (Dic 4, 2010)

muchas gracias a todos los que me ayudaron.


----------

