Skip to main content

Manejo de EVC/EVL

Uso de EVC/EVL en un PLC de seguridad compuesto

EVC (Exchange Variable Connection) se puede utilizar dentro de uno o más subdispositivos no seguros para acceder a las variables (seguras y no seguras) del subdispositivo de seguridad.

figura 5. Ejemplo: árbol de dispositivos de un proyecto que utiliza un PLC de seguridad compuesto con EVC/EVL
Ejemplo: árbol de dispositivos de un proyecto que utiliza un PLC de seguridad compuesto con EVC/EVL


Agregar EVC a un subdispositivo no seguro

Puede agregar EVC (Exchange Variable Connection) a una aplicación como cualquier otro objeto "POU": Use el Añadir objeto comando y diálogo y seleccione EVC.

Sugerencia

El nombre de un objeto EVC no se puede cambiar. Solo puede haber un objeto EVC dentro de una aplicación.

editor de EVC

Cuando abre el objeto EVC, obtiene el editor EVC. Allí configura qué variables de la aplicación del subdispositivo seguro deben estar disponibles dentro de la aplicación a la que pertenece el objeto EVC.

figura 6. Ejemplo de un EVC
Ejemplo de un EVC


Si la aplicación del subdispositivo seguro no está actualizada (si la aplicación se cambió después de la última generación de código correcta), el editor de EVC muestra una advertencia similar a la siguiente: Safe application has changed or is not up to date. Execute "Build" command to be able to select variables.

Si desea generar código para la aplicación segura directamente, puede usar el Construir botón. Posteriormente, la advertencia debería desaparecer.

Todas las variables que se encuentran dentro de la aplicación de seguridad del subdispositivo de seguridad se muestran en el editor de EVC de forma estructurada. Si desea acceder a cualquiera de estas variables individualmente, haga clic en la casilla de verificación correspondiente. Las variables seleccionadas son accesibles. Para eliminar los privilegios de acceso a una variable, desactive la casilla de verificación correspondiente.

Puede acceder a todas las variables accesibles dentro de la aplicación (donde se encuentra el EVC) mediante el espacio de nombres "EVC".

ejemplo 5. Ejemplo de código que utiliza variables publicadas por un objeto EVC
IF NOT EVC.GUIDS.xError AND EVC.GUIDS.xGuidValid THEN
  EVC.EVL.nonsafeVAr := 1;
  iVar := EVC.PLC_PRG.iVar;
END_IF


Para verificar el estado de EVC, debe usar el miembro implícito GUIDS del espacio de nombres de EVC en su aplicación. La GVL implícita EVC.GUIDS proporciona dos variables de estado. Como resultado, puede monitorear la consistencia de las variables EVC utilizadas.

Actualmente hay dos miembros que debe verificar para asegurarse de que el mecanismo funciona correctamente:

  • EVC.GUIDS.xError

    TRUE cuando ha ocurrido un error dentro del mecanismo EVC

    En este caso, deje de acceder a las variables proporcionadas/publicadas por el mecanismo EVC. Podría bloquear la aplicación de seguridad.

    FALSE cuando el mecanismo funciona correctamente y no se ha producido ningún error

    Puede acceder a las variables que se publican dentro del espacio de nombres de EVC.

  • \\ EVC.GUIDS.xGuidValid

    Muestra si la aplicación segura, a la que está conectado el EVC, es exactamente la misma que la configurada en el proyecto (GUID coincidentes)

    Si esta variable es FALSE, luego deje de acceder a las variables proporcionadas/publicadas por el mecanismo EVC. Podría bloquear la aplicación de seguridad.

Importante

Debe acceder a las variables dentro del espacio de nombres de EVC solo cuando xError = FALSE y xGuidValid = TRUE. De lo contrario, la función de seguridad de la aplicación de seguridad en el subdispositivo seguro podría verse afectada.