Jump to content
  • Spanish database on PLC programming techniques and HMI interface design

    PLC, DCS, HMI and SCADA product application technical articles

    xiangjinjiao
    En un artículo anterior, analizamos qué es un bloque de funciones FB, cómo funciona en un programa de PLC y cómo crear y utilizar uno. En este artículo, hablaremos sobre las instancias de bloques de datos de diferentes tipos de bloques de funciones en Siemens Tia Portal y cuándo utilizar cada tipo.
    Contenido:
    ¿Qué es un bloque de funciones FB? Diferentes opciones de instancias de datos. Instancia única. Instancia de parámetro. Instancia múltiple. ¿Qué es un bloque de funciones?
    Un bloque de funciones o FB es simplemente un bloque que contiene lógica de código. Utiliza este FB para lograr una funcionalidad específica a través de los fragmentos de código escritos en su interior.
    Al llamar a un bloque de funciones en su código, se le solicitará que asigne un bloque de datos también llamado instancia de datos para asociarlo con este FB, para guardar los valores de los parámetros del FB. No todos los parámetros dentro de un FB se guardan en la instancia de datos, pero llegaremos a eso más adelante.
    Al llamar a un bloque de función, tiene 3 opciones diferentes para asociar una instancia de bloque de datos con esta llamada de función. Estas diferentes opciones dependerán de dónde esté llamando a su FB.
    En pocas palabras, un FB de bloque de función es básicamente un FC de función con una base de datos de bloque de datos dedicada, este bloque de datos se utiliza para almacenar los valores de los parámetros del bloque de función.
    Diferentes opciones para instancias de datos
    Tenemos 3 opciones diferentes para una instancia de datos de un bloque de función, estas opciones son:
    Instancia única. Instancia de parámetro. Instancia múltiple. Las tres instancias de datos de llamada diferentes provienen de los 3 métodos de llamada diferentes:
    Puede llamar a un FB de bloque de función dentro del OB1 principal, lo que le dará la opción de: Instancia única. Puede llamar al bloque de función FB dentro de una función FC, lo que le dará dos opciones: Instancia única Instancia de parámetro Puede llamar al bloque de función dentro de otro bloque de función, lo que le dará las tres opciones disponibles para crear una instancia de datos Instancia única Instancia de parámetro Varias instancias Instancia de datos única
    Primero, comencemos por crear un bloque de función FB, como mencionamos antes, creamos un bloque de función haciendo clic en agregar un nuevo bloque y eligiendo el tipo de bloque que queremos. Vea la imagen 1.

    Imagen 1: creación de un bloque de función FB
    Ahora, llamemos al FB reutilizable que creamos dentro de nuestro OB1 principal. Vea la imagen 2.

    Imagen 2: llamada al FB dentro del OB1 principal
    Como puede ver en la imagen anterior, al llamar a un FB dentro del OB1 principal, se le solicitará que asigne una instancia de datos para asociarla con esta llamada de FB. En este caso, habrá solo una opción, que es la instancia única.
    Después de elegir una opción de instancia única, se creará un bloque de datos y se asociará con la llamada FB. Ver imagen 3.

    Imagen 3: instancia única creada
    La instancia única creada se utilizará para almacenar los valores de algunos de los parámetros FB. Como las entradas, salidas, In Out y parámetros estáticos.
    No se almacenarán otros parámetros del FB, como la temperatura y las constantes. Ver imágenes 4 y 5.

    Imagen 4: los datos se guardan dentro de la instancia de datos

    Imagen 5: los datos se guardan desde el FB a la instancia de datos.
    Ahora, creemos una lógica simple dentro del FB para ayudarnos a comprender mejor las instancias de datos. Esta lógica agregará un valor constante de 15 a una variable estática y luego moverá el resultado a la salida. Consulte la imagen 6.

    Imagen 6: Cree una lógica simple
    Ahora, vuelva al OB1 principal y observe cómo está ahora su llamada FB. Consulte la imagen 7.

    Imagen 7: Actualice la llamada FB después de cada cambio
    Cualquier cambio que realice en la lógica dentro del FB, dará como resultado la necesidad de actualizar la llamada del bloque de función, de modo que se puedan aplicar los cambios que realizó.
    Puede actualizar la llamada del bloque haciendo clic derecho en la llamada FB y presionando la opción de actualización de llamada del bloque o recompilando su código PLC. Consulte la imagen 8.

    Imagen 8: Actualización de la llamada FB
    Después de actualizar la llamada del bloque, los cambios que realizó en el código FB se aplicarán y emplearán en la llamada del bloque. Como puede ver en la imagen 9.
    El FB ahora espera que se proporcione una señal de entrada de tipo bool y el FB dará una salida de tipo int.

    Imagen 9: las entradas y salidas ahora están asociadas con la llamada del FB
    Simulemos nuestro código y veamos cómo se comportará el PLC. Vea la siguiente animación que muestra una simulación simple de la lógica del PLC hasta ahora.

    Como puede ver en la animación, siempre que la señal de inicio sea VERDADERA, la función se ejecutará y la salida seguirá cambiando. Y una vez que la señal de inicio ya no esté disponible, la salida permanecerá en el último valor registrado.
    El uso de la instancia de datos aquí es que los valores de la variable estática y la variable de salida se guardan dentro de la instancia única, por lo que cuando la señal de inicio regrese nuevamente, la función continuará desde los últimos valores registrados.
    Nota muy importante
    Nunca debe utilizar la misma instancia única para dos llamadas diferentes de un FB. Vea la siguiente animación.

    Como puede ver en la animación, tenemos dos llamadas FB diferentes, pero ambas llamadas están asociadas con la misma instancia única, por lo que incluso cuando la señal start2 era FALSE, el valor Output2 estaba cambiando con Output1.
    Como esperaría, el cambio en la instancia de datos de la primera llamada también se verá afectado en la segunda llamada porque tienen el mismo bloque de memoria. Vea la imagen 10.

    Imagen 10: Nunca utilice la misma instancia de datos con diferentes llamadas FB
    Si utilizó la misma instancia de datos con diferentes llamadas FB, entonces su bloque de función ya no es reutilizable. Incluso si los parámetros de entrada/salida son diferentes para cada llamada FB diferente. Como viste en el último video (animación), ambas llamadas tuvieron los mismos resultados, aunque la segunda llamada ni siquiera tiene una señal de entrada de habilitación.
    Otra nota muy importante
    Dijimos antes que si llamas a tu FB desde un FC de nivel superior, tendrás dos opciones para la instancia de datos asociada; estas opciones son la instancia única y la instancia de parámetro. Consulta la imagen 11.

    Imagen 11: uso de una sola instancia con un FB llamado desde un FC
    Si eso sucediera y llamas a un FB dentro de un FC, nunca deberías usar una sola instancia para tus FB. Para saber por qué, consulta la imagen 12

    Imagen 12: llamar al FC de nivel superior más de una vez
    Como ves en la imagen 12, cuando llamas al FC de nivel superior en tu lógica más de una vez, no se te pedirá que asignes un bloque de datos, porque los FC no necesitan uno.
    Pero sabes que hay un FB llamado dentro del FC, este FB tiene una única instancia asociada a él. Entonces, ahora las 3 llamadas FC tienen la misma instancia de datos para la llamada FB. Entonces, tu función FC ya no es reutilizable.
    ¿Qué hacer? La mejor opción para cuando necesitas llamar a un FB dentro de un FC es usar la instancia de parámetro.
    Instancia de parámetro
    Como dijimos antes, si llamaste a un FB dentro de un FC, no deberías elegir la única instancia, sino que la instancia de parámetro es mejor para tus propósitos de reutilización.
    Una instancia de parámetro guardará la instancia de datos del FB llamado en el área In Out de la interfaz del bloque FC. Permitiéndote ingresar una nueva instancia de datos para cada llamada FC. Vea las imágenes 13 y 14.

    Imagen 13: Asignar una instancia de parámetro al llamar a un FB dentro de un FC

    Imagen 14: Cada llamada a un FC necesitará una nueva instancia de datos
    Como puede ver en la imagen anterior, siempre que llame al FC dentro de su programa, solicitará una instancia de datos para el FB reutilizable dentro del FC.
    Pero, al usar este método, tendrá que crear la instancia de datos usted mismo. Vea la imagen 15.

    Imagen 15: Crear una nueva instancia de datos
    Para crear una nueva instancia de datos, haga lo mismo que para crear un FC o un FB, pero esta vez elija la opción DB. Y asegúrese de seleccionar el tipo de DB para que sea el mismo que el FB llamado.
    Ahora, su FC se puede reutilizar tantas veces como desee, solo tiene que crear una instancia para cada llamada. Consulte la imagen 16.

    Imagen 16: Asignar la base de datos a la llamada FC
    Base de datos de instancias múltiples
    Una base de datos de instancias múltiples simplemente significa que la base de datos del FB llamado se almacenará dentro de la base de datos del FB de llamada de nivel superior. Esta opción solo está disponible si llama a un FB desde otro FB.
    Vamos a crear otro FB para usarlo como un FB de nivel superior.
    Después de crear este HigherLevelFB, llámelo desde el OB1 principal y, por supuesto, la única opción de llamada será una sola instancia como se mostró antes. Consulte la imagen 17.

    Imagen 17: Llame al HigherLevelFB desde el OB1 principal
    Ahora, llame al ReutilizableFB desde el HigherLevelFB y elija la opción Multiinstancia. Consulte la imagen 18.

    Imagen 18: Asignar una base de datos de múltiples instancias
    Cuando elija la opción de múltiples instancias, la base de datos creada se almacenará dentro de los parámetros estáticos del FB que realiza la llamada. Consulte la imagen 19.

    Imagen 19: Las instancias se guardan dentro de los parámetros estáticos
    Puede llamar al FB reutilizable muchas veces; cada vez que lo llame, la instancia múltiple se almacenará dentro del parámetro estático. Consulte la imagen 20.

    Imagen 20: Llamar al FB reutilizable muchas veces
    Como puede ver, la instancia de datos del FB de nivel inferior se guardará dentro de la instancia de datos del FB de nivel superior. Es mejor para una mejor estructura del programa y una lógica fácil de leer.
    Conclusión
    La creación de bloques de funciones dentro de su código requerirá asociar un bloque de datos con cada llamada al FB que realice en su lógica. Este bloque de datos o también llamado instancia de datos tiene diferentes opciones según el tipo de bloque que esté llamando a tu FB.
    Ten cuidado al elegir el tipo de instancia de datos, ya que algunas opciones pueden no ser adecuadas para tu caso como mostramos anteriormente. Y a veces esto puede generar problemas en tu lógica y tu función ya no podrá reutilizarse.
    El uso de múltiples instancias puede ayudar a organizar mejor la estructura de su programa, ya que todos los FB llamados almacenarán sus bases de datos dentro del FB llamador principal.

    xiangjinjiao
    En artículos anteriores, hablamos sobre los temporizadores en PLC, los diferentes tipos y cómo usarlos. Los temporizadores en realidad no necesitan tiempo real para funcionar, ya que solo dependen de contar segundos o milisegundos según la configuración.
    Pero para algunas aplicaciones, es necesario conocer la fecha y hora reales del programa PLC, por ejemplo, para fines de diagnóstico.
    En este artículo, hablaremos sobre la hora local y del sistema de un PLC.
    Contenido:
    ¿Por qué necesito tiempo real en PLC? Programa de ejemplo y simulación ¿Qué es la hora del sistema? ¿Qué es la hora local? Conclusiones. ¿Por qué necesito tiempo real en PLC?
    En muchas aplicaciones de PLC, es necesario conocer el tiempo real mientras se ejecuta el proceso, por muchas razones diferentes.
    A continuación, se muestran algunas de estas razones:
    Copia de seguridad del PLC en el servidor principal. Para el diagnóstico del PLC, es necesario tener un registro de tiempo para el diagnóstico, para saber a qué hora se ha producido un determinado evento, de lo contrario, la información de diagnóstico no sería muy útil. Para las aplicaciones en las que se necesita trabajar con las interrupciones de hora del día OB10, se necesita saber la hora real. Es posible que deba utilizar la hora local o la hora del sistema en partes de su lógica en las que necesita manejar aplicaciones en tiempo real. Para el registro de datos, si tiene datos importantes para guardar y necesita la marca de tiempo para cada registro de datos, entonces necesita tener la configuración de hora correcta para su PLC para que los datos almacenados tengan sentido. Programa de ejemplo y simulación de PLC
    Para comprender mejor qué es la hora del sistema y la hora local en un PLC, comenzaremos por crear un programa muy simple y lo utilizaremos para explicar el concepto de horas reales dentro de los PLC.
    Verifique el siguiente paso:
    En este artículo, no crearemos ninguna lógica de PLC, pero mostraremos algunas configuraciones relacionadas con la hora del sistema y la hora local en el PLC, cómo configurarlas y cuáles son las diferencias.
    Abra el portal Siemens Tia, agregue un nuevo dispositivo y, esta vez, utilizaremos la CPU 1512C-1 PN. Vea la imagen 1.

    Imagen 1: agregue un nuevo PLC
    Compile e inicie una nueva simulación de PLC. Abra la página de diagnóstico y en línea y verifique la hora establecida del PLC. Vea la imagen 2.

    Imagen 2: hora en línea del PLC
    En la imagen anterior, puede ver que hay dos horas diferentes:
    La hora de PG/PC: esta es la hora local de su propia PC. La hora del módulo: esta es la hora real dentro del propio PLC. Ambas horas se pueden configurar con el mismo valor o pueden ser diferentes. Es mejor que sean iguales, es mejor que la hora del módulo sea similar a su hora local o, más específicamente, similar a la hora local del área donde se utilizará el PLC. Consulte la imagen 3.

    Imagen 3: Establecer la hora del PLC
    Si desea que la hora del módulo sea la misma que la hora local, seleccione Tomar de PG/PC y presione aplicar.
    En su OB1 principal, arrastre y suelte las instrucciones RD_SYS_T y RD_LOC_T.
    Estas son las instrucciones de lectura de la hora del sistema y lectura de la hora local. Estas instrucciones son funciones integradas FC dentro del PLC y se utilizan para escribir la hora local y la hora del sistema del PLC en cualquier destino que elija en la salida OUT de la instrucción. Consulte la imagen 4.

    Imagen 4: Agregar instrucciones de lectura de la hora del sistema y la hora local
    Agregue un nuevo bloque de datos global y defina algunas etiquetas con las que trabajar. Consulte la imagen 5.

    Imagen 5: Crear un nuevo bloque de datos global
    Ejecute su simulación nuevamente y verifique ambas horas. Consulte las imágenes 6

    Imagen 6: hora local y del sistema en línea del PLC
    En la imagen anterior, puede ver que la hora local y la hora del sistema del PLC son las mismas, pero son diferentes de la hora local real de su PC.
    Si recuerda, hemos configurado la hora del módulo del PLC para que sea similar a la hora de la PG/PC, que es su hora local. Consulte la imagen 7.

    Imagen 7: hora del módulo y hora de la PG/PC
    Como puede ver, en la página de configuración de la hora, se elige que la hora del módulo se tome de la hora de la PG/PC. Pero, en los casos reales, son diferentes. ¿Por qué?
    ¿Por qué las horas son diferentes? Debido a que la configuración predeterminada de la hora local del PLC es UTC+0 o la hora Zulu, si está familiarizado con ese término, no la cambia desde la página de diagnóstico y en línea, sino desde las propiedades del propio PLC. Ver imagen 8.

    Imagen 8 – Configuración de la hora del día en un PLC
    Como puede ver, la configuración predeterminada de la hora del día del PLC está establecida en UTC+0, y es por eso que la hora del módulo PLC era diferente de su hora local real. A menos que estuviera en Londres, en cuyo caso no tendría este problema.
    Para corregir la hora local del PLC, tenemos que cambiar eso en la configuración, necesitamos cambiar la zona horaria a la zona horaria que tenemos, que en mi caso es UTC+02:00. Ver imagen 9.

    Imagen 9 – Ajuste de la hora local del PLC a su zona horaria
    También puede ver que la opción de horario de verano se desactivó porque no se usa en mi país. Tendrá que activarla si se usa en su área.
    Ahora que todas las configuraciones están configuradas correctamente, vuelva y vea la hora local y la hora del sistema nuevamente en la simulación. Vea la imagen 10.

    Imagen 10: la hora local del PLC ahora es la misma que la de la PC
    Ahora, después de ajustar la zona horaria del PLC, puede ver que la hora local del PLC y la hora local real de su área son las mismas.
    Como dijimos antes, es muy importante configurar la hora local correcta del PLC, por las muchas razones que mencionamos anteriormente.
    ¿Puede definir ahora cuál es la hora del sistema y la hora local del PLC?
    Hora del sistema en el PLC
    Es la hora del módulo del reloj de la CPU.
    El reloj de la CPU interpreta la hora del módulo como la hora universal coordinada (UTC). En consecuencia, la hora del módulo siempre se almacena sin los factores “zona horaria local” u “hora de verano” en el reloj de la CPU. A continuación, el reloj de la CPU calcula la hora local del reloj de la CPU basándose en la hora del módulo.
    La hora del módulo del reloj de la CPU se utiliza como plantilla para todos los procesos de tiempo que comienzan desde la CPU.
    Ejemplos de uso:
    Cálculo de la hora local del reloj de la CPU basándose en la hora del módulo Representación de la hora del módulo en hora local en “Online & Diagnostics” Entradas en el búfer de diagnóstico de la CPU Hora local en el PLC
    La información sobre la zona horaria y el inicio del horario de verano y la hora estándar, que ha configurado en la configuración del reloj de la CPU, se utiliza para mostrar la hora local.
    La hora local es la hora que tiene en su PC o en su país, que será diferente de una zona a otra.
    Conclusión
    Muchas aplicaciones requerirán que el PLC conozca la hora real o local del proceso, de modo que pueda realizar ciertas tareas, por ejemplo, el registro de datos y las tareas de diagnóstico. En un próximo artículo, mostraremos algunas aplicaciones en las que se necesita tiempo real para su lógica.
    La hora local del PLC debe configurarse manualmente para que coincida con el área donde se utilizará el PLC.

    caixiaofeng
    En un artículo anterior, analizamos qué es un bloque de organización y hablamos de un bloque de organización muy importante, que es el OB1 principal.
    En este artículo, continuaremos analizando los diferentes OB y esta vez hablaremos de los bloques de organización de interrupción horaria u OB10.
    Contenido:
    ¿Qué es el OB10 de interrupción horaria? ¿Cómo crear y utilizar el OB10? Ejemplo de programa simple. Reglas importantes para las interrupciones horarias. Conclusiones. ¿Qué es una interrupción horaria (OB10)?
    Como sugiere el nombre, una interrupción horaria es un bloque de organización que interrumpirá la ejecución del ciclo principal de su programa de PLC en un momento determinado del día. Este momento de interrupción (fecha y hora) se puede especificar para que ocurra una vez a una hora específica o para que ocurra periódicamente en intervalos de tiempo específicos, por ejemplo, cada minuto, hora, día, semana y algunas otras opciones.
    Puede tener más de una interrupción horaria en el mismo programa, no es necesario que tengan la misma lógica o código, cada una puede tener su propia funcionalidad y también cada una puede configurarse por separado para que se produzca en un momento específico.
    ¿Cómo crear y utilizar el OB10?
    Para crear una interrupción horaria, siga los mismos pasos que seguiría si necesitara agregar un nuevo bloque a su lógica. Vea la imagen 1.

    Imagen 1: Agregar una interrupción horaria
    Presione la opción Agregar nuevo bloque en el árbol del proyecto a la izquierda, elija el bloque de organización y luego elija una interrupción horaria como se muestra en la imagen anterior.
    Ahora puede abrir el OB10 y agregar cualquier lógica de PLC que desee ejecutar cuando se llame a este bloque, por llamado queremos decir que se produjo el evento o la hora de interrupción y, por lo tanto, el sistema operativo interrumpirá el ciclo principal y ejecutará el OB10.
    Escribiremos un código muy simple en el OB10 para ayudarnos a comprender mejor cómo funciona este bloque OB10. En esta lógica, usamos la instrucción add para agregar un valor de 1 a un área de memoria que llamamos TimeOfDayInterruptCounter y luego colocamos el resultado de la suma nuevamente en la misma área. De esa manera, podemos tener un contador para la ejecución del OB10.
    Cada vez que se llame y ejecute el OB10, el valor de TimeOfDayInterruptCounter aumentará en 1. Vea la imagen 2.

    Imagen 2: agregue su lógica al OB10
    Ahora que hemos creado el OB10 y hemos escrito algo de lógica dentro, necesitamos configurar el tiempo establecido del OB10 y cuántas veces queremos que interrumpa nuestro ciclo principal.
    Para configurar el tiempo y el intervalo del OB10, debemos ir a la página de propiedades del OB10. Consulte la imagen 3.

    Imagen 3: Propiedades del OB10
    En las propiedades del OB10, encontrará una gran cantidad de configuraciones y atributos que puede configurar.
    Lo que necesitamos ahora es la página de interrupción de la hora del día para que podamos configurar cuándo se llamará al OB10 y cuántas veces. Consulte la imagen 4.

    Imagen 4: Configuración de la interrupción de la hora del día
    Como puede ver en la última imagen, puede configurar la ejecución del OB10, la fecha de inicio y la hora del día en la que se debe ejecutar el OB10.
    Para fines de simulación, hicimos que el intervalo de ejecución sea cada minuto para que el OB10 se llame y se ejecute cada minuto. Eso significa que a partir de la fecha del 23/3/2023 y la hora 09:25 AM, el valor de TimeOfDayInterruptCounter aumentará en 1 cada minuto.
    Tiene la opción de configurar la hora de acuerdo con la hora del sistema del PLC o la hora local, como puede ver en la última imagen. En un artículo anterior, hablamos sobre la hora del sistema y la hora local del PLC, qué significa cada hora y cómo configurarlas y usarlas.
    Como dijimos antes, la hora local es la hora que ve ahora en su PC. Por lo tanto, es la hora real de la región donde se utilizará el PLC.
    Debe configurar la hora local para el PLC, según dónde se utilizará. Vea la imagen 5.

    Imagen 5: Configuración de la hora local para el PLC
    Ejemplo de programa de PLC simple
    Agregamos una interrupción de hora del día OB10 a nuestro programa de PLC y la configuramos para que se ejecute cada minuto. También configuramos la hora local del PLC.
    Creamos una lógica simple de una instrucción ADD para acumular el valor de TimeOfDayInterruptCounter en 1 cada vez que se ejecuta el OB10.
    Agregaremos otra instrucción, pero en el OB1 principal, esta instrucción es RD_LOC_T o leer hora local, para que podamos ver cómo avanza la hora local y compararla con la ejecución del OB10. Ver imagen 6.

    Imagen 6: ejemplo de programa simple
    Compile su programa de PLC e inicie una nueva simulación.
    Observe que configuraremos la hora del día en que se produce la interrupción para que se pueda llamar y ejecutar el OB10 mientras estamos simulando la lógica del PLC. Vea la siguiente simulación.

    Como se puede ver en la animación, el valor de TimeOfDayInterruptCounter es cero al inicio y luego se incrementará en 1 cada minuto a partir de las 09:25 AM, lo que indica que el OB10 se ejecuta cada minuto.
    Reglas importantes para las interrupciones horarias
    Si configura una interrupción horaria de tal manera que el OB correspondiente se debe procesar una vez, la hora de inicio no debe ser anterior (en relación con el reloj de tiempo real de la CPU). Si configura una interrupción horaria de tal manera que el OB correspondiente se debe procesar periódicamente, pero la hora de inicio es anterior, entonces el OB de interrupción horaria se procesará la próxima vez que sea debido según la hora actual. La fecha de las interrupciones horarias periódicas debe corresponder a una fecha real. Por lo tanto, por ejemplo, la repetición mensual de un OB de interrupción horaria con una fecha de inicio del 31/1 no es posible. En este caso, un OB solo se inicia en los meses que tienen 31 días. Una interrupción de tiempo activada durante el inicio no se ejecuta hasta que el inicio se haya completado. Un inicio elimina todas las interrupciones de tiempo que se establecieron y activaron mediante una instrucción en el programa de usuario. Conclusión
    OB10 es un bloque de organización que se puede configurar para interrumpir el ciclo de su programa en un día y hora determinados. Esta interrupción puede ocurrir una vez o periódicamente cada cierto tiempo.
    No hay una razón específica por la que necesitaría un OB10, ya que depende de su proceso y su lógica. Y sí, puede lograr la misma funcionalidad utilizando su código personal, pero es una función incorporada disponible y fácil de usar. Y usted sabe cómo usarla.

    caixiaofeng
    En artículos anteriores, analizamos diferentes tipos de bloques de organización, como el OB1 principal, que es el bloque principal del programa cíclico; en este artículo, abordaremos otro bloque de organización cíclica. El OB30 u OB de interrupción cíclica.
    Contenido:
    ¿Qué es el OB30 de interrupción cíclica? ¿Qué es el ciclo OB1 principal? ¿Por qué necesito el OB30? ¿Cómo configurar las interrupciones cíclicas? ¿Qué sucede si tengo más de una interrupción cíclica? Conclusión. ¿Qué es el OB30 de interrupción cíclica?
    Un OB30 de interrupción cíclica es un bloque de organización que se llama y se ejecuta en intervalos de tiempo específicos y exactos; a diferencia del OB1 cíclico principal, que se llama y se ejecuta continuamente, la interrupción cíclica se llamará en intervalos de tiempo que debe configurar al crear un OB de interrupción cíclica.
    Por ejemplo, si he creado un OB30 con un intervalo de tiempo _también llamado tiempo de ciclo_ de 20 ms, eso significa que el sistema operativo interrumpirá el OB1 de ciclo principal y llamará al OB30 cada 20 ms.
    Debe asegurarse de que el tiempo de ejecución de un OB de interrupción cíclica sea menor que su intervalo de tiempo. De lo contrario, podría ocurrir que la siguiente llamada del OB30 llegue mientras esta llamada del OB30 todavía se está ejecutando. En este caso, el sistema operativo genera un error de tiempo que puede provocar que el PLC pase al modo STOP.
    ¿Qué es el OB1 de ciclo principal?
    El OB1 cíclico principal es el bloque de organización que se encarga de ejecutar cíclicamente su lógica por parte del PLC. Siempre que cree un nuevo proyecto y agregue un PLC, el software creará automáticamente el OB1 principal.
    La base esencial de su código de PLC es el comportamiento cíclico, lo que significa que necesita que su código se ejecute de forma continua. Cuando se ha completado el procesamiento de su lógica, el sistema operativo comienza a procesarla de nuevo. Esto se hace mediante el uso del OB1 principal, usted coloca y llama toda su lógica y código dentro de este OB1 y el sistema operativo se asegurará de ejecutarlo continuamente.
    El tiempo de ciclo del OB1 principal se refiere al tiempo de ejecución del programa cíclico, incluido el tiempo de ejecución de todas las partes del programa anidadas como FC, FB y OB de mayor prioridad. Si ha creado varios OB de ciclo de programa, cada OB de ciclo de programa contribuye al tiempo de ciclo.
    El sistema operativo monitorea si el tiempo de ciclo permanece más pequeño que el tiempo de ciclo máximo configurado. Si excede el tiempo de ciclo máximo, el PLC pasará al modo STOP o llamará al OB80 según su programación.
    ¿Por qué necesito el OB30?
    Alguien podría argumentar que puedo colocar cualquier funcionalidad dentro del OB30 en el OB1 principal e intentar salirme con la mía dependiendo del desempeño muy rápido de la mayoría de los PLC actuales. Esto puede estar bien a veces, pero no siempre.
    Dependiendo del rendimiento de su PLC, el tiempo de ciclo principal podría ser de entre 1 y 150 ms; puede ser diferente, pero esta es la configuración estándar; este tiempo de ciclo depende de muchos factores, como el tamaño de su programa de PLC, interrupciones dentro de su lógica y otros factores que probablemente harán que el tiempo de ejecución de su ciclo no sea estable.
    Ahora, si necesita realizar cierta funcionalidad exactamente cada 10 ms, no 9 ms ni 11 ms, no puede depender del OB1 principal, ya que el resultado podría no ser el deseado. En este caso, utiliza la interrupción cíclica OB30, la configura con los 10 ms que desea y el sistema operativo se asegurará de llamar y ejecutar esta función exactamente cada 10 ms. Por eso se llama interrupción; porque interrumpirá la ejecución del OB1 principal para llamar y ejecutar su OB30.
    Ejemplos de funcionalidad que necesita OB30
    Procesamiento del controlador PID. Monitoreo de circuitos de seguridad. Monitoreo de la comunicación entre máquinas. Todos los ejemplos anteriores implican la necesidad de supervisar y comprobar continuamente los parámetros en determinados momentos, ya que se relacionan con magnitudes físicas reales o con la seguridad de la máquina. La ejecución de dichas funciones no debe retrasarse, ya que afectan a la seguridad y la continuidad de su proceso.
    ¿Cómo configurar interrupciones cíclicas?
    Al crear una interrupción cíclica, hay algunos parámetros que debe configurar. Consulte la imagen 1 para agregar un nuevo OB30.

    Imagen 1: Agregar nuevo OB30 de interrupción cíclica
    Al crear una interrupción cíclica, puede encontrar muchos parámetros que puede configurar en las propiedades del bloque; consulte la imagen 2.

    Imagen 2: Propiedades del OB30
    Los parámetros más importantes que debe tener en cuenta son los siguientes:
    Tiempo de ciclo Use el parámetro “Tiempo de ciclo” para establecer el período de tiempo entre dos llamadas del OB de interrupción cíclica. Es un múltiplo entero de 1 µs.
    Desfase de fase Aquí se establece el período de tiempo en el que se desplazan los tiempos de inicio en comparación con el múltiplo del tiempo de ciclo.
    Véase la imagen 3 para la configuración del tiempo de ciclo y del desfase de fase.

    Imagen 3: Configuración del tiempo de ciclo y del desfase del OB30
    Prioridad del OB de interrupción cíclica Este es otro parámetro importante que debe tener en cuenta al configurar una interrupción cíclica, ya que puede tener más de un bloque cíclico; si se necesita llamar a dos OB diferentes al mismo tiempo, el sistema operativo llamará y ejecutará el bloque con un número de prioridad más alto.
    Debe saber que el ciclo del programa principal del PLC OB1 tiene prioridad número 1, que es el nivel de prioridad más bajo que puede tener un bloque. Es por eso que el OB1 puede ser interrumpido por cualquier otra llamada de bloque. Vea la imagen 4.

    Imagen 4: Configuración de la prioridad del OB30
    ¿Qué sucede si tengo más de una interrupción cíclica?
    No es raro que tenga más de una interrupción cíclica en su lógica. Si tiene dos controladores PID en la lógica de su PLC, es posible que necesite dos interrupciones cíclicas para manejar cada PID. En ese caso, debe asegurarse de que la llamada y la ejecución de diferentes interrupciones cíclicas no se superpongan.
    Por ejemplo, si tiene OB30 con un tiempo de ciclo de intervalo de 5 ms y OB31 con un intervalo de ciclo de 10 ms, eso significa que la segunda llamada del OB30 también será el momento de llamar al OB31. Esto puede provocar errores lógicos, incluso si establece la prioridad de uno de ellos para que sea mayor que la del otro, lo que arruinará el tiempo de ciclo para el bloque de menor prioridad. Consulte la imagen 5.

    Imagen 5: superposición de llamadas a diferentes interrupciones cíclicas
    En ese caso, puede ser recomendable un desfase de fase cuando utilice varios OB de interrupción cíclica.
    Si sus tiempos de ciclo tienen múltiplos comunes, puede utilizar un desfase de fase para evitar tiempos de inicio simultáneos. Consulte la imagen 6.

    Imagen 6: desfase entre diferentes llamadas de OB
    Por lo tanto, para evitar esta superposición, estableceremos el tiempo de desfase del OB31 en 1 ms.
    Esto significa que el conteo del intervalo de tiempo OB31 se verá desplazado 1 ms respecto del tiempo de inicio de OB30. Ver imagen 7.

    Imagen 7: configuración de desplazamiento de OB31
    Conclusión
    Las interrupciones cíclicas son muy útiles para tareas críticas en cuanto al tiempo que no deberían enfrentar demoras. Puede tener más de una interrupción cíclica en su lógica. Utilice la configuración de desplazamiento de las interrupciones cíclicas para evitar tiempos de inicio simultáneos. Utilice la configuración de prioridad para controlar el orden de ejecución de diferentes interrupciones cíclicas.

    leigehong
    Los controladores lógicos programables (PLC) y los controladores de automatización programables (PAC) son dos tipos de controladores industriales que se utilizan para automatizar procesos y máquinas en la fabricación, el procesamiento y otras aplicaciones industriales. Ambos tipos de controladores tienen funciones similares, pero también existen diferencias significativas entre ellos.
    En este artículo, analizaremos las diferencias, similitudes y ejemplos de PLC y PAC.
    Contenido:
    ¿Qué son los PLC? ¿Qué son los PAC? Similitudes entre PLC y PAC. Diferencias entre PLC y PAC. Ejemplos de modelos de PLC de varios proveedores. Ejemplos de modelos de PAC de varios proveedores. ¿Cuándo es más adecuado un PLC? ¿Y cuándo lo es un PAC? Conclusión ¿Qué es un PLC?
    PLC significa controlador lógico programable, que es una computadora industrial especializada que se utiliza para sistemas de control de automatización. El PLC está diseñado para funcionar en entornos hostiles y se utiliza para controlar maquinaria en plantas de fabricación, líneas de montaje y otros entornos industriales.
    Los PLC se pueden programar utilizando 5 lenguajes diferentes, como lógica de escalera, diagramas de bloques de funciones, texto de estructura, lista de instrucciones y diagramas secuenciales. Estos 5 lenguajes están aprobados y se aplican según las normas IEC 61131-3.
    ¿Qué es un PAC?
    PAC significa Controlador de automatización programable, que es similar a un PLC pero tiene una funcionalidad más avanzada. PAC combina las capacidades de un PLC tradicional con la capacidad de realizar tareas mucho más complicadas y comunicarse con otros dispositivos y sistemas, lo que los hace más flexibles y potentes que los PLC.
    PAC se utiliza normalmente para aplicaciones de control y automatización más complejas en industrias como la automotriz, la aeroespacial y la generación de energía. PAC se puede programar utilizando los mismos 5 lenguajes que los PLC, pero también se pueden programar utilizando C y C++, lo que les da la capacidad de manejar la codificación de algoritmos más complejos.
    Similitudes entre PLC y PAC
    Las similitudes entre PLC y PAC son tantas que a veces es difícil decir si son diferentes. Aunque todavía hay alguna diferencia entre ellos.
    Las similitudes que comparten pueden ser incluso mayores. Estos son algunos de los puntos en común entre los PLC y los PAC:
    Funcionalidad básica
    Tanto los PLC como los PAC están diseñados para proporcionar un control fiable y preciso de los sistemas de automatización industrial. Se utilizan para supervisar las entradas de los sensores y otros dispositivos, procesar la información y luego enviar señales de control a los actuadores y otros equipos.
    Programación
    Tanto los PLC como los PAC utilizan lenguajes de programación para crear una lógica de control que determina el comportamiento del sistema de automatización. Comparten los 5 lenguajes de programación definidos en las normas IEC 61131-3, pero los PAC ofrecen más opciones de lenguajes de programación, incluidos C y C++.
    Durabilidad
    Tanto los PLC como los PAC están diseñados para soportar entornos industriales hostiles, como temperaturas extremas, humedad y vibración. Están diseñados para ser resistentes y fiables, con una larga vida útil y menores requisitos de mantenimiento.
    Diseño modular
    Tanto los PLC como los PAC tienen un diseño modular, que permite una fácil expansión y personalización. Se pueden añadir o quitar módulos para cumplir con requisitos específicos.
    Estándares de la industria
    Tanto los PLC como los PAC están diseñados para cumplir con los estándares de la industria para sistemas de automatización y control, como IEC 61131. Estos estándares garantizan la interoperabilidad entre dispositivos y sistemas de diferentes fabricantes.
    Diferencias entre PLC y PAC
    La distinción entre PAC y PLC puede ser un tanto confusa. Si bien no existe una definición de lo que constituye un PAC, existen algunas características comunes que diferencian a PAC de PLC:
    Funcionalidad
    Si bien tanto los PLC como los PAC se utilizan para aplicaciones de automatización y control, los PAC tienen una funcionalidad más avanzada, como control de movimiento, control de procesos y adquisición de datos. Los PAC también suelen tener más potencia de procesamiento y memoria que los PLC.
    Conectividad
    Los PAC tienen opciones de conectividad más avanzadas que los PLC, incluidas Ethernet, USB e inalámbricas. Esto hace que sea más fácil integrarlos en sistemas de automatización más grandes y comunicarse con otros dispositivos y sistemas.
    Costo
    Debido a su funcionalidad y flexibilidad más avanzadas, los PAC generalmente son más costosos que los PLC.
    Características más avanzadas
    Los PAC suelen tener funciones de software más avanzadas que los PLC, como control de movimiento integrado, registro de datos y herramientas de diagnóstico avanzadas. Estas funciones facilitan a los ingenieros y técnicos la supervisión y resolución de problemas del sistema de control.
    Ejemplos de modelos de PLC de varios proveedores
    PLC Siemens S7-1500:
    Se trata de un PLC de alto rendimiento de Siemens, uno de los principales proveedores de automatización. Está diseñado para aplicaciones exigentes y ofrece funciones avanzadas como control de movimiento, seguridad y protección. Consulte la imagen 1.

    Imagen 1: PLC SIEMENS S7-1500
    PLC Allen-Bradley CompactLogix 5370:
    Este es un PLC versátil de Rockwell Automation que ofrece una amplia gama de opciones de E/S y protocolos de comunicación. Es adecuado para una variedad de aplicaciones, incluido el control de máquinas y la automatización de procesos. Consulte la imagen 2.

    Imagen 2: PLC CompactLogix 5370 de Allen-Bradley
    PLC de la serie Q de Mitsubishi Electric:
    Este es un PLC confiable de Mitsubishi Electric que ofrece procesamiento de alta velocidad, opciones de E/S flexibles y capacidades de programación avanzadas. Es adecuado para una variedad de aplicaciones, incluidas las de automoción, alimentos y bebidas y productos farmacéuticos. Consulte la imagen 3.

    Imagen 3: PLC de la serie Q de Mitsubishi Electric
    PLC de la serie NJ de Omron:
    Este es un PLC de alta velocidad y alto rendimiento de Omron que ofrece control de movimiento avanzado y capacidades de red. Es adecuado para una variedad de aplicaciones, incluidas las de envasado, impresión y fabricación de semiconductores. Consulte la imagen 4.

    Imagen 4: PLC de la serie NJ de Omron
    PLC TwinCAT de Beckhoff:
    Se trata de un PLC basado en software de Beckhoff que se ejecuta en una plataforma basada en PC. Ofrece funciones avanzadas, como control de movimiento, CNC y robótica, y es adecuado para una variedad de aplicaciones, incluido el control de máquinas y la automatización de procesos. Consulte la imagen 5.

    Imagen 5: PLC basado en PC TwinCAT CX9240 de Beckhoff
    Ejemplos de modelos de PAC de varios proveedores
    PAC DCS DeltaV de Emerson:
    Se trata de un PAC de sistema de control distribuido (DCS) de Emerson. Está diseñado para aplicaciones de control continuo complejas y ofrece funciones avanzadas, como modelado de procesos, gestión de lotes y control avanzado. Consulte la imagen 6.

    Imagen 6: PAC Emerson DeltaV DCS
    PAC Schneider Electric Modicon M340:
    Se trata de un PAC de alto rendimiento de Schneider Electric que ofrece funciones avanzadas como control de movimiento, seguridad y ciberseguridad. Es adecuado para una variedad de aplicaciones, incluidas la energía, el tratamiento del agua y la minería. Consulte la imagen 7.

    Imagen 7: PAC Modicon M340
    A continuación, se muestran otros ejemplos de PAC:
    PAC ABB AC 800M PAC Yokogawa ProSafe-RS PAC Phoenix Contact PLCnext Technology PAC Bosch Rexroth IndraMotion MLC ¿Cuándo es más adecuado un PLC? ¿Y cuándo un PAC?
    El PLC y el PAC se utilizan en diferentes tipos de aplicaciones de automatización según los requisitos específicos de esa aplicación. A continuación, se ofrecen algunas pautas generales sobre dónde se adapta mejor un PLC y dónde se adapta mejor un PAC:
    Los PLC son la mejor opción en:
    Aplicaciones de control discreto:
    Los PLC son más adecuados para aplicaciones que implican un control discreto, como controlar el funcionamiento de una cinta transportadora, un equipo de clasificación o una maquinaria de envasado.
    Sistemas de control simples:
    Los PLC son ideales para aplicaciones que tienen un sistema de control relativamente simple que se puede programar mediante lógica de escalera u otros lenguajes de programación similares.
    Aplicaciones sensibles al costo:
    Los PLC son generalmente menos costosos que los PAC, lo que los convierte en una buena opción para aplicaciones donde el costo es un factor significativo.
    Sistemas de tamaño pequeño a mediano:
    Los PLC son adecuados para sistemas de control de tamaño pequeño a mediano, donde la cantidad de entradas y salidas es relativamente baja.
    Un sistema de cinta transportadora en una planta de fabricación es un buen ejemplo de un sistema de automatización donde un PLC es la mejor opción. En esta aplicación, el PLC es responsable de controlar la velocidad y la dirección de la cinta transportadora, así como de monitorear el estado de los sensores y otros equipos a lo largo de la línea de la cinta transportadora. El PLC también se puede programar para manejar tareas de producción específicas, como clasificar, contar o empaquetar.
    Un sistema transportador normalmente tiene una estructura fija y un conjunto bien definido de operaciones que deben ejecutarse de manera secuencial. Los PLC son adecuados para este tipo de aplicación porque están diseñados para manejar tareas de control discretas y son muy confiables en su funcionamiento. Los PLC se pueden programar y configurar fácilmente para manejar diferentes tipos de sensores, actuadores y protocolos de comunicación.
    Los PAC son ideales para:
    Aplicaciones de control de procesos:
    Los PAC son ideales para aplicaciones que involucran control de procesos, como controlar el funcionamiento de una planta química, una planta de tratamiento de agua o una planta de energía.
    Sistemas de control complejos:
    Los PAC son ideales para aplicaciones que tienen un sistema de control complejo que requiere algoritmos avanzados y funciones de optimización.
    Sistemas a gran escala:
    Los PAC son adecuados para sistemas de control a gran escala, donde la cantidad de entradas y salidas es alta y el sistema está distribuido en un área grande.
    Aplicaciones de alto rendimiento:
    PAC capaz de manejar aplicaciones de alto rendimiento que requieren procesamiento rápido de datos, control en tiempo real y alta confiabilidad.
    Un sistema de control de una planta de energía es un buen ejemplo de un sistema de automatización en el que un PAC es la opción más adecuada. En esta aplicación, el PAC es responsable de controlar y supervisar una gran cantidad de procesos y equipos complejos, como turbinas, generadores, calderas y bombas. El PAC también es responsable de recopilar y analizar datos de varios sensores y otras fuentes y tomar decisiones basadas en esos datos para optimizar el rendimiento de la planta.
    Un sistema de control de una planta de energía es un entorno muy complejo y dinámico, con muchos procesos y equipos diferentes que funcionan simultáneamente. Los PAC son adecuados para este tipo de aplicación porque ofrecen funciones avanzadas como control distribuido, redundancia y tolerancia a fallas, que son esenciales para garantizar la confiabilidad y la seguridad de la planta. Los PAC pueden manejar grandes cantidades de datos y pueden programarse para realizar algoritmos complejos y tareas de optimización.
    Conclusión
    Tanto el PLC como el PAC se utilizan en aplicaciones de automatización industrial. Tienen diferentes capacidades y son los más adecuados para diferentes tipos de aplicaciones. Al seleccionar entre PLC y PAC, es esencial considerar los requisitos específicos de la aplicación. Los PLC se utilizan normalmente en aplicaciones de control discreto que tienen un sistema de control relativamente simple. Los PAC se utilizan en aplicaciones de control de procesos que tienen un sistema de control complejo y requieren algoritmos avanzados y funciones de optimización.

    leigehong
    La lógica secuencial es de gran utilidad en la programación de PLC. Ayuda a ordenar las cosas fácilmente. Una amplia gama de aplicaciones que utilizan PLC tienen alguna lógica secuencial escrita en ellas.
    Dos de las secuencias más utilizadas son LIFO y FIFO. Seguramente habrás oído los nombres en electrónica cuando se utilizan para apilar y secuenciar. Estos tipos de lógica secuencial también están disponibles en PLC.
    En este artículo, aprenderemos los conceptos de secuencia LIFO y FIFO en la programación de PLC.
    Secuencia FIFO en PLC
    FIFO significa primero en entrar, primero en salir. El significado de esta secuencia se puede entender fácilmente a partir de su nombre. Lo que llega primero saldrá primero. Introduces un elemento y, cuando solicitas un elemento, se te proporcionará el primero que se introduzca. Esta misma lógica funciona en la programación de PLC para la secuencia FIFO.
    En programación, se asigna un bloque lógico llamado FIFO. Puede almacenar hasta 16 palabras o más, según el PLC. Contiene tres tipos de entradas: reinicio, almacenamiento y recuperación.
    En un flanco ascendente de la entrada de reinicio, la secuencia se reinicia y se vacía. En un flanco ascendente de la entrada de almacenamiento, la palabra presente en la entrada se almacena en el bloque. El bloque memorizará la secuencia de palabras recibidas.
    En un flanco ascendente de la entrada de recuperación, la palabra ingresada primero se dará en la palabra de destino configurada por el programador del PLC. Tiene dos salidas: vacía y llena. Si el bit vacío es verdadero, entonces indica que el almacenamiento está vacío, y si la entrada llena es verdadera, entonces indica que el almacenamiento está lleno.

    Secuencia LIFO en PLC
    LIFO significa último en entrar, primero en salir. El significado de esta secuencia se puede entender fácilmente a partir de su nombre. Lo que llega último saldrá primero. Usted ingresa un elemento; y cuando solicita un elemento, se le proporcionará el último que se ingrese. Esta misma lógica funciona en la programación de PLC para la secuencia LIFO.
    En programación, se asigna un bloque lógico llamado LIFO. Puede almacenar hasta 16 palabras o más, según el PLC. Contiene tres tipos de entradas: reinicio, almacenamiento y recuperación. En un flanco ascendente de la entrada de reinicio, la secuencia se reinicia y se vacía.
    En un flanco ascendente de la entrada de almacenamiento, la palabra presente en la entrada se almacena en el bloque. El bloque memorizará la secuencia de palabras recibidas.
    En un flanco ascendente de la entrada de recuperación, la palabra que se ingresó en último lugar se dará en la palabra de destino configurada por el programador. Tiene dos salidas: vacía y llena. Si el bit vacío es verdadero, entonces indica que el almacenamiento está vacío, y si la entrada llena es verdadera, entonces indica que el almacenamiento está lleno.
    Estas secuencias son bastante fáciles de operar. El programador debe tener cuidado de que no se entreguen entradas simultáneamente a los bloques de almacenamiento. El bloque no realizará ninguna acción en este caso. Solo se debe dar una entrada a la vez. También se debe tener en cuenta que los distintos PLC funcionan de manera diferente en el reinicio en caliente o en el reinicio en frío.
    En general, en un reinicio en frío del PLC, por ejemplo, el registro se restablecerá y, en caso de un reinicio en caliente, el registro permanecerá intacto tal como está. Depende del fabricante.

    leizuofa
    Hay muchas instrucciones en PLC que ayudan a ejecutar la lógica de una manera simplificada. Las instrucciones vienen en varias categorías como aritmética, comparación, lógica, controlador, etc. Por ejemplo, una instrucción de suma simple para sumar dos variables viene en la categoría aritmética. Por lo tanto, de manera similar, hay muchos tipos de instrucciones disponibles en una lógica de PLC.
    Una de esas instrucciones que se usa ampliamente en la programación de PLC es la instrucción de desplazamiento. Viene en la categoría de procesamiento numérico.
    En este artículo, aprenderemos el concepto de instrucción de registro de bits de desplazamiento en la programación de PLC.
    Registro de bits de desplazamiento en PLC
    Como su nombre lo indica, una instrucción de desplazamiento es un comando para desplazar bits de una palabra en una posición predefinida.
    Por ejemplo, tiene una palabra de 16 bits. Quiere mover el bit número 3 de su cuarta posición actual a la séptima posición. Entonces, siempre que se dé un pulso de comando de desplazamiento, el bit se desplazará en cada activación de la cuarta posición a la séptima posición.
    En esa continuidad, el bit en la quinta posición se moverá a la octava posición; y el bit en la tercera posición se moverá a la sexta posición. Entonces, aquí, estás desplazando los bits en un grupo por la cantidad de posiciones que definas.
    Instrucción Shift
    Las instrucciones Shift vienen en dos tipos: shift y rotate. Echemos un vistazo a la instrucción rotate. Considere una sintaxis: %MW10:= SHL (%MW12, 4). %MW10 es la palabra de memoria de destino y %MW12 es la palabra de memoria de origen.
    Consulte la siguiente imagen. En %MW10, cuando se proporciona un primer disparador para el desplazamiento a la izquierda, el bit 0 se desplaza al bit 1, y así sucesivamente. Este resultado se almacena en %MW12. Cuando se proporcionan tales disparadores cuatro veces, en última instancia, el bit 0 se desplazará finalmente al bit 4, y así sucesivamente.
    El resultado final se almacena en %MW12 de todos modos y obtiene una respuesta final de los bits desplazados cuatro posiciones desde la palabra de origen. Pero, una cosa para recordar es que, con cada cambio, el bit anterior se llena con el valor 0. Esto se puede ver claramente en la imagen.
    Después del primer cambio, el primer bit en %MW12 es 0. Por lo tanto, después de cuatro cambios, el resultado final será - 0000 1101 1100 0000. Este cambio puede ser a la derecha o a la izquierda.

    Hay otro tipo de cambio en el PLC; el anterior añadía ceros de la posición anterior, pero este segundo tipo mantiene el valor del primer bit (MSB para la derecha y LSB para la izquierda) tal como está. Esto se llama cambio aritmético.
    Por lo tanto, si el valor del primer bit (MSB para la derecha y LSB para la izquierda) inicialmente antes del cambio era 1, entonces el último bit permanecerá como 1 solamente y los ceros se añadirán desde el segundo bit anterior hasta la cantidad de veces que se dé el comando de cambio. Cabe señalar que el último bit que se desplaza siempre se almacena en un bit de acarreo.
    Instrucción de rotación
    El segundo tipo es la instrucción de rotación. Considere la sintaxis: %MW10:= ROL (%MW12, 4). %MW10 es la palabra de memoria de destino y %MW12 es la palabra de memoria de origen. Usaremos la misma imagen anterior como referencia. La instrucción de rotación, como lo define el nombre, simplemente gira los bits en la cantidad de posiciones que usted defina.
    En comparación con la instrucción de desplazamiento, donde se agregó cero después de cada bit anterior, aquí los bits simplemente se desplazan en la misma secuencia que en la dirección izquierda. Entonces, suponga que tiene una palabra de origen de – 1100 1010 1100 0101; luego, después de un disparador de 4 posiciones, el resultado final será – 1010 1100 0101 1100. La misma lógica funciona en la dirección correcta. El último bit desplazado también se almacena en un bit de acarreo.
    Existe otro tipo en la categoría de rotación. En este caso, en lugar de desplazar solo 16 bits, se transfiere el bit de acarreo. Esto significa que el último bit se desplaza al bit de acarreo y, a continuación, el bit de acarreo se desplaza al primer bit, y así sucesivamente. En el tipo anterior, el último bit solo se almacenaba en el bit de acarreo.

    leizuofa
    En este artículo, aprenderemos a leer la hoja de datos del PLC y notas importantes sobre las especificaciones del PLC que son útiles para los ingenieros de automatización. Además, hablaremos sobre qué información diferente se proporciona en una hoja de datos del PLC y cómo puede ser útil para mí como programador o como ingeniero de instalación.
    Contenido:
    ¿Qué información proporciona una hoja de datos? Ejemplos de información en una hoja de datos del PLC Valor nominal de corriente y voltaje Memoria del PLC Diferentes bloques y direcciones de áreas de datos Especificaciones de entradas y salidas Interfaces y protocolos de comunicación Condiciones ambientales Notas importantes sobre la lectura de la hoja de datos. ¿Qué información proporciona una hoja de datos?
    La hoja de datos de un PLC le proporcionará mucha información; esta información cubrirá casi todas las características que puede proporcionar el PLC. Pero parte de esta información no será tan importante para usted como otra, depende de cuál sea su alcance con el PLC.
    Si usted es el ingeniero de instalación, entonces se centrará en las especificaciones técnicas del PLC, como el voltaje de suministro, el tipo de entradas y salidas y la potencia nominal de estos puntos de E/S.
    También prestará más atención a la dimensión del PLC y las condiciones ambientales durante el funcionamiento del PLC para determinar el tamaño del panel eléctrico que utilizará para el PLC y también los métodos de enfriamiento utilizados para el PLC.
    ¿Cómo leer la hoja de datos del PLC?
    Por otro lado, si usted es solo el programador del PLC, entonces la información anterior puede no ser tan crítica para usted, en cambio, se centrará en los datos relacionados con, por ejemplo, la memoria del PLC, la cantidad de E/S disponibles y la capacidad de agregar nuevos módulos.
    También prestará atención a otra información como los lenguajes de programación compatibles con ese PLC porque no todos los PLC admiten todos los lenguajes de programación. La comunicación y la red también son otros puntos importantes que le interesarán como programador.
    La hoja de datos de un PLC siempre comenzará con una descripción general del PLC. Consulte las imágenes 1 y 2 para ver ejemplos sencillos de S7-1200 y S7-1500.

    Imagen 1: primera página de una hoja de datos de un PLC S7-1500.

    Imagen 2: primera página de una hoja de datos de un PLC S7-1200.
    Como puede ver, al principio de la hoja de datos se incluye una descripción general del PLC. Esta descripción general le dará una idea básica sobre el PLC y si se adapta o no a su aplicación.
    Ejemplos de la información incluida en una hoja de datos de un PLC
    En este artículo, utilizaremos la hoja de datos de un PLC S7-1200 para mostrar parte de la información que contiene.
    Corriente nominal y voltaje
    En una sección determinada de la hoja de datos debe haber información sobre los valores nominales de voltaje y corriente del PLC. Algunos PLC necesitarán una fuente de CC mientras que otros requerirán una fuente de CA. Además, las entradas y salidas del PLC pueden tener valores nominales diferentes, que es exactamente el caso de nuestro PLC, donde el suministro de voltaje al PLC es de 220 CA, pero los valores nominales para las E/S son de CC. Consulte la imagen 3.

    Imagen 3: valores nominales de voltaje y corriente.
    Memoria del PLC
    En la hoja de datos se proporcionarán diferentes capacidades de memoria del PLC. Esto mostrará cuánta memoria de trabajo tiene y si puede expandirla o no. Consulte la imagen 4.

    Imagen 4: descripción de la memoria del PLC.
    Diferentes bloques y direcciones de áreas de datos
    En esta sección, conocerá los diferentes bloques que puede utilizar con su PLC, como temporizadores, contadores, FC, etc. Y el número máximo de bloques que puede utilizar. También se le proporcionará la memoria de las áreas de datos y su retentividad. Consulte la imagen 5.

    Imagen 5: bloques de CPU disponibles.
    Especificaciones de entradas y salidas
    Este es otro dato crítico que se debe proporcionar, a través de esta información sabrá la cantidad de E/S que se proporcionan con su PLC y cómo conectar y utilizar cada E/S. Consulte las imágenes 6 y 7.

    Imagen 6: entradas digitales del PLC.
    Como puede ver, tenemos 8 puntos DI en nuestro PLC, 6 de los cuales se pueden utilizar para entradas HSC (conteo de alta velocidad) como codificadores. También te dice que el voltaje de entrada es de 24 VCC, lo que significa que no puedes conectar directamente sensores de CA o entradas al PLC.

    Imagen 7: nuestro PLC tiene salidas digitales.
    Si el PLC tiene E/S analógicas, también se mencionará en la hoja de datos. Consulta la imagen 8

    Imagen 8: descripción de las E/S analógicas.
    Interfaces y protocolos de comunicación
    Las interfaces de comunicación disponibles en tu PLC, así como los protocolos de comunicación que puede admitir, también se mencionarán en la hoja de datos. Consulta la imagen 9.

    Imagen 9: la interfaz de comunicación del PLC.
    Como puedes ver, el PLC que tenemos solo tiene una interfaz de comunicación, que es una interfaz PROFINET proporcionada como un puerto RJ-45. Sin embargo, el propio PLC puede admitir muchos protocolos de comunicación, como PROFIBUS y AS-Interface. Ver imagen 10. 

    Imagen 10: Protocolos de comunicación admitidos.
    Condiciones ambientales
    Este es otro dato muy importante que debe conocer sobre su PLC, ya que lo ayudará a decidir el tipo de gabinete y refrigeración que mejor se adaptará a su PLC. Consulte la imagen 11.

    Imagen 11: condición ambiental del PLC.
    Notas importantes sobre la lectura de la hoja de datos de un PLC
    No todas las hojas de datos de PLC contienen la misma información, ya que los diferentes PLC tendrán diferentes características y capacidades y, por lo tanto, diferente información para mostrar.
    No toda la información dentro de la hoja de datos será importante para usted, eso dependerá de si es un programador de PLC o un ingeniero de instalación, como mencionamos anteriormente.
    Está bien si no comprende parte de la información en la hoja de datos, como dijimos, la hoja de datos proporcionará información sobre casi todas las características admitidas por su PLC, es posible que no conozca algunas de estas características y es posible que ni siquiera necesite usarla. Por ejemplo, las características de OPC UA o del servidor web. Por lo tanto, si encuentra algún dato que no comprende, no significa necesariamente que su PLC no se adapte a su proyecto.
    Conclusión
    Leer la hoja de datos del PLC es importante para decidir si el PLC es adecuado para su aplicación o no. También es importante decidir con qué tipos de E/S y valores nominales de suministro de voltaje puede trabajar.
    Intente leer la hoja de datos de diferentes modelos de PLC y vea si puede comprender la información básica proporcionada en la hoja de datos.

    leizuofa
    En este artículo vamos a hablar de un problema importante que ocurre mucho cuando comienzas a programar tu PLC, se trata de los errores comunes de la versión de firmware y cómo manejarlos.
    Contenido:
    ¿Cuál es la versión de firmware de un PLC? ¿Por qué la versión de firmware puede causar problemas? ¿Cómo saber la versión de firmware de un PLC de hardware? ¿Cómo manejar los errores de versión de firmware? Conclusiones. ¿Cuál es la versión de firmware de un PLC?
    El firmware de un PLC o un módulo de PLC (IOs, módulos de comunicación, etc.) es simplemente el software interno instalado en el PLC que es responsable de lo que el hardware puede hacer realmente.
    Una versión de firmware determinará qué característica interna tiene tu PLC, como los protocolos de seguridad, funciones de optimización internas, mejor manejo del tiempo y otras características y capacidades diferentes.
    Un PLC con una versión de firmware más antigua tendrá menos características y capacidades internas que un PLC con una versión de firmware más nueva.
    Las imágenes 1 y 2 muestran cómo el mismo PLC de hardware tendrá diferentes características y capacidades de rendimiento con diferentes versiones de firmware instaladas.

    Imagen 1: versión de firmware V4.0

    Imagen 2: versión de firmware V4.4
    ¿Has notado cómo la misma CPU ahora tiene más funciones agregadas con solo actualizar a una versión de firmware más alta? Con la versión de firmware V4.4 más alta, la CPU ahora tiene OPC UA, entre otras funciones agregadas a sus capacidades de rendimiento.
    ¿Por qué la versión de firmware puede causar problemas?
    Mira, normalmente comienzas tu proyecto de PLC seleccionando el PLC y luego comienzas a programar.
    Seleccionarás tu PLC en TIA Portal de acuerdo con uno de dos puntos:
    Ya has comprado el PLC de hardware, por lo que seleccionarás el mismo PLC que tienes en el proyecto de TIA Portal. Todavía no has comprado un PLC, por lo que seleccionarás un PLC en TIA Portal que cumpla con tus requisitos y luego lo comprarás más tarde. En cualquiera de los dos casos, si la versión de firmware del PLC seleccionado en el proyecto de TIA Portal es diferente de la versión de firmware del hardware real, tendrá un problema. Y su programa ni siquiera se descargará al PLC de hardware.
    Por lo tanto, siempre debe asegurarse de que la versión de firmware del PLC real coincida con el PLC seleccionado en TIA Portal.
    Vale la pena mencionar que si la versión de firmware seleccionada en TIA Portal es anterior a la del PLC real, no tendrá problemas con su programa, perderá algunas de las características y capacidades del PLC, pero su programa funcionará bien.
    Los problemas aparecerán si ocurre lo contrario, si la versión de firmware seleccionada en TIA Portal es más reciente que la del PLC real, entonces tendrá un problema.
    Por eso, si no conoce la versión de firmware de su hardware, debe seleccionar la versión anterior en el proyecto de TIA Portal.
    ¿Cómo saber la versión de firmware del PLC de hardware?
    Podemos conocer la versión de firmware del PLC de hardware que tenemos mediante uno o dos métodos:
    Desde el propio PLC
    La versión de firmware de cualquier módulo PLC siempre está escrita en algún lugar del dispositivo de hardware. Vea las siguientes imágenes.

    Imagen 3: versión de firmware FS:04

    Imagen 4: la versión de firmware es V7.0.5
    Desde el software TIA Portal
    Usando el software TIA Portal puede conectar su PLC a su TIA Portal y buscar el dispositivo, luego puede encontrar la versión de firmware del dispositivo de hardware, vea los siguientes pasos.
    Ni siquiera tiene que crear un nuevo proyecto; solo la vista de proyecto de TIA Portal es suficiente, vea la imagen 5.

    Imagen 5: Vista de proyecto de TIA Portal sin crear un proyecto.
    Desde el acceso en línea, busque su PLC. Como la conexión entre el TIA Portal y el PLC se realiza a través de un cable Ethernet, utilizaremos la opción de conexión Ethernet. Haga doble clic en Actualizar dispositivos accesibles para comenzar a buscar su PLC. Consulte la imagen 6.

    Imagen 6: Actualizar dispositivos accesibles para buscar su PLC.
    Si hay una conexión entre el PLC y el TIA Portal, el software debería encontrar su PLC. Consulte la imagen 7.

    Imagen 7: El software encontró su PLC.
    Ahora, haga doble clic en En línea y diagnóstico para mostrar la información de su PLC. Consulte la imagen 8.

    Imagen 8: Información en línea del PLC.
    En el atributo General, puede encontrar la versión de firmware de su PLC como se muestra en la imagen anterior.
    También puede encontrar la versión de firmware en el atributo Funciones. Consulte la imagen 9.

    Imagen 9: versión de firmware del atributo de funciones.
    ¿Cómo manejar los errores de versión de firmware?
    Primero, creemos un escenario de error de versión de firmware y luego veremos cómo manejar y solucionar este error.
    Comenzaremos simplemente creando un nuevo proyecto y luego agregando un nuevo dispositivo. En este ejemplo de PLC, elegiremos intencionalmente una versión de firmware más nueva que la del hardware del PLC real. Sabemos que el firmware de nuestro PLC es V4.0, pero en TIA Portal elegiremos la versión de firmware V4.4. Vea la imagen 10.

    Imagen 10: agregue un nuevo PLC con una versión de firmware más alta.
    Presione OK para agregar su dispositivo y eso es todo, ha creado una situación que provocará un error de firmware. Para ver eso, intentemos descargar el proyecto a nuestro PLC.
    Tenga en cuenta que ni siquiera hemos escrito ningún código. Simplemente descargémoslo al PLC. Vea la imagen 11.

    Imagen 11: Error en la descarga al PLC, firmware incompatible.
    Como se puede ver en la imagen anterior, una vez que se intenta descargar el proyecto al PLC, aparecerá un error que indica que las versiones de firmware del PLC y del TIA Portal no coinciden.
    Incluso se puede ver si se intenta acceder a Internet. Ver imagen 12.

    Imagen 12 – El PLC se encuentra en estado de error.
    Para solucionar este error, simplemente debemos cambiar la versión de firmware del PLC seleccionado en el proyecto TIA Portal a una versión anterior o igual al firmware del PLC de hardware actual.
    Para ello, vamos a la página de propiedades del PLC y seleccionamos Cambiar versión de firmware en el atributo General. Ver imagen 13.

    Imagen 13 – Cambiar la opción de versión de firmware.
    Una vez que se pulsa el botón Cambiar versión de firmware, aparecerá una ventana de cambio de dispositivo; en esta ventana, se podrá cambiar la versión de firmware. Consulte la imagen 14.

    Imagen 14: ventana de cambio de dispositivo.
    En la ventana de cambio de dispositivo, verá el dispositivo actual que ha seleccionado antes y el nuevo dispositivo cuyo firmware necesita que coincida con el que tiene actualmente.
    Tenga en cuenta que, al elegir un firmware inferior, por ejemplo V4.3, la información en la parte inferior de la ventana le mostrará qué características ha perdido al pasar a un firmware inferior, como se ve en la imagen anterior.
    Ahora, cambie el firmware del nuevo dispositivo a la versión V4.0 del PLC de hardware. Y observe cuántas características y capacidades ha perdido el PLC simplemente por elegir un firmware inferior. Consulte la imagen 15.

    Imagen 15: Coincidencia del firmware entre el PLC de hardware y el software.
    Presione OK para confirmar los cambios y ahora intente descargar su proyecto una vez más al PLC. Notará que ahora el proyecto se cargará en el PLC sin ningún error. Consulte la imagen 16.

    Imagen 16: el proyecto se carga en el PLC.
    Una carga exitosa del proyecto en el PLC indica que el error de versión de firmware ahora está solucionado. También puede conectarse a Internet y verificarlo desde la vista en línea del proyecto del PLC. Consulte la imagen 17.

    Imagen 17: vista en línea del proyecto.
    Las marcas de verificación y los círculos verdes que ve en la imagen anterior indican que todas las configuraciones del software y el hardware coinciden y son compatibles entre sí.
    Conclusión
    Los errores de versión de firmware son un problema muy común al que se enfrenta al crear un nuevo proyecto en TIA Portal.
    Una práctica recomendada es conocer la versión de firmware del dispositivo de hardware que tiene y hacer coincidir el firmware con el dispositivo seleccionado en TIA Portal.
    Si no conoce el firmware del dispositivo de hardware, debe elegir la versión más antigua del módulo seleccionado dentro de TIA Portal para evitar problemas de firmware con su proyecto.

    leizuofa
    En este artículo, hablaremos sobre los bits de memoria de reloj en TIA Portal y Siemens PLC. Y mostraremos cómo habilitar el uso de los bits de memoria y cómo puede ayudarlo a evitar codificar muchas líneas lógicas para obtener una función simple que su PLC ya realiza internamente.
    Contenido:
    ¿Qué son los bits de memoria de reloj? La necesidad de bits de memoria de reloj. Habilitar la memoria de reloj en mi proyecto. Ejemplo de programa simple. Simulación de programa. Conclusión. ¿Qué son los bits de memoria de reloj?
    Una memoria de reloj es una memoria de bits que cambia su estado binario periódicamente en una proporción de 1:1. Eso simplemente significa que cambia su estado periódicamente entre verdadero y falso con una frecuencia predefinida.
    Hay 8 bits de memoria de reloj predefinidos en la CPU, por lo que también se los llama byte de memoria de reloj.
    Usted decide qué byte de memoria de la CPU se convertirá en el byte de memoria de reloj cuando habilita el uso del byte de memoria y asigna los parámetros de memoria de reloj.
    La necesidad de bits de memoria de reloj
    No es necesario que tenga memoria de reloj, ya que puede crear su propia lógica y lograr la misma funcionalidad. Sin embargo, es bueno tenerla en el bolsillo cuando necesite dicha funcionalidad, ya que crear 8 lógicas independientes para 8 bits de memoria de reloj le llevará algo de tiempo y esfuerzo y puede hacer que su programa sea innecesariamente grande.
    Puede utilizar la memoria de reloj, por ejemplo, para activar luces indicadoras intermitentes o para iniciar operaciones periódicas recurrentes, como registrar valores reales.
    A cada bit del byte de memoria de bit de reloj se le asigna una frecuencia. Consulte la siguiente tabla.
    Bit del byte de memoria de reloj 7 6 5 4 3 2 1 0 Periodo (s) 2.0 1.6 1.0 0.8 0.5 0.4 0.2 0.1 Frecuencia (Hz) 0.5 0.625 1 1.25 2 2.5 5 10 Tabla 1. Frecuencias de los bits de memoria de reloj según el manual de ayuda del TIA Portal.
    Habilitar la memoria de reloj en el PLC de Siemens
    Para utilizar los bits de memoria de reloj en su lógica, debe habilitar el uso del byte de memoria de reloj desde las propiedades de la CPU. Consulte la imagen 1.

    Imagen 1: Habilitar el uso del byte de memoria de reloj
    Puede elegir la dirección del byte que desea asignar para la memoria de reloj, solo asegúrese de que no entre en conflicto con ningún otro byte de memoria en la lógica de su PLC.
    Como puede ver en la imagen, elegimos la dirección 0, por lo que si necesita usar el bit de reloj de 2 Hz, usará el bit %M0.3
    Programa de ejemplo de cinta transportadora Tia Portal
    En un artículo anterior, usamos un ejemplo simple de una cinta transportadora que mueve un producto entre el inicio y el final de la cinta. Había un LED de indicación que se enciende cuando la cinta está en funcionamiento. Vea la imagen 2.

    Imagen 2: sistema de cinta transportadora simple
    Usaremos el mismo ejemplo, pero esta vez haremos que el LED sea más intuitivo usando los bits de memoria de reloj. Esta vez usaremos los bits de memoria de reloj con el LED para dar una indicación de diferentes casos del proceso.
    Descripción del Proceso
    En un sistema de cinta transportadora controlado por un PLC, existen dos sensores de presencia en los dos extremos de la cinta para detectar la presencia de un producto, cuando el producto se detecta al inicio de la cinta, el transportador puede iniciarse a través de un pulsador de inicio y cuando el producto llega al final la cinta se detendrá automáticamente y no volverá a funcionar hasta que se detecte nuevamente un nuevo producto al inicio y se presione el pulsador de INICIO.
    El LED de indicación debe tener más de un comportamiento dependiendo del caso actual del sistema.
    Estos casos son los siguientes:
    Si hay un producto al inicio de la cinta pero aún no se presiona INICIO, el LED debe parpadear con una frecuencia de 0,5 Hz. Si el transportador está moviendo el producto, el LED debe parpadear con una frecuencia de 2 Hz. Cuando el producto llega al final de la cinta, el LED debe estar ENCENDIDO Cuando se retira el producto del final, el LED se APAGA. IOs del proyecto
    Tenemos 4 entradas digitales de la siguiente manera:
    START: pulsador de arranque para poner en marcha el transportador. STOP: pulsador de parada para parar el transportador en cualquier momento. P1: sensor de presencia al inicio de la cinta. P2: sensor de presencia al final de la cinta. También tenemos 2 salidas digitales de la siguiente manera:
    MOTOR: al activarse la cinta transportadora empezará a funcionar. LED: se activará según la secuencia mencionada anteriormente. Código de programa
    Primero, seleccionamos nuestro PLC y asignamos las etiquetas de IO. Ver imagen 3

    Imagen 3 – Asignar etiquetas de entradas y salidas
    No olvides habilitar el uso del byte de memoria de reloj como se muestra en la imagen 1.
    Tendremos dos redes de código, una para el control de la cinta transportadora y otra para la lógica de los LED. Ver imágenes 4 y 5 para la lógica.

    Imagen 4: La lógica de control de la cinta transportadora

    Imagen 5: La lógica de control del LED
    Como puede ver, el uso de los bits de memoria del reloj hizo que la lógica fuera simple y fácil de leer. Imagínese si creara la misma lógica sin el uso de estos bits, habría utilizado muchos temporizadores y su lógica habría sido bastante complicada.
    Simulación del programa
    Explicamos anteriormente cómo utilizar el PLCSim para simular nuestro código. En este ejemplo, utilizaremos la secuencia de simulación para crear la misma secuencia del proceso real y veremos si el comportamiento del LED coincide con la funcionalidad deseada o no.
    Comience compilando nuestro código e inicie una nueva simulación. Vea la imagen 6.

    Imagen 6: simulación del programa
    Como puede ver, el LED ahora está APAGADO; no hay presencia de productos al principio ni al final de la cinta transportadora.
    Creamos una secuencia de simulación y vemos cómo reaccionará el LED a diferentes condiciones del proceso. Vea la siguiente animación.

    Vea si puede notar cómo cambia el comportamiento del LED con diferentes condiciones del proceso.
    Conclusión
    Los bits de memoria del reloj se encienden y apagan con una frecuencia predefinida. Son muy útiles cuando necesita activar luces indicadoras intermitentes o iniciar operaciones que se repiten periódicamente. El uso de bits de memoria de reloj le ahorrará el tiempo y el esfuerzo consumidos para obtener la misma funcionalidad a través de su propia lógica.

    leikang
    La programación de PLC tiene muchos tipos de instrucciones y operandos para ejecutar la lógica. Una de las instrucciones más utilizadas es un contador.
    Un contador se utiliza para contar números. El conteo es necesario para muchas aplicaciones; por ejemplo, incluso una lógica pequeña como contar la cantidad de botellas que pasan en un minuto requiere un contador. Si una aplicación tan pequeña necesita un contador, las tecnologías de automatización tienen muchos tipos de lógica más grandes que utilizan contadores para su uso. Por lo tanto, estos son tipos importantes de instrucciones que se utilizan en la programación de PLC.
    Hay dos categorías de contadores disponibles: contadores normales y contadores de pasos. En esta publicación, aprenderemos la diferencia entre contadores normales y contadores rápidos.
    ¿Qué es un contador normal?
    No existe un término oficial llamado contador normal en PLC. Es solo una definición que se usa para mostrar los dos tipos básicos de contadores: de paso ascendente y de paso descendente. Como lo indica el nombre, estas instrucciones se utilizan para contar números cuando se les da un pulso de entrada.
    Supongamos que tiene un botón pulsador y desea contar cuántas veces se ha presionado. Si comprende lo que estamos tratando de transmitir, pulsar significa que permanecerá encendido mientras se presione. Tan pronto como lo retire, se apagará.
    Esto significa que es una entrada de tipo pulso y el contador solo entiende este tipo de entradas. Si la entrada permanece encendida continuamente, entonces no contará. Cuenta solo cuando la entrada pasa del estado encendido al apagado y luego repite nuevamente la misma secuencia.

    Consulte la imagen anterior para comprender. La entrada CU (conteo ascendente) se utiliza para incrementar el contador cada vez que se recibe una entrada. Como es un disparador, el conteo aumenta cuando se recibe una entrada de tipo pulso. La entrada PV es el valor establecido. Mientras no se alcancen los conteos establecidos, la salida del contador (Q) permanecerá apagada. Cuando se alcanza el valor establecido, la salida se enciende.
    Ahora, incluso si se proporciona la entrada de conteo, el conteo seguirá aumentando y la salida permanecerá encendida. Para apagarlo, se debe proporcionar una entrada de reinicio que reinicia el contador y hace que el valor actual sea cero. Este es el funcionamiento general del contador.
    ¿Qué es un contador rápido?
    El contador rápido es igual que un contador normal, pero la única diferencia es que cuenta tipos de entradas muy rápidos. Supongamos que tiene un sensor de proximidad, que se enciende o apaga, por ejemplo, 1000 veces en 30 segundos. Estas entradas rápidas son difíciles de detectar en un contador normal, ya que tiene un tiempo de escaneo menor. El contador rápido hará este trabajo contando la cantidad de pulsos recibidos en su entrada de manera rápida.
    De manera similar a un contador normal, su salida se enciende después de alcanzar un valor establecido y requiere una entrada de reinicio para reiniciar el contador y apagar la salida. El contador rápido puede funcionar en frecuencias de 5 kHz.
    Debido a que los bloques de función de contador rápido se administran mediante interrupciones de hardware específicas, mantener las frecuencias de muestreo máximas puede variar según su aplicación específica y la configuración del hardware. No todas las entradas de PLC se pueden usar como contadores rápidos; Tiene solo algunas entradas de PLC dedicadas para asignar una función de conteo rápido.
    Como puede ver, la única diferencia entre estos dos contadores es la velocidad de funcionamiento, ya que un contador normal no puede aceptar ningún tipo de entrada rápida.

    leikang
    En esta programación de PLC, clasificamos y distribuimos cajas por altura en los contenedores de almacenamiento designados mediante sensores y transportadores.
    Este programa de PLC distribuye la cantidad especificada de piezas según su tamaño.
    Clasificación de cajas por altura mediante PLC
    La siguiente simulación muestra el principio de funcionamiento de la lógica de PLC para clasificar cajas según su altura. Aquí tenemos 3 cajas de diferentes tamaños: pequeña, mediana y grande.
    Hay tres contenedores de almacenamiento para cada tamaño de caja. Hay tres empujadores y tres transportadores. Cada tamaño de caja tiene un empujador y un transportador.

    El robot coloca las cajas al azar en el transportador. Los sensores se utilizan para detectar el tamaño de la caja. Los transportadores se ponen en marcha y se detienen cuando el tamaño de caja respectivo llega allí mediante los sensores.
    El empujador respectivo se activa y mueve el tamaño de caja respectivo a los contenedores de almacenamiento dedicados.
    Lista de E/S del PLC
    La siguiente tabla enumera las entradas y salidas de este sistema.
    Tipo Número de dispositivo Nombre del dispositivo Operación Entrada X0 Punto de inicio ENCENDIDO cuando el robot está en el punto de inicio. Entrada X1 Superior ENCENDIDO cuando se detecta la pieza. Entrada X2 Central ENCENDIDO cuando se detecta la pieza. Entrada X3 Inferior ENCENDIDO cuando se detecta la pieza. Entrada X4 Sensor ENCENDIDO cuando se detecta la pieza en la pendiente. Entrada X5 Sensor ENCENDIDO cuando se detecta la pieza en la pendiente. Entrada X6 Sensor ENCENDIDO cuando se detecta la pieza en la pendiente. Entrada X7 Sensor ENCENDIDO cuando se detecta la pieza en el extremo derecho. Entrada X10 Detectar pieza ENCENDIDO cuando se detecta la pieza delante del empujador. Entrada X11 Detectar pieza ENCENDIDO cuando se detecta la pieza delante del empujador. Entrada X12 Detectar pieza ENCENDIDO cuando se detecta la pieza delante del empujador. Salida Y0 Comando de suministro Se suministra una pieza Cuando Y0 está ENCENDIDO. Comienza un ciclo de proceso: la pieza de madera se repite en orden M, S, L, M, M, L, S, S, L, L. Salida Y1 Transportador hacia adelante El transportador avanza cuando Y1 está ENCENDIDO. Salida Y2 Transportador hacia adelante El transportador avanza cuando Y2 está ENCENDIDO. Salida Y3 Transportador hacia adelante El transportador avanza cuando Y3 está ENCENDIDO. Salida Y4 Transportador hacia adelante El transportador avanza cuando Y4 está ENCENDIDO. Salida Y5 Empujador Se extiende cuando Y5 está ENCENDIDO y se retrae cuando Y5 está APAGADO. El empujador no se puede detener en la mitad de la carrera. Salida Y6 Empujador Se extiende cuando Y6 está ENCENDIDO y se retrae cuando Y6 está APAGADO. El empujador no se puede detener en la mitad de la carrera. Salida Y7 Empujador Se extiende cuando Y7 está ENCENDIDO y se retrae cuando Y7 está APAGADO. El empujador no se puede detener en la mitad de la carrera. Descripción del programa
    Programación de un controlador lógico programable (PLC) para la clasificación de cajas en función de la altura y la distribución de los componentes.
    Para iniciar la operación del robot, se debe presionar el botón PB1 (X20) ubicado en el panel de control, que activa el comando de suministro del robot (Y0).
    El comando de suministro del robot (Y0) se desactiva cuando el robot completa el movimiento de la pieza y regresa a su posición inicial.
    El comando de movimiento del transportador se controla mediante el interruptor SW1 (X24) en el panel de control. Al activar el interruptor (encenderlo) se impulsa el movimiento del transportador hacia adelante, mientras que al desactivarlo (apagarlo) se detiene el transportador.
    La clasificación de las piezas, segregadas en tamaños grande, mediano y pequeño, se ejecuta a través de la entrada de los sensores superior (X1), medio (X2) e inferior (X3). Después de la clasificación, las piezas se transportan a sus bandejas designadas.
    La presencia de una pieza en el empujador se identifica mediante la activación (encendido) de los sensores de detección de piezas (X10, X11 o X12). Tras la detección de una pieza, el transportador se detiene y la pieza detectada se desplaza hacia la bandeja.
    Nota: El funcionamiento del empujador se rige por el comando de accionamiento del empujador. Al recibir una señal de encendido, el empujador se extiende por completo, mientras que una señal de apagado hace que se retraiga.
    Cada bandeja debe contener una cantidad específica de piezas, según su tamaño. Las piezas que superen estas cantidades especificadas pasan por alto el empujador y se expulsan del transportador por el extremo derecho.
    La cantidad designada de piezas por tamaño es la siguiente:
    Grande: 3 piezas Mediano: 2 piezas Pequeño: 2 piezas Lógica de escalera de PLC


    leikang
    En este programa avanzado de PLC, se utiliza un sistema de máquina clasificadora de productos basado en PLC para transportar diferentes productos mediante el elevador para separar las piezas según el tamaño.
    Aquí hay tres posiciones disponibles según el tamaño, como pequeño, mediano y grande. Los transportadores se utilizan para transferir los productos y colocarlos en las bandejas.
    Sistema de máquina clasificadora de productos basado en PLC
    La siguiente simulación muestra el sistema de clasificación de PLC mediante la operación de elevador.

    Entradas y salidas
    Tipo Número de dispositivo Nombre del dispositivo Operación Entrada X0 Superior ENCENDIDO cuando se detecta la pieza. Entrada X1 Medio ENCENDIDO cuando el elevador está en una posición inferior. Entrada X2 Inferior ENCENDIDO cuando se detecta la pieza. Entrada X3 Pieza en elevador ENCENDIDA cuando se detecta la pieza. Entrada X4 Posición de elevador inferior ENCENDIDA cuando el elevador está en la posición media. Entrada X5 Posición de elevador medio ENCENDIDA cuando el elevador está en la posición media. Entrada X6 Posición de elevador superior ENCENDIDA cuando la pieza está en el elevador. Entrada X10 Sensor ON cuando la pieza se detecta en el extremo izquierdo. Entrada X11 Sensor ON cuando la pieza se detecta en el extremo izquierdo. Entrada X12 Sensor ON cuando la pieza se detecta en el extremo derecho. Entrada X13 Sensor ON cuando la pieza se detecta en el extremo izquierdo. Entrada X14 Sensor ON cuando la pieza se detecta en el extremo derecho. Entrada X15 Sensor ON cuando el elevador está en la posición superior. Salida YO Comando de suministro Se suministra una pieza cuando YO está ON: El cilindro de metal se repite en orden S, L, M, L, M, S. Salida Y1 Transportador hacia adelante ON cuando la pieza se detecta en el extremo derecho. Salida Y2 Comando de elevación hacia arriba El elevador se mueve hacia arriba cuando Y2 está ON. El elevador se detiene cuando Y2 está OFF. Salida Y3 Comando de elevación hacia abajo El elevador se mueve hacia abajo cuando Y3 está ON. El elevador se detiene cuando Y3 está OFF. Salida Y4 Comando de rotación del elevador El transportador se mueve hacia adelante cuando Y1 está ON. Salida Y5 Bajar transportador hacia adelante El elevador gira para transferir la pieza al transportador cuando Y4 está ON.
    El elevador gira de nuevo a la posición original cuando Y4 está APAGADO. Salida Y6 Transportador intermedio hacia adelante El transportador avanza cuando Y5 está ENCENDIDO. Salida Y7 Transportador superior hacia adelante El transportador avanza cuando Y6 está ENCENDIDO. Descripción del programa
    El sistema completo consta de dos componentes: Control general y Gestión del elevador.
    Control general:
    Al activar el botón PB1 (X20) en el panel operativo se inicia el comando de suministro (Y0) para la tolva. Al desactivar el botón PB1 (X20) se desactiva el comando de suministro (Y0). Al activar el comando de suministro (Y0), la tolva entrega una pieza.
    Los transportadores inician el movimiento cuando se activa el SW1 (X24) en el panel de control. Por el contrario, los transportadores detienen el movimiento cuando se desactiva el SW1 (X24).
    Al detectar una pieza mediante el sensor X10, X12 o X14 ubicado a la izquierda del transportador, se inicia el transportador correspondiente, transportando la pieza a la bandeja del extremo derecho. Tres segundos después de que una pieza pase por el sensor X11, X13 o X15 a la derecha del transportador, este se detiene.
    Las piezas de distintos tamaños (grande, mediana, pequeña) en el transportador se clasifican según las entradas de los sensores Superior (X0), Medio (X1) e Inferior (X2).
    Gestión del elevador:
    Una vez que se activa la pieza en el sensor del elevador (X3) en el elevador, la pieza se transporta a uno de los siguientes transportadores según su tamaño:
    Pieza grande: dirigida al transportador superior Pieza mediana: dirigida al transportador mediano Pieza pequeña: dirigida al transportador inferior Los comandos de elevación hacia arriba (Y2) y elevación hacia abajo (Y3) se gestionan según la posición del elevador, detectada por los siguientes sensores:
    Superior: X6 Medio: X5 Inferior: X4 Al transferir la pieza del elevador al transportador, se inicia el comando de rotación del elevador (Y4).
    Después de la transferencia de una pieza, el elevador vuelve a su posición inicial y permanece en espera.
    Lógica del PLC


    leikang
    El programa PLC para control de escenario permite abrir y cerrar las cortinas, así como subir y bajar el escenario. Ofrece dos modos de funcionamiento: automático y manual.
    Programa PLC para control de escenario
    La siguiente simulación muestra el uso de PLC para aplicaciones de control de escenario.
    Este es un proyecto de utilidad en el que tenemos que abrir y cerrar las cortinas del escenario de forma automática y también manual mediante pulsadores. Los sensores se utilizan para detectar las posiciones de las cortinas derecha e izquierda en diferentes puntos.

    Después de abrir las cortinas, el escenario se moverá hacia arriba y se elevará a la posición superior. De manera similar, cuando las cortinas estén cerradas, el escenario central se moverá hacia abajo.
    La posición del escenario también se rastreará mediante sensores de límite inferior y superior.
    Lista de dispositivos PLC
    La siguiente tabla enumera todas las entradas y salidas de este programa PLC.
    Tipo Número de dispositivo Nombre del dispositivo Operación Entrada X0 Interior (cortina izquierda) ON cuando la cortina está a la mitad. Entrada X1 ON cuando la cortina se cierra completamente. ON cuando la cortina se abre completamente. Entrada X2 Exterior (cortina izquierda) ON cuando la cortina se cierra completamente. Entrada X3 Interior (cortina derecha) ON cuando la cortina está a la mitad. Entrada X4 Medio (cortina derecha) ON cuando la cortina se abre completamente. Entrada X5 Exterior (cortina derecha) ON cuando el escenario alcanza un límite inferior. Entrada X6 Límite superior de escenario El escenario se mueve hacia arriba cuando Y2 está ON. El escenario se detiene cuando Y2 está OFF. Entrada X7 Límite inferior de escenario ON cuando el escenario alcanza el límite superior. Salida Y0 Comando de apertura de cortina Las cortinas se abren cuando Y0 está ON. Las cortinas se detienen cuando Y0 está OFF. Salida Y1 Comando de cierre de cortina Las cortinas se cierran cuando Y1 está ON. Las cortinas se detienen cuando Y1 está OFF. Salida Y2 Escenario arriba El escenario se mueve hacia arriba cuando Y2 está ON. El escenario se detiene cuando Y2 está OFF. Salida Y3 Escenario hacia abajo El escenario se mueve hacia abajo cuando Y3 está encendido. El escenario se detiene cuando Y3 está apagado. Salida Y5 Zumbador Suena cuando Y5 está encendido (la lámpara en la pantalla está encendida). Descripción del programa
    Programa de PLC para controlar los ajustes del escenario, incluyendo la apertura/cierre de cortinas y la subida/bajada del escenario.
    El propósito de este programa de PLC es facilitar el control sobre una variedad de ajustes del escenario, que abarcan tareas como la apertura y el cierre de cortinas, así como la subida y bajada del escenario en sí. Para adaptarse a diferentes preferencias y requisitos, el programa ofrece dos modos de operación distintos: automático y manual.
    Operación automática
    Cuando se presiona el botón “Begin” (X16) en el panel de operación, un timbre (Y5) emite un sonido durante 5 segundos.
    Nota: El botón “Begin” (X16) solo se puede activar cuando las cortinas están cerradas y el escenario está ubicado en su límite inferior.
    Después de que el timbre se detiene, se activa el comando para abrir las cortinas (Y0). Las cortinas continuarán abriéndose hasta alcanzar sus límites exteriores, definidos por las señales de entrada X2 y X5.
    Una vez que las cortinas están completamente abiertas, el escenario comienza a elevarse cuando se activa el comando “Escenario arriba” (Y2). El escenario continuará moviéndose hacia arriba hasta alcanzar su límite superior, como lo indica la señal de entrada X6.
    Al presionar el botón “Fin” (X17) en el panel de operación, se inicia el cierre de las cortinas. Se activa el comando para cerrar las cortinas (Y1) y las cortinas se cerrarán hasta que alcancen sus límites interiores, definidos por las señales de entrada X0 y X3.
    Operación manual
    Las siguientes operaciones solo están disponibles cuando la operación automática descrita anteriormente no está activa.

    Las cortinas se pueden abrir presionando el botón “Cortina abierta” (X10) en el panel de operación. Las cortinas se detendrán una vez que alcancen sus límites exteriores (X2 y X5).
    Las cortinas se pueden cerrar presionando el botón “Cerrar cortina” (X11) en el panel de operación. Las cortinas continuarán cerrándose hasta que alcancen sus límites internos (X0 y X3).
    El escenario se puede elevar presionando el botón “⬆Escenario arriba” (X12) en el panel de operación. El escenario se detendrá una vez que alcance su límite superior (X6).
    El escenario se puede bajar presionando el botón “⬇Escenario abajo” (X13) en el panel de operación. El escenario se detendrá una vez que alcance su límite inferior (X7).
    Las luces indicadoras en el panel de operación se iluminarán o apagarán según corresponda, brindando información visual sobre el estado de las cortinas y las operaciones del escenario.
    Programación de PLC


    xiangjinjiao
    Los contadores son una instrucción muy importante en la programación de PLC. Se requieren en casi todas las lógicas. Ya sea para contar algo o para contar eventos, los contadores forman una parte importante de la programación de PLC.
    Debido a que el conteo de eventos se utiliza en muchas aplicaciones y ayuda a los programadores de PLC a ahorrar tiempo al escribir códigos engorrosos, muchas veces siempre es necesario encontrar una solución de respaldo para un plan si no funciona.
    En el caso de los contadores también, un programador de PLC debe conocer una lógica de respaldo si no funciona correctamente. Para eso, se pueden combinar y escribir dos instrucciones: mover y agregar.
    En esta publicación, aprenderemos a diseñar contadores en la programación de PLC con una instrucción de movimiento y adición.
    Contadores
    En primer lugar, veremos una instrucción de contador sobre cómo se escribe. Consulte la siguiente imagen. Como puede ver, un contador tiene tres entradas: conteo, reinicio y valor establecido; y tiene dos salidas: hecho y valor actual.
    Se requiere una entrada de conteo para proporcionar al contador un pulso para contarlo, se requiere una entrada de reinicio para reiniciar el contador y se requiere un valor establecido para alimentar el contador con los conteos establecidos. Una salida de hecho se utiliza para indicar que el contador ha terminado de contar y el valor actual muestra el valor actual de los conteos que el contador ha contado hasta ahora.

    Cuando se recibe una entrada de conteo, el contador aumenta en un valor. La entrada de conteo funciona en base a pulsos y no de forma continua. Cuando el contador alcanza su conteo establecido, entonces se activa el bit de hecho de la salida.
    La única forma de apagarlo es dando la entrada de reinicio. El valor del conteo se convertirá en cero en esta entrada y el contador se reiniciará debido a esto. Cabe señalar que incluso si se ha alcanzado el conteo y aún da la entrada de conteo, entonces también el conteo seguirá aumentando.
    También puede ver que se utiliza un bloque de comparación después de la salida del contador, lo que le permite pasar al bit final para activarse. Esto evita que el bit final se active innecesariamente si el recuento establecido es cero.
    Diseñar contadores en PLC con una instrucción de movimiento
    Ahora, veremos cómo escribir esta misma codificación con la ayuda de las instrucciones de movimiento y adición. Consulte la imagen a continuación. En el primer peldaño, la entrada de conteo se reemplaza con una instrucción de adición.
    La adición se realizará si la condición de entrada es verdadera, y también con un pulso. Se debe utilizar un pulso, de lo contrario, la adición continua continuará y no habrá control sobre ella.

    En el segundo peldaño, compara si se han alcanzado o no los recuentos establecidos. También verifica si el recuento establecido es mayor que cero o no. Si estas condiciones son verdaderas, entonces la salida se activa.
    En el tercer peldaño, el valor del contador se vuelve cero al recibir las entradas correspondientes. Esto equivale a la operación de la entrada de reinicio.
    Estos tres peldaños son suficientes para replicar la función de un contador. Puede utilizar un contador o esta lógica de PLC, según sus necesidades. Pero, cabe señalar que también podemos programar un contador escribiendo de esta manera.
    De esta manera, vimos cómo escribir contadores en la programación de PLC con una instrucción de movimiento y adición.

Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...