Instrucciones: Este artículo muestra cómo se puede utilizar el SFB37 (AR_SEND) para transferir un valor de proceso a una archivo de variables del WinCC, controlado por el proceso. Este artículo se corresponde con el procedimiento descrito en la página del Customer Support con número ID 23629327.
| Nº |
Procedimiento |
| 1 |
Aclaración del formato de datos de los datos a archivar El archivo por medio del módulo AR_SEND soporta diferentes variantes en función de la estructura de los datos a transferir. Ajuste uno de los posibles formatos de datos. Una descripción detallada sobre la estructura del bloque de datos a transferir está disponible en la ayuda Online del WinCC, bajo el concepto de búsqueda "Sistema de información del WinCC -> Comunicación -> SIMATIC S7 Protocol Suite -> Funciones especiales -> Intercambio de datos con el módulo de función S7 AR_SEND"
Para este ejemplo, en el que se transfiere un valor de una variable de proceso, se ha elegido el siguiente formato:
| Tipo de cabecera (INT := 9) |
| Año |
Mes |
| Día |
Horas |
| Minutos |
Segundos |
| 1/10s |
1/100s |
1/1000s |
Día de la semana |
| Ciclo (DINT := 1) |
| Unidad (Tipo) (BYTE := B#16#1) |
Unidad (Rango) (BYTE := B#16#1) |
| Subnúmero AR_ID (INT := 1) |
| Datos de proceso - Tipo de datos (INT := 5) |
| Número de valores de proceso (INT := 1) |
| Valor de proceso (REAL) |
Descripción de la asignación de los elementos de la estructura:
- Tipo de cabecera = 9
Cabecera con una marca de tiempo y un subnúmero AR_ID
- Fecha y hora (Año, Mes, Día, Horas, Minutos, Segundos, ...)
La marca de tiempo se rellena en tiempo de ejecución con la fecha/hora actual del sistema.
- Ciclo = 1
Los valores de proceso se leen de forma equidistante. El instante inicial de arranque se indica en la marca de tiempo de la cabecera y es absolutamente necesario. Para determinar la distancia de tiempo entre los valores de proceso, se utilizan las unidades de tiempo "Unidad (Rango)" y el factor "Cycle".
- Unidad (Tipo) = 1
Para el valor de proceso, vale la marca de tiempo indicada en la cabecera
- Unidad (Rango) = 1
Reservado
- Subnúmero AR_ID = 1
Es la asignación entre el valor de proceso y las variables de archivo del WinCC
- Datos de proceso - Tipo de datos = 5
Tipo de datos S7 = REAL
Tipo de datos del WinCC = FLOAT
- Número de valores de proceso = 1
Sólo se transfiere un valor de proceso
- Valor de proceso
El valor de proceso se rellena en tiempo de ejecución con el valor actual. |
| 2 |
Configuración del módulo de envío AR_SEND en el proyecto de STEP 7 Para este ejemplo, se ha creado un módulo de función (FB) que sólo implementa la funcionalidad básica del intercambio de datos con ayuda del módulo AR_SEND. La estructura de datos definida en el paso 1 se rellena con valores y se envía al módulo AR_SEND para su "envío". La llamada del SFB37 (AR_SEND) se realiza como multinstancia. Las entradas y salidas relevantes del módulo AR_SEND se conectan a la interfase del nuevo FB creado. En la práctica, puede ocurrir que haya casos particulares en los que se tengan que programar funcionalidades adicionales, por ejemplo:
- Para garantizar la consistencia de datos en la transmisión, los datos no se pueden modificar durante la misma. Por ejemplo, los datos de la zona de envío sólo se pueden volver escribir cuando la salida "DONE" del módulo AR_SEND tiene el valor "1".
- Para reducir la carga de comunicación, es posible sólo transferir datos al WinCC cuando se haya producido una modificación del valor de proceso. Sería recomendable agrupar los datos de proceso en una estructura de datos transferible, cuando se produzca una modificación de su valor, y enviarlos al aparecer un evento prefijado. Por ejemplo, los datos se enviarían sólo después de cumplirse un tiempo máximo o al sobrepasar una modificación de valor definida (Histéresis).
- Debido a que el módulo AR_SEND sólo se puede llamar un número limitado de veces dentro del programa S7, si se tiene una gran cantidad de puntos de medida a archivar, habría que elegir otra variante para transferir los datos con el módulo AR_SEND. Dentro de un bloque de datos, se pueden transferir varios valores de diferentes puntos de medida.
Indicaciones adicionales:
- El módulo se creó en el idioma SCL. El procedimiento al utilizar otro idioma (AWL) es idéntico.
- La estructura de datos para los datos a transferir se ha definido como UDT y se utiliza en la interfase del FB.

Figura 01
En el parámetro LEN del módulo AR_SEND, se configura la longitud del bloque de datos a transferir. Para averiguar la longitud de la zona de datos a transferir, se puede abrir el UDT directamente desde la carpeta de bloques del programa STEP 7. En la última línea del editor AWL, se muestra entonces la longitud de la estructura (UDT) en forma de Bytes.

Figura 02
- La entrada AR_ID del módulo AR_SEND se lleva hacia afuera, y se asignan los atributos del sistema S7_server:='alarm_archiv' y S7_a_type:='ar_send'. De esta forma, el STEP 7 asigna un AR_ID unívoco y consecutivo al crear el FB en el programa. Las siguientes 2 imágenes muestran la interfase del módulo para el SCL y el AWL.
| SCL |
AWL |
  Figura 03 |
  Figura 04 |
- Las siguientes 2 imágenes muestran un extracto del programa del módulo en SCL y AWL.
| CFC |
AWL |
  Figura 05 |
  Figura 06 |
Si se utiliza el módulo en el programa de STEP 7, se puede averiguar la fecha/hora actual del sistema con ayuda del SFC1 (READCLK - Read System Clock) y guardarla en un módulo de datos global. Esta fecha se puede conectar a la entrada "TimeStamp" del módulo.
El módulo se puede descargar como fuente SCL y AWL.
WinCC_ArSendOnePV.zip ( 3 KB )
La fuente correspondiente se puede insertar en el editor SCL o AWL mediante "Copiar / Pegar". Para compilar esta fuente correctamente, primero hay que definir en la tabla de símbolos los números para el UDT y el FB.

Figura 07
|
| 3 |
Configuración del archivo en el WinCC, controlado por el proceso La configuración de este paso está descrito en profundidad el FAQ indicado arriba con número ID 23629327 o en la ayuda Online del WinCC. Para comprobar la totalidad, se enumeran de nuevo los pasos principales:
- Carpeta de variables del WinCC: Creación del enlace SIMATIC S7 Protocol Suite
- Carpeta de variables del WinCC: Creación de una variable de datos puros de tipo "Acoplamiento de datos de archivo"
- WinCC Tag Logging: Creación de una variable de archivo controlada por el proceso
|
|