Reglas generales de bloques de función de control de movimiento
Las reglas generales de los Instrucciones de configuración de movimiento de Micro800 cumplen las especificaciones de control de movimiento de PLCopen.
La regla se aplica a | Regla |
|---|---|
Parámetros de entrada | Con Execute: Los parámetros se utilizan con el flanco ascendente de la entrada de ejecución. Para modificar un parámetro, cambie los parámetros de entrada y vuelva a activar el movimiento. Si una instancia de un bloque de funciones recibe un nuevo comando de ejecución antes de completarse (como una serie de comandos de la misma instancia), el nuevo comando de ejecución se ignora y la instrucción emitida anteriormente continúa ejecutándose. Con Enable: Los parámetros se utilizan con el flanco ascendente de la entrada de habilitación y se pueden modificar en cualquier momento. |
Parámetros de entrada ausentes | Durante la compilación de Aplicación del usuario, se documentan las entradas no completadas. El controlador no gestiona los errores por entradas ausentes. |
Entradas que superan los límites de aplicación | Si un bloque de función se activa con parámetros que incumplen los límites de aplicación, la instancia del bloque de función genera un error. En este caso, el resultado del error se marca como activo e incluirá la ID del error. En la mayoría de los casos, el controlador continuará en modo de ejecución y no se indicará un error de movimiento como error grave del controlador. |
Reglas de signo de entradas | Las entradas de aceleración, desaceleración y sacudidas son siempre valores positivos. Velocidad, Posición y Distancia pueden tener valores positivos y negativos. |
Posición frente a distancia | Posición es un valor definido en un sistema de coordenadas. La distancia es una medición relativa relacionada con unidades técnicas. La distancia es la diferencia entre dos posiciones. |
Entrada de posición/distancia | Los controladores Micro800 solo admiten movimientos lineales. En el bloque de función MoveAbsolute, la entrada de posición es la ubicación absoluta que se indica al eje. En MC_MoveRelative, la entrada de distancia es la ubicación relativa (considerando que la posición actual del eje es 0) desde la posición actual. |
Entrada de velocidad | La velocidad es un valor positivo o negativo, sin embargo, también puede utilizar la entrada de dirección para definir el signo de la velocidad (velocidad negativa x dirección negativa = velocidad positiva). El parámetro E "Dirección" hace referencia a la entrada y a la salida de velocidad por razones de compatibilidad. |
Entrada de dirección | Para el movimiento de distancia (posición), con la posición de destino (absoluta o relativa) definida, la dirección de movimiento es única. La entrada de dirección para el movimiento de distancia se ignora. Para el movimiento de velocidad, el valor de entrada de dirección puede ser 1 (dirección positiva), 0 (dirección actual) o -1 (dirección negativa). Para cualquier otro valor, solo se considera su signo. Por ejemplo, -3 indica una dirección negativa; +2 una dirección positiva, etcétera. En el caso del movimiento de velocidad (MC_MoveVelocity), el signo (velocity × direction) determina la dirección de movimiento real si el valor no es 0. Por ejemplo, si velocity × direction = +300, la dirección es positiva. |
Entradas de aceleración, desaceleración y sacudidas |
|
Exclusividad de salida | Con Execute: Si Ejecutar es Verdadera, una de las salidas Ocupado, Listo, Error y Comando abortado también debe ser Verdadera. Las salidas son mutuamente exclusivas: solo una salida o un bloque de función puede ser cierto. Solo se puede definir una de las salidas Activo, Error, Listo y Comando abortado cada vez. Con Enable: Las salidas Válido y Error son mutuamente exclusivas: solo una salida o un bloque de función puede ser cierto. |
Estado de salida | Con Execute: Las salidas Listo, Error, ID de error y Comando abortado se restablecen con el flanco descendente de la instrucción de ejecución. Sin embargo, el flanco descendente de la ejecución no detiene ni afecta a la ejecución del bloque de función real. Incluso si la ejecución se restablece antes de completar el bloque de función, las salidas correspondientes se configuran durante un ciclo como mínimo. Si una instancia de un bloque de funciones recibe un nuevo comando de ejecución antes de completarse (como una serie de comandos de la misma instancia), el nuevo comando de ejecución se ignora y la instrucción emitida anteriormente continúa ejecutándose. Con Enable: Las salidas Válido, Habilitado, Ocupado, Error e ID de error se restablecen con el flanco descendente de Habilitar en cuanto sea posible. |
Comportamiento de la salida Listo | La salida Listo se activa si la acción indicada se ha completado correctamente. Si hay múltiples bloques de función activos en el mismo eje en una secuencia, se aplican los siguientes principios: Si se interrumpe un movimiento en un eje con otro movimiento en el mismo eje sin haber completado el objetivo final, no se activará Done en el primer bloque de funciones. |
Comportamiento de salida Ocupado | Todos los bloques de función puede tener una salida Ocupado, lo que indica que el bloque de función no ha finalizado aún (en bloques de función con una entrada de ejecución) o en funcionamiento y se esperan nuevas entradas de salida (en caso de entrada de habilitación). Ocupado se activa en el flanco ascendente de ejecución y se restablece cuando una de las salidas Listo, Anulado o Error se activa. Este bloque de funciones se debe mantener en el bucle activo del programa de aplicación mientras la salida Ocupado sea CIERTO, porque las salidas podrían cambiar. Los bloques de función con la misma instancia que estén ocupados no se pueden ejecutar hasta que dejen de estar ocupados. Los bloques de funciones con instancias diferentes pueden anular la ejecución del bloque de funciones actual. |
Comportamiento de salida de CommandAborted | La salida Comando abortado se activa cuando un movimiento ordenado interrumpe a otro movimiento ordenado. El comportamiento restablecido de Comando abortado es similar al de la salida Listo. Cuando se activa Comando abortado, también se restablecerán el resto de señales de salida como En velocidad. |
Salida Activo | La salida Activo es necesaria en bloques de función en búfer y se activa en el momento en que el bloque de función toma el control de movimiento del eje correspondiente. En modo sin búfer, las salidas Activo y Ocupado pueden tener el mismo valor. |
Estados Habilitar y Válido | La entrada Habilitar está asociada a una salida Válido. Habilitar es sensible al nivel y Válido muestra que un conjunto válido de salidas está disponible en el bloque de funciones. La salida Válido es verdadera mientras haya un valor de salida válido disponible y la entrada Habilitar sea verdadera. El valor de la salida correspondiente se puede actualizar mientras la entrada Habilitar sea verdadera. Si se produce un error en el bloque de función, la salida no es válida (Válida se ajusta en falso). Cuando desaparece el error, los valores volverán a aparecer y la salida Válido se volverá a activar. |
Manejo de errores de salida | Salidas utilizadas para definir errores: Todos los bloques tienen las dos salidas siguientes, que se utilizan con errores que se producen durante la ejecución:
Las salidas Done e InVelocity indican que el ciclo se ha completado correctamente. Lógicamente, estas salidas y Error se excluyen mutuamente. Los errores de instancia no siempre tienen como resultado un error de eje (llevan el eje a Parada de error). |
Cómo se restablecen las salidas de error:
| |
Tipos de errores:
| |
Tipos de ENUM de convenciones de nombre | Debido a las limitaciones de nombres de la normativa IEC sobre la singularidad de nombres de variables, se utiliza la referencia 'mc' al espacio de nombre de control de movimiento PLCopen para ENUM. De esta forma es posible evitar el conflicto de utilizar los tipos positivos y negativos de ENUM, por ejemplo, con variables con estos nombres a lo largo del resto del proyecto, ya que se denominarán mcPositive y mcNegative, respectivamente. |
Entregue su opinión