Principios básicos de programación
6.5 Lenguaje de programación
Si el programa de usuario comparte varios valores entre un OB de ciclo y un OB de alarma
en la memoria, dicho programa debe garantizar asimismo que estos valores se modifiquen o
lean de forma coherente. Utilice las instrucciones DIS_AIRT (deshabilitar tratamiento de
eventos de alarma) y EN_AIRT (habilitar tratamiento de eventos de alarma) del OB de ciclo
de programa para proteger cualquier acceso a los valores compartidos.
● Inserte una instrucción DIS_AIRT en el bloque lógico para garantizar que un OB de
● Inserte las instrucciones que leen o escriben los valores que podrían ser modificados por
● Inserte una instrucción EN_AIRT al final de la secuencia para cancelar la instrucción
Una petición de comunicación de un dispositivo HMI o de otra CPU puede interrumpir
asimismo la ejecución del OB de ciclo de programa. Las peticiones de comunicación
también pueden causar problemas relacionados con la coherencia de datos. La CPU
garantiza que las instrucciones del programa de usuario lean y escriban coherentemente los
tipos de datos simples. Puesto que las comunicaciones interrumpen el programa de usuario
de forma periódica, no es posible garantizar que el dispositivo HMI actualice
simultáneamente varios valores en la CPU. Por ejemplo, los valores visualizados en la
pantalla de un HMI podrían provenir de diferentes ciclos de la CPU.
Las instrucciones PtP (punto a punto), PROFINET (p. ej. TSEND_C y TRCV_C), PROFINET
E/S descentralizadas y PROFIBUS E/S descentralizadas (Página 285) transfieren búferes
de datos que podrían interrumpirse. La coherencia de datos de los búferes debe asegurarse
evitando operaciones de lectura y escritura en los búferes, tanto en el OB de ciclo como en
un OB de alarma. Si es necesario modfiicar los valores de los búferes para estas
instrucciones en un OB de alarma, utilice una instrucción DIS_AIRT para retardar las
alarmas (un OB de alarma o una alarma de comunicación de un HMI u otra CPU) hasta que
se ejecute una instrucción EN_AIRT.
Nota
La utilización de la instrucción DIS_AIRT retarda el procesamiento de los OBs de alarma
hasta que se ejecuta la instrucción EN_AIRT, lo que afecta la latencia de alarmas (tiempo
que transcurre desde un evento hasta que se ejecuta el OB de alarma) del programa de
usuario.
6.5
Lenguaje de programación
STEP 7 ofrece los lenguajes de programación estándar siguientes para S7-1200:
● KOP (esquema de contactos) es un lenguaje de programación gráfico. Su representación
● FUP (diagrama de funciones) es un lenguaje de programación que se basa en los
● SCL (structured control language) es un lenguaje de programación de alto nivel basado
158
alarma no pueda ejecutarse durante la operación de lectura o escritura.
un OB de alarma.
DIS_AIRT y permitir la ejecución del OB de alarma.
se basa en esquemas (Página 159) de circuitos.
símbolos lógicos gráficos empleados en el álgebra (Página 160) booleana.
en texto (Página 160).
Controlador programable S7-1200
Manual de sistema, 04/2012, A5E02486683-06