Debido a la amplia variedad de funcionalidades que pueden ejecutarse en paralelo en los PLC de AC500, es recomendable, o incluso obligatorio en función de la funcionalidad deseada, ajustar el comportamiento del sistema para que se adapte mejor a las necesidades de cada aplicación.
Debido a las limitaciones y restricciones del hardware, es necesario priorizar la funcionalidad, especialmente si se pretende ejecutar varias funciones en paralelo. Establecer prioridades puede ser muy difícil debido a la complejidad de los componentes de software subyacentes. Además de las prioridades de las tareas, también puede ser necesario ajustar la configuración de bajo nivel del sistema para lograr el mejor rendimiento posible para una función específica.
Para reducir la complejidad y, por tanto, el riesgo de efectos secundarios negativos,
se ha introducido el parámetro de CPU Communication schema. Este parámetro permite al usuario definir específicamente la finalidad principal
del PLC correspondiente y centrarse en una funcionalidad concreta.
|
Esquema |
PM50xx |
PM56xx |
Descripción |
|---|---|---|---|
|
Por defecto |
X |
X |
Prioridad equilibrada para la comunicación a través de los módulos de comunicación (CM) y la comunicación a bordo Ethernet. |
|
Módulos de comunicación |
- |
X |
Prioridad y alto rendimiento para la comunicación basada en módulos de comunicación (CM) mediante tareas de sincronización. Menor prioridad para Ethernet y el bus de E/S. |
|
A bordo Ethernet |
X |
X |
Prioridad y alto rendimiento para la comunicación basada en módulos de comunicación (CM) mediante tareas de sincronización. Menor prioridad para Ethernet y el bus de E/S. |
|
A bordo EtherCAT ⮫ «Esquema de comunicación «A bordo EtherCAT» desde «SystemFW» 3.4.1» |
X |
X |
Muy alta prioridad para la comunicación a bordo Ethernet (por ejemplo, EtherCAT, PROFINET, EtherNet/IP). Baja prioridad para la comunicación a través de módulos de comunicación (CM). |
Cambiar el esquema de comunicación puede tener un impacto significativo en el comportamiento de la aplicación de usuario y, por lo tanto, sólo debe hacerse si,
-
se configura una función que depende de un esquema específico (por ejemplo, a bordo EtherCAT).
-
es necesario optimizar el comportamiento del sistema en términos de rendimiento (reducción de los tiempos de reacción, aumento del rendimiento, etc.).
Tenga en cuenta que el aumento de la flexibilidad y la libertad viene acompañado de un aumento de la responsabilidad, ya que la configuración de tareas IEC y el código de usuario IEC podrían bloquear funcionalidades importantes del sistema durante demasiado tiempo. La siguiente información proporcionada debería ayudar a identificar los ajustes apropiados para evitar errores de ejecución como excepciones de tiempo de espera o problemas de comunicación.
Clasificaciones prioritarias y su finalidad
La funcionalidad priorizada por cada esquema de comunicación se agrupa en 3 clases diferentes:
-
Funcionalidad de alta prioridad en tiempo real
-
Tareas CEI con prioridad en tiempo real
-
Funcionalidad no en tiempo real de baja prioridad
Funcionalidad de alta prioridad en tiempo real
Las funcionalidades con requisitos estrictos de temporización, por ejemplo, los controladores con acceso al hardware o los fallos de supervisión del hardware watchdog podrían provocar errores de excepción, pérdida de comunicación con el hardware y otros problemas no recuperables que podrían provocar la detención de la aplicación de usuario.
La funcionalidad de esta clase no puede verse influida por la actividad de las tareas IEC definidas por el usuario. Como resultado de ello, la funcionalidad relacionada puede interrumpir o retrasar las tareas IEC y, por lo tanto, aumentar la fluctuación de las tareas IEC y la duración de los ciclos de las tareas IEC.
Tareas CEI con prioridad en tiempo real
Es el rango de prioridad de las tareas IEC en tiempo real definidas por el usuario. Las prioridades 0 a 15 son prioridades en tiempo real (la prioridad IEC 16 se asigna a la prioridad en tiempo no real) y pueden utilizarse para definir la prioridad de una tarea IEC en Automation Builder.
Las tareas de este rango pueden verse interrumpidas o retrasadas por funciones de alta prioridad. No es posible que el código de usuario IEC suprima la actividad de alta prioridad, aumentando así la seguridad y reduciendo el riesgo de efectos secundarios negativos causados por errores en el código de usuario IEC o en las bibliotecas o por una mala configuración de las tareas IEC.
Funcionalidad no en tiempo real de baja prioridad
El rango de prioridad baja está destinado a funcionalidades que no son de tiempo real, que no tienen requisitos de tiempo específicos y que se supone que ejecutan su actividad sin retrasar o interrumpir la aplicación de usuario y sus funcionalidades relacionadas.
La actividad asignada a este rango puede ser suprimida por tareas IEC de alta prioridad y en tiempo real. Por lo tanto, podrían mostrar una gran inestabilidad, actividad esporádica o grandes tiempos de reacción, dependiendo de la carga global del sistema.
Para evitar la supresión de las tareas de este grupo, el sistema reserva una breve franja horaria para procesar la funcionalidad de baja prioridad si la carga de la CPU alcanza casi el 100%. En circunstancias normales (por debajo de una carga media del sistema del 80%), este mecanismo no debería activarse. Aunque esta franja horaria puede provocar que las tareas de alta prioridad se tambaleen ligeramente (± 100 microsegundos), garantiza que el sistema siga respondiendo y siempre podrá ejecutar los trabajos fundamentales que deben ejecutarse con regularidad. Tenga en cuenta que las tareas de baja prioridad siguen desempeñando un papel importante y deben programarse con regularidad para cumplir sus requisitos de tiempo individuales.
Asegúrese de que la carga media de la CPU no supera el 80% para garantizar que el sistema dispone de tiempo suficiente para procesar las funciones de baja prioridad.
Puede que la funcionalidad no sea importante para la aplicación individual, pero sigue siendo necesario mantener vivas otras funcionalidades como el inicio de sesión en Automation Builder o el acceso a los datos de diagnóstico.
Una vez que la carga de la CPU supere el 80%, será difícil para el sistema programar correctamente las tareas.
