Jump to content

Need help with ladder logic algorithm


Recommended Posts

Buenas tardes estoy utilizando por primera vez un PLC V130-J-TR20 en la cual ya realice la logica de control pero tengo ciertas dificultades al realizar el control y comparar entradas discretas ya que requiero segun que entrada se active primero esta habilite una salida por ejemplo, tengo 4 bandejas de pesos las cuales cada bandeja tiene un controlador de peso  este controlador de peso envia senal discreta al PLC cuando llega a su peso, ademas cada bandeja tiene una compuerta la cual se abre cuando llega al peso, al tener 4 bandejas lo que requiero hacer es que se active la bandeja que llegue primero al peso y haci sucesivamente puede que llegue primero la bandeja 3 luego 1 luego 4 luego 2 el llenado puede ser cualquiera en funcion a eso requiero que se active su salida.

Espero puedan colaborarme con esta consulta

Link to comment
Share on other sites

  • MVP 2023
14 hours ago, GROVER said:

Buenas tardes estoy utilizando por primera vez un PLC V130-J-TR20 en la cual ya realice la logica de control pero tengo ciertas dificultades al realizar el control y comparar entradas discretas ya que requiero segun que entrada se active primero esta habilite una salida por ejemplo, tengo 4 bandejas de pesos las cuales cada bandeja tiene un controlador de peso  este controlador de peso envia senal discreta al PLC cuando llega a su peso, ademas cada bandeja tiene una compuerta la cual se abre cuando llega al peso, al tener 4 bandejas lo que requiero hacer es que se active la bandeja que llegue primero al peso y haci sucesivamente puede que llegue primero la bandeja 3 luego 1 luego 4 luego 2 el llenado puede ser cualquiera en funcion a eso requiero que se active su salida.

Espero puedan colaborarme con esta consulta

Good afternoon, I am using for the first time a PLC V130-J-TR20 in which I already carry out the control logic but I have certain difficulties when carrying out the control and comparing discrete inputs since I require depending on which input is activated first, it enables an output for example , I have 4 trays of weights, each tray has a weight controller, this weight controller sends a discrete signal to the PLC when it reaches its weight, in addition, each tray has a gate which opens when it reaches the weight, having 4 trays What I need to do is to activate the tray that reaches the weight first, and successively, tray 3 may arrive first, then 1, then 4, then 2. The filling can be any depending on that, I require its output to be activated. I hope you can help me with this query.

Link to comment
Share on other sites

  • MVP 2023

@GROVER (tagging you so that you can easily find the new topic), this should be a pretty simple algorithm to devise, but we need a little more information about what you're doing. What happens after you activate the first gate? Should the other gates remain locked out (cannot open), or do they open at a later time. Does the sequence repeat? If so, how often?

Typically the best thing is for you to make your best try at it and post the project here. We can then assist most effectively.

Link to comment
Share on other sites

On 3/21/2022 at 6:04 PM, GROVER said:

Buenas tardes estoy utilizando por primera vez un PLC V130-J-TR20 en la cual ya realice la logica de control pero tengo ciertas dificultades al realizar el control y comparar entradas discretas ya que requiero segun que entrada se active primero esta habilite una salida por ejemplo, tengo 4 bandejas de pesos las cuales cada bandeja tiene un controlador de peso  este controlador de peso envia senal discreta al PLC cuando llega a su peso, ademas cada bandeja tiene una compuerta la cual se abre cuando llega al peso, al tener 4 bandejas lo que requiero hacer es que se active la bandeja que llegue primero al peso y haci sucesivamente puede que llegue primero la bandeja 3 luego 1 luego 4 luego 2 el llenado puede ser cualquiera en funcion a eso requiero que se active su salida.

Espero puedan colaborarme con esta consulta

dices que ya realizaste la lógica de control, si compartes el archivo podríamos darle un vistazo.

no entiendo en donde estás atascado si la secuencia que necesitas ya la estas describiendo, algunos set para la salida activa, y usar esa misma como contacto NC en serie para inhibir las demás bandejas. hasta que dicha bandja haya sido "liberada"

 

 

 

 

 

Link to comment
Share on other sites

  • MVP 2023
36 minutes ago, Fernando Castro said:

you say that you already made the control logic, if you share the file we could take a look at it. I don't understand where you are stuck if you are already describing the sequence you need, some set for the active output, and use that same as NC contact in series to inhibit the other trays. until said tray has been "released"

 

Link to comment
Share on other sites

Gracias por sus respuestas quizás no fui claro con mi consulta y ayuda que estoy buscando estoy automatizando una maquina multicabezal la cual contiene 4 balanzas de peso las cuales tienen bandejas independientes y abren compuertas independientes, dentro la lógica de control que realice estoy haciendo que siempre iniciara de la Balanza 1 y así sucesivamente hasta completar la 4 balanza la cual sería de último, la dificultad que tengo es que estas entradas o pesos de las balanzas son aleatorias para lo cual requiero que por lógica se designe que bandeja abrir siempre y cuando llegue a su peso.

La descripción es la siguiente al dar inicio de la maquina al presionar una entrada se activan al mismo tiempo todos los vibradores la cual se tiene vibrado grueso que llega a un peso 1 envía una señal y esta activa el vibrado fino hasta completar el peso ahí activa otra entrada, al ser 4 balanzas tengo 8 entradas 2 por cada balanza, en la etapa de la descarga es donde no logro realizar la lógica de control la cual tiene que ser según cual alcance su peso en este caso puede ser cualquiera de las cuatro por ejemplo puede ser en el primer clico la bandeja 3 luego 1, luego 4, luego 2, este llenado es aleatoria, mientras este descargando una bandeja el resto si aun no llego a su peso sigue cargando con producto, si ya llego a su peso espera hasta que termine la descarga de la balanza que llego a su peso la cual es el primero que llego, espero haber expuesto de manera comprensible mi dificultad.

Adjunto el archivo de mi proyecto aguardo su colaboración.

Enbasadora de Pesos 003 V6.vlp

Link to comment
Share on other sites

  • MVP 2023
13 hours ago, GROVER said:

Thanks for your responses, perhaps I was not clear with my query and help that I am looking for. I am automating a multihead machine which contains 4 weighing scales which have independent trays and open independent gates. Within the control logic that I carry out, I am making it always start. of Scale 1 and so on until completing scale 4 which would be last, the difficulty I have is that these entries or weights of the scales are random for which I require that by logic it is designated which tray to open as long as it reaches His weight. The description is as follows when starting the machine by pressing an input, all the vibrators are activated at the same time, which has a coarse vibration that reaches a weight 1 sends a signal and this activates the fine vibration until completing the weight there, it activates Another input, since there are 4 scales, I have 8 inputs, 2 for each scale. In the unloading stage, it is where I cannot carry out the control logic, which has to be according to the weight it reaches. In this case, it can be any of the four for For example, it can be in the first click I click tray 3, then 1, then 4, then 2, this filling is random, while one tray is unloading, the rest, if it has not yet reached its weight, continue loading with product, if it has already reached its weight, wait until the end of the download of the scale that reached its weight which is the first to arrive, I hope I have explained my difficulty in an understandable way. Attached the file of my project I await your collaboration.

 

Link to comment
Share on other sites

  • MVP 2023

I was trying to understand your task. So I will explain how I understand it.

You have 4 independent weighing dosing machines.

Each of them has two input signals:

       - Weight is almost reached (rough dosing is completed);

       - The weight has already been reached.

Two output signals present:

The first - PWM output that changes the rate of vibration at three levels:

      -no vibration - dosing stopped.

      -vibration is strong for rough dosing.

      - vibration is moderate for accurate dosing.

The second discrete output is to open or close the unloading gate.

I realized that you need to make these four dosing machines work independently of each other.

To solve this problem of dosing, you need to use the State Machine  that has  been described on the forum by Joe Tauser. Look for the example provided by Joe here on the forum. The main advantage of the State Machine is that you can run 4 State Machines at the same time and they will work independently of each other.

I recommend you build one State Machine for one channel. Then it can be easily copied only by changing the necessary variables.

P.S. I find Joe Tauser sample code for State Machine at my PC - plese see att.

state machine batching example.vlp

Link to comment
Share on other sites

16 hours ago, GROVER said:

Gracias por sus respuestas quizás no fui claro con mi consulta y ayuda que estoy buscando estoy automatizando una maquina multicabezal la cual contiene 4 balanzas de peso las cuales tienen bandejas independientes y abren compuertas independientes, dentro la lógica de control que realice estoy haciendo que siempre iniciara de la Balanza 1 y así sucesivamente hasta completar la 4 balanza la cual sería de último, la dificultad que tengo es que estas entradas o pesos de las balanzas son aleatorias para lo cual requiero que por lógica se designe que bandeja abrir siempre y cuando llegue a su peso.

La descripción es la siguiente al dar inicio de la maquina al presionar una entrada se activan al mismo tiempo todos los vibradores la cual se tiene vibrado grueso que llega a un peso 1 envía una señal y esta activa el vibrado fino hasta completar el peso ahí activa otra entrada, al ser 4 balanzas tengo 8 entradas 2 por cada balanza, en la etapa de la descarga es donde no logro realizar la lógica de control la cual tiene que ser según cual alcance su peso en este caso puede ser cualquiera de las cuatro por ejemplo puede ser en el primer clico la bandeja 3 luego 1, luego 4, luego 2, este llenado es aleatoria, mientras este descargando una bandeja el resto si aun no llego a su peso sigue cargando con producto, si ya llego a su peso espera hasta que termine la descarga de la balanza que llego a su peso la cual es el primero que llego, espero haber expuesto de manera comprensible mi dificultad.

Adjunto el archivo de mi proyecto aguardo su colaboración.

Enbasadora de Pesos 003 V6.vlp 189.76 kB · 4 downloads

Es una envasadora vertical verdad? yo ya he programado esas maquinas, pero no la parte de las básculas dosificadoras. 

 

Entonces entiendo que tienes dudas sobre la logica para ciclar las bandejas... pense que era una duda mas general sobre visilogic  y unitronics.

 veo en el prograra 2 sensores por báscula y 2 salidas por báscula.

Como funcionan los senores de cada báscula, al 50%  del peso se activa uno y al llegar al 100% se actica el otro?, es decir bascula llena son los 2 sensores activos?.

Una vez iniciada la descarga como sabes cuando pararla?.. tus salidas son un pulso o tiene que permanecer activa hasta que ocurra otra condicion? por que requieres 2 salidas por bandeja?

Ya habia hecho esta pequeña secuencia el miercoles, pero no me quedaba claro si era lo que necesitabas:

Aqui MB194, MB195,MB196,MB197 son las entradas (sensores, en este supuesto una vez que el sensor se activa es por que tiene producto y cuando la bascula descarga este se desactiva pero tardará algo de tiempo en volverse a activar), cuando alguna se activa entonces prepara una salida y las demás quedan bloqueadas, en el momento que esta se desactive, la siguiente bandeja cuyo sensor este activo sera la que prepare la  descarga, bloqueando las demás nuevamente. la salidas en este caso se desactivaran 1 segundo después de haber sido activadas es decir tengo considerado un pulso de 1 segundo controlado por TE90 ya que no tengo idea de como detectas si el producto ya termino de descargarse a su destino final.

image.png.36452bcc0a1b54e1ebc920e2172701f8.png

La báscula con la que llegue a trabajar en una envasadora vertical,   me mandaba un pulso y con eso yo  procedía con la secuencia de la envasadora.

 Espero te sirva.

 

Saludos!

 

Subroutine 225 sequencer.vlx

Link to comment
Share on other sites

10 hours ago, Fernando Castro said:

Es una envasadora vertical verdad? yo ya he programado esas maquinas, pero no la parte de las básculas dosificadoras. 

 

Entonces entiendo que tienes dudas sobre la logica para ciclar las bandejas... pense que era una duda mas general sobre visilogic  y unitronics.

 veo en el prograra 2 sensores por báscula y 2 salidas por báscula.

Como funcionan los senores de cada báscula, al 50%  del peso se activa uno y al llegar al 100% se actica el otro?, es decir bascula llena son los 2 sensores activos?.

Una vez iniciada la descarga como sabes cuando pararla?.. tus salidas son un pulso o tiene que permanecer activa hasta que ocurra otra condicion? por que requieres 2 salidas por bandeja?

Ya habia hecho esta pequeña secuencia el miercoles, pero no me quedaba claro si era lo que necesitabas:

Aqui MB194, MB195,MB196,MB197 son las entradas (sensores, en este supuesto una vez que el sensor se activa es por que tiene producto y cuando la bascula descarga este se desactiva pero tardará algo de tiempo en volverse a activar), cuando alguna se activa entonces prepara una salida y las demás quedan bloqueadas, en el momento que esta se desactive, la siguiente bandeja cuyo sensor este activo sera la que prepare la descarga, bloqueando las demás nuevamente. la salidas en este caso se desactivaran 1 segundo después de haber sido activadas es decir tengo considerado un pulso de 1 segundo controlado por TE90 ya que no tengo idea de como detectas si el producto ya termino de descargarse a su destino final.

imagen.png.36452bcc0a1b54e1ebc920e2172701f8.png

La báscula con la que llegue a trabajar en una envasadora vertical,   me mandaba un pulso y con eso yo  procedía con la secuencia de la envasadora.

 Espero te sirva.

 

Saludos!

 

Secuenciador de subrutina 225.vlxObteniendo información...

Gracias por su colaboración es posible pueda pasarme el archivo en formato de visilogic.
La secuencia en una maquina docificadora vertical la cual tiene 4 bandejas cada bandeja lleva una celda de carga la cual va a un controlador de celdas de carga este controlador tiene dos salidas discretas tipo relay donde esta configurado de la siguiente manera cuando alcalse un peso X se activa una salida la cual es una entrada en el PLC cuando se activa esta entrada en el PLC esta hace la acción de vibrado fino el tema de la secuencia de los vibradores ya esta funcionando el problema que tengo es como saber que balanza llego a su peso ideal para activar la salida correspondiente ya que no todas las bandejas llegan al mismo tiempo su peso, es ahi donde no logro realizar la lógica de control como saber que balanza llego de primero a su peso ideal, la salida esta activa por un cierto tiempo cuando no tiene producto las dos entradas correspondientes se desactivan e inicia nuevamente la secuencia de llenado, espero haber expuesto mi problema de manera clara aguardo su colaboración.

Link to comment
Share on other sites

10 hours ago, GROVER said:

Gracias por su colaboración es posible pueda pasarme el archivo en formato de visilogic.
La secuencia en una maquina docificadora vertical la cual tiene 4 bandejas cada bandeja lleva una celda de carga la cual va a un controlador de celdas de carga este controlador tiene dos salidas discretas tipo relay donde esta configurado de la siguiente manera cuando alcalse un peso X se activa una salida la cual es una entrada en el PLC cuando se activa esta entrada en el PLC esta hace la acción de vibrado fino el tema de la secuencia de los vibradores ya esta funcionando el problema que tengo es como saber que balanza llego a su peso ideal para activar la salida correspondiente ya que no todas las bandejas llegan al mismo tiempo su peso, es ahi donde no logro realizar la lógica de control como saber que balanza llego de primero a su peso ideal, la salida esta activa por un cierto tiempo cuando no tiene producto las dos entradas correspondientes se desactivan e inicia nuevamente la secuencia de llenado, espero haber expuesto mi problema de manera clara aguardo su colaboración.

el archivo que subi es de visilogic, es una sub rutina, usa la opción importar sub rutina para agregarlo a tu proyeco

saludos! 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...