Professional Documents
Culture Documents
Ya habiamos visto como leer y escribir la hora en un PLC S7-200, en este caso vamos a verlo con su sucesor 1200, pero el objetivo es ejecutar periodicamente una accin a una hora determinada, para ello usaremos la funcin de leer la fecha y hora del sistema. Lo primero que vamos ha hacer una vez que estamos online con el PLC, va a ser Ajustar hora en el PLC, esta opcin no estaba disponible en todos los 200, sin embargo aqui si que es posible, si observamos en online y diagnostico -> Funciones ->Ajustar Hora, por defecto tiene establecida 01-1-1970, como voy a sincronizarlo con el PC/PG, seleccionamos el controlBox y pulsamos aplicar, con ello ya tenemos el reloj del PLC ajustado
Una vez relaizado el primer paso, vamos a crear una nueva FB, donde donde los parametros de entrada van a ser la hora de inicio y los minutos al igual que la hora de finalizacin y los minutos, como va a ser una accin diaria, no nos hace falta saber el dia, en caso necesario habria que adaptar el cdigo. Como parametro de salida tenemos Salida, valga la redundancia y Resultado_RDT, esta variable es el resultado de haber ejecutado la funcion RD_SYS_T, como se ver posteriormente. Como variable estaticas, declaramos una del tipo DTL que nos hace el trabajo de saber,ao,mes,dia,hora,minutos,segundos En este caso tenemos las variables temporales, que su funcin va a ser pasar las horas a minutos y a su vez sumar los minutos correspondientes, esto nos va a facilitar hacer las comparaciones, ya que solo usaremos esa variable para saber si estamos dentro del rango (horario) que nos interesa. El cdigo es el siguiente, donde se ha contemplado una observacin realizada por parte de un compaero, que pasa si antes de ejecutarse se va la tensin y vuelve a los 5 minutos cuando ya ha pasado la hora de inicio, pues en el segundo ELSIF del cdigo se contempla esta opcin y en caso de que pasar, automaticamente se activaria si es el caso. Una vez compilada la funcin ya podemos insertarla en nuestro FC,OB, etc ... y as es como quedaria, y dado por supuesto que las horas y minutos se van ha introducir en su rango, es decir 00:00-23:59 A su vez, tambien podemos observar, el DB asociado al FB de instancia Una vez que se ejecuta en Online podemos observar la FB y los valores que se obtienen de las diferentes funciones
STEP 7 (TIA Portal) -- Creacin de programas S7 -- Elaborar fecha / hora y contadores
Cmo hay que realizar la declaracin de los temporizadores y contadores en STEP 7 (TIA Portal) V12 para el S7-1500?
Qu funciones estn disponibles en STEP 7 V5.5 y TIA Portal V11 para elaborar los tipos de datos DT y DTL? En STEP 7 (TIA Portal) V11, cmo se puede planificar un evento de programa para un S7-1200? Cmo se puede introducir la fecha y hora en el STEP 7 (TIA Portal) V11 para los equipos S7300/400/1200, leerse y continuar editndola? Por qu no se
actualiza el estado online del temporizador en el STEP 7 (TIA Portal) V11? Cmo se implementa en el STEP 7 V11 un reloj semanal para el SIMATIC S7-1200? Cmo se calcula en el STEP 7 V11 el tiempo de servicio de un equipo final (por ejemplo, una bomba)?
Cmo hay que realizar la declaracin de los temporizadores y contadores en STEP 7 (TIA Portal) V12 para el S7-1500? Mostrar referencias Descripcin En este artculo se describe el tema "Utilizacin de temporizadores en el programa" y se muestran los diferentes procedimientos con STEP 7 V5.x y STEP 7 (TIA Portal) V12.
Procedimiento con STEP 7 V5.x Por motivos de compatibilidad con el STEP 5, en STEP 7 se dispone de la posibilidad de utilizar temporizadores y contadores S5. Estos temporizadores y contadores son globales y se direccionan a travs de un nmero. Al arrancar el temporizador/contador y al llamar al modo "Rango de valores" y "Precisin", se define por ejemplo si el temporizador se comportar con retardo a la conexin o el contador debe contar de manera ascendente. Al llamarlos y parametrizarlos hay que tener en cuenta las siguientes propiedades del sistema: Los programas dependen de la numeracin de manera fija. Los bloques con temporizadores / contadores S5 no se pueden utilizar varias veces. El rango de valores del temporizador est limitado a 9990 segundos y el del contador a un mximo de 999. Las bases de tiempo son las siguientes: 0.01 .. 9.99, 0.1 99.9, 1 999, 10 9990 segundos. La precisin del temporizador depende de la base seleccionada.
Procedimiento con TIA Portal Declare los temporizadores y contadores en el bloque en el que se llaman o se utilizan. Los temporizadores IEC tiene una estructura de tipo IEC-TIMER, IEC-LTIMER, TON_TIME, o TON_LTIME, la cual tambin se puede declarar como variable local dentro de un bloque. Ventajas Los bloques se pueden llamar varias veces con nuevos bloques de datos de instancia creados. Los bloques disponen de un rango de contaje superior y la precisin del temporizador ya no depende de la base de tiempo. Los temporizadores IEC tienen mejor rendimiento en comparacin con los temporizadores S5. La figura 01 muestra 2 ejemplos de este procedimiento: el temporizador IEC "SwitchDelay" se ha declarado como variable local de tipo "TON_TIME" y el contador IEC "CountDB" se ha declarado como variable local de tipo "CTU_INT".
Figura 01 Indicacin sobre seguridad Atencin Las funciones y soluciones descritas en este artculo se limitan principalmente a la implementacin de la tarea de automatizacin. Por favor, tenga adems en cuenta tomar las correspondientes medidas de proteccin respecto a la seguridad en Internet, al conectar su instalacin con otras partes de la instalacin, la red de la empresa o Internet. Informacin adicional al respecto est disponible en la pgina del Customer Support con nmero ID 50203404. Entorno de creacin Las imgenes de este FAQ se han creado con el producto STEP 7 V12. Qu funciones estn disponibles en STEP 7 V5.5 y TIA Portal V11 para elaborar los tipos de datos DT y DTL? Mostrar referencias Descripcin Para extraer y elaborar los valores de ao, mes, da y hora del tipo de datos "DATE_AND_TIME", se necesitan diferentes instrucciones y funciones en STEP 7 (TIA Portal) V11 y STEP 7 V5.5. Estas instrucciones estn disponibles en la paleta "Instrucciones ampliadas" y "Fecha y hora" del STEP 7 V11. Para STEP 7 V5.5 se necesitan las funciones
Figura 01 La figura 01 muestra las diferentes funciones que se necesitan para extraer los diferentes formatos de datos (TOD, DATE, INT, DINT y TIME) del tipo de datos DT o DTL. La siguiente tabla contiene un resumen de las funciones para cada una de las versiones de STEP 7 y para
las CPUs:
STEP 7 V5.5
Descripcin
S7-300/400
S7-1200
S7-300/400
WR_SYS_T WR_SYS_T SFC 0 "SET_CLK" Ajuste de la fecha/hora RD_SYS_T RD_SYS_T SFC 1 "READ_CLK" T_CONV T_CONV * FC 6 DT_DATE Conversin y extraccin de los valores de tiempo FC 7 DT_DAY Conversin y extraccin de los valores de tiempo FC 8 DT_TOD Conversin y extraccin de los valores de tiempo T_COMBINE T_COMBINE FC3 D_TOD_DT T_COMP T_ADD T_SUB T_ADD T_SUB FC 9 "EQ_DT" Agrupacin de los valores de tiempo Comparacin de los valores de tiempo Lectura de la fecha/hora
FC 1 "AD_DT_TM" Suma de valores de tiempo FC 34 "SB_DT_DT" FC35 "SB_DT_TM" Resta de valores de tiempo Resta de valores de tiempo
T_DIFF
T_DIFF
Diferencia entre el tipo de datos DT y el tipo de datos DTL: El tipo de datos "DT" guarda los datos de la fecha y hora en formato BCD, es decir, con una longitud de 8 bytes. Una variable de tipo de datos "DTL" tiene una longitud de 12 bytes y guarda los datos de la fecha y hora en una estructura predefinida. Si se declara una variable (por ejemplo, dentro de un bloque de datos) con tipo de datos DTL, se puede acceder a cada uno de los componentes de la estructura de las variables estructuradas.
Figura 02 Informacin detallada adicional sobre las funciones y la parametrizacin est disponible en la ayuda online de cada versin de STEP 7. Para obtener la ayuda, seleccione el bloque y haga clic sobre la tecla "F1". Entorno de creacin Las imgenes de este FAQ se han comprobado con STEP 7 V11 + SP2. En STEP 7 (TIA Portal) V11, cmo se puede planificar un evento de programa para un S71200? Mostrar referencias
Descripcin Esta entrada incluye la descarga "ClockAlarm_V11 SP2.zip" que se puede usar para planificar un evento de programa en el S7-1200. Hay que descargar y descomprimir el fichero en un directorio independiente del disco duro y abrir entonces la pestaa de tareas "Libreras" del
TIA Portal. Aadir lalibrera "ClockAlarm_V11 SP2" a la librera global. Con la instruccin "ClockAlarm" es posible planificar eventos una vez, o cada ao, mes, da, hora, minuto o segundo. La instruccin "ClockAlarm" comprueba la hora del sistema frente a los parmetros configurados. Ejemplo Usar la instruccin "ClockAlarm" para configurar un evento diario a las 4.30 p.m. hora local. En la tabla "parmetros de ClockAlarm" dada ms abajo se ofrece informacin detallada sobre todos los parmetros. Habilitar las entradas "Enable hour", "Enable minute" y "Local time" (poner estas entradas a "1"). Ajustar la entrada "Hour" a "16" y la entrada "Minute" a "30". Deshabilitar todas las dems entradas (poner estos parmetros a "0"). Conectar la salida "OUT" con una variable de tipo de dato "Bool" a su eleccin (por ejemplo, la M2.0 "WakeUp"). Conectar la salida "Out_of_Range" con una variable de tipo de dato "Bool" a su eleccin (por ejemplo, la M2.1 "OutOfRange"). En consecuencia, esta salida digital est programada a las 4.30 p.m. hora local cada da. Vase la figura 01 para obtener ms detalles.
Fig. 01 La siguiente tabla proporciona informacin sobre los parmetros de la instruccin "ClockAlarm".
Contacto
Parmetro
Entrada Entrada
UInt Bool
Entrada
Month
UInt Bool
Entrada Entrada
USInt Bool
Entrada Entrada
USInt Bool
Entrada
Minute
USInt Bool
Entrada Entrada
USInt Bool
Entrada
Week
USInt Bool
1...7; "-1" = da de la semana, "1" = Domingo 1" = Habilitar evaluacin de semana, "0" = Deshabilitar (no supervisado)
Entrada Salida
Bool Bool
"1" = Hora local; "0" = Hora del sistema La fecha y hora actuales se corresponden con los valores de consigna
Salida
Out_of_Range
Bool
Al menos hay una entrada no vlida; si "Out_of_Range" = 1, la salida "ENO" se pone a "false" (cero).
ClockAlarm_V11_SP2.zip ( 695 KB ) Requisitos S7-1200 Cable Ethernet PG / PC STEP 7 (TIA Portal) V11 + SP2
Cmo se puede introducir la fecha y hora en el STEP 7 (TIA Portal) V11 para los equipos S7-300/400/1200, leerse y continuar editndola? Mostrar referencias Descripcin Para poder ajustar o leer la fecha y hora de los relojes de las CPUs, se necesita el tipo de datos "DT" (DATA_AND_TIME) para el S7-300/400 y el tipo de datos "DTL" para el S7-1200. El tipo de datos "DT" guarda los datos de la fecha y hora en formato BCD, es decir, con una longitud de 8 bytes. Una variable de tipo "DTL" tiene una longitud de 12 bytes y guarda los datos para la fecha y hora en una estructura predefinida. Informacin adicional sobre os tipos de datos est disponible en la ayuda online del STEP 7 V11, bajo los conceptos "DT (DATE_AND_TIME)" y "DTL". La siguiente tabla es un resumen de las instrucciones necesarias para ajustar y leer la fecha y
Instruccin
WR_SYS_T Ajusta la fecha y hora del reloj de la CPU. La introduccin de los datos se realiza en el formato de datos DT (DATA_AND_TIME) en la entrada IN de la instruccin. RD_SYS_T Lee la fecha y hora actual del reloj de la CPU. Los datos ledos se muestran en formato DT en la salida OUT de la instruccin. T_CONV Esta instruccin convierte el tipo de datos DT en los siguientes tipos de datos: DATE: para la fecha actual, INT: para el da de la semana, TOD (TIME_OF_DAY): para la hora actual.
T_COMBINE Agrupa los formatos de datos DATE y TIME_OF_DAY (TOD) y los convierte al formato de datos DATE_AND_TIME (DT). Instruccin En las CPUs del S7-1200
WR_SYS_T Ajusta la fecha y hora del reloj de la CPU. La introduccin de los datos se realiza en el formato de datos DTL en la entrada IN de la instruccin. RD_SYS_T Lee la fecha y hora actual del reloj de la CPU. Los datos ledos se muestran en el formato de datos DTL en la salida OUT de la instruccin.
Tabla 01 Los datos para la fecha, da de la semana y hora se extraen del tipo de datos DT en el S7 300/400, con ayuda de la instruccin "T_CONV". Para ello, hay que llamar 3 veces a la instruccin. El parmetro "IN" se parametriza con variables del tipo de datos "DT" y el parmetro "OUT" se parametriza con las variables definidas del tipo de datos "DATE", "INT" y "TOD". 1. Conversin de tipo "DT" a tipo "DATE" (para la fecha)
2. Conversin de tipo "DT" a tipo "INT" (para el da de la semana) 3. Conversin de tipo "DT" a tipo "TOD" (para la hora) En el S7-1200 se puede acceder directamente de manera simblica a los componentes de la estructura de las variables DTL, sin tener que direccionarlas de manera indirecta o sin tener que programarlas con direcciones absolutas. Recomendamos guardar los datos en un bloque de datos global. Declare sus variables en este bloque de datos, por ejemplo nombre "DateTime" con el tipo de datos "DTL", y tras realizar la entrada haga clic sobre el smbolo de la flecha junto a la variable. Los componentes de la estructura (YEAR, MONTH, DAY, ...) se muestran a continuacin con sus tipos de datos debajo de las va riables DTL.
Figura 01 El proyecto "STEP7_TIA_Portal_V11_DataTime" contiene una estacin S7-300 (CPU 3172PN/DP) y una estacin S7-1200 (CPU 1214 DCDCDC). Estacin S7-300 La funcin FC20 contiene la llamada a la instruccin "RD_SYS_T" en el primer segmen to, para leer la fecha y hora del reloj de la CPU. En el segundo segmento se realiza la extraccin de los tipos de datos "DATE", "INT" y "TOD" del formato "DT", con ayuda de la instruccin "T_CONV". Con ayuda del programa en la funcin FC21, se ajusta la fecha y hora para el reloj de la CPU por medio de la instruccin "WR_SYS_T". Pero para ello, antes hay que agrupar los formatos "DATE" y "Time_of_Day" en el formato "Date_and_Time", con ayuda de la instruccin "T_COMBINE". Los parmetros se parametrizan con ayuda de las variables de los bloques de datos "Read_DT" (para leer los datos) y Write_DT (para escribir los datos). Estacin S7-1200 Con ayuda de las instrucciones "RD_SYS_T" (llamada en el FC1) y "WR_SYS_T" (llamada en el OB1) se ajusta y se lee el reloj de la CPU 1214 DCDCDC. La variable "DB_Set.DateTime" del DB de entrada (para escribir los datos) y la variable "DBStore1.DateTime" del DB de
salida (para leer los datos) son de tipo de datos "DTL". En el programa ejemplo, se han programado 5 variables DTL como tiempos de conexin en 5 das de la semana. De lunes a viernes, la variable "Access_On" (A0.0) tiene el valor "True" de 9:00 a 9:15 horas. El tiempo restante de la semana tiene el valor "False".
Simblico
Comentario
DBStore1.DateTime.WEEKDAY Lectura del da de la semana, por ejemplo "2" para el lunes DBStore1.DateTime.HOUR DBStore1.DateTime.MINUTE Lectura de la hora, por ejemplo "14" para las 14 horas Lectura de los minutos, por ejemplo "24" para el minuto 24
Tabla 02 Accediendo a los componentes de la estructura (por ejemplo, da de la semana, hora o minutos), se pueden programar las tareas de automatizacin necesarias junto con las funciones de comparacin y de salto del STEP 7. 1. En el segmento 1 de la funcin FC1 "DTL_Access" se lee la fecha y hora actual con ayuda de la funcin "RD_SYS_T". 2. Los segmentos 2 a 4 contienen las operaciones "IN_RANGE" y los comparadores "CMP", con los que se consultan los datos dentro de rangos definidos. En este ejemplo estos rangos son los das entre el 2 y el 6, las horas entre las 9 y las 10, y los minutos entre 0 y 15. 3. Si se cumplen todas las condiciones programadas y se cumple tambin la liberacin con la variable "Release", la variable "Access_On" en el segmento 5 recibe la seal "True". 4. Si no se cumple alguna de las condiciones, la seal de la variable "Access_On" se mantiene en "False" (segmento 6) o se resetea. Descarga la descarga adjunta contiene el proyecto de STEP 7 V11 con las funciones arriba descritas. Copie el archivo "STEP7_TIA_Portal_V11_DataTime.zip" en un directorio aparte y a continuacin arranque el archivo haciendo doble clic sobre l. Con ello se descomprime automticamente el proyecto con todos sus subdirectorios. A continuacin ya se puede abrir y elaborar el proyecto descomprimido con ayuda del STEP 7 V11. El programa contiene
STEP7_TIA_Portal_V11_DataTime.zip ( 3186 KB ) Entorno de creacin Las imgenes y descargas de este FAQ se han comprobado con el STEP 7 V11 + SP2. Por qu no se actualiza el estado online del temporizador en el STEP 7 (TIA Portal) V11? Mostrar referencias
Descripcin: Cuando un temporizador no est completamente conectado, no se actualiza el valor de su estado Online. Procedimiento: Para que se actualice el estado Online del temporizador utilizado, se tiene que conectar un contacto a la salida Q del temporizador, una variable del PLC en ET o a concatenar ambos.
Figura 01 Conceptos de bsqueda: S7-1200, temporizador Cmo se implementa en el STEP 7 V11 un reloj semanal para el SIMATIC S7 -1200? Mostrar referencias Descripcin:
Con ayuda de la librera global "S7-1200_WeeklyTimer" aqu suministrada, se puede implementar la funcin de un reloj semanal en el STEP 7 V11. Instrucciones La librera global "S7-1200_WeeklyTimer" consta de 3 plantillas:
Componentes Descripcin Cams_data Mdulo de datos con las variables necesarias para la asignacin al FB "WeeklyTimer" WeeklyTimer Mdulo de funcin para el control de una salida binaria, dependiendo de un tiempo semanal de conexin y desconexin parametrizable.
Cam
Tipo de datos para asignar un tiempo semanal de conexin y desconexin parametrizables (levas)
Time
Tipo de datos para asignar un tiempo semanal parametrizable (hora de conexin o desconexin)
Watch table
Watch table_1
Descripcin
DTL Bool
Asignacin del formato de fecha/hora actual en formato DTL Salida binaria que se controla en funcin del tiempo semanal de conexin y desconexin (Cam)
Nombre del Nombre del Tipo de tipo de datos Cam On Time Off Time Time Weekday "Time" "Time" Array [1..7] de Bool elemento datos
Descripcin
Instante semanal de conexin de levas Instante semanal de desconexin de levas Seleccin del da de la semana (la seleccin mltiple es posible; si no esta seleccionado ningn da de la semana, se desactivan los puntos del tiemepo de conexin o desconexin)
Hour
USInt
Minute
USInt
Descripcin de la funcionalidad
El reloj semanal "S7-1200_WeeklyTimer" est implementado en forma de mdulo de funcin. Consta de una leva de conexin "Cam", a travs de la cual se puede parametrizar una ventana temporal. A travs de las levas se indican los puntos de conexin "On Time" y los puntos de desconexin "Off Time", indicado en forma del da de la semana deseado (1 = domingo... 7 = sbado), de la hora (0...23) y del minuto (0...59). Asigne los ajustes de las levas a travs de la entrada "Cam". Seleccione como preajuste el tipo de datos "Cam" de un mdulo de datos global, con la parametrizacin a travs de los valores de inicio. Asigne en la entrada "DTL" la fecha/hora actual con la que se deben comparar los ajustes de las levas. Para su lectura, seleccione las instrucciones de fecha y hora ampliadas "RD_SYS_T" o "RD_LOC_T". En el instante de conexin, el reloj semanal conecta (activa) la salida "OUT" en caso de que todava no este conectada. El reloj semanal resetea la salida en el instante de desconexin. Particularidades en la programacin Es posible la seleccin mltiple de das de la semana. La duracin mnima de conexin es de 1 minuto. Si no se ha seleccionado ningn da de la semana para el instante de conexin o desconexin, la fecha/hora parametrizada es irrelevante. Si los instantes de conexin y desconexin son idnticos (da de la semana y hora), tiene preferencia el reseteo de la salida. Si se necesitan varias levas, llame de nuevo al FB "S7-1200_WeeklyTimer" y conecte las salidas a travs de una asignacin OR. Proyecto ejemplo La descarga "S7-1200_WeeklyTimer_project.zip" contiene un proyecto ejemplo con las asignaciones de levas: Leva 1: Leva 2: Lunes de las 08:00 horas hasta el martes 04:15 horas Sbado y domingo de las 16:30 hasta las 23:10
Cdigo
S7-1200_WeeklyTimer.zip ( 602 KB )
Advertencia
El Service Pack 1 para el STEP 7 V11 se puede descarar desde la pgina del Customer Support con nmero ID 51696778. Requisitos S7-1200 (a partir del Firmware V2.0) Cable Ethernet STEP 7 (Professional o Basic) V11 + SP1
Cmo se calcula en el STEP 7 V11 el tiempo de servicio de un equipo final (por ejemplo, una bomba)? Mostrar referencias Descripcin: Para calcular el tiempo de servicio de un equipo, lea 2 veces consecutivas la fecha y la hora actual de la CPU utilizando para ello la instruccin ampliada "RD_SYS_T". El tiempo calculado es la diferencia de ambos datos ledos, indicados en formato DTL. La figura 01 muestra un ejemplo para el clculo del tiempo de servicio.
Figura 01 1 caso: Ambos operandos ("StartTime" y "StopTime") tienen el valor "0". Ambas instrucciones "RD_SYS_T" leen simultneamente la fecha y hora actual de la CPU. Por eso, la diferencia calculada de ambos tiempos con la instruccin "T_DIFF" es cero. El valor de la variable de salida "Time" en la instruccin "T_DIFF" se resetea a cero.
2 caso: Comienzo de la medida de tiempo. El operando "StartTime" tiene el valor "1" y el operando "StopTime" tiene el valor "0".
El contacto de apertura "StartTime" es abierto y se interrumpe la lectura de la fecha/hora de la CPU con la instruccin "RD_SYS_T" conectada en serie. El ltimo valor ledo en la fecha/hora de la CPU se guarda en la variable temporal "TimeBase".
La segunda instruccin "RD_SYS_T" sigue activa y los datos se guardan en la variable temporal "TimeEnd". El clculo de la diferencia entre los valores temporales de ambas variables, "TimeBase" y "TimeEnd", se realiza con ayuda de la instruccin "T_DIFF" y la salida de los tiempos se suma en la variable de salida "Time".
Figura 02 3 caso: Final de la medida de tiempo. Los operandos "StartTime" y "StopTime" tienen el valor "1". Ambos contactos de apertura, "StartTime" y "StopTime", estn abiertos y por tanto se interrumpe la lectura de la fecha/hora de la CPU con ambas instrucciones "RD_SYS_T". El ltimo valor ledo en la fecha/hora de la CPU se guarda en la variable temporal "TiemEnd".
El clculo de la diferencia entre los ltimos valores temporales de ambas variables, "TimeBase" y "TimeEnd", se realiza con ayuda de la instruccin "T_DIFF" y el resultado se transfiere como tiempo de ejecucin a la variable de salida "Time".
Informacin adicional sobre las instrucciones ampliadas est disponible en la ayuda Online del STEP 7 V11, para ello marque primero la instruccin y luego pulse la tecla "F1". Entorno de creacin Las imgenes de este FAQ se han creado con el STEP 7 V11.0.