Documente Academic
Documente Profesional
Documente Cultură
Unity Pro
Estndar Librera de bloques
05/2010
33002522.09
www.schneider-electric.com
La informacin que se ofrece en esta documentacin contiene descripciones de carcter general y/o caractersticas tcnicas sobre el rendimiento de los productos incluidos en ella. La presente documentacin no tiene como objetivo sustituir ni debe emplearse para determinar la idoneidad o fiabilidad de dichos productos para aplicaciones de usuario especficas. Los usuarios o integradores tienen la responsabilidad de llevar a cabo un anlisis de riesgos adecuado y exhaustivo, as como la evaluacin y pruebas de los productos en relacin con la aplicacin o uso en cuestin de dichos productos. Ni Schneider Electric ni ninguna de sus filiales o asociados asumirn responsabilidad alguna por el uso inapropiado de la informacin contenida en este documento. Si tiene sugerencias para mejoras o modificaciones o ha hallado errores en esta publicacin, le rogamos que nos lo notifique. No se podr reproducir este documento de ninguna forma, ni en su totalidad ni en parte, ya sea por medios electrnicos o mecnicos, incluida la fotocopia, sin el permiso expreso y por escrito de Schneider Electric. Al instalar y utilizar este producto es necesario tener en cuenta todos los sistemas de seguridad relacionados, ya sean regionales, locales o estatales. Por razones de seguridad y para garantizar que se siguen los consejos de la documentacin del sistema, las reparaciones slo podr realizarlas el fabricante. Cuando se utilicen dispositivos para aplicaciones con requisitos tcnicos de seguridad, siga las instrucciones pertinentes. Si no se utiliza el software de Schneider Electric o un software compatible con nuestros productos de hardware pueden producirse daos, lesiones o un funcionamiento inadecuado del equipo. Si no se tiene en cuenta esta informacin se pueden causar daos personales o en el equipo. 2010 Schneider Electric. Reservados todos los derechos.
33002522 05/2010
Tabla de materias
13 15
Parte I Generalidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 1 Tipos de bloques y utilizacin. . . . . . . . . . . . . . . . . . . . .
Tipos de bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estructura de FFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EN y ENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
19
20 22 25
29
29
Parte II Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 3 ADD_***_***: Adicin de un nmero a elementos de una matriz o adicin de dos matrices . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
41
41
45
45
49
49
53
53
57
57
59
59
Captulo 9 FIND_EQP_***: Primer elemento de una matriz igual a un valor comenzando por un rango determinado . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
Captulo 10 FIND_GT_***: Primer elemento de una matriz mayor que un valor determinado . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002522 05/2010
67
67
3
Captulo 11 FIND_LT_***: Primer elemento de una matriz menor que un valor determinado . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
71
75
75
79
79
81
81
83
83
87
87
89
89
91
91
95
95
97
97
99
99
103
103
105
105
107
107
109
109
113
113
115
115
117
117
33002522 05/2010
121
123
124 125 126 127 128
129
130 134
137
137
141
141
Parte IV Comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 33 EQ: Igual a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
147
149
149
151
151
153
153
155
155
157
157
159
159
161
163
163
167
167
169
169
171
171
173
173
33002522 05/2010
177
179
179
183
183
185
187
187
189
189
191
191
193
193
195
195
197
197
199
199
201
201
203
203
205
205
207
207
209
209
211
211
213
213
215
215
217
217
33002522 05/2010
219
219
221
223
223
225
225
227
227
229
229
231
231
233
233
235
235
237
237
239
239
241
241
243
243
245
245
247
247
249
249
251
251
253
253
255
255
257
257
33002522 05/2010
259
259
261
261
263
263
265
265
267
267
269
269
271
271
Parte IX Estadstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 88 AVE: Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
273
275
275
279
279
281
281
285
285
287
287
289
289
293
293
295
297
297
299
299
301
301
303
303
33002522 05/2010
305
305
309
309
311
311
313
313
315
315
319
319
321
323
323
327
327
331
331
335
335
337
337
339
339
341
345
345
Captulo 112 ARINT_TO_DT: Conversin de matriz de enteros con fecha y hora en una variable DT . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
347
347
Captulo 113 ARINT_TO_TOD: Conversin de matriz de enteros con hora del da en una variable TOD . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
349
349
351
351
355
355
9
359
359
361
361
363
363
365
365
367
367
369
369
371
371
375
375
Captulo 124 DATE_TO_STRING: Conversin de una variable en formato DATE a una cadena de caracteres. . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
377
377
379
379
381
381
383
383
385
385
Captulo 129 DINT_TO_DBCD: Conversin de un entero doble en cdigo binario a un entero decimal doble con codificacin binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
389
389
391
391
Captulo 131 DT_TO_STRING: Conversin de una variable en formato DT a una cadena de caracteres . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
393
393
10
33002522 05/2010
395
395
Captulo 133 GRAY_TO_INT: Conversin de un entero en cdigo Gray en un entero con codificacin binaria. . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
397
397
Captulo 134 INT_AS_DINT: Concatenacin de dos enteros para formar un entero doble . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
399
399
401
401
Captulo 136 INT_TO_BCD: Conversin de un entero en cdigo binario a un entero decimal con codificacin binaria. .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
405
405
Captulo 137 INT_TO_DBCD: Conversin de un entero en cdigo binario a un entero decimal doble con codificacin binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
407
407
409
409
411
411
413
413
417
417
421
421
425
425
Captulo 144 STRING_TO_***: Conversin de una cadena de caracteres a un nmero de tipo INT, DINT o REAL . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
429
429
431
431
433
433
Captulo 147 TIME_TO_STRING: Conversin de una variable en formato TIME a una cadena de caracteres. . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
435
435
33002522 05/2010
11
437
437
Captulo 149 TOD_TO_STRING: Conversin de una variable en formato TOD a una cadena de caracteres . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
439
439
441
441
443
443
447
447
451
451
453
453
455
455
457
457
459
459
461
461
463
463
465
465
Apndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Apndice A Cdigos y valores de error de EFB . . . . . . . . . . . . . . . . .
Tabla de cdigos de error de la librera base . . . . . . . . . . . . . . . . . . . . . Errores comunes de coma flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
467
469
470 472
473
474 475 477 480 486
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
489 511
33002522 05/2010
Informacin de seguridad
Informacin importante
AVISO Lea atentamente estas instrucciones y observe el equipo para familiarizarse con el dispositivo antes de instalarlo, utilizarlo o realizar su mantenimiento. Los mensajes especiales que se ofrecen a continuacin pueden aparecer a lo largo de la documentacin o en el equipo para advertir de peligros potenciales o para ofrecer informacin que aclara o simplifica los distintos procedimientos.
33002522 05/2010
13
TENGA EN CUENTA La instalacin, manejo, puesta en servicio y mantenimiento de equipos elctricos debern ser realizados slo por personal cualificado. Schneider Electric no se hace responsable de ninguna de las consecuencias del uso de este material. Una persona cualificada es aquella que cuenta con capacidad y conocimientos relativos a la construccin, el funcionamiento y la instalacin de equipos elctricos y que ha sido formada en materia de seguridad para reconocer y evitar los riesgos que conllevan tales equipos.
14
33002522 05/2010
Presentacin
Objeto En este documento se describen las funciones y los bloques de funciones de la librera estndar. Campo de aplicacin Este documento es vlido para Unity Pro a partir de la versin 5.0. Comentarios del usuario Enve sus comentarios a la direccin electrnica techcomm@schneiderelectric.com.
33002522 05/2010
15
16
33002522 05/2010
Generalidades
I
Vista general Esta seccin contiene informacin general sobre la biblioteca estndar. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 1 2 Nombre del captulo Tipos de bloques y utilizacin Disponibilidad de los bloques en diferentes plataformas de hardware Pgina 19 29
33002522 05/2010
17
Generalidades
18
33002522 05/2010
1
Vista general Este captulo describe los distintos tipos de bloques y su utilizacin. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Tipos de bloques Estructura de FFB EN y ENO Pgina 20 22 25
33002522 05/2010
19
Tipos de bloques
Tipos de bloques En Unity Pro se utilizan distintos tipos de bloques. El trmino general que abarca los tipos de bloques es FFB. Debemos distinguir los siguientes tipos de bloques: Funcin elemental (EF) z Bloques de funciones elementales (EFB) z Bloque de funciones derivado (DFB) z Procedimiento
z
NOTA: Los bloques de funciones de movimiento no estn disponibles en la plataforma Quantum. Funcin elemental
ATENCIN
COMPORTAMIENTO INESPERADO DEL EQUIPO No utilice enlaces para conectar salidas de bloques de funciones cuando la aplicacin dependa de los datos de salida persistentes de una EF. Si no se siguen estas instrucciones pueden producirse lesiones personales o daos en el equipo. Las funciones elementales (EF) no disponen de estado interno y solo cuentan con una salida. Si en las entradas aparecen los mismos valores, el valor de la salida ser el mismo cuando se ejecute la funcin; por ejemplo, siempre que se ejecuta la suma de dos valores, el resultado es el mismo. En los lenguajes grficos (FBD y LD), una funcin elemental se representa como un bloque de datos con entradas y una salida. En l, las entradas aparecen a la izquierda y las salidas a la derecha. El nombre de la funcin, es decir, el tipo de funcin, aparece centrado dentro del bloque de datos. El nmero de entradas puede aumentarse con algunas funciones elementales. NOTA: La desactivacin de una EF (EN=0) ocasiona el reinicio de los enlaces conectados a su entrada/salida. No utilice un enlace para transferir el estado de la seal. Una variable debe conectarse a la salida de la EF y utilizarse para conectar la entrada del elemento.
20
33002522 05/2010
Bloques de funciones elementales Los bloques de funciones elementales (EF) tienen estados internos. Si las entradas disponen del mismo valor, el valor de la salida puede variar cada vez que se ejecuten los bloques de funciones. Por ejemplo, con un contador aumenta el valor de la salida. En los lenguajes grficos (FBD y LD), un bloque de funciones elementales se representa como un bloque de datos con entradas y salidas. En l, las entradas aparecen a la izquierda y las salidas a la derecha. El nombre del bloque de funciones, es decir, el tipo de bloque de funciones, aparece centrado dentro del bloque de datos El nombre de la instancia aparece encima del bloque de datos. Bloques de funciones derivados Los bloques de funciones derivados (DFB) presentan las mismas propiedades que los bloques de funciones elementales. Sin embargo, el usuario los crea en los lenguajes de programacin FBD, LD, IL o ST. Procedimiento Los procedimientos son funciones con distintas salidas. No disponen de estado interno. La nica diferencia con las funciones elementales es que los procedimientos pueden tener ms de una salida y admiten variables del tipo de datos VAR_IN_OUT. Los procedimientos no devuelven ningn valor. Los procedimientos son una ampliacin de la norma CEI 61131-3 y se deben habilitar de forma explcita. Los procedimientos no se distinguen visualmente de las funciones elementales.
33002522 05/2010
21
Estructura de FFB
Estructura Cada FFB est compuesto por una operacin (nombre del FFB), los operandos necesarios para la operacin (parmetros formales y reales) y, en el caso de los bloques de funciones elementales o derivados, un nombre de instancia. Para llamar a un bloque de funciones en el lenguaje de programacin FBD:
ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN No llame varias veces la misma instancia de bloques dentro del ciclo de un PLC Si no se siguen estas instrucciones pueden producirse lesiones personales o daos en el equipo. Para llamar formalmente a un bloque de funciones en el lenguaje de programacin ST:
22
33002522 05/2010
Operacin La operacin establece la funcin que debe ejecutar el FFB, por ejemplo, registro de desplazamientos u operaciones de conversin. Operando El operando especifica con qu se debe ejecutar la operacin. En el caso de los FFB, se trata de parmetros formales y reales. Parmetros formales y parmetros reales Las entradas y salidas se necesitan para transferir valores desde y hasta un FFB. Se conocen como parmetros formales. A los parmetros formales se les vinculan objetos que contienen los estados actuales del proceso. Se conocen como parmetros reales. Los valores del proceso se transfieren al FFB a travs de los parmetros actuales durante el tiempo de ejecucin del programa y se vuelven a emitir despus del procesamiento. El tipo de datos del parmetro actual debe ser el mismo que el de la entrada o salida (parmetros formales). Las nicas excepciones son las entradas y salidas genricas, cuyo tipo de datos se determina mediante el parmetro real. Si los parmetros reales constan de literales, se selecciona un tipo de dato apropiado para el bloque de funciones. Llamada de un FFB en IL/ST En los lenguajes de texto IL y ST, los FFB pueden llamarse en formato formal e informal. Si desea ms informacin, consulte el Manual de referencia. Ejemplo de una llamada de funcin formal: out:=LIMIT (MN:=0, IN:=var1, MX:=5); Ejemplo de una llamada de funcin informal: out:=LIMIT (0, var1, 5); NOTA: La utilizacin de EN y ENO slo es posible para las llamadas formales.
33002522 05/2010
23
Variable VAR_IN_OUT A menudo, los FFB se utilizan para leer una variable en la entrada (variables de entrada), procesarla y devolver los valores modificados de esta variable (variables de salida). Este caso especfico de variable de entrada/salida tambin se denomina variable VAR_IN_OUT. La correspondencia de las variables de entrada y salida aparece representada con una lnea en los lenguajes grficos (FBD y LD). Bloque de funciones con variable VAR_IN_OUT en FBD:
Bloque de funciones con variable VAR_IN_OUT en ST: MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT, OUT1=>Output1, OUT2=>Output2); Tenga en cuenta las siguientes particularidades al utilizar FFB con variables VAR_IN_OUT: z Hay que asignar obligatoriamente una variable a las entradas VAR_IN_OUT. z No es posible asignar literales o constantes a las entradas/salidas VAR_IN_OUT. Adems, en el caso de los lenguajes grficos (FBD y LD) tambin se aplican las siguientes restricciones: z Las conexiones grficas slo permiten conectar salidas VAR_IN_OUT a entradas VAR_IN_OUT. z Slo es posible enlazar una conexin grfica a una salida/entrada VAR_IN_OUT. z Es posible vincular a la entrada VAR_IN_OUT y a la salida VAR_IN_OUT distintas variables o componentes de variables. En tal caso, el valor de la variable o de su componente en la entrada se copiar en la variable o componente de variable en la salida. z No se puede utilizar ninguna negacin en las entradas/salidas VAR_IN_OUT. z En el caso de las salidas VAR_IN_OUT no es posible combinar una variable/direccin con conexiones grficas.
24
33002522 05/2010
EN y ENO
Descripcin Se puede configurar una entrada EN y una salida ENO para los FFB. Si el valor de EN es "0", al llamar el FFB no se ejecutarn los algoritmos definidos por dicho FFB, y ENO se ajustar a "0". Si el valor de EN es "1", al llamar el FFB se ejecutarn los algoritmos definidos por dicho FFB. Una vez que se han ejecutado los algoritmos correctamente, el valor de ENO pasa a "1". Si se detectan determinadas condiciones de error al ejecutar estos algoritmos, ENO pasa a "0". Si el pin EN no tiene un valor asignado, cuando se llama a FFB, se ejecuta el algoritmo definido por el FFB (del mismo modo que cuando EN es igual a "1"). Consulte Mantener conexiones de salida en EF desactivadas (vase Unity Pro, Modalidades de funcionamiento, ). Si se ejecutan los algoritmos correctamente, el valor de ENO pasa a "1". De lo contrario, el valor de ENO pasa a "0". Si ENO pasa a "0" (porque EN = 0 o bien porque existe una condicin de error detectado durante la ejecucin o una ejecucin incorrecta del algoritmo): z Bloques de funciones z Manipulacin de EN/ENO con bloques de funciones que (slo) tienen un enlace como parmetro de salida:
Si EN de FunctionBlock_1 se define como "0", la conexin de salida OUT de FunctionBlock_1 conserva el estado que tena en el ltimo ciclo ejecutado correctamente. Manipulacin de EN/ENO con bloques de funciones que tienen una variable y un enlace como parmetros de salida:
Si EN de FunctionBlock_1 se define como "0", la conexin de salida OUT de FunctionBlock_1 conserva el estado que tena en el ltimo ciclo ejecutado correctamente. La variable OUT1 del mismo pin conserva su estado anterior o se puede modificar de forma externa sin influir en la conexin. La variable y el enlace se guardan de forma independiente entre s.
33002522 05/2010
25
Funciones/procedimientos Como se define en IEC61131-3, no se han definido las salidas de las funciones desactivadas (entrada EN definida como "0"). (Esto es aplicable a los procedimientos.) A continuacin se explican los estados de salida en este caso: z Manipulacin de EN/ENO con funciones/procedimientos que (slo) tienen un enlace como parmetro de salida:
Si EN de Function/Procedure_1 se establece en "0", la conexin de salida OUT de Function/Procedure_1 tambin se establece en "0". Manipulacin de EN/ENO con bloques de funciones que tienen una variable y un enlace como parmetros de salida:
Si EN de Function/Procedure_1 se establece en "0", la conexin de salida OUT de Function/Procedure_1 tambin se establece en "0". La variable OUT1 del mismo pin conserva su estado anterior o se puede modificar de forma externa sin influir en la conexin. La variable y el enlace se guardan de forma independiente entre s. El comportamiento del FFB no depende de si los FFB se llaman sin EN/ENO o con EN=1.
26
33002522 05/2010
Llamada de FFB condicional/incondicional Las llamadas "incondicionales" o "condicionales" son posibles con cada FFB. La condicin se lleva a cabo vinculando previamente la entrada EN. z EN conectado llamadas condicionales (el FFB slo se procesa si EN = 1) z EN mostrado, ocultado y marcado como TRUE, o mostrado y no ocupado llamadas incondicionales (FFB se procesa de manera independiente de EN) NOTA: Para bloques de funciones deshabilitados (EN = 0) con una funcin de tiempo interna (por ejemplo, DELAY), el tiempo sigue avanzando, ya que se calcula con la ayuda de un reloj del sistema, y por tanto es independiente del ciclo de programa y de la apertura del bloque.
ATENCIN
EQUIPO DE APLICACIN INESPERADO No deshabilite los bloques de funciones con una funcin de tiempo interna durante el funcionamiento. Si no se siguen estas instrucciones pueden producirse lesiones personales o daos en el equipo. Nota para IL y ST El uso de EN y ENO slo es posible en los lenguajes de texto para una llamada FFB formal, por ejemplo, MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2, ENO=>error, OUT1=>result1, OUT2=>result2); La asignacin de variables a ENO se debe llevar a cabo con el operador =>. Con una llamada no formal, EN y ENO no se pueden utilizar.
33002522 05/2010
27
28
33002522 05/2010
Premium + + + + + + + + + + + + + + +
Quantum + + + + + + + + + + + + + + +
29
Nombre del bloque MUL_***_*** NOT_*** OCCUR_*** OR_***_*** ROL_*** ROR_*** SORT_*** SUB_***_*** SUM_*** SWAP_*** XOR_***_*** Leyenda: + -
Premium + + + + + + + + + + +
Quantum + + + + + + + + + + +
S No
30
33002522 05/2010
33002522 05/2010
31
Nombre del bloque Tipo de bloque Definido en la IEC 61131-3 ASIN ATAN COS DEC DIV DIVMOD EXP EXPT_REAL INC LN LOG MOD MOVE MUL NEG SIGN SIN SQRT EF EF EF Procedimiento EF Procedimiento EF EF Procedimiento EF EF EF EF EF EF EF EF EF + + + + + + + + + + + + DINT: INT: REAL: + + + +
M340 + + + + + + + + + + + + + + + + + +
Premium + + + + + + + + + + + + + + + + + +
Quantum + + + + + + + + + + + + + + + + + +
EF EF EF
+ + +
+ + +
+ + +
S No
33002522 05/2010
33
Procedimien to EF EF EF EF + + + +
34
33002522 05/2010
ASCII_TO_STRING_INV EF EF EF EF EF EF
Procedimiento EF EF + +
33002522 05/2010
35
Nombre del bloque DATE_TO_STRING DBCD_TO_*** DEG_TO_RAD DINT_AS_WORD DINT_TO_*** DINT_TO_DBCD DINT_TO_STRING DT_TO_ARINT DT_TO_STRING DWORD_TO_*** GRAY_TO_INT INT_AS_DINT INT_TO_*** INT_TO_BCD INT_TO_DBCD INT_TO_STRING RAD_TO_DEG REAL_AS_WORD REAL_TO_*** REAL_TO_STRING REAL_TRUNC_*** STRING_TO_ASCII STRING_TO_*** TIME_AS_WORD TIME_TO_*** TIME_TO_STRING TOD_TO_ARINT TOD_TO_STRING UDINT_AS_WORD UDINT_TO_*** UINT_TO_*** WORD_AS_BYTE WORD_AS_DINT 36
Tipo de bloque EF EF EF
Premium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Quantum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Procedimiento EF EF EF EF EF EF EF EF EF EF EF EF EF + + + + + + + -
Procedimiento EF EF EF EF + + + +
STRING_TO_ASCII_INV EF EF
Procedimiento EF EF EF EF + + + +
Procedimiento EF EF + +
Procedimiento EF -
33002522 05/2010
Tipo de bloque EF EF EF
Premium + + + + +
Quantum + + + + +
Procedimiento EF +
S No
33002522 05/2010
37
38
33002522 05/2010
Tablas
II
Vista general En esta parte se describen las funciones y blqoues de funcin elementales de la familia Tablas. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Nombre del captulo ADD_***_***: Adicin de un nmero a elementos de una matriz o adicin de dos matrices AND_***_***: Y lgico entre matrices y variables COPY__: Copia en matrices DIV_***_***: Divisin de matrices EQUAL_***: Comparacin de dos matrices FIND_EQ_***: Primer elemento de una matriz igual a un valor determinado FIND_EQP_***: Primer elemento de una matriz igual a un valor comenzando por un rango determinado FIND_GT_***: Primer elemento de una matriz mayor que un valor determinado FIND_LT_***: Primer elemento de una matriz menor que un valor determinado LENGTH_***: Longitud de una matriz MAX_***: Valor mximo de los elementos de la matriz MIN_***: Valor mnimo de los elementos de la matriz MOD_***_***: Resto de la divisin de matrices MOVE_***_***: Asignacin a matrices MOVE_***_***: Conversin de matrices MUL_***_***: Multiplicacin de matrices Pgina 41 45 49 53 57 59 63 67 71 75 79 81 83 87 89 91
33002522 05/2010
39
Tablas
Captulo 19 20 21 22 23 24 25 26 27 28
Nombre del captulo NOT_***: Negacin lgica de matrices OCCUR_***: Aparicin de un valor en una matriz OR_***_***: O lgico entre matrices y variables ROL_***: Desplazamiento hacia la izquierda ROR_***: Desplazamiento hacia la derecha SORT_***: Orden ascendente o descendente SUB_***_***: Resta de matrices SUM_***: Suma de los elementos de la matriz SWAP_***: Permutacin de los bytes de una matriz XOR_***_***: O exclusivo entre matrices
40
33002522 05/2010
Descripcin
Descripcin de la funcin La funcin ADD_***_*** aade un nmero a los elementos de una matriz o une dos matrices. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles para aadir un nmero a los elementos de una matriz son las siguientes:
z z
ADD_ARINT_INT (adicin de cada elemento de una matriz de INT a un INT) ADD_ARDINT_DINT (adicin de cada elemento de una matriz de DINT a un DINT)
Las funciones disponibles para aadir los elementos de una matriz a los de otra son las siguientes:
z z
ADD_ARINT (suma de los respectivos elementos de ambas matrices INT) ADD_ARDINT (suma de los respectivos elementos de ambas matrices DINT)
33002522 05/2010
41
ADD_***_***
Representacin en IL Representacin aplicada a la suma de un entero y una matriz de enteros: LD Input_IN1 ADD_ARINT_INT Input_IN2 ST Array1 Representacin en ST Representacin aplicada a la suma de un entero y una matriz de enteros: Array1 := ADD_ARINT_INT(Input_IN1,Input_IN2);
42
33002522 05/2010
ADD_***_***
Input_IN2
Errores de ejecucin La gestin del bit de sistema %S18 (vase pgina 477) es igual a la de las operaciones en palabras o palabras dobles. Si una operacin entre dos elementos define el bit %S18 (vase pgina 477) (desborde o divisin por cero), el resultado de dicha operacin no es correcto, pero la operacin se efecta de forma correcta sobre los siguientes elementos.
33002522 05/2010
43
ADD_***_***
44
33002522 05/2010
Descripcin
Descripcin de la funcin La funcin AND_***_*** lleva a cabo un Y lgico (bit a bit) entre:
z z z
los elementos de dos matrices, una variable de tipo nico y los elementos de una matriz, o los elementos de una matriz y una variable de tipo nico.
NOTA: El resultado es siempre una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles en la biblioteca general son:
z z z z z
AND_AREBOOL (Y lgico de dos matrices EBOOL) AND_ARWORD (Y lgico de dos matrices WORD) AND_ARWORD_WORD (Y lgico de cada elemento de una matriz WORD con un WORD) AND_ARWORD_WORD (Y lgico de cada elemento de una matriz DWORD con un DWORD) AND_ARDWORD (Y lgico de dos matrices DWORD). AND_ARINT_INT (Y lgico de cada elemento de una matriz INT con un INT) AND_ARDINT_DINT (Y lgico de cada elemento de una matriz DINT con un DINT) AND_ARINT (Y lgico de cada elemento de una matriz INT con cada elemento correspondiente a otra matriz INT) AND_ARDINT (Y lgico de cada elemento de una matriz INT con cada elemento correspondiente a otra matriz DINT)
33002522 05/2010
45
AND_***_***
Representacin en FBD Representacin aplicada a una cadena de 16 bits y una matriz de cadenas de 16 bits:
Representacin en LD Representacin aplicada a una cadena de 16 bits y una matriz de cadenas de 16 bits:
Representacin en IL Representacin aplicada a una cadena de 16 bits y una matriz de cadenas de 16 bits: LD Input_IN1 AND_ARWORD_WORD Input_IN2 ST Array1 Representacin en ST Representacin aplicada a una cadena de 16 bits y una matriz de cadenas de 16 bits: Array1:= AND_ARWORD_WORD(Input_IN1,Input_IN2);
46
33002522 05/2010
AND_***_***
Input_IN2
33002522 05/2010
47
AND_***_***
48
33002522 05/2010
Descripcin
Descripcin de la funcin La funcin COPY__ copia una serie de elementos contiguos de una matriz a otra. Las matrices son de tipos diferentes o idnticos, y el rea de destino se establece mediante los parmetros de la funcin. Pueden configurarse los parmetros adicionales EN y ENO.
ADVERTENCIA
COMPORTAMIENTO INESPERADO DE LA APLICACIN Compruebe que los datos que se escriben en la matriz de destino son vlidos cuando utilice la funcin COPY__. Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daos en el equipo. NOTA: La funcin COPY__ puede provocar valores de datos inesperados. Por ejemplo, copiar valores de entrada en valores de salida puede provocar daos en los datos y un comportamiento inesperado de la aplicacin. Funciones disponibles Las funciones disponibles son las siguientes: z COPY_AREBOOL_ARINT z COPY_AREBOOL_AREBOOL z COPY_AREBOOL_ARDINT z COPY_ARINT_AREBOOL z COPY_ARDINT_AREBOOL
33002522 05/2010
49
COPY__
Representacin de FBD Representacin aplicada a la asignacin del rea de una matriz de enteros al rea de una matriz de bits:
Representacin de LD Representacin aplicada a la asignacin del rea de una matriz de enteros al rea de una matriz de bits:
Representacin de IL Representacin aplicada a la asignacin del rea de una matriz de enteros al rea de una matriz de bits: LD Array1 COPY_ARINT_AREBOOL Begin_Row, Element_Number, Destination_Row ST Result_Array Representacin de ST Representacin aplicada a la asignacin del rea de una matriz de enteros al rea de una matriz de bits: Result_Array:= COPY_ARINT_AREBOOL(Array1, Begin_Row, Element_Number, Destination_Row);
50
33002522 05/2010
COPY__
ARRAY [n..m] OF EBOOL, n y m son enteros positivos, negativos o nulos. ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT INT Rango del primer elemento que se va a copiar de la matriz Array1. Nota: el primer elemento de la matriz tiene el rango 0. Nmero de elementos que se van a copiar de la matriz Array1. Rango de destino de la matriz Result_Array.
Begin_Row
Element_Number
INT
Destination_Row INT
ARRAY [n..m] OF EBOOL, n y m son enteros positivos, negativos o nulos. ARRAY [n..m] OF INT, Matriz de destino que contiene los ARRAY [n..m] OF DINT elementos seleccionados de Array1.
NOTA: Si el nmero de elementos que se va a extraer es mayor que el tamao restante, comenzando por el rango Begin_Row, la funcin extrae todos los elementos de Begin_Row hasta el ltimo elemento de la matriz. Si el nmero de elementos que se va a extraer es mayor que el espacio disponible, comenzando por el rango Destination_Row, la funcin de copia se ejecuta hasta el ltimo elemento de la matriz. Un valor negativo de Begin_Row, Element_Number y Destination_Row se interpretar como nulo.
33002522 05/2010
51
COPY__
52
33002522 05/2010
6
Descripcin
Descripcin de la funcin La funcin DIV_***_*** lleva a cabo la divisin de:
z z z
un nmero entre los elementos de una matriz, los elementos de una matriz entre un nmero, o los elementos de una matriz entre los elementos correspondientes de otra matriz.
Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles para dividir un nmero entre los elementos de una matriz son las siguientes:
z z
DIV_INT_ARINT DIV_DINT_ARDINT
Las funciones disponibles para dividir los elementos de una matriz entre un nmero son las siguientes:
z z
DIV_ARINT_INT DIV_ARDINT_DINT
Las funciones disponibles para dividir los elementos de una matriz entre los elementos correspondientes de otra matriz son las siguientes:
z z
DIV_ARINT DIV_ARDINT
33002522 05/2010
53
DIV_***_***
Representacin en FBD Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros:
Representacin en LD Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros:
Representacin en IL Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros: LD Input_IN1 DIV_INT_ARINT Input_IN2 ST Array1 Representacin en ST Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros: Array1:= DIV_INT_ARINT(Input_IN1,Input_IN2);
54
33002522 05/2010
DIV_***_***
Input_IN2
Errores de ejecucin La gestin del bit de sistema %S18 (vase pgina 477) es igual a la de las operaciones en palabras o palabras dobles. En caso de divisin por cero, el valor del resultado es igual al valor del numerador. Si una operacin entre dos elementos define el bit %S18 (vase pgina 477) (desborde o divisin por cero), el resultado de dicha operacin no es correcto, pero la operacin se efecta de forma correcta sobre los siguientes elementos.
33002522 05/2010
55
DIV_***_***
56
33002522 05/2010
Descripcin
Descripcin de la funcin La funcin EQUAL_*** compara dos matrices, elemento a elemento. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z EQUAL_ARWORD z EQUAL_ARDWORD z EQUAL_ARINT z EQUAL_ARDINT z EQUAL_ARREAL Representacin en FBD Representacin aplicada a matrices de enteros:
33002522 05/2010
57
EQUAL_****
Representacin en IL Representacin aplicada a matrices de enteros: LD Array1 EQUAL_ARINT Array2, Position ST Equal1 Representacin en ST Representacin aplicada a matrices de enteros: Equal1:= EQUAL_ARINT(Array1, Array2, Position); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Array1 Tipo ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL INT Comentario n y m son enteros positivos, negativos o nulos.
Array2
Posicin
Errores de ejecucin Cuando la matriz contiene un valor no vlido, el resultado de la funcin contiene -2, y el bit %S18 (vase pgina 477) = 1.
58
33002522 05/2010
Descripcin
Descripcin de la funcin La funcin FIND_EQ_*** busca el primer elemento de una matriz igual a un valor determinado. NOTA: Antes de comenzar la bsqueda, el bloque escribe de forma inmediata -1 en el OUT de salida para indicar que no se ha encontrado el valor vinculado a IN2. A continuacin, el bloque comienza la bsqueda y actualiza el OUT de salida con el valor de rangos del primer elemento que cumple los criterios de bsqueda. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son las siguientes: z FIND_EQ_ARWORD, z FIND_EQ_ARDWORD, z FIND_EQ_ARINT, z FIND_EQ_ARDINT y z FIND_EQ_ARREAL. Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
59
FIND_EQ_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 FIND_EQ_ARINT Value1 ST Row_Value1 Representacin en ST Representacin aplicada a una matriz de enteros: Row_Value1:= FIND_EQ_ARINT(Array1, Value1);
60
33002522 05/2010
FIND_EQ_***
n y m son enteros positivos, negativos o nulos. ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF REAL INT, DINT, WORD , DWORD, REAL. Valor cuyo rango se busca en Array1. Es del mismo tipo que los elementos de la matriz Array 1.
Value1
Errores de tiempo de ejecucin Cuando la matriz contiene un valor no vlido, o si Value1 es un valor no vlido, el resultado de la funcin contiene -2, y el bit %S18 (vase pgina 477) = 1.
33002522 05/2010
61
FIND_EQ_***
62
33002522 05/2010
FIND_EQP_***: Primer elemento de una matriz igual a un valor comenzando por un rango determinado
Descripcin
Descripcin de la funcin La funcin FIND_EQP_*** busca el primer elemento de una matriz igual a un valor comenzando por un rango determinado. NOTA: Antes de comenzar la bsqueda, el bloque escribe de forma inmediata -1 en el OUT de salida para indicar que no se ha encontrado el valor vinculado a IN2. A continuacin, el bloque comienza la bsqueda y actualiza el OUT de salida con el valor de rangos del primer elemento que cumple los criterios de bsqueda. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z FIND_EQP_ARWORD z FIND_EQP_ARDWORD z FIND_EQP_ARINT z FIND_EQP_ARDINT z FIND_EQP_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
63
FIND_EQP_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 FIND_EQP_ARINT Value1, Begin1 ST Row_Value1 Representacin en ST Representacin aplicada a una matriz de enteros: Row_Value1:= FIND_EQP_ARINT(Array1, Value1, Begin1);
64
33002522 05/2010
FIND_EQP_***
Value1
Valor cuyo rango se busca en Array1. Es del mismo tipo que los elementos de la matriz Array 1. Rango desde el que comienza la bsqueda.
Begin1
Errores de ejecucin Cuando la matriz contiene un valor no vlido, o si Value1 es un valor no vlido, el resultado de la funcin contiene -2, y el bit %S18 (vase pgina 477) = 1.
33002522 05/2010
65
FIND_EQP_***
66
33002522 05/2010
10
Descripcin
Descripcin de la funcin La funcin FIND_GT_*** busca el primer elemento de una matriz mayor que un valor determinado. NOTA: Antes de comenzar la bsqueda, el bloque escribe de forma inmediata -1 en el OUT de salida para indicar que no se ha encontrado el valor vinculado a IN2. A continuacin, el bloque comienza la bsqueda y actualiza el OUT de salida con el valor de rangos del primer elemento que cumple los criterios de bsqueda. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z FIND_GT_ARWORD z FIND_GT_ARDWORD z FIND_GT_ARINT z FIND_GT_ARDINT z FIND_GT_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
67
FIND_GT_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 FIND_GT_ARINT Value1 ST Row_Value1 Representacin en ST Representacin aplicada a una matriz de enteros: Row_Value1:= FIND_GT_ARINT(Array1, Value1);
68
33002522 05/2010
FIND_GT_***
Value1
Valor para el que se busca el rango del primer valor mayor en Array1. Es del mismo tipo que los elementos de la matriz Array 1.
Errores de ejecucin Cuando la matriz contiene un valor no vlido, o si Value1 es un valor no vlido, el resultado de la funcin contiene -2, y el bit %S18 (vase pgina 477) = 1.
33002522 05/2010
69
FIND_GT_***
70
33002522 05/2010
11
Descripcin
Descripcin de la funcin La funcin FIND_LT_*** busca el primer elemento de una matriz menor que un valor determinado. NOTA: Antes de comenzar la bsqueda, el bloque escribe de forma inmediata -1 en el OUT de salida para indicar que no se ha encontrado el valor vinculado a IN2. A continuacin, el bloque comienza la bsqueda y actualiza el OUT de salida con el valor de rangos del primer elemento que cumple los criterios de bsqueda. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z FIND_LT_ARWORD z FIND_LT_ARDWORD z FIND_LT_ARINT z FIND_LT_ARDINT z FIND_LT_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
71
FIND_LT_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 FIND_LT_ARINT Value1 ST Row_Value1 Representacin en ST Representacin aplicada a una matriz de enteros: Row_Value1:= FIND_LT_ARINT(Array1, Value1);
72
33002522 05/2010
FIND_LT_***
ARRAY [n..m] OF WORD n y m son enteros positivos, negativos o ARRAY [n..m] OF DWORD nulos. ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL WORD , DWORD , INT , DINT, REAL Valor para el que se busca el rango del primer valor menor en Array1. Es del mismo tipo que los elementos de la matriz Array 1.
Value1
Errores de ejecucin Cuando la matriz contiene un valor no vlido, o si Value1 es un valor no vlido, el resultado de la funcin contiene -2, y el bit %S18 (vase pgina 477) = 1.
33002522 05/2010
73
FIND_LT_***
74
33002522 05/2010
12
Descripcin
Descripcin de la funcin La funcin LENGTH_*** calcula la longitud de una matriz. Se usa principalmente con los DFB, cuando las matrices no se declaran de forma explcita. Se pueden configurar los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z LENGTH_AREBOOL z LENGTH_ARWORD z LENGTH_ARDWORD z LENGTH_ARINT z LENGTH_ARDINT z LENGTH_ARREAL z LENGTH_ARBOOL z LENGTH_ARBYTE z LENGTH_ARDATE z LENGTH_ARDT z LENGTH_ARSTRING z LENGTH_ARTIME z LENGTH_ARTOD z LENGTH_ARUINT z LENGTH_ARUDINT Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
75
LENGTH_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 LENGTH_ARINT ST Length_Array1 Representacin en ST Representacin: Length_Array1:= LENGTH_ARINT(Array1);
76
33002522 05/2010
LENGTH_***
Length_Array1 INT
33002522 05/2010
77
LENGTH_***
78
33002522 05/2010
13
Descripcin
Descripcin de la funcin La funcin MAX_*** busca el valor mximo de los elementos de una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z MAX_ARWORD z MAX_ARDWORD z MAX_ARINT z MAX_ARDINT z MAX_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
79
MAX_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 MAX_ARINT ST Max1 Representacin en ST Representacin aplicada a una matriz de enteros: Max1:= MAX_ARINT(Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Array1 Tipo ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL Comentario n y m son enteros positivos, negativos o nulos.
Errores de ejecucin Cuando la matriz contiene un valor no vlido, el resultado de la funcin contiene 1.#INF y el bit %S18 (vase pgina 477) = 1.
80
33002522 05/2010
14
Descripcin
Descripcin de la funcin La funcin MIN_*** busca el valor mnimo de los elementos de una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z MIN_ARWORD z MIN_ARDWORD z MIN_ARINT z MIN_ARDINT z MIN_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
81
MIN_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 MIN_ARINT ST Min1 Representacin en ST Representacin aplicada a una matriz de enteros: Min1:= MIN_ARINT(Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Array1 Tipo ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL Comentario n y m son enteros positivos, negativos o nulos.
Errores de ejecucin Cuando la matriz contiene un valor no vlido, el resultado de la funcin contiene 1.#INF y el bit %S18 (vase pgina 477) = 1.
82
33002522 05/2010
15
Descripcin
Descripcin de la funcin La funcin MOD_***_*** calcula el resto de una divisin de:
z z z
un nmero entre los elementos de una matriz, los elementos de una matriz entre un nmero, o los elementos de una matriz entre los elementos correspondientes de otra matriz.
Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles para calcular el resto de la divisin de un nmero entre los elementos de una matriz son las siguientes:
z z
MOD_INT_ARINT MOD_DINT_ARDINT
Las funciones disponibles para calcular el resto de la divisin de los elementos de una matriz entre un nmero son las siguientes:
z z
MOD_ARINT_INT MOD_ARDINT_DINT
Las funciones disponibles para calcular el resto de la divisin de los elementos de una matriz entre los elementos respectivos de otra matriz son las siguientes:
z z
MOD_ARINT MOD_ARDINT
33002522 05/2010
83
MOD_***_***
Representacin en FBD Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros:
Representacin en LD Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros:
Representacin en IL Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros: LD Input_IN1 MOD_INT_ARINT Input_IN2 ST Array1 Representacin en ST Representacin aplicada a la divisin de un entero entre los elementos de una matriz de enteros: Array1:= MOD_INT_ARINT(Input_IN1,Input_IN2);
84
33002522 05/2010
MOD_***_***
Input_IN2
Errores de ejecucin La gestin del bit de sistema %S18 (vase pgina 477) es igual a la de las operaciones en palabras o palabras dobles. El resto de una divisin por cero es cero, y el bit de sistema se define como 1. Si una operacin entre dos elementos define el bit %S18 (vase pgina 477) (desborde o divisin por cero), el resultado de dicha operacin no es correcto, pero la operacin se efecta de forma correcta sobre los siguientes elementos.
33002522 05/2010
85
MOD_***_***
86
33002522 05/2010
16
Descripcin
Descripcin de la funcin Una de las acciones de la funcin MOVE_***_*** es la asignacin de un valor idntico a cada elemento de una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son:
z z z z z z
33002522 05/2010
87
MOVE_***_***
Representacin en IL Representacin aplicada a la asignacin de un entero a una matriz de enteros: LD Val1 MOVE_INT_ARINT Array1 Representacin en ST Representacin aplicada a la asignacin de un entero a una matriz de enteros: MOVE_INT_ARINT(Val1, Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Val1 Tipo BOOL WORD DWORD INT DINT REAL Comentario Val1 contiene el valor que se va a asignar a cada elemento de la matriz Array1. Es del mismo tipo que los elementos de la matriz Array1.
88
33002522 05/2010
17
Descripcin
Descripcin de la funcin Una de las acciones de la funcin MOVE_***_*** es la conversin de una matriz en un valor o de un valor en una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son:
z z z z
MOVE_AREBOOL_INT (conversin de una matriz EBOOL en un INT) MOVE_AREBOOL_DINT (conversin de una matriz EBOOL en un DINT) MOVE_INT_AREBOOL (conversin de un INT en una matriz EBOOL) MOVE_DINT_AREBOOL (conversin de un DINT en una matriz EBOOL)
33002522 05/2010
89
MOVE_***_***
Representacin en IL Representacin aplicada a la conversin de una matriz EBOOL en un entero: LD IN1 MOVE_AREBOOL_INT OUT1 Representacin en ST Representacin aplicada a la conversin de una matriz EBOOL en un entero: MOVE_AREBOOL_INT(IN1, OUT1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro IN1 Tipo INT DINT ARRAY [n..m] OF EBOOL Comentario n y m son enteros positivos, negativos o nulos.
90
33002522 05/2010
18
Descripcin
Descripcin de la funcin La funcin MUL_***_*** lleva a cabo la multiplicacin de:
z z
los elementos de una matriz por un nmero, o los elementos de una matriz por los elementos correspondientes de otra matriz.
Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles para multiplicar los elementos de una matriz por un nmero son las siguientes:
z z
MUL_ARINT_INT MUL_ARDINT_DINT
Las funciones disponibles para multiplicar los elementos de una matriz por los elementos correspondientes de otra matriz son las siguientes:
z z
MUL_ARINT MUL_ARDINT
Representacin en FBD Representacin aplicada a la multiplicacin de los elementos de una matriz de enteros por un entero:
33002522 05/2010
91
MUL_***_***
Representacin en LD Representacin aplicada a la multiplicacin de los elementos de una matriz de enteros por un entero:
Representacin en IL Representacin aplicada a la multiplicacin de los elementos de una matriz de enteros por un entero: LD Input_IN1 MUL_ARINT_INT Input_IN2 ST Array1 Representacin en ST Representacin aplicada a la multiplicacin de un entero por los elementos de una matriz de enteros: Array1:= MUL_ARINT_INT(Input_IN1,Input_IN2);
92
33002522 05/2010
MUL_***_***
Input_IN2
Errores de ejecucin La gestin del bit de sistema %S18 (vase pgina 477) es igual a la de las operaciones en palabras o palabras dobles. Si una operacin entre dos elementos define el bit %S18 (vase pgina 477) (desborde o divisin por cero), el resultado de dicha operacin no es correcto, pero la operacin se efecta de forma correcta sobre los siguientes elementos.
33002522 05/2010
93
MUL_***_***
94
33002522 05/2010
19
Descripcin
Descripcin de la funcin La funcin NOT_*** lleva a cabo una negacin lgica (bit a bit) de los elementos de una matriz. NOTA: El resultado es siempre una matriz. Se pueden configurar los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z NOT_AREBOOL z NOT_ARWORD z NOT_ARDWORD Las funciones disponibles en la biblioteca obsoleta son:
z z
NOT_ARINT (negacin lgica de cada elemento de una matriz INT). NOT_ARDINT (negacin lgica de cada elemento de una matriz DINT).
Por ejemplo: %M11:3 := NOT_AREBOOL (%M1:3); si %M1 es 1, %M2 es 0 y %M3 es 1, entonces, %M11 ser 0, %M12 ser 1 y %M13 ser 0. Representacin en FBD Representacin aplicada a una cadena de 16 bits:
33002522 05/2010
95
NOT_***
Representacin en IL Representacin aplicada a una cadena de 16 bits: LD Array1 NOT_ARWORD ST Result_Array Representacin en ST Representacin aplicada a una cadena de 16 bits: Result_Array:= NOT_ARWORD(Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Array1 Tipo ARRAY [n..m] OF EBOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD Comentario n y m son enteros positivos, negativos o nulos.
96
33002522 05/2010
20
Descripcin
Descripcin de la funcin La funcin OCCUR_*** ofrece el nmero de elementos de una matriz iguales a un valor determinado. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z OCCUR_ARWORD z OCCUR_ARDWORD z OCCUR_ARINT z OCCUR_ARDINT z OCCUR_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
97
OCCUR_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 OCCUR_ARINT Value1 ST Occur_Number Representacin en ST Representacin aplicada a una matriz de enteros: Occur_Number:= OCCUR_ARINT(Array1,Value1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Array1 Tipo ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL WORD DWORD INT DINT REAL Comentario n y m son enteros positivos, negativos o nulos.
Value1
Valor cuyo nmero de apariciones se desea conocer en la matrizArray1. Es del mismo tipo que los elementos de la matriz Array 1.
Occur_Number INT
98
33002522 05/2010
21
Descripcin
Descripcin de la funcin La funcin OR_***_*** lleva a cabo un O lgico (bit a bit) entre:
z z z
los elementos de dos matrices, una variable de tipo nico y los elementos de una matriz, o los elementos de una matriz y una variable de tipo nico.
NOTA: El resultado es siempre una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles en la biblioteca general son:
z z z z z
OR_AREBOOL (O lgico de dos matrices BOOL) OR_ARWORD (O lgico de dos matrices WORD) OR_ARWORD_WORD (O lgico de cada elemento de una matriz WORD con un WORD) OR_ARDWORD_DWORD (O lgico de cada elemento de una matriz DWORD con un DWORD) OR_ARDWORD (O lgico de dos matrices DWORD) OR_ARINT_INT (O lgico de cada elemento de una matriz INT con un INT) OR_ARDINT_DINT (O lgico de cada elemento de una matriz DINT con un DINT) OR_ARINT (O lgico de cada elemento de una matriz INT con cada elemento correspondiente a otra matriz INT) OR_ARDINT (O lgico de cada elemento de una matriz DINT con cada elemento correspondiente a otra matriz DINT)
33002522 05/2010
99
OR_***_***
Representacin en FBD Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits:
Representacin en LD Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits:
Representacin en IL Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits: LD IN1 OR_ARWORD_WORD Input_IN2 ST Array1 Representacin en ST Representacin aplicada a una cadena de 16 bits y una matriz de cadenas de 16 bits: Array1:= OR_ARWORD_WORD(Input_IN1,Input_IN2);
100
33002522 05/2010
OR_***_***
Input_IN2
33002522 05/2010
101
OR_***_***
102
33002522 05/2010
22
Descripcin
Descripcin de la funcin La funcin ROL_*** lleva a cabo un desplazamiento circular de los elementos de una matriz en sentido ascendente de los ndices. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles en la biblioteca general son:
z z z z z
33002522 05/2010
103
ROL_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Positions ROL_ARINT Array1 Representacin en ST Representacin aplicada a una matriz de enteros: ROL_ARINT(Positions, Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Positions Tipo INT Comentario Desplaza el valor segn los ndices ascendentes de la matriz. Ejemplo: Positions = 2. Nota: Si el valor de Positions es negativo o nulo, no se realiza ningn desplazamiento.
104
33002522 05/2010
23
Descripcin
Descripcin de la funcin La funcin ROR_*** lleva a cabo un desplazamiento circular de los elementos de una matriz en sentido descendente de los ndices. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles en la biblioteca general son:
z z z z z
33002522 05/2010
105
ROR_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Positions ROR_ARINT Array1 Representacin en ST Representacin aplicada a una matriz de enteros: ROR_ARINT(Positions, Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Positions Tipo INT Comentario Desplaza el valor segn los ndices descendentes de la matriz. Ejemplo: Positions = 2. Nota: Si el valor de Positions es negativo o nulo, no se realiza ningn desplazamiento.
106
33002522 05/2010
24
Descripcin
Descripcin de la funcin La funcin SORT_*** ordena una matriz en orden ascendente o descendente y organiza los elementos ordenados en dicha matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z SORT_ARWORD z SORT_ARDWORD z SORT_ARINT z SORT_ARDINT z SORT_ARREAL Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
107
SORT_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Direction SORT_ARINT Array1 Representacin en ST Representacin aplicada a una matriz de enteros: SORT_ARINT(Direction, Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Direction Tipo INT Comentario Direccin del ordenamiento que se va a realizar: z Direction 0: orden ascendente z Direction < 0: orden descendente
108
33002522 05/2010
25
Descripcin
Descripcin de la funcin La funcin SUB_***_*** lleva a cabo la resta de:
z z z
los elementos de una matriz y un nmero, un nmero y los elementos de una matriz, o los elementos de una matriz y los elementos correspondientes de otra matriz.
Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles para restar los elementos de una matriz a un nmero o un nmero a los elementos de una matriz son las siguientes:
z z z z
SUB_INT_ARINT (resta de cada elemento de una matriz de INT a un INT). SUB_DINT_ARDINT (resta de cada elemento de una matriz de DINT a un DINT). SUB_ARINT_INT (resta de un INT a los elementos de una matriz de INT). SUB_ARDINT_DINT (resta de un DINT a los elementos de una matriz de DINT).
Las funciones disponibles para restar los elementos de una matriz a los elementos correspondientes de otra matriz son las siguientes:
z z
SUB_ARINT (resta de los respectivos elementos de ambas matrices de INT) SUB_ARDINT (resta de los respectivos elementos de ambas matrices de DINT)
Representacin en FBD Representacin aplicada a la resta de los elementos de una matriz de enteros y un entero:
33002522 05/2010
109
SUB_***_***
Representacin en LD Representacin aplicada a la resta de los elementos de una matriz de enteros y un entero:
Representacin en IL Representacin aplicada a la resta de los elementos de una matriz de enteros y un entero: LD Input_IN1 SUB_INT_ARINT Input_IN2 ST Array1 Representacin en ST Representacin aplicada a la resta de los elementos de una matriz de enteros y un entero: Array1:= SUB_INT_ARINT(Input_IN1,Input_IN2);
110
33002522 05/2010
SUB_***_***
Input_IN2
Errores de ejecucin La gestin del bit de sistema %S18 (vase pgina 477) es igual a la de las operaciones en palabras o palabras dobles. Si una operacin entre dos elementos define el bit %S18 (vase pgina 477) (desborde o divisin por cero), el resultado de dicha operacin no es correcto, pero la operacin se efecta de forma correcta sobre los siguientes elementos.
33002522 05/2010
111
SUB_***_***
112
33002522 05/2010
26
Descripcin
Descripcin de la funcin La funcin SUM_*** calcula la suma de los elementos de una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z SUM_ARINT z SUM_ARDINT z SUM_ARREAL Frmula La frmula es la siguiente:
Descripcin:
Elemento Array1 Significado Matriz declarada de la manera siguiente: ARRAY [n..m] OF ...
33002522 05/2010
113
SUM_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 SUM_ARINT ST Sum1 Representacin en ST Representacin aplicada a una matriz de enteros: Sum1:= SUM_ARINT(Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Array1 Tipo Comentario
ARRAY [n..m] OF INT Matrices de enteros dobles o simples o matrices ARRAY [n..m] OF DINT de reales; n y m son enteros negativos, positivos ARRAY [n..m] OF REAL o nulos.
Errores de ejecucin Cuando la matriz contiene un valor no vlido, la suma de sus elementos es 0.0 y el bit %S18 (vase pgina 477) = 1. Cuando la suma de elementos supera el valor mximo autorizado, el valor se convierte en 1.#INF y el bit %S18 = 1
114
33002522 05/2010
27
Descripcin
Descripcin de la funcin La funcin SWAP_*** lleva a cabo una permutacin de los bytes de menor valor y los bytes de mayor valor de los elementos de una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z SWAP_ARINT z SWAP_ARWORD Representacin en FBD Representacin aplicada a una matriz de enteros:
33002522 05/2010
115
SWAP_***
Representacin en IL Representacin aplicada a una matriz de enteros: LD Array1 SWAP_ARINT Representacin en ST Representacin aplicada a una matriz de enteros: SWAP_ARINT(Array1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada y salida:
Parmetro Array1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF WORD Comentario n y m son enteros positivos, negativos o nulos. En la salida, se han permutado los bytes de Array1.
116
33002522 05/2010
28
Descripcin
Descripcin de la funcin La funcin XOR_***_*** lleva a cabo un O lgico exclusivo (bit a bit) entre:
z z z
los elementos de dos matrices, una variable de tipo nico y los elementos de una matriz, o los elementos de una matriz y una variable de tipo nico.
NOTA: El resultado es siempre una matriz. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles en la biblioteca general son:
z z z z z
XOR_AREBOOL (O lgico exclusivo de dos matrices BOOL) XOR_ARWORD (O lgico exclusivo de dos matrices WORD) XOR_ARWORD_WORD (O lgico exclusivo de cada elemento de una matriz WORD con un WORD) XOR_ARDWORD_DWORD (O lgico exclusivo de cada elemento de una matriz DWORD con un DWORD) XOR_ARDWORD (O lgico exclusivo de dos matrices DWORD) XOR_ARINT_INT (O lgico exclusivo de cada elemento de una matriz INT con un INT) XOR_ARDINT_DINT (O lgico exclusivo de cada elemento de una matriz DINT con un DINT) XOR_ARINT (O lgico exclusivo de cada elemento de una matriz INT con cada elemento correspondiente a otra matriz INT) XOR_ARDINT (O lgico exclusivo de cada elemento de una matriz DINT con cada elemento correspondiente a otra matriz DINT)
33002522 05/2010
117
XOR_***_***
Representacin en FBD Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits:
Representacin en LD Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits:
Representacin en IL Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits: LD Input_IN1 XOR_ARWORD_WORD Input_IN2 ST Array1 Representacin en ST Representacin aplicada a una matriz de cadenas de 16 bits y una cadena de 16 bits: Array1:= XOR_ARWORD_WORD(Input_IN1,Input_IN2);
118
33002522 05/2010
XOR_***_***
Input_IN2
33002522 05/2010
119
XOR_***_***
120
33002522 05/2010
CLC_INT
III
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia CLC_INT. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 29 30 31 32 Nombre del captulo Introduccin a las funciones de regulacin de enteros PID_INT: Controlador PID PWM_INT: Modulacin del ancho de pulsos de un valor numrico SERVO_INT: Funcin de variador Pgina 123 129 137 141
33002522 05/2010
121
CLC_INT
122
33002522 05/2010
29
Objeto En este captulo, se ofrece la informacin bsica necesaria para el uso y la implantacin de las funciones de regulacin de enteros siguientes:
z z z
33002522 05/2010
123
Presentacin general
Generalidades Las funciones de regulacin son elementos bsicos del lenguaje. Permiten programar bucles de control. Estas funciones estn especialmente adaptadas para:
z
Responder a las necesidades del proceso secuencial que precise funciones de regulacin auxiliar (ejemplos: mquinas de embalaje de film de plstico, mquinas de tratamiento de superficie, presas...), responder a las necesidades de los procesos de regulacin simple (ejemplos: hornos de tratamiento de metales, hornos para cermica, pequeos grupos frigorficos...) y responder a las situaciones particulares de control o de regulacin mecnica cuyo tiempo de muestreo es crtico (ejemplos: regulacin de pareja, regulacin de velocidad).
NOTA: No existen limitaciones del nmero de funciones PID_INT en una aplicacin. En la prctica, es el nmero mximo de mdulos de entradas y de salidas que acepta el autmata y que limita el nmero de bucles. Funciones disponibles Las funciones de regulacin bsicas son las siguientes:
z z z
Funcin PID_INT para realizar una correccin de tipo PID_INT mixto (serie paralelo), funcin PWM_INT para realizar las adaptaciones de modulacin con duracin en las salidas TON y funcin SERVO_INT para realizar las adaptaciones de comando de motor.
124
33002522 05/2010
La adquisicin de datos: z medida(s) proveniente(s) de los captadores del proceso (analgicos, codificadores), z valor(es) proveniente(s), generalmente, de variables internas del autmata o de datos procedentes del terminal de operador. la ejecucin del algoritmo de regulacin PID y el envo de los comandos adaptados a las caractersticas de los accionadores que se van a controlar a travs de las salidas TON o analgicas. La medida muestreada por el mdulo de entrada, el valor terico fijado bien por el operador o bien por el programa y los valores de diferentes parmetros del corrector.
z z
La seal procedente del corrector se trata bien directamente mediante una tarjeta de salida analgica del autmata conectado al accionador, o bien a travs de las adaptaciones PWM o SERVO en funcin de los tipos de accionador que se van a controlar en una tarjeta de salida TON del autmata. Ilustracin La siguiente ilustracin esquematiza el principio de un bucle de control.
33002522 05/2010
125
126
33002522 05/2010
33002522 05/2010
127
128
33002522 05/2010
30
Objeto En este captulo, se describe la funcin PID_INT. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Descripcin de la funcin Descripcin de datos derivados Pgina 130 134
33002522 05/2010
129
PID_INT
Descripcin de la funcin
Descripcin de la funcin La funcin PID_INT lleva a cabo una regulacin de tipo PID en entradas y salidas de tipo INT. La medida y el valor terico son datos analgicos con formato [0-10000] y proporcionan un comando analgico con un formato idntico. El EF PID_INT contiene las funciones siguientes: Algoritmo PID serie/paralelo, z accin directa/inversa (segn el signo de la ganancia KP), z accin derivada en la medida o en la desviacin, z limitacin alta y baja del valor terico a [0 -10000], z limitacin alta y baja de la salida en modo automtico, z antisaturacin de la accin integral, z modos de funcionamiento Manual/Automtico sin colisin tras cambio, z control del acceso PID mediante el dilogo de operador y z funcionamiento en integrador para (KP = TD = 0).
z
NOTA:
z z z
Los parmetros de visualizacin empleados por el terminal de operador se expresan en unidades fsicas. Para un funcionamiento correcto del PID, se debe respetar la escala completa; [0-1000] para la medida y el valor terico. La introduccin de una funcin PID se puede realizar en cualquier tarea peridica (MAST o FAST). La funcin no se debe condicionar.
130
33002522 05/2010
PID_INT
33002522 05/2010
131
PID_INT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Input_Tag PID_INT Input_Unit, Input_PV, In_Out_Auto, In_Out_Para, PID_Out Representacin en ST Representacin: PID_INT(Input_Tag, Input_Unit, Input_PV, In_Out_Auto, In_Out_Para, PID_Out);
132
33002522 05/2010
PID_INT
In_Out_Para
33002522 05/2010
133
PID_INT
TI TD TS
PARA[6] PARA[7]
PARA[8].0 Eleccin de accin derivada 0 = variable en proceso, 1 = en desviacin. PARA[8].4 Modalidad bumpless o no bumpless. 0 = no bumpless, 1 = bumpless.
134
33002522 05/2010
PID_INT
Parmetro
Rango
Funcin
DEVAL_MMI PARA[8].8 = 1: inhibe la confirmacin de PID por parte de la interfase hombremquina. = 0: el PID est operativo mediante la interfase hombre mquina. Este bit posibilita evitar que el terminal no realice conversiones de escala en los PID no operativos y permite seleccionar los PID operativos, especialmente cuando hay ms de nueve PID en la aplicacin. PV_SUP* PV_INF* PARA[9] PARA[11] PARA[12] Lmite superior del rango de escala de medidas en una unidad fsica (x100) (entre -9.999.999 y +9.999.999). Estos dos enteros son, respectivamente, el de mayor valor y el de menor valor de un entero doble, que es el lmite inferior del rango de la escala de medidas en una unidad fsica (x100) (entre -9.999.999 y + 9.999.999). Estos dos enteros son, respectivamente, el de mayor valor y el de menor valor de un entero doble, que es la imagen de la medicin en una unidad fsica (x100). Estos dos enteros son, respectivamente, el de mayor valor y el de menor valor de un entero doble, que es la consigna del operador y la imagen de la consigna en una unidad fsica (x100).
PV_MMI*
SP_MMI*
NOTA:
z z
La aplicacin nunca debe modificar los dems parmetros que utiliza la gestin interna de PID. Los valores utilizados por el terminal se multiplican por 100 para admitir una visualizacin con dos figuras despus de la coma decimal en el terminal (el terminal no utiliza el formato de coma flotante, pero admite un formato de punto fijo).
33002522 05/2010
135
PID_INT
Reglas No hay ninguna alineacin de consigna interna en la medicin en modalidad manual. La configuracin de la escala slo se produce al modificar una de las consignas (SP o DOP_SP). El algoritmo sin la accin integral (TI = 0) implica la siguiente operacin:
Para La salida OUT = KP [ t+ Dt] / 100 + 5.000 Con Dt = accin derivada
En un arranque en fro, el PID vuelve a iniciarse en modalidad manual, con la salida en 0. Para imponer la modalidad automtica o una salida manual que no est en 0 tras un arranque en fro, deber programar la secuencia de inicializacin tras la llamada de PID.
136
33002522 05/2010
31
Descripcin
Descripcin de la funcin La funcin PWM_INT lleva a cabo una regulacin por anchura de impulso en una salida Todo o Nada. Se trata de una funcin que formula la salida del PID. La anchura de los impulsos depende de la salida del PID (entrada INP de la funcin PWM) y del perodo de modulacin. NOTA: la introduccin de una funcin PWM_INT puede realizarse en cualquier tarea peridica (MAST o FAST). La funcin no se debe condicionar. Los parmetros adicionales EN y ENO se pueden configurar. Sinopsis de funcionamiento El siguiente esquema presenta el principio de funcionamiento de la funcin PWM:
33002522 05/2010
137
PWM_INT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Input_INP PWM_INT In_Out_Para, PW_O_Out Representacin en ST Representacin: PWM_INT(Input_INP, In_Out_Para, PW_O_Out);
138
33002522 05/2010
PWM_INT
33002522 05/2010
139
PWM_INT
Anchura de impulso
3
En cada Top del perodo de modulacin T_MOD, la duracin de la activacin en 10segundos de la salida PW_O_Out (PW_O) se calcula siguiendo la frmula siguiente: Estado 1 del perodo (expresado en 10-2 segundos) = INP * T_MOD / 1000 El cronograma siguiente muestra dicha frmula:
Reglas prcticas T_MOD = TS (donde TS es el perodo de muestreo del PID superior). El perodo de la tarea actual (expresada en 10-3 segundos) es igual a: (Resolucin deseada)* 10 * T_MOD. El PID se encuentra en la tarea MAST; el perodo de la MAST es de 50*10-3 s,, TS = 500*10-2 s y la resolucin deseada es de 1/50 (una duracin de T_MOD debe contener al menos 50 perodos de la tarea actual). Se toma T_MOD = TS = 500. El perodo de la tarea actual donde se instala el PWM debe ser inferior a 500 * 10 / 50 =100 10-3 s. La funcin PWM se puede, por lo tanto, programar en la tarea MAST. La resolucin ser de 1/100.
140
33002522 05/2010
32
Descripcin
Descripcin de la funcin La funcin SERVO_INT lleva a cabo un control de proceso con un accionador de tipo motor controlado por dos salidas Todo o Nada (UP y DOWN). NOTA:
z z
La introduccin de una funcin SERVO_INT puede realizarse en cualquier tarea peridica (MAST o FAST). La funcin no se debe condicionar. Se debe conectar en cascada con la salida analgica de un PID. No se puede utilizar sola.
Cuando existe una posicin de copiado, se efecta un control de la posicin de la vlvula, a partir de las entradas Input_Inp (valor terico) e Input_Pot (medida de posicin). Cuando el copiado no existe fsicamente, el algoritmo deja de utilizar la salida absoluta del PID y emplea la variacin de salida. La salida Out_Up (o Out_Down, segn el signo de la variacin) se pone a 1 durante un tiempo proporcional al tiempo de apertura del accionador y al valor de la variacin. Adems, se introduce la nocin de tiempo mnimo de pulsos. Los parmetros adicionales EN y ENO pueden configurarse. Representacin en FBD Representacin:
33002522 05/2010
141
SERVO_INT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Input_Inp SERVO_INT Input_Pot, In_Out_Pid, In_Out_Para, Out_Up, Out_Down Representacin en ST Representacin: SERVO_INT(Input_Inp, Input_Pot, In_Out_Pid, In_Out_Para, Out_Up, Out_Down); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Input_Inp Input_Pot Tipo INT INT Comentario Valor terico de posicin (formato [0 -10000]) que se conecta obligatoriamente a la salida del PID. Copiado de posicin (formato [0 -10000]) 0: vlvula cerrada; 10000: vlvula abierta. Si el copiado no existe, debe iniciarse Input_ POT a -10000. Este valor especfico significa "sin copiado".
142
33002522 05/2010
SERVO_INT
ARRAY [n..m] OF INT . n y m son nmeros enteros positivos, negativos o nulos. Tabla de parmetros del PID superior (vase pgina 134), utilizado si no existen palabras de copiado para la sincronizacin con el PID superior. Matriz de 43 enteros.
In_Out_Para ARRAY [n..m] OF INT . n y m son nmeros enteros positivos, negativos o nulos. Los tres primeros parmetros se utilizan si el copiado no existe (Input_POT = -10000): z In_Out_PARA[0], llamado tambin T_MOTOR, es el tiempo de apertura de la vlvula expresado en 10-2 s.
z In_Out_ PARA[1], llamado tambin,
es el valor de la histresis con formato [010000]. Nota: la aplicacin no debe modificar nunca los parmetros restantes utilizados para la gestin interna de la funcin. Todos los parmetros son obligatorios, independientemente del modo de funcionamiento. Matriz de 10 enteros.
Principio de funcionamiento con copiado de posicin La funcin SERVO_INT efecta un control de la posicin del motor en funcin de un valor terico de posicin Input_Inp (INP) procedente de la salida de un PID con formato [0 - 10000] y de una medida de posicin Input_Pot (POT). El algoritmo de control es un rel con histresis.
33002522 05/2010
143
SERVO_INT
Principio de funcionamiento sin copiado de posicin (POT= -10000) En ese caso, la funcin SERVO_INT se sincroniza con el PID superior mediante la desviacin de la matriz de parmetros del PID, pasada a parmetro en la funcin SERVO_INT. El algoritmo recibe en entrada la variacin de salida del PID y la convierte en duracin de pulso, segn la frmula: T_IMP (expresado en 10-3 s) = OUT x T_MOTOR / 1000 La duracin obtenida se aade a la duracin restante de los ciclos anteriores. De este modo, lo que no se ha "consumido" en un ciclo se memoriza para los ciclos siguientes. Esto asegura un buen funcionamiento, sobre todo en caso de variacin brusca del comando (por ejemplo, grado de valor terico del PID) y en modo manual. Ejemplo El ejemplo propuesto a continuacin se realiza en lenguaje de contactos (Ladder):
144
33002522 05/2010
SERVO_INT
Direccin 1 2 3
Descripcin La variacin de la salida del PID es de +20 % (el pulso T_MOTOR = 25 s para una variacin de 100 %); en ese caso, el pulso afecta a la salida UP durante 5 s. La variacin del PID es de +2 %, lo que correspondera a un pulso de 0,5 s. Este pulso es inferior a T_MINI (=1 s) y no concierne a las salidas. Aparece una segunda variacin de +2 %, la funcin acumula esta variacin con la anterior (que corresponde a una variacin inferior al valor mnimo) para su clculo, lo que corresponde a una variacin positiva global de +4 %, y, por lo tanto, a un pulso de 1 s en la salida UP. Aparece una variacin de -24 %; el pulso que se inicia es de 6 s en la salida DOWN. Antes de que transcurra un segundo ms, otra variacin del +22 % lleva al sistema a una variacin global del 2% % < a la variacin de T_MINI (4 %). La funcin termina de efectuar el pulso mnimo de 1 s.
4 5
Nota 1: la funcin SERVO_INT no gestiona lmites de posicin y esta gestin debe llevarla a cabo la aplicacin. En caso de deteccin de un lmite, es necesario forzar la salida correspondiente a 0 (UP para el lmite superior, DOWN para el lmite inferior). Ejemplo: realizado en lenguaje de contactos (Ladder)
Nota 2: es posible pasar del modo de funcionamiento con copiado al modo sin copiado (por ejemplo, tras un fallo de copiado, paso al modo sin copiado).
33002522 05/2010
145
SERVO_INT
146
33002522 05/2010
Comparacin
IV
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Comparacin. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 33 34 35 36 37 38 EQ: Igual a GE: Mayor o igual a GT: Mayor que LE: Inferior o igual a LT: Menor que NE: Distinto a Nombre del captulo Pgina 149 151 153 155 157 159
33002522 05/2010
147
Comparacin
148
33002522 05/2010
EQ 33002522 05/2010
EQ: Igual a
33
Descripcin
Descripcin de la funcin La funcin comprueba si las entradas son iguales, es decir, la entrada se convierte en "1" cuando en todas las entradas hay igualdad; de otra manera la salida permanece en "0". Los tipos de datos de todos los valores de entrada deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 31. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = 1, cuando (IN1 = IN2) & (IN2 = IN3) & .. & (IN (n-1) = IN n) Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
149
EQ
Representacin en IL Representacin: LD Value1 EQ Value2 ST Result Representacin en ST Representacin: Result := EQ (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Tipo de datos Significado
1. Entrada BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD 2. Entrada BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD Entrada n BOOL, BYTE, WORD, DWORD, STRING, INT, n = max 31 DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD
Value2
Valuen
Error de tiempo de ejecucin Si para un parmetro de entrada del tipo de datos REAL se genera un nmero de coma flotante inadmisible, el bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480).
150
33002522 05/2010
GE 33002522 05/2010
34
Descripcin
Descripcin de la funcin La funcin comprueba si los valores de entradas sucesivas siguen una secuencia descendente o son iguales. Los tipos de datos de todos los valores de entrada deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 31. Al comparar variables de los tipos de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT y TOD, se compararn los valores entre s. Si se trata de variables de tipo STRING, se compararn segn el orden alfabtico; cuanto ms atrs en el alfabeto se encuentre un valor, ms alta ser su expresin. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = 1, cuando (IN1 IN2) & (IN2 IN3) & .. & (IN (n-1) IN n) Representacin en FBD Representacin:
33002522 05/2010
151
GE
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value1 GE Value2 ST Result Representacin en ST Representacin: Result := GE (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos Significado
BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, 1. Entrada UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, 2. Entrada UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, Entrada n UINT, UDINT, REAL, TIME, DATE, DT, TOD n = max 31
Error de tiempo de ejecucin Si para un parmetro de entrada del tipo de datos REAL se genera un nmero de coma flotante inadmisible, el bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480).
152
33002522 05/2010
GT 33002522 05/2010
35
Descripcin
Descripcin de la funcin La funcin comprueba los valores de entradas sucesivas respecto a una secuencia descendente. Los tipos de datos de todos los valores de entrada deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 31. Al comparar variables de los tipos de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT y TOD, se compararn los valores entre s. Si se trata de variables de tipo STRING, se compararn segn el orden alfabtico; cuanto ms atrs en el alfabeto se encuentre un valor, ms alta ser su expresin. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = 1, cuando (IN1 > IN2) & (IN2 > IN3) & .. (IN (n-1) > IN n) Representacin en FBD Representacin:
33002522 05/2010
153
GT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value1 GT Value2 ST Result Representacin en ST Representacin: Result := GT (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD Significado 1. Entrada 2. Entrada Entrada n n = max 31
Error de tiempo de ejecucin Si para un parmetro de entrada del tipo de datos REAL se genera un nmero de coma flotante inadmisible, el bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480).
154
33002522 05/2010
LE 33002522 05/2010
36
Descripcin
Descripcin de la funcin La funcin comprueba los valores de entradas sucesivas respecto a una secuencia ascendente o a la igualdad. Los tipos de datos de todos los valores de entrada deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 31. Al comparar variables de los tipos de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT y TOD, se compararn los valores entre s. Si se trata de variables de tipo STRING, se compararn segn el orden alfabtico; cuanto ms atrs en el alfabeto se encuentre un valor, ms alta ser su expresin. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = 1, cuando (IN1 IN2) & (IN2 IN3) & .. & (IN (n-1) IN n) Representacin en FBD Representacin:
33002522 05/2010
155
LE
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value1 LE Value2 ST Result Representacin en ST Representacin: Result := LE (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD Significado 1. Entrada 2. Entrada Entrada n n = max 31
Error de tiempo de ejecucin Si para un parmetro de entrada del tipo de datos REAL se genera un nmero de coma flotante inadmisible, el bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480).
156
33002522 05/2010
LT 33002522 05/2010
37
Descripcin
Descripcin de la funcin La funcin comprueba los valores de entradas sucesivas respecto a una secuencia ascendente. Los tipos de datos de todos los valores de entrada deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 31. Al comparar variables de los tipos de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT y TOD, se compararn los valores entre s. Si se trata de variables de tipo STRING, se compararn segn el orden alfabtico; cuanto ms atrs en el alfabeto se encuentre un valor, ms alta ser su expresin. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = 1, cuando (IN1 < IN2) & (IN2 < IN3) & .. & (IN (n-1) < IN n) Representacin en FBD Representacin:
33002522 05/2010
157
LT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value1 LT Value2 ST Result Representacin en ST Representacin: Result := LT (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD Significado 1. Valor de entrada 2. Valor de entrada Valor de entrada n n = max 31
Error de tiempo de ejecucin Si para un parmetro de entrada del tipo de datos REAL se genera un nmero de coma flotante inadmisible, el bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480).
158
33002522 05/2010
NE 33002522 05/2010
NE: Distinto a
38
Descripcin
Descripcin de la funcin La funcin comprueba los valores de entrada respecto a la desigualdad. Los tipos de datos de los valores de entrada deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = 1, cuando IN1 < > IN2 Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
159
NE
Representacin en IL Representacin: LD Value1 NE Value2 ST Result Representacin en ST Representacin: Result := NE (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Tipo de datos Significado
1. Entrada BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD 2. Entrada BOOL, BYTE, WORD, DWORD, STRING, INT, DINT, UINT, UDINT, REAL, TIME, DATE, DT, TOD
Value2
Error de tiempo de ejecucin Si para un parmetro de entrada del tipo de datos REAL se genera un nmero de coma flotante inadmisible, el bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480).
160
33002522 05/2010
Fecha y hora
V
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Fecha y hora. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 39 40 41 42 43 Nombre del captulo ADD_***_TIME: Adicin de una duracin a una fecha DIVTIME: Divisin MULTIME: Multiplicacin SUB_***_***: Calcula la diferencia de tiempo entre dos fechas u horas SUB_***_TIME: Resta de una duracin de una fecha Pgina 163 167 169 171 173
33002522 05/2010
161
Fecha y hora
162
33002522 05/2010
39
Descripcin
Descripcin de la funcin La funcin ADD_***_TIME agrega una duracin a una fecha o a una hora. Los parmetros adicionales EN y ENO pueden configurarse. Funciones disponibles Las funciones disponibles son las siguientes: z ADD_DT_TIME, z ADD_TOD_TIME. Representacin en FBD Representacin aplicada a una hora del da:
33002522 05/2010
163
ADD_***_TIME
Representacin en IL Representacin aplicada a una hora del da: LD Source_Value ADD_TOD_TIME Time_to_Add ST Result_Value Representacin en ST Representacin aplicada a una hora del da: Result_Value:= ADD_TOD_TIME(Source_Value, Time_to_Add); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Source_Value Time_to_Add Tipo DT, TOD TIME Comentario Fecha u hora. Duracin que se va a agregar a Source_Value Nota: este tiempo se expresa en formato TIME con una precisin de dcimas de segundos. Como los tipos DT y TOD se expresan en el siguiente segundo, Time_to_Add se hace un redondeo por segundo.
164
33002522 05/2010
ADD_***_TIME
Errores de ejecucin Para el tipo TOD, se produce un cambio de da si Result_Value est fuera de los valores autorizados. En este caso, el bit de sistema %S18 (vase pgina 477) se pone a 1 y el valor de Result_Value slo es significativo con un mdulo de 24:00:00. Para el tipo DT, si Result_Value est fuera del intervalo de los valores autorizados, el bit de sistema %S18 (vase pgina 477) se pone a 1 y el valor de Result_Value es igual al borne mximo. Si uno de los parmetros de entrada no se puede interpretar y no es coherente con el formato de la funcin, el bit de sistema %S18 (vase pgina 477) se pone a 1 y Result_Value equivale a:
z z
33002522 05/2010
165
ADD_***_TIME
166
33002522 05/2010
DIVTIME: Divisin
40
Descripcin
Descripcin de funciones La funcin divide el valor de la entrada TIME_variable (tipo de datos TIME) entre el valor de la entrada Divisor y emite el resultado en la salida. Como parmetros adicionales se pueden configurar EN y ENO. Frmula
Representacin en LD Representacin:
33002522 05/2010
167
DIVTIME
Representacin en IL Representacin: LD TIME_variable DIVTIME Divisor ST Quotient Representacin en ST Representacin: Quotient := DIVTIME (TIME_variable, Divisor) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro TIME_variable Divisor Tipo de datos TIME INT, DINT, UINT, UDINT, REAL Significado Dividendo Divisor
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z z
se ejecuta una divisin entre 0 inadmisible (todos los tipos de datos disponibles) O bien se dispone de un nmero de coma flotante inadmisible para un parmetro de entrada del tipo de datos REAL. En este caso, se ubicar adems el estado en %SW17 (vase pgina 480).
NOTA: Para obtener una lista con todos los cdigos y los valores de error y del bloque, consulte Fecha y hora, pgina 470.
168
33002522 05/2010
MULTIME: Multiplicacin
41
Descripcin
Descripcin de funciones La funcin multiplica los valores de entrada y emite el resultado en la salida. El tipo de datos del primer valor de entrada (TIME_variable) debe ser TIME. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = IN1 x IN2 Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
169
MULTIME
Representacin en IL Representacin: LD TIME_variable MULTIME Factor ST Product Representacin en ST Representacin: Product := MULTIME (TIME_variable, Factor) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro TIME_variable Factor Tipo de datos TIME INT, DINT, UINT, UDINT, REAL Significado Multiplicando (factor) Multiplicador (factor)
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
se trata de un desbordamiento del margen de valores en la salida (todos los tipos de datos disponibles) O bien se dispone de un nmero de coma flotante inadmisible para un parmetro de entrada del tipo de datos REAL. En este caso, se ubicar adems el estado en %SW17 (vase pgina 480).
NOTA: Para obtener una lista con todos los cdigos y los valores de error y del bloque, consulte Fecha y hora, pgina 470.
170
33002522 05/2010
42
Descripcin
Descripcin de la funcin La funcin SUB_***_*** calcula la desviacin de tiempo entre dos fechas u horas. Los parmetros adicionales EN y ENO pueden configurarse. Funciones disponibles Las funciones disponibles son las siguientes: z SUB_DATE_DATE, z SUB_DT_DT, z SUB_TOD_TOD. Representacin en FBD Representacin aplicada a una hora del da:
33002522 05/2010
171
SUB_***_***
Representacin en IL Representacin aplicada a una hora del da: LD Input_IN1 SUB_TOD_TOD Input_IN2 ST Delay1 Representacin en ST Representacin aplicada a una hora del da: Delay1:= =SUB_TOD_TOD(Input_IN1, Input_IN2); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Input_ IN1 Input_IN2 Tipo DATE, DT, TOD DATE, DT, TOD Comentario Fecha u hora de la que se desea calcular la desviacin con Input_IN2. Fecha u hora de la que se desea calcular la desviacin con Input_IN1. Del mismo tipo que los elementos de la matriz Input_IN1.
NOTA: Input_IN1 e Input_IN2 deben ser del mismo tipo. En la siguiente tabla se describen los parmetros de salida:
Parmetro Delay1 Tipo TIME Comentario Delay1 contiene el tiempo en valor absoluto transcurrido entre las dos entradas Input_IN1 e Input_ IN2.
Errores de ejecucin Si Delay1 sobrepasa el valor mximo admitido por un formato TIME, se produce un desborde, por tanto Delay1 = 0 y el bit de sistema %S18 (vase pgina 477) se pone a 1. Si uno de los parmetros de entrada no puede interpretarse y no es coherente con el formato de la funcin, entonces Delay1 = 0 y el bit de sistema %S18 (vase pgina 477) se pone a 1.
172
33002522 05/2010
43
Descripcin
Descripcin de la funcin La funcin SUB_***_TIME aumenta una duracin de una fecha o de una hora. Los parmetros adicionales EN y ENO pueden configurarse. Funciones disponibles Las funciones disponibles son las siguientes: z SUB_DT_TIME, z SUB_TOD_TIME. Representacin en FBD Representacin aplicada a una hora del da:
33002522 05/2010
173
SUB_***_TIME
Representacin en IL Representacin aplicada a una hora del da: LD Source_Value SUB_TOD_TIME Time_to_Sub ST Result_Value Representacin en ST Representacin aplicada a una hora del da: Result_Value:= SUB_TOD_TIME(Source_Value, Time_to_Sub); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Source_Value Time_to_Sub Tipo DT, TOD TIME Comentario Fecha u hora. Duracin que se va a restar a Source_Value Nota: esta duracin se expresa en formato TIME (con precisin de dcimas de segundos). Como los tipos DT y TOD se expresan en el siguiente segundo, Time_to_Sub se hace un redondeo por segundo.
174
33002522 05/2010
SUB_***_TIME
Errores de ejecucin Para el tipo TOD, se produce un cambio de da si Result_Value est fuera del intervalo de los valores autorizados. En este caso, el bit de sistema %S18 (vase pgina 477) se pone a 1 y el valor de Result_Value slo es significativo con un mdulo 24:00:00. Para el tipo DT, si Result_Value est fuera del intervalo de los valores autorizados, el bit de sistema %S18 (vase pgina 477) se pone a 1 y el valor de Result_Value es igual al borne mnimo. Si uno de los parmetros de entrada no se puede interpretar y no es coherente con el formato de la funcin, el bit de sistema %S18 (vase pgina 477) se pone a 1 y Result_Value equivale a:
z z
33002522 05/2010
175
SUB_***_TIME
176
33002522 05/2010
$/$Extract (Extraccin)
VI
Descripcin En esta seccin se describen las funciones y los mdulos de funcin elementales de la familia $/$Extract (Extraccin). Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 44 45 Nombre del captulo EXTRACT: Copia de parte de una variable en otra variable SIZEOF: Tamao de una variable en bytes Pgina 179 183
33002522 05/2010
177
$/$Extract (Extraccin)
178
33002522 05/2010
44
Descripcin
Descripcin de la funcin La funcin EXTRACT copia una parte definida de una variable de origen (SRC) en una variable de destino (DST). NOTA: Parte de las matrices de EBOOL e IODDT no se pueden copiar porque SRC y DST pertenecen al tipo de datos ANY. Los tipos de datos de variables de origen y destino pueden ser diferentes. Debido a que SRC y DST pertenecen al tipo de datos ANY y que puede copiar parte de una variable a cualquier otra variable, no se tendr que realizar ninguna comprobacin de validez para la operacin de copia.
ADVERTENCIA
FUNCIONAMIENTO INESPERADO DEL EQUIPO Compruebe el resultado de todas las variables modificadas antes de reiniciar su aplicacin del proceso. Si no se siguen estas instrucciones pueden producirse lesiones personales graves o mortales o daos en el equipo. El tamao de memoria de la variable de origen (SRC) se identifica internamente mediante el bloque de funciones (en bytes). Segn la alineacin de las diferentes plataformas del PLC, el tamao de la memoria puede variar de una plataforma a otra. SRC_NELEM define el nmero de partes de la variable de origen. El tamao de memoria de la variable de origen (en bytes) se divide en SRC_NELEM; de esta forma, se define el tamao de cada parte.
33002522 05/2010
179
EXTRACT
Ejemplo
Variable ARRAY[0..9] OF WORD SRC_NELEM 5 10 20 Tamao de la parte DWORD (4 bytes) WORD (2 bytes) BYTE
El valor de SRC_NELEM debe permitir dividir el tamao de memoria de la variable de origen sin resto. El nmero de elementos que se copiar (CPY_NELEM) de la variable de origen empieza desde una posicin definida (SRC_POS) y se copia a una posicin definida en la variable de destino (DST_POS). NOTA: SRC_POS y DST_POS definen la posicin de las partes que se copiarn basndose en 0 como n. Ejemplo con SRC_NELEM = 10
Variable ARRAY[0..9] OF WORD ARRAY[5..14] OF WORD SRC_POS 2 2 Posicin en ARRAY 2 7
Los parmetros adicionales EN y ENO se pueden configurar. Puede utilizar la funcin (vase pgina 183) SIZEOF para establecer el valor de la entrada SRC_NELEM en el nmero de bytes de la variable de origen. Representacin en FBD Representacin:
180
33002522 05/2010
EXTRACT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Array1_10_of_DDT EXTRACT Source_Num_Ele, Source_Pos, Dest_Pos, Copy_Num_Ele, Array_1_20_of_DDT, Copy_Status Representacin en ST Representacin: EXTRACT(Array1_10_of_DDT, Source_Num_Ele, Source_Pos, Dest_Pos, Copy_Num_Ele, Array1_20_of_DDT, Copy_Status); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Array1_10_of_DDT Tipo ANY Comentario La variable de origen desde la que se copia un nmero definido de partes (Copy_Num_Ele) a la variable de destino (Array_1_20_of_DDT). Nmero de partes de la variable de origen El tamao de memoria de la variable de origen (en bytes) se divide en Source_Num_Ele; de esta forma, se define el tamao de cada parte. Posicin de la primera parte que se copiar desde la variable de origen La posicin est basada en 0 como n. 181
Source_Num_Ele
UDINT
Source_Pos
UDINT
33002522 05/2010
EXTRACT
Parmetro Dest_Pos
Tipo UDINT
Comentario Posicin de la primera parte que se copiar a la variable de destino La posicin est basada en 0 como n. Nmero de partes de la variable de origen que se copia a la variable de destino
Copy_Num_Ele
UDINT
INT
182
33002522 05/2010
45
Descripcin
Descripcin de la funcin La funcin SIZEOF proporciona el tamao de memoria de una variable en bytes. Segn la alineacin de las diferentes plataformas del PLC, el tamao de la memoria puede variar de una plataforma a otra. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
183
SIZEOF
Representacin en IL Representacin: LD Array1_10_of_DDT SIZEOF ST Size_Struct Representacin en ST Representacin: Size_Struct:= SIZEOF(Array1_10_of_DDT); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Array1_10_of_DDT Tipo ANY Comentario variable cuyo tamao de memoria en bytes se debe detectar
184
33002522 05/2010
Lgica
VII
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Lgica. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 AND: Funcin AND F_TRIG: Deteccin de flanco descendente FE: Deteccin de flanco descendente NOT: Negacin OR: Funcin O R_TRIG: Deteccin de flanco ascendente RE: Deteccin de flanco ascendente RESET: Ajuste del bit a 0 ROL: Rotacin a la izquierda ROR: Rotacin a la derecha RS: Bloque de funciones biestables, restablecer dominante SET: Ajuste del bit a 1 SHL: Desplazamiento a la izquierda SHR: Desplazamiento a la derecha SR: Bloque de funciones biestables, establecer dominante TRIGGER: Deteccin de todos los flancos XOR: Funcin O exclusivo Nombre del captulo Pgina 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219
33002522 05/2010
185
Lgica
186
33002522 05/2010
46
Descripcin
Descripcin de funciones La funcin para un enlace AND bit a bit del bit realiza las secuencias en las entradas y asigna el resultado a la salida. Los tipos de datos para todos los valores de entrada y de salida deben ser idnticos. El nmero de entradas puede aumentarse hasta un mximo de 32. EN y ENO pueden configurarse como parmetros adicionales. Otras funciones disponibles Al utilizar un PLC Premiun, las siguientes funciones tambin estn disponibles en la librera obsoleta: z AND_DINT z AND_INT La funcionalidad de estas funciones es idntica a la de AND. Frmula OUT = IN1 & IN2 & ... & INn Representacin en FBD Representacin:
33002522 05/2010
187
AND
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value_1 AND Value_2 ST Result Representacin en ST Representacin: Result := AND (Value_1, Value_2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value_1 Value_2 Value_n Tipo de datos BOOL, BYTE, WORD, DWORD BOOL, BYTE, WORD, DWORD BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de entrada Secuencia de bits de entrada Secuencia de bits de entrada (n = 32 mx.)
188
33002522 05/2010
47
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza para de deteccin de flancos descendentes 1 -> 0. La salida Q se convierte en "1" cuando se realiza un traspaso de "1" a "0" en la entrada CLK. La salida permanece en "1" desde una ejecucin del bloque de funcin hasta la siguiente ejecucin; a continuacin la salida vuelve a "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
189
F_TRIG
Representacin en IL Representacin: CAL F_TRIG_Instance (CLK:=ClockInput, Q=>Output) Representacin en ST Representacin: F_TRIG_Instance (CLK:=ClockInput, Q=>Output) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro CLK Tipo de datos BOOL Significado Entrada de ciclo
190
33002522 05/2010
FE 33002522 05/2010
48
Descripcin
Descripcin de la funcin La funcin FE detecta el paso de 1 a 0 (flanco (vase Unity Pro, Lenguajes y estructura del programa, Manual de referencia ) descendente) del bit que tiene asociado. Se pueden configurar los parmetros adicionales EN y ENO. NOTA: De manera alternativa, tambin puede utilizar para EBOOL R_TRIG, F_TRIG y TRIGGER, que trabajan independientemente del bit del historial de tipo EBOOL. Representacin FBD Representacin:
Representacin LD La funcin FE no puede utilizarse en LD. Debe utilizar funciones LD equivalentes. Representacin:
33002522 05/2010
191
FE
Representacin IL Representacin: LD Start_Button FE ST Start_Pulse Representacin ST Representacin: Start_Pulse:= FE (Start_Button); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Start_Button Tipo EBOOL Comentario Entrada o salida binaria o bit interno cuyo flanco descendente queremos detectar.
La variable EBOOL debe escribirse una vez en cada exploracin de la CPU. En los dems casos, se puede producir un error. Solo pueden utilizarse sin restricciones las entradas binarias, ya que se escriben desde la gestin de E/S de la CPU. Diagrama de tendencias Cronograma:
T es igual a un tiempo de ciclo de PLC para una entrada y es el retardo entre dos asignaciones para una salida binaria o un bit interno.
192
33002522 05/2010
NOT: Negacin
49
Descripcin
Descripcin de la funcin La funcin va negando por bits la secuencia de bits de entrada y emite el resultado en la salida. Los tipos de datos del valor de entrada y salida deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Otras funciones disponibles En la biblioteca obsoleta tambin puede acceder a las siguientes funciones adicionales: z NOT_DINT z NOT_INT El modo de operar de estas funciones es idntico al de la funcin NOT. Frmula OUT = NOT IN Representacin en FBD Representacin:
33002522 05/2010
193
NOT
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value NOT ST NegValue Representacin en ST Representacin: NegValue := NOT (Value) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value Tipo de datos BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de entrada
194
33002522 05/2010
OR 33002522 05/2010
OR: Funcin O
50
Descripcin
Descripcin de la funcin La funcin realiza una vinculacin O por bits de la secuencia de bits a las entradas y emite el resultado en la salida. Los tipos de datos de todos los valores de entrada y el del valor de salida deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 32. Como parmetros adicionales se pueden configurar EN y ENO. Otras funciones disponibles Al utilizar un Premium PLC dispone adems de las siguientes funciones en la biblioteca obsoleta: z OR_DINT z OR_INT El modo de operar de estas funciones es idntico al de la funcin OR. Frmula OUT = IN1 OR IN2 OR ... OR INn Representacin en FBD Representacin:
33002522 05/2010
195
OR
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value_1 OR Value_2 ST Result Representacin en ST Representacin: Result := OR (Value_1, Value_2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value_1 Value_2 Value_n Tipo de datos BOOL, BYTE, WORD, DWORD BOOL, BYTE, WORD, DWORD BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de entrada Secuencia de bits de entrada Secuencia de bits de entrada n = max. 32
196
33002522 05/2010
51
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza para de deteccin de flancos ascendentes 0 -> 1. La salida Q se convierte en "1" cuando se realiza un traspaso de "0" a "1" en la entrada CLK. La salida permanece desde una ejecucin del bloque de funcin hasta la siguiente ejecucin en "1" (un ciclo); a continuacin la salida vuelve a "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
197
R_TRIG
Representacin en IL Representacin: CAL R_TRIG_Instance (CLK:=ClockInput, Q=>Output) Representacin en ST Representacin: R_TRIG_Instance (CLK:=ClockInput, Q=>Output) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro CLK Tipo de datos BOOL Significado Entrada de ciclo
198
33002522 05/2010
RE 33002522 05/2010
52
Descripcin
Descripcin de la funcin La funcin RE detecta el paso de 0 a 1 (Flanco (vase Unity Pro, Lenguajes y estructura del programa, Manual de referencia ) ascendente) del bit que tiene asociado. Se pueden configurar los parmetros adicionales EN y ENO. NOTA: De manera alternativa, tambin puede utilizar para EBOOL R_TRIG, F_TRIG y TRIGGER, que trabajan independientemente del bit del historial de tipo EBOOL. Representacin FBD Representacin:
Representacin LD La funcin RE no puede utilizarse en LD. Debe utilizar funciones LD equivalentes. Representacin:
33002522 05/2010
199
RE
Representacin IL Representacin: LD Start_Button RE ST Start_Pulse Representacin ST Representacin: Start_Pulse := RE (Start_Button); Descripcin de parmetros En la tabla siguiente, se describen los parmetros de entrada:
Parmetro Start_Button Tipo EBOOL Comentario Entrada o salida binaria, bit interno cuyo flanco ascendente queremos detectar.
La variable EBOOL debe escribirse una vez en cada exploracin de la CPU. En los dems casos, se puede producir un error. Solo pueden utilizarse sin restricciones las entradas binarias, ya que se escriben desde la gestin de E/S de la CPU. Grfico de tendencias Cronograma:
T es igual a un tiempo de ciclo de PLC para una entrada y es el retardo entre dos asignaciones para una salida binaria o un bit interno.
200
33002522 05/2010
53
Descripcin
Descripcin de la funcin La funcin RESET realiza la puesta a 0 del bit asociado. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
201
RESET
Representacin en IL Representacin: CAL RESET(Bit_to_Reset) Representacin en ST Representacin: RESET (Bit_to_Reset); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de salida:
Parmetro Tipo Comentario Entrada o salida TON o bit interno que se desea poner a 0.
Bit_to_Reset BOOL
202
33002522 05/2010
54
Descripcin
Descripcin de la funcin La funcin gira la muestra de bits en la entrada IN en n bits (el valor de la entrada Number) hacia la izquierda en forma de crculo. En esta operacin se utiliza el bit del sistema %S17 como bit CARRY, es decir, el estado del bit desplazado se ubica aqu. Los tipos de datos de la entrada IN y de la salida OUT deben ser iguales. NOTA: Por cuestiones de conformidad con CEI 61131-3, esta funcin tambin es operativa con el tipo de datos BOOL. Sin embargo, esto no tiene ninguna relevancia en la prctica. Como parmetros adicionales se pueden configurar EN y ENO. Otras funciones disponibles Al utilizar un Premium PLC dispone adems de las siguientes funciones en la biblioteca obsoleta: z ROL_DINT z ROL_INT El modo de operar de estas funciones es idntico al de la funcin ROL. Representacin en FBD Representacin:
33002522 05/2010
203
ROL
Representacin en LD Representacin:
Representacin en IL Representacin: LD InputPattern ROL Number ST OutputPattern Representacin en ST Representacin: OutputPattern := ROL (InputPattern, Number) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro InputPattern Tipo de datos En ROL: BOOL, BYTE, WORD, DWORD En ROL_INT: INT En ROL_DINT: DINT En ROL: UINT EnROL_INT, ROL_DINT: INT Significado Muestra de bit que hay que rotar
Number
OutputPattern En ROL: BOOL, BYTE, WORD, DWORD En ROL_INT: INT En ROL_DINT: DINT
204
33002522 05/2010
55
Descripcin
Descripcin de la funcin La funcin gira la muestra de bits en la entrada In en n bits (el valor de la entrada Number) hacia la derecha en forma de crculo. En esta operacin se utiliza el bit del sistema %S17 como bit CARRY, es decir, el estado del bit desplazado se ubica aqu. Los tipos de datos de la entrada IN y de la salida OUT deben ser iguales. NOTA: Por cuestiones de conformidad con CEI 61131-3, esta funcin tambin es operativa con el tipo de datos BOOL. Sin embargo, esto no tiene ninguna relevancia en la prctica. Como parmetros adicionales se pueden configurar EN y ENO. Otras funciones disponibles Al utilizar un Premium PLC dispone adems de las siguientes funciones en la biblioteca obsoleta: z ROR_DINT z ROR_INT El modo de operar de estas funciones es idntico al de la funcin ROR. Representacin en FBD Representacin:
33002522 05/2010
205
ROR
Representacin en LD Representacin:
Representacin en IL Representacin: LD InputPattern ROR Number ST OutputPattern Representacin en ST Representacin: OutputPattern := ROR (InputPattern, Number) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro InputPattern Tipo de datos En ROR: BOOL, BYTE, WORD, DWORD En ROR_INT: INT En ROR_DINT: DINT En ROR: UINT EnROR_INT, ROR_DINT: INT Significado Muestra de bit que hay que rotar
Number
206
33002522 05/2010
RS 33002522 05/2010
56
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza como memoria RS con la caracterstica "Restablecer dominante". La salida Q1 se convierte en "1" cuando la entrada S se convierte en "1". Este estado incluso se mantiene cuando la entrada S vuelve a ser "0". La salida Q1 slo se convierte en "0", cuando la entrada R1 se convierte en "1". Si las entradas S y R1 son "1" a la vez, la entrada dominante R1 ubica la entrada Q1 en "0". El estado inicial de Q1 durante la primera llamada del bloque de funcin es "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
207
RS
Representacin en IL Representacin: CAL RS_Instance (S:=Set, R1:=Reset, Q1=>Output) Representacin en ST Representacin: RS_Instance (S:=Set, R1:=Reset, Q1=>Output) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro S R1 Tipo de datos BOOL BOOL Significado Ubicar Restablecer (dominante)
208
33002522 05/2010
57
Descripcin
Descripcin de la funcin La funcin SET realiza la puesta a 1 del bit asociado. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
209
SET
Representacin en IL Representacin: CAL SET(Bit_to_Set) Representacin en ST Representacin: SET (Bit_to_Set); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de salida:
Parmetro Bit_to_Set Tipo BOOL Comentario Entrada o salida TON o bit interno que se quiere poner a 1.
210
33002522 05/2010
58
Descripcin
Descripcin de la funcin La funcin desplaza la muestra de bits en la entrada IN en n bits (el valor de la entrada N) hacia la izquierda. En esta operacin se utiliza el bit del sistema %S17 como bit CARRY, es decir, el estado del bit desplazado se ubica aqu. Desde la derecha se rellena con ceros. Los tipos de datos de la entrada IN y de la salida OUT deben ser iguales. NOTA: Por cuestiones de conformidad con CEI 61131-3, esta funcin tambin es operativa con el tipo de datos BOOL. Sin embargo, esto no tiene ninguna relevancia en la prctica. Como parmetros adicionales se pueden configurar EN y ENO. Otras funciones disponibles En la biblioteca obsoleta tambin puede acceder a las siguientes funciones: z SHL_DINT z SHL_INT El modo de operar de estas funciones es idntico al de la funcin SHL. Representacin en FBD Representacin:
33002522 05/2010
211
SHL
Representacin en LD Representacin:
Representacin en IL Representacin: LD IntputPattern SHL Number ST ShiftedPattern Representacin en ST Representacin: ShiftedPattern := SHL (IntputPattern, Number) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro IntputPattern Tipo de datos Significado
En SHL: BOOL, BYTE, Muestra de bit que hay que desplazar Ejemplo: IntputPattern = WORD, DWORD 2#0100000011110001. En SHL_INT: INT En SHL_DINT: DINT En SHL: UINT EnSHL_INT, SHL_DINT: INT Nmero de los puntos, alrededor de los cuales se debe desplazar Ejemplo: Number = 4.
Number
212
33002522 05/2010
59
Descripcin
Descripcin de la funcin La funcin desplaza la muestra de bits en la entrada IN en n bits (el valor de la entrada N) hacia la derecha. En esta operacin se utiliza el bit del sistema %S17 como bit CARRY, es decir, el estado del bit desplazado se ubica aqu. Desde la izquierda se rellena con ceros. Caso especial: Si en el dilogo Herramientas Ajustes del proyecto Extensiones de lenguaje est activada la opcin permitir INT/DINT en lugar de ANY_BIT y se utilizan en la entrada IN los tipos de datos INT o DINT, se rellenar con ceros desde la izquierda , donde el bit 0 ser el de mayor valor. Si el bit de mayor valor es 1, se rellenar con unos. El bit de mayor valor contiene el bit de signo en los tipos de datos INT y DINT. Mediante este funcionamiento se asegura que el signo no se pierda durante el desplazamiento. Si no se tiene en cuenta el signo y se rellena siempre con ceros, se puede utilizar en los controles de Premium la funcin SHRZ_*** de la biblioteca obsoleta. Los tipos de datos de la entrada In y de la salida OUT deben ser iguales. NOTA: Por cuestiones de conformidad con CEI 61131-3, esta funcin tambin es operativa con el tipo de datos BOOL. Sin embargo, esto no tiene ninguna relevancia en la prctica. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
33002522 05/2010
213
SHR
Representacin en LD Representacin:
Representacin en IL Representacin: LD IntputPattern SHR Number ST ShiftedPattern Representacin en ST Representacin: ShiftedPattern := SHR (IntputPattern, Number) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro IntputPattern Tipo de datos BOOL, BYTE, WORD, DWORD UINT Significado Muestra de bit que hay que desplazar Ejemplo: IntputPattern = 2#0100000011110001. Nmero de los puntos, alrededor de los cuales se debe desplazar Ejemplo: Number = 4.
Number
214
33002522 05/2010
SR 33002522 05/2010
60
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza como memoria SR con la caracterstica "Ubicar dominante". La salida Q1 se convierte en "1" cuando la entrada S1 se convierte en "1". Este estado incluso se mantiene cuando la entrada S1 vuelve a ser "0". La salida Q1 no se convertir en "0" hasta que la entrada R se convierta en "1". Si las entradas S1 y R son "1" a la vez, la entrada dominante S1 ubica la salida Q1 en "1". El estado inicial de Q1 durante la primera llamada del bloque de funcin es "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
215
SR
Representacin en IL Representacin: CAL SR_Instance (S1:=Set, R:=Reset, Q1=>Output) Representacin en ST Representacin: SR_Instance (S1:=Set, R:=Reset, Q1=>Output) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro S1 R Tipo de datos BOOL BOOL Significado Ubicar (dominante) Restablecer
216
33002522 05/2010
61
Descripcin
Descripcin de la funcin El bloque de funcin reconoce cualquier flanco (1 -> 0 y 0 -> 1) en la entrada CLK. En un flanco ascendente se realiza un traspaso de "0" a "1" en la entrada CLK ; en un flanco descendente se realiza un traspaso de "1" a "0" en la entrada CLK. En un flanco cualquiera, la salida EDGE ser "1". En un flanco ascendente, adems de EDGE,la salida RISE ser "1". En un flanco descendente, adems de EDGE,la salida FALL ser "1". Si no hay flancos todas las salidas sern "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
33002522 05/2010
217
TRIGGER
Representacin en LD Representacin:
Representacin en IL Representacin: CAL TRIGGER_Instance (CLK:=ClockInput, RISE=>RisingEdge, EDGE=>AnyEdge, FALL=>FallingEdge) Representacin en ST Representacin: TRIGGER_Instance (CLK:=ClockInput, RISE=>RisingEdge, EDGE=>AnyEdge, FALL=>FallingEdge) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro CLK Tipo de datos BOOL Significado Entrada de ciclo
218
33002522 05/2010
62
Descripcin
Descripcin de la funcin La funcin realiza una vinculacin XOR por bits de la secuencia de bits a las entradas y emite el resultado en la salida. Los tipos de datos de todos los valores de entrada y el del valor de salida deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 32. Como parmetros adicionales se pueden configurar EN y ENO. Otras funciones disponibles Al utilizar un Premium PLC dispone adems de las siguientes funciones en la biblioteca obsoleta: z XOR_DINT z XOR_INT El modo de operar de estas funciones es idntico al de la funcin XOR. Frmula OUT = IN1 XOR IN2 XOR .. XOR INn Representacin en FBD Representacin:
33002522 05/2010
219
XOR
Representacin en LD Representacin:
Representacin en IL Representacin: LD Value_1 XOR Value_2 ST Result Representacin en ST Representacin: Result := XOR (Value_1, Value_2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value_1 Value_2 Value_n Tipo de datos BOOL, BYTE, WORD, DWORD BOOL, BYTE, WORD, DWORD BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de entrada Secuencia de bits de entrada Secuencia de bits de entrada n = max 32
220
33002522 05/2010
Matemtica
VIII
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Matemtica. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 Nombre del captulo ABS: Clculo de valores absolutos ACOS: Arco coseno ADD: Adicin ADD_TIME: Adicin ASIN: Arco seno ATAN: Arco tangente COS: Coseno DEC: Reduccin de una variable DIV: Divisin DIVMOD: Divisin y mdulo EXP: Exponente natural EXPT_REAL_***: Exponenciacin de un valor por otro valor INC: Incremento de una variable LN: Logaritmo natural LOG: Logaritmo en base 10 MOD: Mdulo MOVE: Asignacin MUL: Multiplicacin NEG: Negacin SIGN: Evaluacin de signos Pgina 223 225 227 229 231 233 235 237 239 241 243 245 247 249 251 253 255 257 259 261
33002522 05/2010
221
Matemtica
222
33002522 05/2010
63
Descripcin
Descripcin de la funcin La funcin forma el valor absoluto del valor de entrada y emite el mismo en la salida. Los tipos de datos del valor de entrada y salida deben ser iguales. NOTA: Por cuestiones de conformidad con CEI 61131-3, esta funcin tambin es posible con los tipos de datos UINT y UDINT. Sin embargo, esto no tiene ninguna relevancia en la prctica. Como parmetros adicionales se pueden configurar EN y ENO. Frmula
Representacin en LD Representacin:
33002522 05/2010
223
ABS
Representacin en IL Representacin: LD Value ABS ST Result Representacin en ST Representacin: Result := ABS (Value) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Valor de entrada
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
no se alcanza el valor lmite (tipos de datos INT y DINT) o se dispone de un nmero de coma flotante inadmisible para un parmetro de entrada del tipo de datos REAL. En este caso, se ubicar adems el estado en %SW17 (vase pgina 480).
224
33002522 05/2010
64
Descripcin
Descripcin de la funcin La funcin ACOS calcula el arco coseno principal de un valor real. El resultado viene dado en forma de ngulo en radianes. Del mismo modo, la solicitud de la funcin se realiza mediante ACOS_REAL. Los parmetros adicionales EN y ENO se pueden configurar. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
225
ACOS
Representacin en IL Representacin: LD Cos_Value ACOS_REAL ST Angle Representacin en ST Representacin: Angle := ACOS_REAL(Cos_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Cos_Value Tipo REAL Comentario Coseno del ngulo calculado a la salida del bloque. -1 Cos_Value 1
Errores de ejecucin Cuando el valor absoluto de Cos_Value es superior a 1, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
226
33002522 05/2010
ADD: Adicin
65
Descripcin
Descripcin de funciones Esta funcin aade los valores de entrada y asigna el resultado a la salida. Los tipos de datos para todos los valores de entrada y de salida deben ser idnticos. El nmero de entradas puede aumentarse hasta un mximo de 32 para todas las funciones. Para aadir valores del tipo de datosTIME, existe un bloque denominado ADD_TIME (vase pgina 229) EN y ENO pueden configurarse como parmetros adicionales. Frmula INT, DINT, UINT, UDINT, REAL: OUT = IN1 + IN2 + ... + INn Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
227
ADD
Representacin en IL Representacin: LD Value1 ADD Value2 ST Sum Representacin en ST Representacin: Sum := ADD (Value1, Value2); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL Significado Sumando Sumando Sumando n = 32 (mx.)
Error de ejecucin El bit de sistema %S18 (vase pgina 477) pasa a 1 si:
z
Se supera el rango de valores en la salida (todos los tipos de datos disponibles) o Un nmero de coma flotante no autorizado se establece en un parmetro de entrada de tipo de datos REAL. Es este caso, el estado tambin se sita en %SW17 (vase pgina 480).
228
33002522 05/2010
ADD_TIME: Adicin
66
Descripcin
Descripcin de la funcin La funcin suma 2 valores de entrada del tipo de datos TIME y emite el resultado en la salida (tambin tipo de datos TIME). Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = IN1 + IN2 Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
229
ADD_TIME
Representacin en IL Representacin: LD TimeValue1 ADD_TIME TimeValue2 ST Sum Representacin en ST Representacin: Sum := ADD_TIME (TimeValue1, TimeValue2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro TimeValue1 TimeValue2 Tipo de datos TIME TIME Significado Sumando Sumando
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 si se sobrepasa el margen de valores en la salida.
230
33002522 05/2010
67
Descripcin
Descripcin de la funcin La funcin ASIN calcula el arco seno principal de un valor real. El resultado viene dado en forma de ngulo en radianes. Del mismo modo, la solicitud de la funcin se realiza mediante ASIN_REAL. Los parmetros adicionales EN y ENO se pueden configurar. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
231
ASIN
Representacin en IL Representacin: LD Sin_Value ASIN_REAL ST Angle Representacin en ST Representacin: Angle := ASIN_REAL(Sin_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Sin_Value Tipo REAL Comentario Seno del ngulo calculado a la salida del bloque. -1 Sin_Value 1
Errores de ejecucin Cuando el valor absoluto de Sin_Value es superior a 1, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
232
33002522 05/2010
68
Descripcin
Descripcin de la funcin La funcin ATAN calcula el arco tangente principal de un valor real. El resultado viene dado en forma de ngulo en radianes. Del mismo modo, la solicitud de la funcin se realiza mediante ATAN_REAL. Los parmetros adicionales EN y ENO se pueden configurar. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
233
ATAN
Representacin en IL Representacin: LD Tan_Value ATAN_REAL ST Angle Representacin en ST Representacin: Angle := ATAN_REAL(Tan_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Tan_Value Tipo REAL Comentario Tangente del ngulo calculado a la salida del bloque. -1.#INF < Tan_Value < +1.#INF
Errores de ejecucin Cuando el valor absoluto de Tan_Value es superior a 1, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
234
33002522 05/2010
COS: Coseno
69
Descripcin
Descripcin de la funcin La funcin COS calcula el coseno de un ngulo. La llamada de funcin tambin puede realizarse mediante COS_REAL. Pueden configurarse los parmetros adicionales EN y ENO. Frmula La frmula es la siguiente: Cos_Valor = Cos(ngulo) Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
235
COS
Representacin en IL Representacin: LD ngulo COS_REAL ST Cos_Valor Representacin en ST Representacin: Cos_Valor:= COS_REAL(ngulo); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro ngulo Tipo REAL Comentario ngulo expresado en radianes. -2 63 < ngulo < +2 63
Errores en el tiempo de ejecucin Cuando el valor absoluto del ngulo es mayor de 2 63, el bit del sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
236
33002522 05/2010
70
Descripcin
Descripcin de la funcin La funcin DEC reduce en 1 una variable. El parmetro de esta funcin puede definirse de tipo ANY_INT. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin aplicada a un entero:
33002522 05/2010
237
DEC
Representacin en IL Representacin aplicada a un entero: CAL DEC(Value1) Representacin en ST Representacin aplicada a un entero: DEC(Value1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada/salida:
Parmetro Value1 Tipo Comentario
INT, DINT, UINT, A cada paso del programa de esta EF, la variable UDINT. Value1 se reduce una unidad.
Errores de ejecucin En caso de rebasamiento, el bit de sistema %S18 (vase pgina 477) se posiciona en 1 y el valor reducido pasa a ser positivo (por ejemplo, 32767 para un entero).
238
33002522 05/2010
DIV: Divisin
71
Descripcin
Descripcin de la funcin La funcin divide el valor de la entrada Dividendo entre el valor de la entrada Divisor y emite el resultado en la salida. Los tipos de datos de los valores de entrada y el del valor de salida deben ser iguales. Para la divisin con valores del tipo de datos TIME existe el bloque DIVTIME (vase pgina 167). Si se dividen valores de los tipos INT, DINT, UINT y UDINT, en el resultado se cortarn los valores detrs de la coma que pudiera haber en sentido cero, por ejemplo
33002522 05/2010
239
DIV
Representacin en LD Representacin:
Representacin en IL Representacin: LD Dividend DIV Divisor ST Quotient Representacin en ST Representacin: Quotient := DIV (Dividend, Divisor) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Dividendo Divisor Tipo de datos INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL Significado Dividendo Divisor
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z z
se ejecuta una divisin entre 0 inadmisible (todos los tipos de datos disponibles) o se dispone de un nmero de coma flotante inadmisible para un parmetro de entrada del tipo de datos REAL. En este caso, se ubicar adems el estado en %SW17 (vase pgina 480).
240
33002522 05/2010
72
Descripcin
Descripcin de la funcin Este procedimiento divide el valor de la entrada Dividendo por el valor de la entrada Divisor. El resultado de la divisin se entrega a la salida Cociente. El resto se entrega a la salida Mdulo. En el caso de la divisin, se segmenta un dgito existente despus de coma en el sentido cero durante el resultado de la divisin. Los tipos de datos de todos los valores de entrada y de salida deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque: DV = IN1 / IN2 MD = IN1 mod IN2 Representacin en FBD Representacin:
33002522 05/2010
241
DIVMOD
Representacin en LD Representacin:
Representacin en IL Representacin: LD Dividend DIVMOD Divisor, Quotient, Modulo Representacin en ST Representacin: DIVMOD (Dividend, Divisor, Quotient, Modulo); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Dividendo Divisor Tipo de datos INT, DINT, UINT, UDINT INT, DINT, UINT, UDINT Significado Dividendo Divisor
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando se ejecute una divisin entre 0 inadmisible.
242
33002522 05/2010
73
Descripcin
Descripcin de la funcin La funcin EXP calcula el valor exponencial natural de un valor real. Del mismo modo, la solicitud de la funcin se realiza mediante EXP_REAL. Los parmetros adicionales EN y ENO se pueden configurar. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
243
EXP
Representacin en IL Representacin: LD Real_Value EXP_REAL ST Exp_Real_Value Representacin en ST Representacin: Exp_Real_Value := EXP_REAL(Real_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Real_Value Tipo REAL Comentario Valor real del cual se puede obtener el valor exponencial natural -87.33654 < Real_Value < 88.72283
Errores de ejecucin Cuando Real_Value se encuentra fuera del intervalo ]-87.33654, 88.72283[, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
244
33002522 05/2010
74
Descripcin
Descripcin de la funcin La funcin EXPT_REAL_*** calcula la potencia de un valor por otro valor. Los parmetros adicionales EN y ENO se pueden configurar. Funciones disponibles Las funciones disponibles son las siguientes: z EXPT_REAL_INT z EXPT_REAL_DINT z EXPT_REAL_UINT z EXPT_REAL_UDINT z EXPT_REAL_REAL Frmula La frmula es la siguiente:
33002522 05/2010
245
EXPT_REAL_***
Representacin en IL Representacin aplicada a un valor real: LD Value1 EXPT_REAL_REAL Exponent ST Expt_Real_Value Representacin en ST Representacin aplicada a un valor real: Expt_Real_Value:= EXPT_REAL_REAL(Value1, Exponent); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Value1 Tipo REAL Comentario Valor del que se puede obtener el valor exponencial mediante Exponent 0 Value1 < INF Exponente de la potencia -INF < Exponent < +INF
Exponent
Expt_Real__Value REAL
Errores de ejecucin Cuando Value1 es negativo o cuando tiene lugar un desborde Expt_Real_Value, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
246
33002522 05/2010
75
Descripcin
Descripcin de la funcin La funcin INC incrementa en 1 una variable. El parmetro de esta funcin puede definirse de tipo ANY_INT. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin aplicada a un entero:
33002522 05/2010
247
INC
Representacin en IL Representacin aplicada a un entero: CAL INC(Value1) Representacin en ST Representacin aplicada a un entero: INC(Value1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada/salida:
Parmetro Value1 Tipo Comentario
INT, DINT, UINT, A cada paso del programa de esta EF, la variable UDINT. Value1 se incrementa una unidad.
Errores de ejecucin En caso de rebasamiento, el bit de sistema %S18 (vase pgina 477) se posiciona en 1 y el valor incrementado pasa a ser negativo (por ejemplo, -32768 para un entero).
248
33002522 05/2010
LN 33002522 05/2010
76
Descripcin
Descripcin de la funcin La funcin LN calcula el logaritmo neperiano de un valor real. Del mismo modo, la solicitud de la funcin se realiza mediante LN_REAL. Los parmetros adicionales EN y ENO se pueden configurar. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
249
LN
Representacin en IL Representacin: LD Real_Value LN_REAL ST Ln_Real_Value Representacin en ST Representacin: Ln_Real_Value:= LN_REAL(Real_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Real_Value Tipo REAL Comentario Valor real del cual se puede obtener el logaritmo neperiano. 0 < Real_Value < +INF
Errores de ejecucin Cuando Real_Value es negativo, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
250
33002522 05/2010
77
Descripcin
Descripcin de la funcin La funcin LOG calcula el logaritmo decimal de un valor real. Del mismo modo, la solicitud de la funcin se realiza mediante LOG_REAL. Los parmetros adicionales EN y ENO se pueden configurar. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
251
LOG
Representacin en IL Representacin: LD Real_Value LOG_REAL ST Log_Real_Value Representacin en ST Representacin: Log_Real_Value := LOG_REAL(Real_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Real_Value Tipo REAL Comentario Valor real del cual se puede obtener el logaritmo neperiano. 0 < Real_Value < 1.#INF
Errores de ejecucin Cuando Real_Value es negativo, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
252
33002522 05/2010
MOD: Mdulo
78
Descripcin
Descripcin de la funcin La funcin divide el valor de la entrada Dividendo entre el valor de la entrada Divisor y entrega el resto de la divisin (mdulo) a la salida. Los tipos de datos de todos los valores de entrada y el del valor de salida deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = IN1 mod IN2 Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
253
MOD
Representacin en IL Representacin: LD Dividend MOD Divisor ST Rest Representacin en ST Representacin: Rest := MOD (Dividend, Divisor) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Dividendo Divisor Tipo de datos INT, DINT, UINT, UDINT INT, DINT, UINT, UDINT Significado Dividendo Divisor
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando se ejecute una divisin entre 0 inadmisible.
254
33002522 05/2010
MOVE: Asignacin
79
Descripcin
Descripcin de la funcin Esta funcin asigna el valor de entrada a la salida. Esta es una funcin genrica, es decir, el tipo de datos que se procesarn estar determinado por la variable que se asign a la funcin en primer lugar. Si se debe asignar la direccin directa de una variable o viceversa, asigne siempre la variable a la funcin en primer lugar. No est autorizada una direccin directa en la entrada y en la salida de la funcin, ya que esto no permite una definicin clara del tipo de datos. El solapamiento de direcciones de variables no es compatible con esta funcin y slo se aplica a las CPU de herencia de Quantum y al simulador del PLC. Los tipos de datos del valor de entrada y salida deben ser iguales. NOTA: No es posible copiar una matriz de los elementos EBOOL mediante la funcin MOVE, ya que MOVE no actualizar el historial de asignaciones de los elementos de matriz. Para copiar una matriz de elementos EBOOL, utilice la funcin COPY_AREBOOL_AREBOOL (vase pgina 49). Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = IN Representacin en FBD Representacin:
33002522 05/2010
255
MOVE
Representacin en LD Esta funcin no se puede utilizar en el lenguaje de programacin LD (Ladder Diagram; Diagrama de contactos) con el tipo de datos BOOL, ya que en ese punto se puede conseguir la misma funcionalidad con contactos y bobinas. Representacin:
Representacin en IL Representacin: LD Input MOVE ST Output Representacin en ST Representacin: Output := MOVE (Input) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Input Tipo de datos ANY Significado Valor de entrada
256
33002522 05/2010
MUL: Multiplicacin
80
Descripcin
Descripcin de la funcin La funcin multiplica los valores de entrada y emite el resultado en la salida. Los tipos de datos de todos los valores de entrada y el del valor de salida deben ser iguales. Se puede aumentar el nmero de entradas como mximo a 32. Para la divisin con valores del tipo de datos TIME existe el bloque MULTIME (vase pgina 169). Como parmetros adicionales se pueden configurar EN y ENO. Frmula OUT = IN1 x IN2 x .. x IN n Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
257
MUL
Representacin en IL Representacin: LD Factor1 MUL Factor2 ST Product Representacin en ST Representacin: Product := MUL (Factor1, Factor2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Factor1 Factor2 Factorn Tipo de datos INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL Significado Multiplicando (factor) Multiplicador (factor) Multiplicador (factor) n = max 32
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
se trata de un desbordamiento del margen de valores en la salida (todos los tipos de datos disponibles) o se dispone de un nmero de coma flotante inadmisible para un parmetro de entrada del tipo de datos REAL. En este caso, se ubicar adems el estado en %SW17 (vase pgina 480).
258
33002522 05/2010
NEG: Negacin
81
Descripcin
Descripcin de la funcin La funcin niega el valor de entrada y emite el resultado en la salida NegatedOutput. En la negacin tiene lugar una inversin con signos, por ejemplo: 6 -> -6 -4 -> 4 NOTA: Al procesar los tipos de datos INT y DINT los valores negativos muy largos no se pueden convertir en positivos. Sin embargo, con este error, la salida ENO no se restablece en 0. NOTA: Al procesar los tipos de datos UINT y UDINT siempre aparece un aviso de error. Los tipos de datos del valor de entrada y salida deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
33002522 05/2010
259
NEG
Representacin en LD Representacin:
Representacin en IL Representacin: LD Input NEG ST NegatedOutput Representacin en ST Representacin: NegatedOutput := NEG (Input) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Input Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Entrada
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
se dae el margen de valores al ejecutar la funcin en la entrada (tipos de datos INT y DINT) o se deba cambiar un valor de entrada del tipo de datos UDINT o UINT.
260
33002522 05/2010
82
Descripcin
Descripcin de la funcin La funcin se utiliza para identificar signos negativos. Si el valor de la entrada es 0, la salida ser "0". Si el valor de la entrada es < 0, la salida ser "1". NOTA: Por cuestiones de conformidad con CEI 61131-3, esta funcin tambin funciona con los tipos de datos UINT y UDINT. Sin embargo, esto no es relevante en la prctica, ya que estas funciones siempre tienen como resultado 0. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque: OUT = 1, si IN < 0 OUT = 0, si IN 0 NOTA: Por medio de un procesamiento distinto de los valores REAL e INT, se da el siguiente comportamiento en el 0 con signo (+/-0):
z z z z
-0.0 -> SIGN_REAL -> 1 +0.0 -> SIGN_REAL -> 0 -0 -> SIGN_INT/DINT -> 0 +0 -> SIGN_INT/DINT -> 0
33002522 05/2010
261
SIGN:
Representacin en LD Representacin:
Representacin en IL Representacin LD Value SIGN ST Negativ Representacin en ST Representacin Negativ := SIGN (Value) ; Descripcin de parmetros Descripcin de los parmetros de entrada
Parmetro Value Tipo de datos INT, DINT, REAL Significado Entrada con signos
Error de ejecucin
z
El bit de sistema %S18 se establecer en 1 y ENO en 0 cuando existe un valor de entrada del tipo de datos UINT o UDINT.
262
33002522 05/2010
SIN: Seno
83
Descripcin
Descripcin de la funcin La funcin SIN calcula el seno de un ngulo. La llamada de funcin tambin puede realizarse mediante SIN_REAL. Pueden configurarse los parmetros adicionales EN y ENO. Frmula La frmula es la siguiente: Sin_Valor = Sin(ngulo) Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
263
SIN
Representacin en IL Representacin: LD ngulo SIN_REAL ST Sin_Valor Representacin en ST Representation: Sin_Valor:= SIN_REAL(ngulo); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro ngulo Tipo REAL Comentario ngulo expresado en radianes. -2 63 < ngulo < +2 63
Errores en el tiempo de ejecucin Cuando el valor absoluto del ngulo es mayor de 2 63, el bit del sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
264
33002522 05/2010
SUB: Sustraccin
84
Descripcin
Descripcin de la funcin La funcin resta el valor de la entrada Value2 del valor de la entrada Value1 y emite el resultado en la salida. Los tipos de datos de los valores de entrada y el del valor de salida deben ser iguales. Para la sustraccin con valores del tipo de datos TIME existe el bloque SUB_TIME (vase pgina 267). Como parmetros adicionales se pueden configurar EN y ENO. Frmula Difference = Value1 - Value2 Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
265
SUB
Representacin en IL Representacin: LD Value1 SUB Value2 ST Difference Representacin en ST Representacin: Difference := SUB (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Tipo de datos INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL Significado Minuendo Sustraendo
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
se trata de un desbordamiento del margen de valores en la salida (todos los tipos de datos disponibles) o se dispone de un nmero de coma flotante inadmisible para un parmetro de entrada del tipo de datos REAL. En este caso, se ubicar adems el estado en %SW17 (vase pgina 480).
266
33002522 05/2010
SUB_TIME: Sustraccin
85
Descripcin
Descripcin de la funcin La funcin resta el valor de la entrada TimeValue2 del valor de la entrada TimeValue1 y emite el resultado en la salida. Los tipos de datos de los valores de entrada y el del valor de salida deben ser del tipo de datos TIME. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Difference = TimeValue1 - TimeValue2 Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
267
SUB_TIME
Representacin en IL Representacin: LD TimeValue1 SUB TimeValue2 ST Difference Representacin en ST Representacin: Difference := SUB (TimeValue1, TimeValue2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro TimeValue1 TimeValue2 Tipo de datos TIME TIME Significado Minuendo Sustraendo
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
268
33002522 05/2010
86
Descripcin
Descripcin de la funcin La funcin SQRT_*** calcula la raz cuadrada de una variable. Puede llamarse a esta funcin mediante su nombre genrico o mediante uno de los nombres descritos ms adelante. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son: z SQRT_INT z SQRT_DINT z SQRT_REAL Representacin en FBD Representacin aplicada a un integer:
33002522 05/2010
269
SQRT_***
Representacin en IL Representacin aplicada a un integer: LD Valor1 SQRT_REAL ST Sqrt_Valor1 Representacin en ST Representacin aplicada a un integer: Sqrt_Valor1:= SQRT_REAL(Valor1) Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Valor1 Tipo Comentario
INT, DINT, REAL. Variable cuya raz cuadrada se desea calcular. 0 Valor1
INT, DINT, REAL. Sqrt_Valor1 contiene la raz cuadrada de Valor1. Sqrt_Valor1 es del mismo tipo que Valor1. Si el tipo es INT, Sqrt_Valor1 se redondea a la baja al menor valor; para Valor1 = 15, Sqrt_Valor1 = 3.
Errores en el tiempo de ejecucin Si Valor1 es de tipo REAL y negativo, el resultado de la funcin contiene -1.#NAN y el bit %S18 (vase pgina 477) = 1. Si Valor1 es de tipo INT oDINT y negativo, el resultado de la funcin contiene el valor negativo Value1 y el bit %S18 (vase pgina 477) = 1. En caso de que %S18 (vase pgina 477) = 1, la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
270
33002522 05/2010
TAN: Tangente
87
Descripcin
Descripcin de la funcin La funcin TAN calcula la tangente de un ngulo. La llamada de funcin tambin puede realizarse mediante TAN_REAL. Pueden configurarse los parmetros adicionales EN y ENO. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
271
TAN
Representacin en IL Representacin: LD Angle TAN_REAL ST Tan_Value Representacin en ST Representacin: Tan_Value:= TAN_REAL(Angle); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Angle Tipo REAL Comentario ngulo expresado en radianes -2 63 < Angle < +2 63
Errores de ejecucin Cuando el valor absoluto de Angle es mayor de 2 63, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
272
33002522 05/2010
Estadstica
IX
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Estadstica. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 88 89 90 91 92 93 94 AVE: Media LIMIT: Lmite LIMIT_IND: Indicador de lmite de ancho MAX: Funcin de valor mximo MIN: Funcin de valor mnimo MUX: Multiplexador SEL: Seleccin binaria Nombre del captulo Pgina 275 279 281 285 287 289 293
33002522 05/2010
273
Statistik
274
33002522 05/2010
AVE: Media
88
Descripcin
Descripcin de la funcin El procedimiento calcula el promedio de los valores de entrada ponderados y proporciona un resultado en la salida. Dos entradas sucesivas (K_Xn) representan un par de valores. La primera entrada K_Xn corresponde a K1, la siguiente a X1, la siguiente a sta a K2, etc. El nmero de entradas K_Xn puede aumentarse hasta 32 modificando verticalmente el tamao del marco del bloque. Esto corresponde a un mximo de 16 pares de valores. El nmero de entradas ha de ser par; de lo contrario, AVE genera un error de sistema y ajusta ENO como FALSE. Los tipos de datos de los valores de entrada y de salida han de ser idnticos. EN y ENO pueden configurarse como parmetros adicionales. Frmula Frmula de bloque:
33002522 05/2010
275
AVE
Representacin en LD Representacin:
Representacin en IL Representacin: LD FactorFirstValue AVE FirstValue, FactorSecondValue, SecondValue ST Result Representacin en ST Representacin: Result := AVE (FactorFirstValue, FirstValue, FactorSecondValue, SecondValue) ;
276
33002522 05/2010
AVE
HalfnValue
Valor
de (K_X(n)
n = 32 mximo
Errores en el tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se fija en 1, si:
z z z
se sobrepasa el rango de valor de la salida (todos los tipos de datos disponibles); o bien se ejecuta una divisin por cero no vlida (todos los tipos de datos disponibles); o bien se fija un nmero de coma flotante no autorizado en un parmetro de entrada de tipo de datos REAL. En este caso, el estado tambin se sita en %SW17 (vase pgina 480). Nota: El flag %SW17.1 (operando/resultado no normalizado aceptable) no se gestiona en el procedimiento AVE.
NOTA: Para ver una lista de todos los cdigos y valores de error de bloque, consulte Estadstica, pgina 471.
33002522 05/2010
277
AVE
278
33002522 05/2010
LIMIT: Lmite
89
Descripcin
Descripcin de la funcin La funcin transfiere el valor de entrada no modificado (Input) a la salida si el valor de entrada no es menor que el valor mnimo (LowerLimit) y no supera el valor mximo (UpperLimit). Si el valor de entrada (Input) es menor que el valor mnimo (LowerLimit), el valor mnimo se transferir a la salida. Si el valor de entrada (Input) supera el valor mximo (UpperLimit), el valor mximo se transferir a la salida. Los tipos de datos de todos los valores de entrada y de salida deben ser idnticos. EN y ENO pueden configurarse como parmetros adicionales. Frmula = , si ( MN) y (IN MX) OUT = MN, si (IN < MN) OUT = MX, si (IN > MX) Representacin en FBD Representacin:
33002522 05/2010
279
LIMIT
Representacin en LD Representacin:
Representacin en IL Representacin: LD LowerLimit LIMIT Input, UpperLimit ST Output Representacin en ST Representacin: Output := LIMIT (LowerLimit, Input, UpperLimit) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro MN IN MX Tipos de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Lmite inferior Entrada Lmite superior
Error de ejecucin Si se encuentra un nmero de coma flotante no autorizado en la entrada, se devuelve un mensaje de error.
280
33002522 05/2010
90
Descripcin
Descripcin de la funcin El procedimiento entrega el valor de entrada sin modificar (Input) en la salida (Output), cuando no queda por debajo del valor mnimo (LimitMinimum) ni por encima del valor mximo (LimitMaximum). En caso de que el valor de entrada (Input) quede por debajo del valor mnimo (LimitMinimum), se entrega el valor mnimo a la salida. En caso de que el valor de entrada (Input) quede por encima del valor mximo (LimitMaximum), se entrega el valor mximo a la salida. Adems, aparece una indicacin en caso de desbordamiento del valor mnimo o del valor mximo. En caso de que el valor de la entrada Input no alcance el valor de la entrada (LimitMinimum), la salida (MinimumViolation) ser "1". En caso de que el valor de la entrada (Input) sobrepase el valor de la entrada (LimitMinimum), la salida (MinimumViolation) ser "1". Los tipos de datos de los valores de entrada (LimitMinimum, Input, LimitMaximum) y del valor de salida (Output) deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque: OUT = IN, cuando (IN MX) & IN MN OUT = MN, cuando (IN < MN) OUT = MX, cuando (IN > MX) MN_IND = 0, cuando IN MN MN_IND = 1, cuando IN < MN MX_IND = 0, cuando IN MX MX_IND = 1, cuando IN > MX
33002522 05/2010
281
LIMIT_IND
Representacin en LD Representacin:
Representacin en IL Representacin: LD LimitMinimum LIMIT_IND Input, LimitMaximum, MinimumViolation, Output, MaximumViolation Representacin en ST Representacin: LIMIT_IND (LimitMinimum, Input, LimitMaximum, MinimumViolation, Output, MaximumViolation);
282
33002522 05/2010
LIMIT_IND
Input
Entrada
LimitMaximum
MaximumViolation
33002522 05/2010
283
LIMIT_IND
284
33002522 05/2010
91
Descripcin
Descripcin de funciones Esta funcin asigna el valor de entrada mximo a la salida. Los tipos de datos para todos los valores de entrada y de salida deben ser idnticos. El nmero de entradas puede aumentarse. EN y ENO pueden configurarse como parmetros adicionales. Frmula OUT = MAX {IN1, IN2, ..., INn} Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
285
MAX
Representacin en IL Representacin: LD Value1 MAX Value2 ST Maximum Representacin en ST Representacin: Maximum := MAX (Value1, Value2); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado 1. Valor de entrada 2. Valor de entrada n. Valor de entrada n = 32 (mx.)
Error de ejecucin Si se crea un nmero de coma flotante no autorizado para un parmetro de entrada de tipo de datos REAL, el bit de sistema %S18 (vase pgina 477) pasa a 1 y el estado se sita en el %SW17 (vase pgina 480). NOTA: Para obtener una lista de todos los mensajes de error de los bloques, consulte Errores comunes de coma flotante, pgina 472.
286
33002522 05/2010
92
Descripcin
Descripcin de funciones Esta funcin asigna el valor de entrada mnimo a la salida. Los tipos de datos para todos los valores de entrada y de salida deben ser idnticos. El nmero de entradas puede aumentarse. EN y ENO pueden configurarse como parmetros adicionales. Frmula OUT = MIN {IN1, IN2, ..., INn} Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
287
MIN
Representacin en IL Representacin: LD Value1 MIN Value2 ST Minimum Representacin en ST Representacin: Mnimo:= MIN (Value1, Value2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Value1 Value2 Valuen Tipo de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado 1. Valor de entrada 2. Valor de entrada n. Valor de entrada n = 32 (mx.)
Error de ejecucin Si se crea un nmero de coma flotante no autorizado para un parmetro de entrada de tipo de datos REAL, el bit de sistema %S18 (vase pgina 477) pasa a 1 y el estado se sita en el %SW17 (vase pgina 480). NOTA: Para obtener una lista de todos los mensajes de error de los bloques, consulte Errores comunes de coma flotante, pgina 472.
288
33002522 05/2010
MUX: Multiplexador
93
Descripcin
Descripcin de funciones La funcin traspasa la entrada correspondiente a la salida segn el valor en la entrada K. Se puede aumentar el nmero de entradas. Como parmetros adicionales se pueden configurar EN y ENO. Ejemplo K = 0: La entrada IN0 se entrega a la salida K = 1: La entrada IN1 se entrega a la salida K = 5: La entrada IN5 se entrega a la salida K = n: La entrada INn se entrega a la salida Tipos de datos Los tipos de datos de las entradas Input0 a Inputn y el tipo de la salida deben ser iguales. Representacin en FBD Representacin:
33002522 05/2010
289
MUX
Representacin en LD Representacin:
Representacin en IL Representacin: LD Selection MUX Input0, Input1 ST Output Representacin en ST Representacin: Output := MUX (Selection, Input0, Input1) ;
290
33002522 05/2010
MUX
Error de ejecucin Aparecer un mensaje de error si se sobrepasa el rango de valores de la entrada K (selector). NOTA: Para obtener una lista de todos los cdigos y los valores de error del mdulo, consulte Estadstica, pgina 471.
33002522 05/2010
291
MUX
292
33002522 05/2010
94
Descripcin
Descripcin de la funcin La funcin se utiliza para la seleccin binaria entre dos valores de entrada. En funcin del estado de la entrada Selection se emite la entrada Input0 o Input1 en la salida Output. Selection = 0 -> Output = Input0 Selection = 1 -> Output = Input1 Los tipos de datos de los valores de entrada Input0 y Input1 y del valor de salida Output deben ser iguales. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
293
SEL
Representacin en IL Representacin: LD Selection SEL Input0, Input1 ST Output Representacin en ST Representacin: Output := SEL (Selection, Input0, Input1) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Selection Input0 Input1 Tipo de datos BOOL ANY ANY Significado Entrada de seleccin Entrada 0 Entrada 1
294
33002522 05/2010
Cadenas de caracteres
X
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Cadenas de caracteres. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 95 96 97 98 99 100 101 102 103 104 Nombre del captulo CONCAT_STR: Concatenacin de dos cadenas de caracteres DELETE_INT: Eliminacin de una subcadena de caracteres EQUAL_STR: Comparacin de dos cadenas de caracteres FIND_INT: Bsqueda de una subcadena de caracteres INSERT_INT: Insercin de una subcadena de caracteres LEFT_INT: Extraccin de caracteres a la izquierda LEN_INT: Longitud de una cadena de caracteres MID_INT: Extraccin de una subcadena de caracteres REPLACE_INT: Sustitucin de una subcadena de caracteres RIGHT_INT: Extraccin de una cadena de caracteres a la derecha Pgina 297 299 301 303 305 309 311 313 315 319
33002522 05/2010
295
Cadenas de caracteres
296
33002522 05/2010
95
Descripcin
Descripcin de la funcin La funcin CONCAT_STR concatena dos cadenas de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
297
CONCAT_STR
Representacin en IL Representacin: LD String1 CONCAT_STR String2 ST Result_String Representacin en ST Representacin: Result_String:= CONCAT_STR(String1, String2); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 String2 Tipo STRING STRING Comentario Primera cadena de caracteres que se va a concatenar. Ejemplo: String1 contiene SWITCH TO Segunda cadena de caracteres que se va a concatenar. Ejemplo: String2 contiene RUN
Errores de tiempo de ejecucin El bit de sistema %S15 (vase pgina 477) se establece en 1 en los casos siguientes:
z
Si Result_String es demasiado corta para contener el resultado, este queda truncado. En caso contrario, la cadena Result_String se completa con caracteres NUL (16#00). Si Result_String se utiliza como valor de entrada en IN2.
298
33002522 05/2010
96
Descripcin
Descripcin de la funcin La funcin DELETE_INT elimina un nmero determinado de caracteres a partir de un rango especfico. El resultado es una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. NOTA: El comportamiento de esta funcin ha cambiado a partir de la versin 2.2 de Unity Pro. Si la cadena Result_String de esta funcin se encuentra en %MW, esta cadena no se completa con caracteres NUL (16#00). Se recomienda borrar el contenido de Result_String antes de utilizar esta funcin. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
299
DELETE_INT
Representacin en IL Representacin: LD String1 DELETE_INT Length_Str, Position ST Result_String Representacin en ST Representacin: Result_String:= DELETE_INT(String1, Length_Str, Position); Descripcin de los parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de caracteres de origen de la que se desea eliminar elementos. Ejemplo: String1 contiene "SWITCH TO STOP" Longitud de la cadena que se va a suprimir. Ejemplo: Length_Str =10 Rango del primer carcter de la cadena que se va a eliminar. Ejemplo: Position =1
Length_Str Position
INT INT
300
33002522 05/2010
97
Descripcin
Descripcin de la funcin La funcin EQUAL_STR compara dos cadenas de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
301
EQUAL_STR
Representacin en IL Representacin: LD String1 EQUAL_STR String2 ST Position Representacin en ST Representacin: Position := EQUAL_STR(String1, String2); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 String2 Tipo STRING STRING Comentario Primera cadena de caracteres que se va a comparar. Ejemplo: String1 contiene PUESTA EN STOP Segunda cadena de caracteres que se va a comparar. Ejemplo: String2 contiene PUESTA EN RUN
302
33002522 05/2010
98
Descripcin
Descripcin de la funcin La funcin FIND_INT busca la aparicin de una cadena de caracteres en otra cadena. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
303
FIND_INT
Representacin en IL Representacin: LD String1 FIND_INT String2 ST Position Representacin en ST Representacin: Position := FIND_INT(String1, String2); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de caracteres en la que se lleva a cabo la bsqueda. Ejemplo: String1 contiene PUESTA EN STOP Cadena de caracteres que contiene el texto que se va a buscar Ejemplo: String2 contiene STOP
String2
STRING
304
33002522 05/2010
99
Descripcin
Descripcin de la funcin La funcin INSERT_INT inserta una cadena de caracteres en otra cadena de caracteres a partir de un rango determinado. El resultado es una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
305
INSERT_INT
Representacin en IL Representacin: LD String1 INSERT_INT String2, Position ST Result_String Representacin en ST Representacin: Result_String:= INSERT_INT(String1, String2, Position); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de caracteres de origen a la que se agrega otra cadena de caracteres desde una posicin determinada. Ejemplo: String1 contiene START CYCLE Cadena de caracteres que se va a insertar en String1. Ejemplo: String2 contiene AUTO Rango del carcter despus del que se inserta String2. Ejemplo: Position =5
String2
STRING
Position
INT
306
33002522 05/2010
INSERT_INT
Errores de tiempo de ejecucin El bit %S15 (vase pgina 477) se establece en 1 en los casos siguientes:
z z z
Position 0, por lo que Result_String se completa con caracteres de fin de cadena (16#00). El tamao mximo de la cadena Result_String es demasiado pequeo para insertar String2. Result_String queda truncada. Si Result_String se utiliza como valor de entrada en IN1 o IN2.
33002522 05/2010
307
INSERT_INT
308
33002522 05/2010
100
Descripcin
Descripcin de la funcin La funcin LEFT_INT extrae un nmero determinado de caracteres situados en el extremo izquierdo de una cadena. El resultado es una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. NOTA: El comportamiento de esta funcin ha cambiado a partir de la versin 2.2 de Unity Pro. Si la cadena Result_String de esta funcin se encuentra en %MW, esta cadena no se completa con caracteres NUL (16#00). Se recomienda borrar el contenido de Result_String antes de utilizar esta funcin. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
309
LEFT_INT
Representacin en IL Representacin: LD String1 LEFT_INT Length_Str ST Result_String Representacin en ST Representacin: Result_String:= LEFT_INT(String1, Length_Str); Descripcin de los parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de caracteres de la que se desea extraer los Length_Str caracteres ubicados en el extremo izquierdo. Ejemplo: String1 contiene "SWITCH TO STOP" Nmero de caracteres que se va a extraer. Ejemplo: Length_Str =10.
Length_Str
INT
Result_String STRING
Errores de ejecucin El bit %S15 (vase pgina 475) se configura en 1 en los casos siguientes:
z z
Length_Str 0, por lo que Result_String se completa con caracteres de fin de cadena (16#00). El tamao mximo de la cadena Result_String es inferior a Length_Str; Result_String queda truncada.
310
33002522 05/2010
101
Descripcin
Descripcin de la funcin La funcin LEN_INT calcula el nmero de caracteres de una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
311
LEN_INT
Representacin en IL Representacin: LD String1 LEN_INT ST Length_Str Representacin en ST Representacin: Length_Str := LEN_INT(String1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de caracteres en la que se busca la longitud. Ejemplo: String1 contiene PUESTA EN STOP
312
33002522 05/2010
102
Descripcin
Descripcin de la funcin La funcin MID_INT extrae una subcadena de caracteres a partir de un rango determinado. El resultado es una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
313
MID_INT
Representacin en IL Representacin: LD String1 MID_INT Length_Str, Position ST Result_String Representacin en ST Representacin: Result_String := MID_INT(String1, Length_Str, Position); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de origen que contiene la subcadena que se va a extraer. Ejemplo: String1 contiene PUESTA EN STOP Longitud de la subcadena que se va a extraer. Ejemplo: Length_Str =4 Rango del primer carcter de la subcadena que se va a extraer. Ejemplo: Position =9
Length_Str Position
INT INT
314
33002522 05/2010
103
Descripcin
Descripcin de la funcin La funcin REPLACE_INT sustituye una cadena de caracteres en otra cadena de caracteres, comenzando por un rango determinado y durante una cierta longitud. El resultado es una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. NOTA: El comportamiento de esta funcin ha cambiado a partir de la versin 2.2 de Unity Pro. Si Result_String de esta funcin se encuentra en %MW, Result_String no se completa con caracteres NUL (16#00). Se recomienda borrar el contenido de Result_String antes de utilizar esta funcin. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
315
REPLACE_INT
Representacin en IL Representacin: LD String1 REPLACE_INT String2, Length_Str, Position ST Result_String Representacin en ST Representacin: Result_String:= REPLACE_INT(String1, String2, Length_Str, Position); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena original de caracteres en la que se inserta una subcadena de caracteres, comenzando por Position y durante una longitud de Length_Str. Ejemplo: String1 contiene "SWITCH TO RUN" Nota: La longitud Length_Str indica la longitud del texto que se debe reemplazar y no la longitud de la cadena String2. Puede ocurrir que la cadena de sustitucin tenga una longitud diferente de la cadena que se sustituye. Cadena de caracteres que se debe insertar en String1 para sustituir los caracteres existentes. Ejemplo: String2 contiene STOP Nmero de caracteres que se debe reemplazar en String1 por el contenido de String2 Ejemplo: Length_Str =3 Rango del primer carcter de la subcadena que se debe reemplazar. Ejemplo: Position =11
String2
STRING
Length_Str
INT
Position
INT
316
REPLACE_INT
Errores de tiempo de ejecucin El bit %S15 (vase pgina 477) se establece en 1 en los casos siguientes:
z z z z
Position 0, por lo que Result_String se completa con caracteres de fin de cadena (16#00). El tamao mximo de la cadena Result_String es demasiado pequeo para insertar String2. Result_String queda truncada. Position es mayor que la longitud de String1. En este caso, Result_String es igual a String1. Si Result_String se utiliza como valor de entrada en IN2.
33002522 05/2010
317
REPLACE_INT
318
33002522 05/2010
104
Descripcin
Descripcin de la funcin La funcin RIGHT_INT extrae un nmero determinado de caracteres situados en el extremo derecho de una cadena. El resultado es una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
319
RIGHT_INT
Representacin en ST Representacin: Result_String := RIGHT_INT(String1, Length_Str); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String1 Tipo STRING Comentario Cadena de caracteres de la que se desea extraer los Length_Str caracteres ubicados en el extremo derecho. Ejemplo: String1 contiene PUESTA EN STOP Nmero de caracteres que se va a extraer. Ejemplo: Length_Str =4
Length_Str
INT
Errores de ejecucin El bit %S15 (vase pgina 475) se posiciona en 1 en los casos siguientes:
z z
Length_Str 0, por lo que Result_String se llena de caracteres de fin de cadena (16#00). El tamao mximo de la cadena Result_String es inferior a Length_Str. Result_String queda truncada.
320
33002522 05/2010
Temporizadores y contadores
XI
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Temporizadores y contadores. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 105 106 107 108 109 110 Nombre del captulo CTD, CTD_***: Contador regresivo CTU, CTU_***: Contador progresivo CTUD, CTUD_***: Contador progresivo/regresivo TOF: Retardo Des TON: Retardo Con TP: Pulso Pgina 323 327 331 335 337 339
33002522 05/2010
321
Temporizadores y contadores
322
33002522 05/2010
105
Descripcin
Descripcin de la funcin Los bloques de funcin se utilizan para el conteo regresivo. En caso de seal "1" en la entrada LD se asigna el valor de la entrada PV a la salida CV. Con cada paso de "0" a "1" en la entrada CD se reduce el valor de CV en 1. Si CV 0, la salida Q se convierte en "1". NOTA: El contador slo funciona hasta alcanzar los valores mnimos del tipo de datos utilizado. No se produce ningn desborde. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Este bloque de funcin existe en dos expresiones distintas: z CTD Esta expresin del bloque de funcin est definida en CEI 61131-3 y slo funciona con el tipo de datos INT. z CTD_*** Esta expresin del bloque de funcin es una extensin conforme a IEC 61131-3 para cubrir otros tipos de datos. Estn disponibles los siguientes bloques: z CTD_INT z CTD_DINT z CTD_UINT z CTD_UDINT
33002522 05/2010
323
CTD, CTD_***
Representacin en LD Representacin:
Representacin en IL Representacin: CAL CTD_Instance (CD:=Trigger, LD:=Load, PV:=PresetValue, Q=>Output, CV=>CountValue) Representacin en ST Representacin: CTD_Instance (CD:=Trigger, LD:=Load, PV:=PresetValue, Q=>Output, CV=>CountValue) ;
324
33002522 05/2010
CTD, CTD_***
33002522 05/2010
325
CTD, CTD_***
326
33002522 05/2010
106
Descripcin
Descripcin de la funcin Los bloques de funcin se utilizan para el conteo progresivo. En caso de seal "1" en la entrada R se asigna el valor "0" a la salida CV. Con cada paso de "0" a "1" en la entrada CU, el valor de CV aumenta en 1. Si CV PV, la salida Q se convierte en "1". NOTA: El contador slo funciona hasta alcanzar los valores mximos del tipo de datos utilizado. No se produce ningn desborde. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Este bloque de funcin existe en dos expresiones distintas: z CTU Esta expresin del bloque de funcin est definida en CEI 61131-3 y slo funciona con el tipo de datos INT. z CTU_*** Esta expresin del bloque de funcin es una extensin conforme a IEC 61131-3 para cubrir otros tipos de datos. Estn disponibles los siguientes bloques z CTU_INT z CTU_DINT z CTU_UINT z CTU_UDINT
33002522 05/2010
327
CTU, CTU_***
Representacin en LD Representacin:
Representacin en IL Representacin: CAL CTU_Instance (CU:=Trigger, R:=Reset, PV:=PresetValue, Q=>Output, CV=>CountValue) Representacin en ST Representacin: CTU_Instance (CU:=Trigger, R:=Reset, PV:=PresetValue, Q=>Output, CV=>CountValue) ;
328
33002522 05/2010
CTU, CTU_***
33002522 05/2010
329
CTU, CTU_***
330
33002522 05/2010
107
Descripcin
Descripcin de la funcin Los bloques de funcin se utilizan para el conteo progresivo y regresivo. En caso de seal "1" en la entrada R se asigna el valor "0" a la salida CV. En caso de seal "1" en la entrada LD se asigna el valor de la entrada PV a la salida CV. Con cada paso de "0" a "1" en la entrada CU, el valor de CV aumenta en 1. Con cada paso de "0" a "1" en la entrada CD se reduce el valor de CV en 1. En caso de seal simultnea "1" en la entrada R y LD, la entrada R resulta ser dominante. Si CV PV, la salida QU se establece en "1". Si CV 0, la salida QD se convierte en "1". NOTA: El contador slo funciona hasta alcanzar los valores mnimos (contador regresivo) o los valores mximos (contador progresivo) del tipo de datos utilizado. No se produce ningn desborde. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Este bloque de funcin existe en dos expresiones distintas: CTUD Esta expresin del bloque de funcin est definida en CEI 61131-3 y slo funciona con el tipo de datos INT. z CTUD_*** Esta expresin del bloque de funcin es una extensin conforme a IEC 61131-3 para cubrir otros tipos de datos. Estn disponibles los siguientes bloques z CTUD_INT z CTUD_DINT z CTUD_UINT z CTUD_UDINT
z
33002522 05/2010
331
CTUD, CTUD_***
Representacin en LD Representacin:
Representacin en IL Representacin: CAL CTUD_Instance (CU:=UpTrigger, CD:=DownTrigger, R:=Reset, LD:=Load, PV:=PresetValue, QU=>UpDisplay, QD=>DownDisplay, CV=>CountValue) Representacin en ST Representacin: CTUD_Instance (CU:=UpTrigger, CD:=DownTrigger, R:=Reset, LD:=Load, PV:=PresetValue, QU=>UpDisplay, QD=>DownDisplay, CV=>CountValue) ;
332
33002522 05/2010
CTUD, CTUD_***
33002522 05/2010
333
CTUD, CTUD_***
334
33002522 05/2010
108
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza como retardo de desconexin. El estado inicial de ET durante la primera llamada del bloque de funcin es "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
335
TOF
Representacin en ST Representacin: TOF_Instance (IN:=StartDelay, PT:=PresetDelayTime, Q=>Output, ET=>InternalTime) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro IN PT Tipo de datos BOOL TIME Significado Iniciar retardo Ajuste previo del tiempo de retardo
Si IN se convierte en "1", Q se convierte en "1". Si IN se convierte en "0", se inicia el tiempo interno (ET). Si el tiempo interno alcanza el valor de PT, Q se convierte en "0". Si IN se convierte en "1", se convierte Q en "1" y se detiene/restablece el tiempo interno. Si IN se convierte en "1" antes de que el tiempo interno haya alcanzado el valor de PT, se detiene/restablece el tiempo interno, sin que Q se haya convertido en "0".
336
33002522 05/2010
109
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza como retardo de conexin. El estado inicial de ET durante la primera llamada del bloque de funcin es "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
337
TON
Representacin en ST Representacin: TON_Instance (IN:=StartDelay, PT:=PresetDelayTime, Q=>Output, ET=>InternalTime) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro IN PT Tipo de datos BOOL TIME Significado Iniciar retardo Ajuste previo del tiempo de retardo
Si IN se convierte en "1", se inicia el tiempo interno (ET). Si el tiempo interno alcanza el valor de PT, Q se convierte en "1". Si IN se convierte en "0", Q se convierte en "0" y se detiene/restablece el tiempo interno. Si IN se convierte en "0" antes de que el tiempo interno haya alcanzado el valor de PT, se detiene/restablece el tiempo interno, sin que Q se haya convertido en "1".
338
33002522 05/2010
TP 33002522 05/2010
TP: Pulso
110
Descripcin
Descripcin de la funcin El bloque de funcin se utiliza para la generacin de un impulso con una duracin definida. El estado inicial de ET durante la primera llamada del bloque de funcin es "0". Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
339
TP
Representacin en ST Representacin: TP_Instance (IN:=TriggerPulse, PT:=PulseDuration, Q=>Output, ET=>InternalTime) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro IN PT Tipo de datos BOOL TIME Significado Activar impulso Ajuste previo de la duracin de impulso
(1) Si IN se convierte en "1", Q se convierte en "1" y se inicia el tiempo interno (ET). (2) Si el tiempo interno alcanza el valor de PT, Q se convierte en "0" (independientemente de IN). (3) El tiempo interno se detiene/restablece, si IN se convierte en "0". (4) Si el tiempo interno an no ha alcanzado el valor de PT, un ciclo en IN no tendr influencia sobre el tiempo interno. (5) Si el tiempo interno ha alcanzado el valor de PT y si IN es "0", se detiene/restablece el tiempo interno y Q se convierte en "0".
340
33002522 05/2010
Conversin de tipos
XII
Vista general En esta parte se describen las funciones y bloques de funcin elementales de la familia Conversin de tipos. Contenido de esta parte Esta parte contiene los siguientes captulos:
Captulo 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 Nombre del captulo ARINT_TO_DATE: Conversin de matriz de enteros con fecha en una variable DATE ARINT_TO_DT: Conversin de matriz de enteros con fecha y hora en una variable DT ARINT_TO_TOD: Conversin de matriz de enteros con hora del da en una variable TOD ASCII_TO_STRING: Conversin de tipos ASCII_TO_STRING_INV: Conversin de tipos BCD_TO_INT: Conversin de un entero BCD en binario puro BIT_TO_BYTE: Conversin de tipos BIT_TO_WORD: Conversin de tipos BOOL_TO_***: Conversin de tipos BYTE_AS_WORD: Conversin de tipos BYTE_TO_BIT: Conversin de tipos BYTE_TO_***: Conversin de tipos DATE_TO_ARINT: Conversin de variable DATE en matriz de enteros DATE_TO_STRING: Conversin de una variable en formato DATE a una cadena de caracteres DBCD_TO_***: Conversin de un entero BCD doble en binario DEG_TO_RAD: Conversin de grados a radianes Pgina 345 347 349 351 355 359 361 363 365 367 369 371 375 377 379 381
33002522 05/2010
341
Conversin de tipos
Captulo 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 342
Nombre del captulo DINT_AS_WORD: Conversin de tipos DINT_TO_***: Conversin de tipos DINT_TO_DBCD: Conversin de un entero doble en cdigo binario a un entero decimal doble con codificacin binaria DT_TO_ARINT: Conversin de variable DT en matriz de enteros DT_TO_STRING: Conversin de una variable en formato DT a una cadena de caracteres DWORD_TO_***: Conversin de tipos GRAY_TO_INT: Conversin de un entero en cdigo Gray en un entero con codificacin binaria INT_AS_DINT: Concatenacin de dos enteros para formar un entero doble INT_TO_***: Conversin de tipos INT_TO_BCD: Conversin de un entero en cdigo binario a un entero decimal con codificacin binaria INT_TO_DBCD: Conversin de un entero en cdigo binario a un entero decimal doble con codificacin binaria RAD_TO_DEG: Conversin de radianes a grados REAL_AS_WORD: Conversin de tipos REAL_TO_***: Conversin de tipos REAL_TRUNC_***: Conversin de tipos STRING_TO_ASCII: Conversin de tipos STRING_TO_ASCII_INV: Conversin de tipos STRING_TO_***: Conversin de una cadena de caracteres a un nmero de tipo INT, DINT o REAL TIME_AS_WORD: Conversin de tipos TIME_TO_***: Conversin de tipos TIME_TO_STRING: Conversin de una variable en formato TIME a una cadena de caracteres TOD_TO_ARINT: Conversin de variable TOD en matriz de enteros TOD_TO_STRING: Conversin de una variable en formato TOD a una cadena de caracteres UDINT_AS_WORD: Conversin de tipos UDINT_TO_***: Conversin de tipos UINT_TO_***: Conversin de tipos
Pgina 383 385 389 391 393 395 397 399 401 405 407 409 411 413 417 421 425 429 431 433 435 437 439 441 443 447
33002522 05/2010
Conversin de tipos
Nombre del captulo WORD_AS_BYTE: Conversin de tipos WORD_AS_DINT: Conversin de tipos WORD_AS_REAL: Conversin de tipos WORD_AS_TIME: Conversin de tipos WORD_AS_UDINT: Conversin de tipos WORD_TO_BIT: Conversin de tipos WORD_TO_***: Conversin de tipos ***_TO_STRING: Conversin de una variable a una cadena de caracteres
33002522 05/2010
343
Conversin de tipos
344
33002522 05/2010
111
Descripcin
Descripcin de la funcin La funcin convierte una matriz de enteros con la fecha en formato BCD en una variable DATE (d#). Tiene dos opciones para la entrada: z Si desea asignar la fecha del sistema, asigne %SW52 a la entrada. En este caso, se asigna el contenido de %SW52 (vase pgina 486) y %SW53 (vase pgina 486). z Si desea asignar una fecha diferente, cree una matriz de enteros de dos elementos e introduzca la fecha en formato BCD. Ejemplo: Si la entrada es: z Date_ARRAY[1] = 16#0511 z Date_ARRAY[2] = 16#2006 Entonces, la salida es: z DATE_Variable = d#2006-05-11 EN y ENO se pueden configurar como parmetros adicionales. Representacin en FBD
33002522 05/2010
345
ARINT_TO_DATE
Representacin en LD
Representacin en IL LD Date_ARRAY ARINT_TO_DATE ST DATE_Variable Representacin en ST DATE_Variable := ARINT_TO_DATE (Date_ARRAY) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Date_ARRAY Tipo de datos ARRAY [n..m] OF INT Significado Matriz de enteros de dos elementos con la fecha en formato BCD: z Mes y da (16#mmdd), corresponde a %SW52 (vase pgina 486). z Ao (16#aaaa), corresponde a %SW53 (vase pgina 486).
346
33002522 05/2010
112
Descripcin
Descripcin de la funcin La funcin convierte una matriz de enteros con fecha y hora en formato BCD en una variable DATE_AND_TIME (dt#). Tiene dos opciones para la entrada: z Si desea asignar la hora del sistema, asigne %SW50 a la entrada. En este caso, se asigna el contenido de %SW50 (vase pgina 486) a %SW53 (vase pgina 486). z Si desea asignar una hora diferente, cree una matriz de enteros de cuatro elementos e introduzca la fecha y hora en formato BCD. Ejemplo: Si la entrada es: z DateAndTime_ARRAY[1] = 16#1600 z DateAndTime_ARRAY[2] = 16#1046 z DateAndTime_ARRAY[3] = 16#0511 z DateAndTime_ARRAY[4] = 16#2006 Entonces, la salida es: z DT_Variable = dt#2006-05-11-10:46:16 EN y ENO se pueden configurar como parmetros adicionales. Representacin en FBD
33002522 05/2010
347
ARINT_TO_DT
Representacin en LD
Representacin en IL LD DateAndTime_ARRAY ARINT_TO_DT ST DT_Variable Representacin en ST DT_Variable := ARINT_TO_DT (DateAndTime_ARRAY) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro DateAndTime_ARRAY Tipo de datos Significado
ARRAY [n..m] OF INT Matriz de enteros de cuatro elementos con la fecha y la hora en formato BCD: z Segundos,-- (16#ss,--), corresponde a %SW50 (vase pgina 486). z Horas y minutos (16#hhmm), corresponde a %SW51 (vase pgina 486). z Mes y da (16#mmdd), corresponde a %SW52 (vase pgina 486). z Ao (16#aaaa), corresponde a %SW53 (vase pgina 486).
348
33002522 05/2010
ARINT_TO_TOD: Conversin de matriz de enteros con hora del da en una variable TOD
113
Descripcin
Descripcin de la funcin La funcin convierte una matriz de enteros con la hora del da en formato BCD en una variable TIME_OF_DAY (tod#). Tiene dos opciones para la entrada: z Si desea asignar la hora del sistema, asigne %SW50 a la entrada. En este caso, se asigna el contenido de %SW50 (vase pgina 486) y %SW51 (vase pgina 486). z Si desea asignar una hora diferente, cree una matriz de enteros de dos elementos e introduzca la hora del da en formato BCD. Ejemplo: Si la entrada es: z Time_ARRAY[1] = 16#1600 z Time_ARRAY[2] = 16#1046 Entonces, la salida es: z TOD_Variable = tod#10:46:16 EN y ENO se pueden configurar como parmetros adicionales. Representacin en FBD
33002522 05/2010
349
ARINT_TO_TOD
Representacin en LD
Representacin en IL LD Time_ARRAY ARINT_TO_TOD ST TOD_Variable Representacin en ST TOD_Variable := ARINT_TO_TOD (Time_ARRAY) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro Time_ARRAY Tipo de datos ARRAY [n..m] OF INT Significado Matriz de enteros de dos elementos con la fecha y la hora en formato BCD: z Segundos,-- (16#ss,--), corresponde a %SW50 (vase pgina 486). z Horas y minutos (16#hhmm), corresponde a %SW51 (vase pgina 486).
350
33002522 05/2010
114
Descripcin
Descripcin de funciones La funcin copia el contenido (valores ASCII) de la matriz INT de la entrada (sin conversin) a la salida del tipo de datos STRING. Esta funcin se utiliza para transferir cualquier valor ASCII (de 16#01 a 16#FF). La nica excepcin es 16#00 (valor 0). Se emplea para finalizar la operacin de copia. Cada valor ASCII requiere 1 byte, por lo que es posible transferir dos valores ASCII a la salida por elemento entero de la matriz de entrada. Por lo tanto, la secuencia de transferencia es la siguiente: byte alto, byte bajo.
En caso de transferir un nmero impar de valores ASCII a la salida, en teora slo se requiere el byte alto del ltimo elemento. No obstante, siempre se transfiere el elemento completo, por lo que, en este caso, es necesario introducir el valor 0 en el byte bajo; consulte Ejemplo 2, pgina 353. La operacin de copia finaliza en las situaciones siguientes: z Se alcanza el final de la matriz de entrada. z Se transfiere el valor 0 (16#00). z Se alcanza el final de la cadena de caracteres de salida. EN y ENO se proyectan como parmetros adicionales.
33002522 05/2010
351
ASCII_TO_STRING
Representacin en LD Apariencia:
Representacin en IL Apariencia: LD AsciiValueArray ASCII_TO_STRING ST StringOutput Representacin en ST Apariencia: StringOutput := ASCII_TO_STRING (AsciiValueArray) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro AsciiValueArray Tipo de datos Descripcin
352
33002522 05/2010
ASCII_TO_STRING
Error de ejecucin Si el tamao de las variables de cadena de caracteres en la salida no es suficiente para representar todos los valores ASCII de la matriz de entrada, ENO se establece en 0 y el bit de sistema %S15 (vase pgina 477) se establece en 1. Ejemplo 1 En el ejemplo, se van a transferir cuatro valores ASCII a una cadena de cuatro caracteres. Esto requiere una matriz de enteros con dos 2 elementos.
Ejemplo 2 En el ejemplo, se van a transferir tres valores ASCII a una cadena de cuatro caracteres. Esto requiere una matriz de enteros con dos elementos; no se requiere el byte bajo del segundo elemento y, por lo tanto, debe contener el valor 0.
Ejemplo 3 En el ejemplo, se van a transferir cuatro valores ASCII a una cadena de ocho caracteres. Esto requiere una matriz de enteros con dos 2 elementos. En este caso, los cuatros caracteres no necesarios de la salida permanecen vacos.
33002522 05/2010
353
ASCII_TO_STRING
Ejemplo 4 En el ejemplo, se van a transferir los cuatro primeros valores ASCII de una matriz de enteros con ocho elementos a una cadena de cuatro caracteres. Esto requiere que el byte alto del tercer elemento de la matriz de enteros contenga el valor 0 para marcar el final de los caracteres que deben transferirse. Todos los valores ASCII restantes dejan de tenerse en cuenta.
Ejemplo 5 En el ejemplo, se van a transferir 16 valores ASCII a una cadena de cuatro caracteres. La cadena de caracteres de salida es demasiado pequea para ello, por lo que ENO se establece en 0 y el bit de sistema %S15 se establece en 1.
354
33002522 05/2010
115
Descripcin
Descripcin de funciones La funcin copia el contenido (valores ASCII) de la matriz INT de la entrada (sin conversin) a la salida del tipo de datos STRING. Esta funcin se utiliza para transferir cualquier valor ASCII (de 16#01 a 16#FF). La nica excepcin es 16#00 (valor 0). Se emplea para finalizar la operacin de copia. Cada valor ASCII requiere 1 byte, por lo que es posible transferir dos valores ASCII a la salida por elemento entero de la matriz de entrada. Por lo tanto, la secuencia de transferencia es la siguiente: byte bajo, byte alto.
En caso de transferir un nmero impar de valores ASCII a la salida, en teora slo se requiere el byte bajo del ltimo elemento. No obstante, siempre se transfiere el elemento completo, por lo que, en este caso, es necesario introducir el valor 0 en el byte alto; consulte Ejemplo 2, pgina 357. La operacin de copia finaliza en las situaciones siguientes: z Se alcanza el final de la matriz de entrada. z Se transfiere el valor 0 (16#00). z Se alcanza el final de la cadena de caracteres de salida. EN y ENO se proyectan como parmetros adicionales.
33002522 05/2010
355
ASCII_TO_STRING_INV
Representacin en LD Apariencia:
Representacin en IL Apariencia: LD AsciiValueArray ASCII_TO_STRING_INV ST StringOutput Representacin en ST Apariencia: StringOutput := ASCII_TO_STRING_INV (AsciiValueArray) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro AsciiValueArray Tipo de datos Descripcin
356
33002522 05/2010
ASCII_TO_STRING_INV
Error de ejecucin Si el tamao de las variables de cadena de caracteres en la salida no es suficiente para representar todos los valores ASCII de la matriz de entrada, ENO se establece en 0 y el bit de sistema %S15 (vase pgina 477) se establece en 1. Ejemplo 1 En el ejemplo, se van a transferir cuatro valores ASCII a una cadena de cuatro caracteres. Esto requiere una matriz de enteros con dos 2 elementos.
Ejemplo 2 En el ejemplo, se van a transferir tres valores ASCII a una cadena de cuatro caracteres. Esto requiere una matriz de enteros con dos elementos; no se requiere el byte bajo del segundo elemento y, por lo tanto, debe contener el valor 0.
Ejemplo 3 En el ejemplo, se van a transferir cuatro valores ASCII a una cadena de ocho caracteres. Esto requiere una matriz de enteros con dos 2 elementos. En este caso, los cuatros caracteres no necesarios de la salida permanecen vacos.
33002522 05/2010
357
ASCII_TO_STRING_INV
Ejemplo 4 En el ejemplo, se van a transferir los cuatro primeros valores ASCII de una matriz de enteros con ocho elementos a una cadena de cuatro caracteres. Esto requiere que el byte alto del tercer elemento de la matriz de enteros contenga el valor 0 para marcar el final de los caracteres que deben transferirse. Todos los valores ASCII restantes dejan de tenerse en cuenta.
Ejemplo 5 En el ejemplo, se van a transferir 16 valores ASCII a una cadena de cuatro caracteres. La cadena de caracteres de salida es demasiado pequea para ello, por lo que ENO se establece en 0 y el bit de sistema %S15 se establece en 1.
358
33002522 05/2010
116
Descripcin
Descripcin de la funcin La funcin BCD_TO_INT realiza la conversin de un entero con formato Binario Codificado Decimal (BCD) en un entero codificado binario. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
359
BCD_TO_INT
Representacin en ST Representacin: Result_Int := BCD_TO_INT(BCD_Int); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro BCD_Int Tipo INT Comentario Entero con formato BCD. Ejemplo: BCD_Int = 16#99
Errores de ejecucin El bit %S18 (vase pgina 477) se posiciona a 1 cuando el valor que se va a convertir no es un valor codificado en BCD. De este modo, el resultado de la funcin devuelve el valor del parmetro de entrada.
360
33002522 05/2010
117
Descripcin
Descripcin de la funcin La funcin convierte 8 valores de entrada del tipo de datos BOOL en un valor de salida de tipo BYTE. Los valores de entrada se asocian a cada uno de los bits de los bytes en la salida segn el nombre de la entrada.
Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque:
33002522 05/2010
361
BIT_TO_BYTE:
Representacin en LD Representacin:
Representacin en IL Representacin: LD InputBit0 BIT_TO_BYTE InputBit1, InputBit2, InputBit3, InputBit4, InputBit5, InputBit6, InputBit7 ST OutputByte Representacin en ST Representacin: OutputByte := BIT_TO_BYTE (InputBit0, InputBit1, InputBit2, InputBit3, InputBit4, InputBit5, InputBit6, InputBit7) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro InputBit0 InputBit1 : InputBit7 Tipo de datos BOOL BOOL : BOOL Significado Bit de entrada 0 Bit de entrada 1 : Bit de entrada 7
362
33002522 05/2010
118
Descripcin
Descripcin de la funcin La funcin convierte 16 valores de entrada del tipo de datos BOOL en un valor de salida de tipo WORD. Los valores de entrada se asocian a cada uno de los bits de las palabras en la salida segn el nombre de entrada.
Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque:
33002522 05/2010
363
BIT_TO_WORD
Representacin en LD Representacin:
Representacin en IL Representacin: LD InputBit0 BIT_TO_WORD InputBit1, InputBit2, InputBit3, InputBit4, InputBit5, InputBit6, InputBit7,InputBit8, InputBit9, InputBit10, InputBit11, InputBit12, InputBit13, InputBit14, InputBit15 ST WORD_Output Representacin en ST Representacin: WORD_Output := BIT_TO_WORD (InputBit0, InputBit1, InputBit2, InputBit3, InputBit4, InputBit5, InputBit6, InputBit7, InputBit8, InputBit9, InputBit10, InputBit11, InputBit12, InputBit13, InputBit14, InputBit15) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro InputBit0 : InputBit15 Tipo de datos BOOL : BOOL Significado Bit de entrada 0 : Bit de entrada 15
364
33002522 05/2010
119
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos BOOL en uno de los siguientes tipos: BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL o TIME. El valor de entrada se escribe en el bit con menor valor de salida. Todos los dems bits de salida se ubican en cero. Como parmetros adicionales se pueden configurar EN y ENO. (La salida ENOno se utiliza enBOOL_TO_REAL ; sta siempre tiene el valor "1".) Funciones disponibles Lista de las funciones disponibles: z BOOL_TO_BYTE z BOOL_TO_WORD z BOOL_TO_DWORD z BOOL_TO_INT z BOOL_TO_DINT z BOOL_TO_UINT z BOOL_TO_UDINT z BOOL_TO_REAL z BOOL_TO_TIME Representacin en FBD Ejemplo de aplicacin con enteros:
33002522 05/2010
365
BOOL_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD BOOL_variable BOOL_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := BOOL_TO_INT (BOOL_variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro BOOL_variable Tipo de datos BOOL Significado Valor de entrada
366
33002522 05/2010
120
Descripcin
Descripcin de la funcin La funcin convierte 2 valores de entrada del tipo de datos BYTE en un valor de salida de tipo WORD. Los valores de entrada se asocian a la palabra en la salida segn el nombre de la entrada. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque:
Representacin en LD Representacin:
33002522 05/2010
367
BYTE_AS_WORD
Representacin en IL Representacin: LD BYTE_variable1 BYTE_AS_WORD BYTE_variable2 ST WORD_Output Representacin en ST Representacin: WORD_Output := BYTE_AS_WORD (BYTE_variable1, BYTE_variable2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro BYTE_variable1 BYTE_variable2 Tipo de datos BYTE BYTE Significado Byte de orden inferior Byte de orden superior
368
33002522 05/2010
121
Descripcin
Descripcin de la funcin El procedimiento convierte un valor de entrada del tipo de datos BYTE en 8 valores de salida de tipo BOOL. Cada uno de los bits de los bytes en la entrada se asocia a las salidas segn el nombre de la salida.
33002522 05/2010
369
BYTE_TO_BIT
Representacin en LD Representacin:
Representacin en IL Representacin: LD BYTE_variable BYTE_TO_BIT BOOL_variable1, BOOL_variable2, BOOL_variable3, BOOL_variable4, BOOL_variable5, BOOL_variable6, BOOL_variable7, BOOL_variable8 Representacin en ST Representacin: BYTE_TO_BIT (BYTE_variable, BOOL_variable1, BOOL_variable2, BOOL_variable3, BOOL_variable4, BOOL_variable5, BOOL_variable6, BOOL_variable7, BOOL_variable8); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro BYTE_variable Tipo de datos BYTE Significado Entrada
370
33002522 05/2010
122
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos BYTE en uno de los siguientes tipos: BOOL, WORD, DWORD, INT, DINT, UINT, UDINT, REAL o TIME. Durante la conversin del tipo de datosBYTE al tipo de datos WORD, DWORD, INT, DINT, UINT, UDINT, REAL o TIME, se transmite la muestra de bit de la entrada al bit de menor valor de la salida. Los bits de mayor valor de la salida se ubican en cero. Durante la conversin del tipo de datos BYTE en el tipo de datos BOOL se transmite el bit de menor valor del valor de entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. (La salida ENOno se utiliza enBYTE_TO_REAL; sta siempre tiene el valor "1"). Funciones disponibles Lista de las funciones disponibles: z BYTE_TO_BOOL z BYTE_TO_WORD z BYTE_TO_DWORD z BYTE_TO_INT z BYTE_TO_DINT z BYTE_TO_UINT z BYTE_TO_UDINT z BYTE_TO_REAL z BYTE_TO_TIME
33002522 05/2010
371
BYTE_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD BYTE_variable BYTE_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := BYTE_TO_INT (BYTE_variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada
Parmetro BYTE_variable Tipo de datos BYTE Significado Valor de entrada
BOOL, WORD, DWORD, INT, DINT, UINT, Valor de salida UDINT, REAL, TIME
372
33002522 05/2010
BYTE_TO_***
Error de ejecucin El tratamiento de los errores depende de la funcin: z BYTE_TO_REAL El bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480) cuando durante la conversin se genere un nmero de coma flotante inadmisible. z El resto de las funciones El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan.
33002522 05/2010
373
BYTE_TO_***
374
33002522 05/2010
123
Descripcin
Descripcin de la funcin La funcin convierte una variable DATE (d#) en una matriz de enteros de dos elementos con fecha en formato BCD. Ejemplo: Si la entrada es: z DATE_Variable = d#2006-05-11 Entonces, la salida es: z Date_ARRAY[3] = 16#0511 z Date_ARRAY[4] = 16#2006 EN y ENO se pueden configurar como parmetros adicionales. Representacin en FBD
Representacin en LD
375
DATE_TO_ARINT
Representacin en ST Date_ARRAY := DATE_TO_ARINT (DATE_Variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro DATE_Variable Tipo de datos DATE Significado La fecha como la variable DATE (dt#).
ARRAY [n..m] OF INT Matriz de enteros de dos elementos con la fecha en formato BCD: z Mes y da (16#mmdd) corresponde a %SW52 (vase pgina 486). z Ao (16#aaaa) corresponde a %SW53 (vase pgina 486).
Errores de tiempo de ejecucin Si el tamao de la salida Date_ARRAY es demasiado pequeo, ENO = 0 y OUT no se modifica.
376
33002522 05/2010
124
Descripcin
Descripcin de la funcin La funcin DATE_TO_STRING realiza la conversin de una variable con formato DATE en una cadena de caracteres. Los parmetros adicionales EN y ENO pueden configurarse. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
377
DATE_TO_STRING
Representacin en ST Representacin: Result_Str:= DATE_TO_STRING(Date1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Date1 Tipo DATE Comentario Fecha que se va a convertir al formato de cadena de caracteres.
Errores de ejecucin Si la cadena Result_Str es demasiado corta para contener la fecha (longitud inferior a 10 caracteres), la fecha queda truncada y el bit %S15 (vase pgina 475) se pone a 1. Si Date1 no se puede interpretar y no es coherente con el formato DATE, el bit de sistema %S18 (vase pgina 477) se pone a 1 y Result_Str =****-**-**.
378
33002522 05/2010
125
Descripcin
Descripcin de la funcin La funcin DBCD_TO_*** realiza la conversin de un entero doble con formato Binario Codificado Decimal (DBCD) en un entero o un entero doble codificado binario. Los parmetros adicionales EN y ENO se pueden configurar. Funciones disponibles Las funciones disponibles son las siguientes: z DBCD_TO_INT y z DBCD_TO_DINT. Representacin en FBD Representacin aplicada a un entero:
33002522 05/2010
379
DBCD_TO_***
Representacin en IL Representacin aplicada a un entero: LD DBCD_Value DBCD_TO_INT ST Result_Value Representacin en ST Representacin aplicada a un entero: Result_Value := DBCD_TO_INT(DBCD_Value); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro DBCD_Value Tipo DINT Comentario Entero doble codificado con formato BCD. Ejemplo: DBCD_Value = 16#32767
El valor que se va a convertir no es un valor codificado en BCD. De este modo, el resultado de la funcin devuelve el valor del primer cuarteto que falla. Para la funcin DBCD_TO_INT, el valor que se va a convertir es superior en BCD a 32767. Entonces, el resultado de la funcin es -1.
380
33002522 05/2010
126
Descripcin
Descripcin de la funcin La funcin DEG_TO_RAD convierte un ngulo expresado en grados en radianes. Los parmetros adicionales EN y ENO pueden configurarse. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
381
DEG_TO_RAD
Representacin en IL Representacin: LD Angle_in_Degree DEG_TO_RAD ST Angle_in_Radian Representacin en ST Representacin: Angle_in_Radian:= DEG_TO_RAD(Angle_in_Degree); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Angle_in_Degree Tipo REAL Comentario ngulo expresado en grados. -737280.0 < Angle_in_Degree < +737280.0.
Errores de ejecucin Cuando Angle_in_Degree se encuentra fuera del intervalo ]-737280.0, +73780.0[, el bit de sistema %S18 (vase pgina 477) pasa a 1, la palabra del sistema %SW17 (vase pgina 480) indica el tipo de fallo y el resultado mostrado es 1.#NAN.
382
33002522 05/2010
127
Descripcin
Descripcin de la funcin El procedimiento convierte un valor de entrada del tipo de datos DINT en 2 valores de salida de tipo WORD. Cada una de las palabras de la entrada DINT se asocia a las salidas segn el nombre de la salida. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
383
DINT_AS_WORD
Representacin en IL Representacin: LD DINT_variable DINT_AS_WORD LowWord, HighWord Representacin en ST Representacin: DINT_AS_WORD (DINT_variable, LowWord, HighWord); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro DINT_variable Tipo de datos DINT Significado Entrada
384
33002522 05/2010
128
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos DINT en un valor de salida de tipo BOOL, BYTE, WORD, DWORD, INT, UINT UDINT, REAL o TIME . NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej. DINT_TO_BOOL. Durante la conversin del tipo de datos DINT al tipo de datos BOOL, BYTE, WORD, INT o UINT, se transmiten los bits de menor valor del valor de entrada a la salida. Los valores de entrada negativos no se pueden convertir en los tipos de datos UINT, UDINT o TIME. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Lista de las funciones disponibles: z DINT_TO_BOOL z DINT_TO_BYTE z DINT_TO_WORD z DINT_TO_DWORD z DINT_TO_INT z DINT_TO_UINT z DINT_TO_UDINT z DINT_TO_REAL z DINT_TO_TIME
33002522 05/2010
385
DINT_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD DINT_variable DINT_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := DINT_TO_INT (DINT_variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada
Parmetro DINT_variable Tipo de datos DINT Significado Valor de entrada
BOOL, BYTE, WORD, DWORD, INT, Valor de salida UINT, UDINT, REAL, TIME
386
33002522 05/2010
DINT_TO_***
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando z se sobrepasa el margen de valores de la salida (tipos de datos numricos) z se debe convertir un valor de entrada negativo en un valor de salida UDINT, UINT o TIME. z durante la conversin al tipo de datos REAL se genera un nmero de coma flotante inadmisible. En este caso, se ubicar el estado en %SW17 (vase pgina 480). El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan en caso de conversin a los tipos de datos: z BOOL z BYTE z WORD z DWORD
33002522 05/2010
387
DINT_TO_***
388
33002522 05/2010
DINT_TO_DBCD: Conversin de un entero doble en cdigo binario a un entero decimal doble con codificacin binaria
129
Descripcin
Descripcin de la funcin La funcin DINT_TO_DBCD lleva a cabo la conversin de un entero doble codificado binario en un entero con formato Binario Codificado Doble Decimal (DBCD). Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
389
DINT_TO_DBCD
Representacin en ST Representacin: DBCD_Result := DINT_TO_BCD(D_Integer_1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro D_Integer_1 Tipo DINT Comentario Entero doble codificado binario comprendido entre 0 y 99999999. Ejemplo: D_Integer_1 = 888888
Errores de ejecucin El bit %S18 (vase pgina 477) se posiciona a 1 cuando el valor que se va a convertir no es un valor comprendido entre 0 y 99999999. De este modo, el resultado de la funcin devuelve el valor del parmetro de entrada.
390
33002522 05/2010
130
Descripcin
Descripcin de la funcin La funcin convierte una variable DATE_AND_TIME (dt#) en una matriz de enteros de cuatro elementos con fecha y hora en formato BCD. Ejemplo: Si la entrada es: z DT_Variable = dt#2006-05-11-10:46:16 Entonces, la salida es: z DateAndTime_ARRAY[1] = 16#1600 z DateAndTime_ARRAY[2] = 16#1046 z DateAndTime_ARRAY[3] = 16#0511 z DateAndTime_ARRAY[4] = 16#2006 EN y ENO se pueden configurar como parmetros adicionales. Representacin en FBD
Representacin en LD
33002522 05/2010
391
DT_TO_ARINT
Representacin en IL LD DT_Variable DT_TO_ARINT ST DateAndTime_ARRAY Representacin en ST DateAndTime_ARRAY := DT_TO_ARINT (DT_Variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro DT_Variable Tipo de datos DT Significado La fecha y hora como una variable DATE_AND_TIME (dt#).
ARRAY [n..m] OF INT Matriz de enteros de cuatro elementos con la fecha y la hora en formato BCD: z Segundos,-- (16#ss,--) corresponde a %SW50 (vase pgina 486). z Horas y minutos (16#hhmm) corresponde a %SW51 (vase pgina 486). z Mes y da (16#mmdd) corresponde a %SW52 (vase pgina 486). z Ao (16#aaaa) corresponde a %SW53 (vase pgina 486).
Errores de tiempo de ejecucin Si el tamao de la salida DateAndTime_ARRAY es demasiado pequeo, ENO = 0 y OUT no se modifica.
392
33002522 05/2010
131
Descripcin
Descripcin de la funcin La funcin DT_TO_STRING realiza la conversin de una variable con formato DT en una cadena de caracteres. Los parmetros adicionales EN y ENO pueden configurarse. Representacin en FBD Representacin:
Representacin en LD Representacin:
393
DT_TO_STRING
Representacin en ST Representacin: Result_Str:= DT_TO_STRING(Date1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Date1 Tipo DT Comentario Fecha que se va a convertir al formato de cadena de caracteres.
Errores de ejecucin Si la cadena Result_Str es demasiado corta para contener la fecha (longitud inferior a 19 caracteres), la fecha queda truncada y el bit %S15 (vase pgina 475) se pone a 1. Si Date1 no se puede interpretar y no es coherente en formato DT, el bit de sistema %S18 (vase pgina 477) se pone a 1 y Result_Str =****-**-**-**:**:**.
394
33002522 05/2010
132
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos DWORD en uno de los siguientes tipos: BOOL, BYTE, WORD, INT, DINT, UINT, UDINT, REAL o TIME. NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej.DWORD_TO_BOOL. Durante la conversin del tipo de datos DWORD al tipo de datos BOOL, BYTE, WORD, INT o UINT, se transmiten los bits de menor valor del valor de entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. (La salida ENOno se utiliza enDWORD_TO_REAL ; sta siempre tiene el valor "1".) Funciones disponibles Lista de las funciones disponibles: z DWORD_TO_BOOL z DWORD_TO_BYTE z DWORD_TO_WORD z DWORD_TO_INT z DWORD_TO_DINT z DWORD_TO_UINT z DWORD_TO_UDINT z DWORD_TO_REAL z DWORD_TO_TIME Representacin en FBD Ejemplo de aplicacin con enteros:
33002522 05/2010
395
DWORD_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD DWORD_variable DWORD_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := DWORD_TO_INT (DWORD_variable) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro DWORD_variable Tipo de datos DWORD Significado Valor de entrada
Error de ejecucin El tratamiento de los errores depende de la funcin: DWORD_TO_REAL El bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480) cuando durante la conversin se genere un nmero de coma flotante inadmisible. z El resto de las funciones El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan.
z
396
33002522 05/2010
133
Descripcin
Descripcin de la funcin La funcin GRAY_TO_INT realiza la conversin de un entero expresado en cdigo GRAY en un entero codificado binario. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
397
BCD_TO_INT
Representacin en IL Representacin: LD GRAY_Int GRAY_TO_INT ST Result_Int Representacin en ST Representacin: Result_Int := GRAY_TO_INT(GRAY_Int); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro GRAY_Int Tipo INT Comentario Entero expresado en cdigo GRAY.
398
33002522 05/2010
134
Descripcin
Descripcin de la funcin La funcin INT_AS_DINT concatena dos enteros para formar un entero doble. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
399
INT_AS_DINT
Representacin en IL Representacin: LD Low_Word INT_AS_DINT High_Word ST Double_Word Representacin en ST Representacin: Double_Word := INT_AS_DINT(Low_Word, High_Word); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Low_Word Tipo INT Comentario Entero que debe convertirse en el byte menos significativo del entero doble Double_Word. Ejemplo: Low_Word contiene 16#5678. Entero que debe convertirse en el byte ms significativo del entero doble Double_Word. Ejemplo: High_Word contiene 16#1234.
High_Word
INT
400
33002522 05/2010
135
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos INT en un valor de salida de tipo BOOL, BYTE, WORD, DWORD, DINT, UINT, UDINT, REAL o TIME. NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej. INT_TO_BOOL. Los valores de entrada negativos no se pueden convertir en los tipos de datos UINT, UDINT o TIME. En la conversin de un valor de entrada del tipo de datos INT al tipo de datos WORD, la muestra de bits de la entrada se transmite sin cambios a la salida. Durante la conversin de un valor de entrada del tipo de datos INT a los tipos de datos BOOL o BYTE se transmiten los bits de menor valor de la entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Lista de las funciones disponibles: z INT_TO_BOOL z INT_TO_BYTE z INT_TO_WORD z INT_TO_DWORD z INT_TO_DINT z INT_TO_UINT z INT_TO_UDINT z INT_TO_REAL z INT_TO_TIME
33002522 05/2010
401
INT_TO_***
Representacin en IL Ejemplo de aplicacin con enteros dobles: LD INT_variable INT_TO_DINT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros dobles: ConvertedVariable := INT_TO_DINT (INT_variable) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro INT_variable Tipo de datos INT Significado Valor de entrada
ConvertedVariable BOOL, BYTE, DWORD, WORD, DINT, UINT, UDINT, REAL, TIME
402
33002522 05/2010
INT_TO_***
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando z se sobrepasa el margen de valores de la salida (tipos de datos numricos) z se debe convertir un valor de entrada negativo en un valor de salida UDINT, UINT o TIME. z durante la conversin al tipo de datos REAL se genera un nmero de coma flotante inadmisible. En este caso, se ubicar el estado en %SW17 (vase pgina 480). El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan en caso de conversin a los tipos de datos: z BOOL z BYTE z WORD z DWORD
33002522 05/2010
403
INT_TO_***
404
33002522 05/2010
INT_TO_BCD: Conversin de un entero en cdigo binario a un entero decimal con codificacin binaria
136
Descripcin
Descripcin de la funcin La funcin INT_TO_BCD lleva a cabo la conversin de un entero codificado binario en un entero con formato Binario Codificado Decimal (BCD). Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
405
INT_TO_BCD
Representacin en IL Representacin: LD Integer_1 INT_TO_BCD ST BCD_Result Representacin en ST Representacin: BCD_Result := INT_TO_BCD(Integer_1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Integer_1 Tipo INT Comentario Entero codificado binario comprendido entre 0 y 9999. Ejemplo: Integer_1 = 99
Errores de ejecucin El bit %S18 (vase pgina 477) se posiciona a 1 cuando el valor que se va a convertir no es un valor comprendido entre 0 y 9999. De este modo, el resultado de la funcin devuelve el valor del parmetro de entrada.
406
33002522 05/2010
INT_TO_DBCD: Conversin de un entero en cdigo binario a un entero decimal doble con codificacin binaria
137
Descripcin
Descripcin de la funcin La funcin INT_TO_DBCD lleva a cabo la conversin de un entero codificado binario en un entero con formato Binario Codificado Doble Decimal (DBCD). Esta funcin resulta til para convertir nombres cuya codificacin BCD es superior a 32768. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
407
INT_TO_DBCD
Representacin en IL Representacin: LD Integer_1 INT_TO_BCD ST DBCD_Result Representacin en ST Representacin: DBCD_Result := INT_TO_BCD(Integer_1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Integer_1 Tipo INT Comentario Entero codificado binario comprendido entre 0 y 32768. Ejemplo: Integer_1 = 30000
Errores de ejecucin El bit %S18 (vase pgina 477) se posiciona en 1 cuando el valor que se va a convertir no es un valor comprendido entre 0 y 99999999 o cuando dicho valor es negativo. De este modo, el resultado de la funcin devuelve el valor del parmetro de entrada.
408
33002522 05/2010
138
Descripcin
Descripcin de la funcin La funcin RAD_TO_DEG convierte un ngulo expresado en radianes en grados. Los parmetros adicionales EN y ENO pueden configurarse. Frmula La frmula es la siguiente:
Representacin en LD Representacin:
33002522 05/2010
409
RAD_TO_DEG
Representacin en IL Representacin: LD Angle_in_Radian RAD_TO_DEG ST Angle_in_Degree Representacin en ST Representacin: Angle_in_Degree:= RAD_TO_DEG(Angle_in_Radian); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Angle_in_Radian Tipo REAL Comentario Valor del ngulo expresado en radianes. -4096 Angle_in_Radian +4096
Errores de ejecucin Cuando Angle_in_Degree se encuentra fuera del intervalo ]-4096 , 4096 [, el bit de sistema %S18 (vase pgina 477) pasa a 1 y la palabra de sistema %SW17 (vase pgina 480) indica el tipo de fallo.
410
33002522 05/2010
139
Descripcin
Descripcin de la funcin Este procedimiento convierte un valor de entrada del tipo de datos REAL en 2 valores de salida del tipo de datos WORD. Las palabras individuales de la entrada REAL se asignan a las salidas en funcin de los nombres de salida. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
411
REAL_AS_WORD
Representacin en IL Representacin LD REAL_variable REAL_AS_WORD LowWord, HighWord Representacin en ST Representacin REAL_AS_WORD (REAL_variable, LowWord, HighWord); Descripcin de parmetros Descripcin de los parmetros de entrada
Parmetro REAL_variable Tipo de datos REAL Significado Entrada
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establece en 1, si en la entrada se encuentra un nmero de coma flotante no permitido.
412
33002522 05/2010
140
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos REAL en otro de tipo BOOL, BYTE, WORD , DWORD, INT, DINT, UINT, UDINT o TIME. NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej. REAL_TO_BOOL. En la conversin a BOOL, BYTE, WORD se transmiten los bits de menor valor del valor de entrada a la salida. No se produce ningn aviso de error de tiempo de ejecucin y ENO permanece en 1. Al realizar la conversin a INT, DINT, UINT, UDINT y TIME, se redondea segn las convenciones de CEI 559. Como parmetros adicionales se pueden configurar EN y ENO. (La salida ENOno se utiliza enREAL_TO_BOOL, REAL_TO_BYTE, REAL_TO_WORD y REAL_TO_DWORD; sta siempre tiene el valor "1"). Funciones disponibles Lista de las funciones disponibles: z REAL_TO_BOOL z REAL_TO_BYTE z REAL_TO_WORD z REAL_TO_DWORD z REAL_TO_INT z REAL_TO_DINT z REAL_TO_UINT z REAL_TO_UDINT z REAL_TO_TIME
33002522 05/2010
413
REAL_TO_***
Ejemplo El siguiente ejemplo muestra cmo se redondea segn la CEI 559. 1,4 -> 1 1,5 -> 2 2,5 -> 2 3,5 -> 4 4,5 -> 4 4,6 -> 5 Valores de entrada negativos Los valores de entrada negativos no se pueden convertir en los tipos de datos UINT, UDINT o TIME. Representacin en FBD Ejemplo de aplicacin con enteros:
414
33002522 05/2010
REAL_TO_***
Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := REAL_TO_INT (REAL_variable) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro REAL_variable Tipo de datos REAL Significado Valor de entrada
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando z en la entrada hay un nmero de coma flotante inadmisible, z se sobrepasa el margen de valores de la salida (tipos de datos numricos) z se debe convertir un valor de entrada negativo en un valor de salida UDINT, UINT o TIME. z durante la conversin al tipo de datos REAL se genera un nmero de coma flotante inadmisible. En este caso, se ubicar el estado en %SW17 (vase pgina 480). El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan en caso de conversin a los tipos de datos: z BOOL z BYTE z WORD z DWORD
33002522 05/2010
415
REAL_TO_***
416
33002522 05/2010
141
Descripcin
Descripcin de la funcin La funcin convierte (con corte en sentido cero) un valor de entrada del tipo de datos REAL en un valor de tipo INT, DINT, UINT o UDINT . Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Lista de las funciones disponibles: z REAL_TRUNC_INT z REAL_TRUNC_DINT z REAL_TRUNC_UINT z REAL_TRUNC_UDINT Ejemplo El siguiente ejemplo muestra cmo se realiza la conversin. 1,6 -> 1 -1,6 -> -1 1,4 -> 1 -1,4 -> -1 Tipo de datos Los valores de entrada negativos no se pueden convertir en los tipos de datos UDINT o UINT.
33002522 05/2010
417
REAL_TRUNC_***
Representacin en IL Ejemplo de aplicacin con enteros: LD REAL_variable REAL_TRUNC_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := REAL_TRUNC_INT (REAL_variable) ;
418
33002522 05/2010
REAL_TRUNC_***
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480) cuando
z
se debe convertir un valor de entrada negativo en un valor de salida UDINTo UINT. o en la entrada hay un nmero de coma flotante inadmisible.
33002522 05/2010
419
REAL_TRUNC_***
420
33002522 05/2010
142
Descripcin
Descripcin de funciones La funcin copia la cadena de caracteres del tipo de datos STRING de la entrada (sin conversin) como valores ASCII a la matriz INT de la salida. Esta funcin se utiliza para transferir distintos caracteres (todos se corresponden con los valores ASCII 16#01 a 16#FF). La nica excepcin es 16#00 (valor 0). Se emplea para rellenar bits vacos (no utilizados). Cada carcter ASCII slo requiere 1 byte, por lo que es posible transferir dos caracteres ASCII por elemento entero de la matriz de salida. Por lo tanto, la secuencia de transferencia es la siguiente: byte alto, byte bajo.
Cuando los caracteres ASCII de la cadena de caracteres de entrada no son suficientes para rellenar completamente la matriz de enteros con valores ASCII, los elementos restantes se rellenan con el valor 0; consulte Ejemplo 3, pgina 423. La operacin de copia finaliza en las situaciones siguientes: z Se alcanza el final de la cadena de caracteres de entrada. z Se alcanza el final de la matriz de salida. EN y ENO se proyectan como parmetros adicionales.
33002522 05/2010
421
STRING_TO_ASCII
Representacin en LD Apariencia:
Representacin en IL Apariencia: LD StringInput STRING_TO_ASCII ST AsciiValueArray Representacin en ST Apariencia: AsciiValueArray := STRING_TO_ASCII (StringInput) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro StringInput Tipo de datos Descripcin
422
33002522 05/2010
STRING_TO_ASCII
Error de ejecucin Si el tamao de las variables de matriz en la salida no es suficiente para representar todos los caracteres ASCII de la cadena de caracteres de entrada, ENO se establece en 0 y el bit de sistema %S15 (vase pgina 477) se establece en 1. Ejemplo 1 En el ejemplo, se va a transferir una cadena de cuatro caracteres ASCII a una matriz de enteros. Esto requiere una matriz de enteros con dos elementos.
Ejemplo 2 En el ejemplo, se va a transferir una cadena de cuatro caracteres ASCII a una matriz de enteros. Esto requiere una matriz de enteros con dos elementos; no se requiere el byte bajo del segundo elemento y, por lo tanto, contiene el valor 0.
Ejemplo 3 Cuando los caracteres ASCII de la cadena de caracteres de entrada no son suficientes para rellenar completamente la matriz de enteros con valores ASCII, los elementos restantes se rellenan con el valor 0.
33002522 05/2010
423
STRING_TO_ASCII
Ejemplo 4 Cuando se transfiere una cadena de caracteres vaca, los elementos de una matriz de enteros se rellenan con el valor 0.
Ejemplo 5 En el ejemplo, se van a transferir ocho caracteres ASCII. La matriz de salida es demasiado pequea para ello, por lo que ENO se establece en 0 y el bit de sistema %S15 se establece en 1.
424
33002522 05/2010
143
Descripcin
Descripcin de funciones La funcin copia la cadena de caracteres del tipo de datos STRING de la entrada (sin conversin) como valores ASCII a la matriz INT de la salida. Esta funcin se utiliza para transferir distintos caracteres (todos se corresponden con los valores ASCII 16#01 a 16#FF). La nica excepcin es 16#00 (valor 0). Se emplea para rellenar bits vacos (no utilizados). Cada carcter ASCII slo requiere 1 byte, por lo que es posible transferir dos caracteres ASCII por elemento entero de la matriz de salida. Por lo tanto, la secuencia de transferencia es la siguiente: byte bajo, byte alto.
Cuando los caracteres ASCII de la cadena de caracteres de entrada no son suficientes para rellenar completamente la matriz de enteros con valores ASCII, los elementos restantes se rellenan con el valor 0; consulte Ejemplo 3, pgina 428. La operacin de copia finaliza en las situaciones siguientes: z Se alcanza el final de la cadena de caracteres de entrada. z Se alcanza el final de la matriz de salida. EN y ENO se proyectan como parmetros adicionales.
33002522 05/2010
425
STRING_TO_ASCII_INV
Representacin en LD Apariencia:
Representacin en IL Apariencia: LD StringInput STRING_TO_ASCII_INV ST AsciiValueArray Representacin en ST Apariencia: AsciiValueArray := STRING_TO_ASCII_INV (StringInput) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro StringInput Tipo de datos Descripcin
426
33002522 05/2010
STRING_TO_ASCII_INV
Error de ejecucin Si el tamao de las variables de matriz en la salida no es suficiente para representar todos los caracteres ASCII de la cadena de caracteres de entrada, ENO se establece en 0 y el bit de sistema %S15 (vase pgina 477) se establece en 1. Ejemplo 1 En el ejemplo, se va a transferir una cadena de cuatro caracteres ASCII a una matriz de enteros. Esto requiere una matriz de enteros con dos 2 elementos.
Ejemplo 2 En el ejemplo, se va a transferir una cadena de cuatro caracteres ASCII a una matriz de enteros. Esto requiere una matriz de enteros con dos elementos; no se requiere el byte alto del segundo elemento y, por lo tanto, contiene el valor 0.
33002522 05/2010
427
STRING_TO_ASCII_INV
Ejemplo 3 Cuando los caracteres ASCII de la cadena de caracteres de entrada no son suficientes para rellenar completamente la matriz de enteros con valores ASCII, los elementos restantes se rellenan con el valor 0.
Ejemplo 4 Cuando se transfiere una cadena de caracteres vaca, los elementos de una matriz de enteros se rellenan con el valor 0.
Ejemplo 5 En el ejemplo, se van a transferir ocho caracteres ASCII. La matriz de salida es demasiado pequea para ello, por lo que ENO se establece en 0 y el bit de sistema %S15 se establece en 1.
428
33002522 05/2010
STRING_TO_***: Conversin de una cadena de caracteres a un nmero de tipo INT, DINT o REAL
144
Descripcin
Descripcin de la funcin La funcin STRING_TO_*** lleva a cabo la conversin de una cadena de caracteres a un entero sencillo o doble, o a un nmero real. Esta funcin es IEC 1131. Los parmetros adicionales EN y ENO se pueden configurar. Funciones disponibles Las funciones disponibles son las siguientes: z STRING_TO_INT, z STRING_TO_DINT, z STRING_TO_REAL. Representacin en FBD Representacin aplicada a un valor entero:
33002522 05/2010
429
STRING_TO_***
Representacin en IL Representacin aplicada a un valor entero: LD String_1 STRING_TO_INT ST Result_Value Representacin en ST Representacin aplicada a un entero: Result_Value:= STRING_TO_INT(String_1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro String_1 Tipo STRING Comentario Cadena de caracteres. Ejemplo: String_1 = -32500
Errores de ejecucin El bit %S18 (vase pgina 477) se posiciona en 1 cuando el contenido de la cadena que se va a convertir est situado fuera de los bornes del tipo elegido (INT, DINT o REAL) o cuando uno de los caracteres de la cadena es errneo.
430
33002522 05/2010
145
Descripcin
Descripcin de la funcin Este procedimiento convierte un valor de entrada del tipo de datos TIME en 2 valores de salida del tipo de datos WORD. Las palabras individuales de la entrada TIME se asignan a las salidas en funcin de los nombres de salida. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
431
TIME_AS_WORD
Representacin en IL Representacin LD TIME_variable TIME_AS_WORD LowWord, HighWord Representacin en ST Representacin TIME_AS_WORD (REAL_variable, LowWord, HighWord); Descripcin de parmetros Descripcin de los parmetros de entrada
Parmetro TIME_variable Tipo de datos TIME Significado Entrada
432
33002522 05/2010
146
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos TIME en uno de los siguientes tipos: BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT o REAL. NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej. TIME_TO_BOOL. Durante la conversin del valor de entrada del tipo de datos TIME en un valor de salida de tipo BOOL, BYTE, WORD, INT o UINT se transmiten siempre los bits de menor valor de la entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Lista de las funciones disponibles: z TIME_TO_BOOL z TIME_TO_BYTE z TIME_TO_WORD z TIME_TO_DWORD z TIME_TO_INT z TIME_TO_DINT z TIME_TO_UINT z TIME_TO_UDINT z TIME_TO_REAL Representacin en FBD Ejemplo de aplicacin con enteros:
33002522 05/2010
433
TIME_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD TIME_variable TIME_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := TIME_TO_INT (TIME_variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro TIME_variable Tipo de datos TIME Significado Valor de entrada
BOOL, BYTE, WORD, DWORD, Valor de salida INT, DINT, UINT, UDINT, REAL
Error de tiempo de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando
z
434
33002522 05/2010
147
Descripcin
Descripcin de la funcin La funcin TIME_TO_STRING realiza la conversin de una variable con formato TIME en una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
435
TIME_TO_STRING
Representacin en ST Representacin: Result_Str := TIME_TO_STRING(Time1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Time1 Tipo TIME Comentario Duracin que se va a convertir en formato de cadena de caracteres.
Errores de ejecucin Si la cadena Result_Str es demasiado corta para contener el valor convertido (longitud inferior a 15 caracteres), ste queda truncado y el bit %S15 (vase pgina 475) se posiciona en 1.
436
33002522 05/2010
148
Descripcin
Descripcin de la funcin La funcin convierte una variable TIME_OF_DAY (tod#) en una matriz de enteros de dos elementos con la hora del da en formato BCD. Ejemplo: Si la entrada es: z TOD_Variable = tod#10:46:16 Entonces, la salida es: z Time_ARRAY[1] = 16#1600 z Time_ARRAY[2] = 16#1046 EN y ENO se pueden configurar como parmetros adicionales. Representacin en FBD
Representacin en LD
437
TOD_TO_ARINT
Representacin en ST Time_ARRAY := TOD_TO_ARINT (TOD_Variable) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro TOD_Variable Tipo de datos TIME_OF_DAY Significado La hora del da se define como una variable TIME_OF_DAY (tod#).
Errores de tiempo de ejecucin Si el tamao de la salida Time_ARRAY es demasiado pequeo, ENO = 0 y OUT no se modifica.
438
33002522 05/2010
149
Descripcin
Descripcin de la funcin La funcin TOD_TO_STRING realiza la conversin de una variable con formato TOD en una cadena de caracteres. Los parmetros adicionales EN y ENO se pueden configurar. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
439
TOD_TO_STRING
Representacin en ST Representacin: Result_Str := =TOD_TO_STRING(Time1); Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:
Parmetro Time1 Tipo TOD Comentario Hora del da que se va a convertir en formato de cadena de caracteres.
Errores de ejecucin Si la cadena Result_Str es demasiado corta para contener el valor convertido (longitud inferior a 8 caracteres), ste queda truncado y el bit %S15 (vase pgina 475) se posiciona en 1.
440
33002522 05/2010
150
Descripcin
Descripcin de la funcin Este procedimiento convierte un valor de entrada del tipo de datos UDINT en 2 valores de salida del tipo de datos WORD. Las palabras individuales de la entrada UDINT se asignan a las salidas en funcin de los nombres de salida. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
441
UDINT_AS_WORD
Representacin en IL Representacin LD UDINT_variable UDINT_AS_WORD LowWord, HighWord Representacin en ST Representacin UDINT_AS_WORD (UDINT_variable, LowWord, HighWord); Descripcin de parmetros Descripcin de los parmetros de entrada
Parmetro UDINT_variable Tipo de datos UDINT Significado Entrada
442
33002522 05/2010
151
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos UDINT en un valor de salida de tipo BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, REAL o TIME. NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej. UDINT_TO_BOOL. Durante la conversin del tipo de datos UDINT al tipo de datos BOOL, BYTE, WORD, INT o UINT, se transmiten los bits de menor valor del valor de entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Lista de las funciones disponibles: z UDINT_TO_BOOL z UDINT_TO_BYTE z UDINT_TO_WORD z UDINT_TO_DWORD z UDINT_TO_INT z UDINT_TO_DINT z UDINT_TO_UINT z UDINT_TO_REAL z UDINT_TO_DINT Representacin en FBD Ejemplo de aplicacin con enteros:
33002522 05/2010
443
UDINT_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD UDINT_variable UDINT_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := UDINT_TO_INT (UDINT_variable) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro UDINT_variable Tipo de datos UDINT Significado Valor de entrada
444
33002522 05/2010
UDINT_TO_***
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando z se sobrepasa el margen de valores de la salida (tipos de datos numricos) z se debe convertir un valor de entrada negativo en un valor de salida UDINT, UINT o TIME. z durante la conversin al tipo de datos REAL se genera un nmero de coma flotante inadmisible. En este caso, se ubicar el estado en %SW17 (vase pgina 480). El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan en caso de conversin a los tipos de datos: z BOOL z BYTE z WORD z DWORD
33002522 05/2010
445
UDINT_TO_***
446
33002522 05/2010
152
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos UINT en un valor de salida de tipo BOOL, BYTE, WORD, DWORD, INT, DINT, UDINT, REAL o TIME. NOTA: La funcin convierte estrictamente segn las reglas CEI. Como esta funcin ha sido realizada como funcin genrica, tambin se han producido algunas transformaciones ilgicas, p. ej. UINT_TO_BOOL. En la conversin de un valor de entrada del tipo de datos UINT al tipo de datos WORD, la muestra de bits de la entrada se transmite sin cambios a la salida. Durante la conversin de un valor de entrada del tipo de datos UINT a los tipos de datos BOOL o BYTE se transmiten los bits de menor valor de la entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. Funciones disponibles Lista de las funciones disponibles: z UINT_TO_BOOL z UINT_TO_BYTE z UINT_TO_WORD z UINT_TO_DWORD z UINT_TO_INT z UINT_TO_DINT z UINT_TO_UDINT z UINT_TO_REAL z UINT_TO_TIME
33002522 05/2010
447
UINT_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD UINT_variable UINT_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := UINT_TO_INT (UINT_variable) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro UINT_variable Tipo de datos UINT Significado Valor de entrada
ConvertedVariable BOOL, BYTE, WORD, DWORD, INT, DINT, UDINT, REAL, TIME
448
33002522 05/2010
UINT_TO_***
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 cuando z se sobrepasa el margen de valores de la salida (tipos de datos numricos) z se debe convertir un valor de entrada negativo en un valor de salida UDINT, UINT o TIME. z durante la conversin al tipo de datos REAL se genera un nmero de coma flotante inadmisible. En este caso, se ubicar el estado en %SW17 (vase pgina 480). El bit de sistema %S18 (vase pgina 477) y la palabra de sistema %SW17 (vase pgina 480) no se utilizan en caso de conversin a los tipos de datos: z BOOL z BYTE z WORD z DWORD
33002522 05/2010
449
UINT_TO_***
450
33002522 05/2010
153
Descripcin
Descripcin de la funcin Este procedimiento convierte un valor de entrada del tipo de datos WORD en 2 valores de salida de tipo BYTE. Cada uno de los bytes de la palabra en la entrada se asocia a las salidas segn el nombre de la salida. Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:
Representacin en LD Representacin:
33002522 05/2010
451
WORD_AS_BYTE
Representacin en IL Representacin: LD WORD_variable WORD_AS_BYTE LowByte, HighByte Representacin en ST Representacin: WORD_AS_BYTE (WORD_variable, LowByte, HighByte); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro WORD_variable Tipo de datos WORD Significado Entrada
452
33002522 05/2010
154
Descripcin
Descripcin de la funcin La funcin convierte 2 valores de entrada del tipo de datos WORD en un valor de salida de tipo DINT. Los valores de entrada se asocian a la palabra en la salida segn el nombre de la entrada. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque:
Representacin en LD Representacin:
33002522 05/2010
453
WORD_AS_DINT
Representacin en IL Representacin: LD WORD_variable1 WORD_AS_DINT WORD_variable2 ST DINT_variable Representacin en ST Representacin: DINT_variable := WORD_AS_DINT (WORD_variable1, WORD_variable2) ; Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro WORD_variable1 WORD_variable2 Tipo de datos WORD WORD Significado Palabra de orden inferior Palabra de orden superior
454
33002522 05/2010
155
Descripcin
Descripcin de la funcin Esta funcin convierte un valor de entrada de los dos tipos de datos WORD en valores de salida del tipo de datos REAL. Los valores de entrada se asignan a la palabra en la salida de acuerdo con los nombres de entrada. EN y ENO pueden configurarse como parmetros adicionales. Frmula Frmula de bloque:
Representacin en LD Representacin:
33002522 05/2010
455
WORD_AS_REAL
Representacin en IL Representacin: LD WORD_variable1 WORD_AS_REAL WORD_variable2 ST REAL_Output Representacin en ST Representacin: REAL_Output := WORD_AS_REAL (WORD_variable1, WORD_variable2); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro WORD_variable1 WORD_variable2 Tipos de datos WORD WORD Significado Byte menos importante Byte ms importante
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se define como 1, si se define un nmero de coma flotante no autorizado en la entrada z se crea un nmero de coma flotante no autorizado durante la conversin en el tipo de datos REAL. En este caso, el estado tambin se coloca en %SW17 (vase pgina 480).
z
456
33002522 05/2010
156
Descripcin
Descripcin de la funcin La funcin convierte 2 valores de entrada del tipo de datos WORD en un valor de salida del tipo de datos TIME. Los valores de entrada se asignan a la palabra en la salida en funcin de los nombres de entrada. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque:
Representacin en LD Representacin:
33002522 05/2010
457
WORD_AS_TIME
Representacin en IL Representacin LD WORD_variable1 WORD_AS_TIME WORD_variable2 ST TIME_Output Representacin en ST Representacin TIME_Output := WORD_AS_TIME (WORD_variable1, WORD_variable2) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro WORD_variable1 WORD_variable2 Tipo de datos WORD WORD Significado byte de menor valor byte de mayor valor
458
33002522 05/2010
157
Descripcin
Descripcin de la funcin La funcin convierte 2 valores de entrada del tipo de datos WORD en un valor de salida del tipo de datos UDINT. Los valores de entrada se asignan a la palabra en la salida en funcin de los nombres de entrada. Como parmetros adicionales se pueden configurar EN y ENO. Frmula Frmula del bloque:
Representacin en LD Representacin:
33002522 05/2010
459
WORD_AS_UDINT
Representacin en IL Representacin: LD WORD_variable1 WORD_AS_UDINT WORD_variable2 ST UDINT_Output Representacin en ST Representacin: UDINT_Output := WORD_AS_UDINT (WORD_variable1, WORD_variable2) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro WORD_variable1 WORD_variable2 Tipo de datos WORD WORD Significado byte de menor valor byte de mayor valor
460
33002522 05/2010
158
Descripcin
Descripcin de la funcin Este procedimiento convierte un valor de entrada del tipo de datos WORD en 16 valores de salida de tipo BOOL. Cada uno de los bits de la palabra en la entrada se asocia a las salidas segn el nombre de la salida.
33002522 05/2010
461
WORD_TO_BIT
Representacin en LD Representacin:
Representacin en IL Representacin: LD WORD_variable WORD_TO_BIT BOOL_variable1, BOOL_variable2, BOOL_variable3, BOOL_variable4, BOOL_variable5, BOOL_variable6, BOOL_variable7, BOOL_variable8, BOOL_variable9, BOOL_variable10, BOOL_variable11, BOOL_variable12, BOOL_variable13, BOOL_variable14, BOOL_variable15, BOOL_variable16 Representacin en ST Representacin: WORD_TO_BIT (WORD_variable, BOOL_variable1 BOOL_variable2, BOOL_variable3, BOOL_variable4, BOOL_variable5, BOOL_variable6, BOOL_variable7, BOOL_variable8, BOOL_variable9, BOOL_variable10, BOOL_variable11, BOOL_variable12, BOOL_variable13, BOOL_variable14, BOOL_variable15, BOOL_variable16); Descripcin de parmetros Descripcin de los parmetros de entrada:
Parmetro WORD_variable Tipo de datos WORD Significado Entrada
462
33002522 05/2010
159
Descripcin
Descripcin de la funcin La funcin convierte un valor de entrada del tipo de datos WORD en uno de los siguientes tipos BOOL, BYTE, DWORD, INT, DINT, UINT, UDINT, REAL o TIME. Durante la conversin del tipo de datos WORD al tipo de datos DWORD, DINT, UDINT, REAL o TIME se transmite la muestra de bit de la entrada al bit de menor valor de la salida. Los bits de mayor valor de la salida se ubican en cero. Durante la conversin del tipo de datos WORD al tipo de datos BOOL o BYTE, se transmiten los bits de menor valor del valor de entrada a la salida. Como parmetros adicionales se pueden configurar EN y ENO. (La salida ENOno se utiliza enWORD_TO_REAL; sta siempre tiene el valor "1"). Funciones disponibles Lista de las funciones disponibles: z WORD_TO_BOOL z WORD_TO_BYTE z WORD_TO_DWORD z WORD_TO_INT z WORD_TO_DINT z WORD_TO_UINT z WORD_TO_UDINT z WORD_TO_REAL z WORD_TO_TIME Representacin en FBD Ejemplo de aplicacin con enteros:
33002522 05/2010
463
WORD_TO_***
Representacin en IL Ejemplo de aplicacin con enteros: LD WORD_variable WORD_TO_INT ST ConvertedVariable Representacin en ST Ejemplo de aplicacin con enteros: ConvertedVariable := WORD_TO_INT (WORD_variable) ; Descripcin de los parmetros Descripcin de los parmetros de entrada
Parmetro WORD_variable Tipo de datos WORD Significado Valor de entrada
Error de ejecucin El bit de sistema %S18 (vase pgina 477) se establecer en 1 y el estado se ubicar en %SW17 (vase pgina 480) cuando
z
durante la conversin al tipo de datos REAL se genera un nmero de coma flotante inadmisible.
464
33002522 05/2010
160
Descripcin
Descripcin de la funcin La funcin ***_TO_STRING convierte una variable INT, DINT o REAL en una cadena de caracteres. Pueden configurarse los parmetros adicionales EN y ENO. Funciones disponibles Las funciones disponibles son las siguientes: z INT_TO_STRING, z DINT_TO_STRING, z REAL_TO_STRING. Representacin en FBD Representacin aplicada a un real:
33002522 05/2010
465
***_TO_STRING
Representacin en IL Representacin aplicada a un real: LD Value1 REAL_TO_STRING ST Result_Str Representacin en ST Representacin aplicada a un real: Result_Str:= REAL_TO_STRING(Value1); Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:
Parmetro Value1 Tipo Comentario
Errores de ejecucin Si durante la conversin de un valor de tipo REAL, Value1 no se encuentra entre -3.402824e+38 y -1.175494e-38 o +1.175494e-38 y +3.402824e+38, el bit %S18 (vase pgina 477) se define como 1 y el contenido de la cadena Result_Str no tendr ningn significado.
466
33002522 05/2010
33002522 05/2010
Apndices
Visin general Esta seccin contiene los anexos. Contenido de este anexo Este anexo contiene los siguientes captulos:
Captulo A B Nombre del captulo Cdigos y valores de error de EFB Objetos de sistema Pgina 469 473
33002522 05/2010
467
468
33002522 05/2010
A
Introduccin En las siguientes tablas, se muestran los cdigos y valores de error creados para los EFB de la biblioteca base. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Tabla de cdigos de error de la librera base Errores comunes de coma flotante Pgina 470 472
33002522 05/2010
469
Divisin por cero. Un valor negativo no se puede convertir en un tipo de dato TIME. Error aritmtico. Desborde aritmtico (%S18 establecido). Vase la tabla Errores comunes de coma flotante, pgina 472. Desborde aritmtico (%S18 establecido). Error aritmtico / Desborde de multiplicacin. Error aritmtico / Desborde de adicin. Error aritmtico / Los parmetros exceden el rango. Un valor negativo no se puede convertir en un tipo de dato TIME. Vase la tabla Errores comunes de coma flotante, pgina 472.
-30.170 -30.003 -
16#8A26 16#8ACD -
F F F F
MULTIME
-30.177
16#8A1F
MULTIME
470
33002522 05/2010
Estadstica Tabla de cdigos y valores de error creados para los EFB de la familia Estadstica.
Nombre de EFB Cdigo de error Estado de Valor de ENO en caso error en de error Dec F F F -30.183 -30.176 Valor de error en Hex 16#8A19 16#8A20 Descripcin del error
Valor de entrada fuera de rango. Divisin por cero. Vase la tabla Errores comunes de coma flotante, pgina 472. Error aritmtico Operacin de coma flotante no permitida Error aritmtico / Desborde de multiplicacin Error aritmtico / Desborde de adicin Error aritmtico / Los parmetros exceden el rango Error aritmtico / Desborde sin signo Vase la tabla Errores comunes de coma flotante, pgina 472. Vase la tabla Errores comunes de coma flotante, pgina 472. El selector est fuera de rango.
E_ARITHMETIC_ERROR F E_FP_STATUS_FAILED F
AVE AVE
-30.173 -30.171
16#8A23 16#8A25
AVE MAX
-30.174 -
16#8A22 -
MIN
FP_ERROR
MUX
E_SELECTOR_OUT_OF _RANGE
-30.175
16#8A21
33002522 05/2010
471
472
33002522 05/2010
Objetos de sistema
B
Objeto Este captulo describe los bits y las palabras de sistema del lenguaje Unity Pro. Nota: los smbolos asociados a cada objeto de bit o de palabra del sistema a los que se hace referencia en las tablas descriptivas de dichos objetos no estn incluidos de serie en el programa, se pueden introducir a travs del editor de datos. Se proponen para homogeneizar su denominacin en las diferentes aplicaciones. Contenido de este captulo Este captulo contiene los siguiente apartados:
Apartado Introduccin de bits de sistema Descripcin de los bits de sistema %S9 a %S13 Descripcin de los bits de sistema de %S15 a %S21 Descripcin de las palabras de sistema %SW12 a %SW29 Descripcin de las palabras de sistema %SW48 a %SW59 Pgina 474 475 477 480 486
33002522 05/2010
473
Objetos de sistema
474
33002522 05/2010
Objetos de sistema
0 Normalmente est en estado 0, y el programa o el terminal establecen este bit en 1: z Establecido en 1: establece el bit a 0 o mantiene el valor actual segn la configuracin elegida (bus X, Fipio, ASi, etc.). z Establecido en 0: las salidas se actualizan normalmente. Nota: el bit de sistema acta directamente en las salidas fsicas y no en los bits de imagen de las salidas. Nota: en Modicon M340, el explorador de E/S Ethernet y los datos globales se ven afectados por el bit %S9. (1) Nota: en Modicon M340, las entradas/salidas distribuidas mediante el bus CANopen no se ven afectadas por el bit %S9. En Modicon M340, despus de una modalidad de funcionamiento, las salidas estn en el estado del modo de seguridad igual a 0 mientras se establece el bit.
%S10 IOERR
Fallo de entrada/salida
Normalmente en estado 1. Este bit se esta- 1 blece en 0 cuando se detecta un fallo en un mdulo en bastidor o en un dispositivo en Fipio (configuracin no correcta, fallo de intercambio, fallo de hardware, etc.). El sistema vuelve a establecer el bit %S10 en 1 en el momento en que desaparece el fallo.
33002522 05/2010
475
Objetos de sistema
ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN - COMPORTAMIENTO ESPECFICO DE LA VARIABLE En Quantum, los errores de comunicacin de la red con dispositivos remotos detectados por los mdulos de comunicacin (NOM, NOE, NWM, CRA, CRP) y los mdulos de movimiento (MMS) no se notifican en los bits %S10, %S16 ni %S119. Si no se siguen estas instrucciones pueden producirse lesiones personales o daos en el equipo.
Descripcin Normalmente est en estado 0, y el sistema establece este bit en 1 tan pronto como el tiempo de ejecucin de la tarea sobrepasa el tiempo de ejecucin mximo (es decir, el watchdog) establecido en las propiedades de tarea.
Premium Atrium S
Quantum S
%S12 PLCRUNNING
0 El sistema establece este bit en 1 cuando el PLC est en modalidad RUN. El sistema lo establece en 0 tan pronto como el PLC no est en modalidad RUN (STOP, INIT, etc.). La conmutacin del PLC de la moda- lidad STOP a RUN (incluso despus de un arranque en fro con arranque automtico en ejecucin) se indica al establecer el bit de sistema %S13 en 1. Este bit vuelve a ponerse a 0 al final del primer ciclo de la tarea MAST en la modalidad de ejecucin.
476
33002522 05/2010
Objetos de sistema
0 Normalmente en estado 0, este bit pasa al estado 1 cuando el rea de destino de una transferencia de cadena de caracteres no tiene el tamao suficiente (incluido el nmero de caracteres y el carcter de fin de cadena de caracteres) para recibirla. La aplicacin se detiene debido a un error si el bit %S78 se ha puesto a 1. La aplicacin debe resetear el bit a 0. Este bit no est disponible en PLC de seguridad Quantum. Normalmente en estado 1, el sistema 1 vuelve a establecerlo en 0 cuando se detecta un fallo en un mdulo en bastidor o en un dispositivo en Fipio (por ejemplo, una configuracin incompatible o fallos de intercambio o de hardware, etc.). El usuario debe resetear el bit en 1.
%S16 IOERRTSK
ATENCIN
COMPORTAMIENTO INESPERADO DE LA APLICACIN - COMPORTAMIENTO ESPECFICO DE LA VARIABLE En Quantum, los errores de comunicacin de la red con dispositivos remotos detectados por los mdulos de comunicacin (NOM, NOE, NWM, CRA, CRP) y los mdulos de movimiento (MMS) no se notifican en los bits %S10, %S16 ni %S119. Si no se siguen estas instrucciones pueden producirse lesiones personales o daos en el equipo.
33002522 05/2010
477
Objetos de sistema
Descripcin Normalmente est en estado 0. Durante una operacin de desplazamiento circular, este bit adopta el estado del bit saliente.
%S18 OVERFLOW
0 Desborde o Normalmente en estado 0, este bit pasa a 1 en caso de desborde de la error capacidad si: aritmtico z El resultado es superior a +32.767 o inferior a -32.768, en longitud simple. z El resultado es superior a +65.535, en un nmero entero sin signo. z El resultado es superior a + 2.147.483.647 o inferior a 2.147.483.648, en longitud doble. z El resultado es superior a +4.294.967.296, en longitud doble o nmero entero sin signo. z los valores reales sobrepasan los lmites; z hay una divisin entre 0; z hay una raz de un nmero negativo; z se fuerza un paso inexistente en un programador cclico; z hay un apilamiento de un registro completo, vaciado de un registro vaco. Slo hay un caso en el que los PLC Modicon M340 no aumentan el bit %S18 cuando los valores reales superan los lmites. Esto slo sucede si se utilizan operandos no normalizados o algunas operaciones que generan resultados no normalizados (transgresin por debajo de rango gradual). Debe comprobarse mediante el programa del usuario despus de cada operacin en la que exista riesgo de desborde; si se produce, el usuario debe resetear a 0. Cuando el bit %S18 pasa a 1, la aplicacin se detiene debido a un error si el bit %S78 se ha establecido en 1.
478
33002522 05/2010
Objetos de sistema
Descripcin
Normalmente en estado 0, el sistema 0 pone este bit en estado 1 en caso de desborde del perodo de ejecucin (tiempo de ejecucin de tarea superior al perodo definido por el usuario en la configuracin o programado en la palabra %SW asociada a la tarea). El usuario debe resetear el bit en 0. Cada tarea gestiona su propio bit %S19. 0 Normalmente en estado 0, este bit pasa a estado 1 cuando la direccin del objeto de ndice sea menor que 0 o supere el nmero de objetos declarados en la configuracin. En este caso, ocurre lo mismo que si el ndice fuera igual a 0. Debe comprobarse mediante el programa del usuario despus de cada operacin en la que exista riesgo de desborde; si esto sucede, se debe resetear a 0. Cuando el bit %S20 pasa a 1, la aplicacin se detiene debido a un error si el bit %S78 se ha establecido en 1. Este bit no est disponible en PLC de seguridad Quantum.
%S20 INDEXOVF
0 %S21 Primer ciclo El bit %S21, que se comprueba en 1RSTTASKRUN de tarea una tarea (Mast, Fast, Aux0, Aux1, Aux2 o Aux3), indica el primer ciclo de dicha tarea, incluso despus de un inicio en fro con inicio automtico de la ejecucin y un inicio en caliente. %S21 se pone a 1 al comienzo del ciclo y se resetea a 0 al final del ciclo. Nota: El bit %S21 no tiene el mismo significado en PL7 y en Unity Pro.
33002522 05/2010
479
Objetos de sistema
Para Premium: direccin Uni- Telway del puerto de terminal (en modalidad de esclavo) definida en la configuracin y cargada en esta palabra en un arranque en fro. El sistema no tiene en cuenta la modificacin del valor de esta palabra. Para Modicon M340: proporciona la direccin del esclavo de Modbus del puerto serie de la CPU. No se tiene en cuenta la modificacin. Es 0, si la CPU no dispone de una conexin de puerto serie. nicamente para PLC de seguridad Quantum, esta palabra indica la modalidad de servicio del procesador de la aplicacin del mdulo CPU. z 16#A501 = modalidad de mantenimiento z 16#5AFE = modalidad segura Cualquier otro valor se interpreta como un error. Nota: En un sistema de seguridad Hot Standby, esta palabra se intercambia desde el PLC primario hasta el PLC Standby para informar al PLC Standby de la modalidad segura o de mantenimiento.
%SW12 APMODE
16#A501 NO
NO
480
33002522 05/2010
Objetos de sistema
Palabra Smbolo
Funcionamiento
Descripcin
Estado inicial
Esta palabra indica lo siguiente 254 para la red principal (Fipway o (16#00F E) Ethway): z el nmero de la estacin (byte de menor valor) de 0 a 127, z el nmero de la red (byte de mayor valor) de 0 a 63, (valor de los microinterruptores de la tarjeta PCMCIA).
%SW13 INTELMODE
nicamente para PLC de seguridad Quantum, esta palabra indica la modalidad de servicio del procesador Intel Pentium del mdulo CPU. z 16#501A = modalidad de mantenimiento z 16#5AFE = modalidad segura Cualquier otro valor se interpreta como un error. Nota: En un sistema de seguridad Hot Standby, esta palabra se intercambia desde el PLC primario hasta el PLC Standby para informar al PLC Standby de la modalidad segura o de mantenimiento.
NO
NO
%SW14 OSCOMMVERS
Versin comercial Esta palabra contiene la versin de sistema operativo del procesador (SO) del procesador del PLC. del PLC Ejemplo: 16#0135 Versin: 01 Nmero de emisin: 35 Versin del parche del procesador del PLC Esta palabra contiene la versin comercial del parche para el procesador del PLC. La codificacin se lleva a cabo en el byte de menor valor de la palabra. Codificacin: 0 = sin parche, 1 = A, 2 = B... Ejemplo: 16#0003 corresponde al parche C.
%SW15 OSCOMMPATCH
33002522 05/2010
481
Objetos de sistema
Descripcin Esta palabra contiene el nmero de versin en formato hexadecimal del firmware del procesador del PLC. Ejemplo: 16#0011 Versin: 2.1 N. de versin: 17
Estado inicial -
%SW17 FLOATSTAT
Estado de fallo en Cuando se detecta un fallo en 0 operacin flotante una operacin aritmtica flotante, el bit %S18 pasa a 1 y el estado de error de %SW17 se actualiza segn la codificacin siguiente: z %SW17.0 = operacin invlida / el resultado no es un nmero; z %SW17.1 =operando no normalizado / el resultado es aceptable (indicador no gestionado por Modicon M340 o PLC de seguridad Quantum); z %SW17.2 = divisin entre 0 / el resultado es infinito; z %SW17.3 = desborde / el resultado es infinito; z %SW17.4 = transgresin por debajo de rango / el resultado es 0; z De %SW17.5 a 15 = no se utiliza. El sistema, as como el programa a fin de reutilizarla, vuelve a poner esta palabra a 0 en el arranque en fro. Esta palabra no est disponible en PLC de seguridad Quantum.
482
33002522 05/2010
Objetos de sistema
Palabra Smbolo
Funcionamiento
Descripcin
Estado inicial
%SW18 representa los bytes de 0 menor valor y %SW19 los bytes de mayor valor de la palabra doble %SD18, que el sistema incrementa cada dcima de segundo. La aplicacin puede leer o escribir estas palabras para realizar clculos de duracin. %SD18 se incrementa sistemticamente, incluso en la modalidad STOP y estados equivalentes. Sin embargo, no se tienen en cuenta las veces que el PLC est apagado, puesto que la funcin no est vinculada al administrador de tiempo real, sino slo al reloj en tiempo real. Para PLC de seguridad Quantum, sabiendo que los dos procesadores deben procesar exactamente los mismos datos, el valor de %SD18 se actualiza al comienzo de la tarea MAST y, a continuacin, se congela durante la ejecucin de la aplicacin.
33002522 05/2010
483
Objetos de sistema
Descripcin
Estado inicial
Para PLC Quantum y M340, el 0 sistema incrementa %SD20 cada milsima de segundo (incluso cuando el PLC est en STOP, %SD20 deja de incrementarse si el PLC est apagado). %SD20 puede leerse mediante el programa de usuario o el terminal. %SD20 se restablece en los arranques en fro. %SD20 no se restablece en los arranques en caliente. Para los PLC Premium TSX P57 14M/24M/34M/C0 24M/024M y TSX PCI57 204M/354M, el sistema incrementa %SD20 5 veces cada 5 milsimas de segundo. Para el resto de PLC Premium, %SD20 se establece segn el contador de tiempo a 1 ms, como los PLC Quantum y M340. Para PLC de seguridad Quantum, sabiendo que los dos procesadores deben procesar exactamente los mismos datos, el valor de %SD18 se actualiza al comienzo de la tarea MAST y, a continuacin, se congela durante la ejecucin de la aplicacin. El byte de menor valor contie- ne el conmutador rotativo del procesador Ethernet. Puede leerse mediante el programa de usuario o el terminal.
%SW23
NO
NO
484
33002522 05/2010
Objetos de sistema
Descripcin
Estado inicial
Esta palabra de sistema permi- te verificar en el lado del servidor el nmero de solicitudes procesadas por PLC por ciclo.
Duracin de la z %SW27 es la ltima duracin administracin del de la administracin del sistema sistema. z %SW28 contiene la duracin mxima de la administracin del sistema. z %SW29 contiene la duracin mnima de la administracin del sistema. La duracin de la administracin del sistema depende de la configuracin (nmero de E/S...) y de las peticiones de ciclo actuales (comunicacin, diagnsticos). Duracin de la administracin del sistema = duracin del ciclo Mast duracin de ejecucin del cdigo de usuario. Pueden leerse y escribirse mediante el programa de usuario o el terminal.
NO
NO
33002522 05/2010
485
Objetos de sistema
0 Esta palabra indica el nmero de eventos procesados desde el ltimo arranque en fro (en ms). El programa o el terminal pueden escribir esta palabra. Esta palabra no est disponible en PLC de seguridad Quantum. Palabras del sistema que contienen la fecha y hora actuales (en BCD): z %SW49: da de la semana: z 1 = lunes z 2 = martes z 3 = mircoles z 4 = jueves z 5 = viernes z 6 = sbado z 7 = domingo
z z z z
%SW49 DAYOFWEE K %SW50 SEC %SW51 HOURMIN %SW52 MONTHDAY %SW53 YEAR
%SW50: segundos (16#SS00), %SW51: horas y minutos (16#HHMM), %SW52: mes y da (16#MMDD), %SW53: ao (16#AAAA).
El sistema gestiona estas palabras cuando el bit %S50 se define en 0. El usuario del programa o el terminal pueden escribir estas palabras cuando el bit %S50 se define en 1.
486
33002522 05/2010
Objetos de sistema
Palabra Smbolo %SW54 STOPSEC %SW55 STOPHM %SW56 STOPMD %SW57 STOPYEAR %SW58 STOPDAY
Descripcin
Las palabras del sistema contienen la fecha y la hora del ltimo fallo de alimentacin o detencin del PLC (en formato decimal codificado en binario): z %SW54: segundos (00SS), z %SW55: horas y minutos (HHMM), z %SW56: mes y da (MMDD), z %SW57: ao (AAAA), z %SW58: el byte ms significativo contiene el da de la semana (de 1 para lunes a 7 para domingo) y el byte menos significativo contiene el cdigo de la ltima detencin: z 1 = cambio de RUN a STOP por el terminal o la entrada exclusiva z 2 = detencin por el watchdog (tarea del PLC o desborde del SFC) z 4 = corte de alimentacin u operacin de bloqueo de la tarjeta de memoria z 5 = detencin por fallo de hardware z 6 = detencin por fallo de software. Los detalles del tipo de fallo de software se guardan en %SW125. Contiene dos series de 8 bits para ajustar la 0 fecha actual. La accin se ejecuta siempre en el flanco ascendente del bit. Esta palabra se activa por el bit %S59=1. En la ilustracin siguiente, los bits de la columna de la izquierda aumentan el valor y los bits de la columna de la derecha reducen el valor:
33002522 05/2010
487
Objetos de sistema
488
33002522 05/2010
Glosario
0-9
%I Segn la norma IEC, %I indica un objeto de lenguaje de entrada binaria. %IW Segn la norma IEC, %IW indica un objeto de lenguaje de entrada analgica. %KW Segn la norma IEC, %KW indica un objeto de lenguaje de palabra constante. %M Segn la norma IEC, %M indica un objeto de lenguaje de bit de memoria. %MW Segn la norma IEC, %MW indica un objeto de lenguaje de palabra de memoria. %Q Segn la norma IEC, %Q indica un objeto de lenguaje de salida binaria. %QW Segn la norma IEC, %QW indica un objeto de lenguaje de salida analgica.
33002522 05/2010
489
Glosario
A
ADDM_TYPE Este tipo predefinido se utiliza como salida de la funcin ADDM. Se trata de ARRAY[0..8] OF Int. Lo encontrar en la biblioteca, en la misma familia que las EF que lo utilizan.
ADDR_TYPE Este tipo predefinido se utiliza como salida de la funcin ADDR. Se trata de ARRAY[0..5] OF Int. Lo encontrar en la biblioteca, en la misma familia que las EF que lo utilizan.
ANL_IN ANL_IN es la forma abreviada del tipo de datos de entrada analgica. Se utiliza cuando se procesan valores analgicos. Las direcciones %IW del mdulo de entrada analgica configurado, que se especifican en la lista de componentes de E/S, se asignan automticamente a los tipos de datos y, en consecuencia, deben estar ocupadas nicamente por variables que no se hayan asignado.
ANL_OUT ANL_OUT es la forma abreviada del tipo de datos de salida analgica. Se utiliza cuando se procesan valores analgicos. Las direcciones %MW del mdulo de entrada analgica configurado, que se especifican en la lista de componentes de E/S, se asignan automticamente a los tipos de datos y, en consecuencia, deben estar ocupadas nicamente por variables que no se hayan asignado.
ANY Existe una jerarqua entre los distintos tipos de datos. En los DFB, a veces es posible declarar las variables que puedan contener varios tipos de valores. Se utilizan los tipos ANY_xxx.
490
33002522 05/2010
Glosario
ARRAY Una ARRAY es una tabla que contiene elementos del mismo tipo. La sintaxis es la siguiente: ARRAY [<lmites>] OF <Tipo> Ejemplo: ARRAY [1..2] OF BOOL es una tabla de una dimensin compuesta por dos elementos de tipo BOOL. ARRAY [1..10, 1..20] OF INT es una tabla de dos dimensiones compuesta por 10 x 20 elementos de tipo INT.
33002522 05/2010
491
Glosario
B
BCD BCD es la forma abreviada del formato Binary Coded Decimal (decimal codificado en binario). BCD permite representar los nmeros decimales comprendidos entre 0 y 9 mediante un grupo de cuatro bits (medio byte). En este formato, los cuatro bits utilizados para codificar los nmeros decimales disponen de un rango de combinaciones que no se utilizan. Ejemplo de la codificacin BCD: El nmero 2.450 z se codifica as: 0010 0100 0101 0000
z
BOOL BOOL es la forma abreviada del tipo booleano. Se trata del tipo de datos bsico en informtica. Una variable de tipo BOOL posee uno de estos valores: 0 (FALSE) o 1 (TRUE). Un bit extrado de una palabra es de tipo BOOL, por ejemplo: %MW10.4. BYTE Cuando se reagrupan ocho bits, se habla de un BYTE (byte). La introduccin de un BYTE se realiza en modalidad binaria o en base 8. El tipo BYTE est codificado en un formato de 8 bits que, en el formato hexadecimal, va de 16#00 a 16#FF.
C
Cadena Etapa activa de un SFC.
Cadena nica Modalidad de servicio de un diagrama SFC en la que slo puede haber un paso activo en un momento determinado.
492
33002522 05/2010
Glosario
Convenciones de designacin (identificador) Un identificador es un conjunto de letras, cifras y signos de subrayado que comienza por una letra o un signo de subrayado (por ejemplo, el nombre de un tipo de bloque de funciones, de una instancia, de una variable o de una seccin). Pueden utilizarse letras acentuadas de grupos de caracteres nacionales (como , , y ), excepto en los nombres de proyectos y DFB. Los signos de subrayado son significativos en los identificadores. Por ejemplo, A_BCD y AB_CD se interpretan como identificadores distintos. El uso de varios signos de subrayado consecutivos o al principio de un identificador es incorrecto. Los identificadores no pueden contener espacios. No se distingue entre maysculas y minsculas. Por ejemplo, ABCD y abcd se interpretan como un mismo identificador. Segn la norma IEC 61131-3, no se permite utilizar cifras antepuestas en los identificadores. Sin embargo, puede utilizarlos si, en el cuadro de dilogo Herramientas Ajustes del proyecto, ficha Extensiones de lenguaje, activa la casilla de verificacin Permitir cifras antepuestas. Los identificadores no pueden ser palabras clave.
D
DATE El tipo DATE codificado en BCD en un formato de 32 bits contiene la informacin siguiente:
z z z
el ao codificado en un campo de 16 bits, el mes codificado en un campo de 8 bits, el da codificado en un campo de 8 bits.
El tipo DATE debe introducirse de la manera siguiente: D# <Ao> - <Mes> - <Da> Esta tabla muestra los lmites inferior y superior de cada campo:
Campo Ao Mes Da Lmites [1990,2099] [01,12] [01,31] [01,30] [01,29] [01,28] Comentario Ao Se muestra el cero a la izquierda; puede omitirse en la entrada de datos. Para los meses 01/03/05/07/08/10/12 Para los meses 04/06/09/11 Para el mes 02 (aos bisiestos) Para el mes 02 (aos no bisiestos)
33002522 05/2010
493
Glosario
DATE_AND_TIME Consulte DT. Datos globales Los datos globales permiten el intercambio automtico de variables de datos para la coordinacin de las aplicaciones del PLC.
DBCD Representacin de un entero doble con formato doble BCD. El formato BCD (Binary Coded Decimal) se utiliza para representar los nmeros decimales comprendidos entre 0 y 9 mediante un grupo de cuatro bits. En este formato, los cuatro bits utilizados para codificar los nmeros decimales disponen de un rango de combinaciones que no se utilizan. Ejemplo de la codificacin DBCD: El nmero 78.993.016 z se codifica as: 0111 1000 1001 1001 0011 0000 0001 0110
z
DDT DDT es la forma abreviada de Derived Data Type (tipo de datos derivados). Un tipo de datos derivados es un conjunto de elementos del mismo tipo (ARRAY) o de distintos tipos (estructura).
DFB DFB es la forma abreviada de Derived Function Block (bloque de funciones derivado). Los tipos DFB son bloques de funciones programables por el usuario en lenguaje ST, IL, LD o FBD. El uso de estos tipos DFB en una aplicacin permite:
z z z z
simplificar la concepcin y la entrada del programa; aumentar la legibilidad del programa; facilitar su depuracin y reducir el volumen de cdigo generado.
494
33002522 05/2010
Glosario
DINT DINT es la forma abreviada de Double INTeger (entero doble) (codificado en 32 bits). Los lmites inferior y superior figuran a continuacin: de -(2 elevado a 31) a (2 elevado a 31) - 1. Ejemplo: -2.147.483.648, 2.147.483.647, 16#FFFFFFFF. DT DT es la forma abreviada de Date and Time (fecha y hora). El tipo DT, codificado en BCD en un formato de 64 bits, contiene esta informacin:
z z z z z z
el ao codificado en un campo de 16 bits, el mes codificado en un campo de 8 bits, el da codificado en un campo de 8 bits, la hora codificada en un campo de 8 bits, los minutos codificados en un campo de 8 bits, los segundos codificados en un campo de 8 bits.
NOTA: No se utilizan los 8 bits menos significativos. El tipo DT debe introducirse as: DT# <Ao> - <Mes> - <Da> - <Hora> : <Minutos> : <Segundos> En esta tabla se muestran los lmites inferior y superior de cada campo:
Campo Ao Mes Da Lmites [1990,2099] [01,12] [01,31] [01,30] [01,29] [01,28] Hora Minuto Segundo [00,23] [00,59] [00,59] Comentario Ao Se muestra el cero a la izquierda; puede omitirse en la entrada de datos. Para los meses 01/03/05/07/08/10/12 Para los meses 04/06/09/11 Para el mes 02 (aos bisiestos) Para el mes 02 (aos no bisiestos) Se muestra el cero a la izquierda; puede omitirse en la entrada de datos. Se muestra el cero a la izquierda; puede omitirse en la entrada de datos. Se muestra el cero a la izquierda; puede omitirse en la entrada de datos.
33002522 05/2010
495
Glosario
DWORD DWORD es la forma abreviada de Double Word (palabra doble). El tipo DWORD se codifica en un formato de 32 bits. Esta tabla establece los lmites inferior y superior de las bases que pueden utilizarse:
Base Hexadecimal Octal Binario Lmite inferior 16#0 8#0 2#0 Lmite superior 16#FFFFFFFF 8#37777777777 2#11111111111111111111111111111111
Ejemplos de representacin:
Datos 00000000000010101101110011011110 00000000000000010000000000000000 00000000000010101011110011011110 Representacin en una de las bases 16#ADCDE 8#200000 2#10101011110011011110
E
EBOOL EBOOL es la versin abreviada de Extended BOOLean (booleano extendido). Una variable de tipo EBOOL posee el valor 0 (FALSE) o 1 (TRUE), adems de flancos ascendentes o descendentes y funciones de forzado. Una variable de tipo EBOOL ocupa un byte de memoria. El byte se compone de los siguientes elementos:
z z z
un bit del valor, un bit del historial (cada vez que cambia el objeto de estado, el valor se copia en el bit del historial), un bit del forzado (igual a 0 si el objeto no se fuerza, igual a 1 si el bit se fuerza).
496
33002522 05/2010
Glosario
EF EF es la forma abreviada de Elementary Function (funcin elemental). Se trata de un bloque, utilizado en un programa, que realiza una funcin de software predefinida. Una funcin no dispone de informacin sobre el estado interno. Varias llamadas de la misma funcin con los mismos parmetros de entrada mostrarn los mismos valores de salida. Encontrar informacin sobre la forma grfica de la llamada de la funcin en el [bloque funcional (instancia)]. Al contrario que las llamadas de bloques de funciones, las llamadas de funcin constan nicamente de una salida a la que no se ha asignado un nombre y cuyo nombre coincide con el de la funcin. En FBD, cada llamada se indica mediante un [nmero] nico a travs del bloque grfico. Este nmero se genera automticamente y no puede modificarse. Coloque y configure estas funciones en el programa para ejecutar su aplicacin. Tambin puede desarrollar otras funciones mediante el kit de desarrollo de SDKC.
EFB EFB es la forma abreviada de Elementary Function Block (bloque de funciones elementales). Se trata de un bloque, utilizado en un programa, que realiza una funcin lgica predefinida. Los EFB cuentan con estados y parmetros internos. Aunque las entradas sean idnticas, los valores de las salidas pueden ser diferentes. Por ejemplo, un contador dispone de una salida que indica que se ha alcanzado el valor de preseleccin. Esta salida se establece en 1 cuando el valor actual coincide con el valor de preseleccin.
EN EN significa ENable (habilitar); se trata de una entrada de bloque opcional. Cuando la entrada EN est habilitada, se establece automticamente una salida ENO. Si EN = 0, el bloque no est habilitado, su programa interno no se ejecuta y ENO se establece en 0. Si EN = 1, se ejecuta el programa interno del bloque y ENO se establece en 1. Si se produce un error, ENO se establece en 0. Si la entrada EN no est conectada, se establece automticamente en 1.
33002522 05/2010
497
Glosario
ENO ENO significa Error NOtification (notificacin de error); se trata de la salida asociada a la entrada opcional EN. Si ENO se establece en 0 (porque EN = 0 o en caso de que se produzca un error de ejecucin): z el estado de las salidas de bloques de funciones permanece idntico a aqul en el que estaban durante el ltimo ciclo de exploracin ejecutado correctamente; z la(s) salida(s) de funciones, as como los procedimientos, se establecen en 0.
Exploracin de E/S La exploracin de E/S realiza un sondeo continuo de los mdulos de E/S para recopilar informacin de diagnstico, bits de datos, estados y errores. En este proceso se supervisan las entradas y salidas de control.
F
FBD FBD es la forma abreviada de Function Block Diagram (lenguaje en bloques funcionales). FBD es un lenguaje de programacin grfica que funciona como un diagrama. Cada funcin o bloque de funciones del programa se representa mediante esta forma grfica con la adicin de bloques lgicos simples (Y, O, etc.). En cada bloque, las entradas se sitan a la izquierda y las salidas, a la derecha. Las salidas de los bloques pueden estar vinculadas a las entradas de otros bloques para formar expresiones complejas.
FFB Trmino colectivo para EF (funcin elemental), EFB (bloque de funciones elemental) y DFB (bloque de funciones derivado).
498
33002522 05/2010
Glosario
G
GRAY El cdigo Gray o binario reflejado permite codificar un valor numrico desarrollado en una cadena de configuraciones binarias que puede diferenciarse mediante el cambio de estado de un solo bit. Este cdigo puede utilizarse, por ejemplo, para evitar este suceso aleatorio: en binario puro, el cambio del valor 0111 en 1000 puede producir un rango de nmeros comprendido entre 0 y 1.000, puesto que todos los bits no cambian de valor simultneamente. Equivalencia entre decimal, BCD y Gray:
H
HTTP Hypertext Transfer Protocol (protocolo de transferencia de hipertexto)
I
IEC 61131-3 Norma internacional: comandos de lgica programables Parte 3: lenguajes de programacin
IL IL es la forma abreviada de Instruction List (lista de instrucciones). Este lenguaje es un conjunto de instrucciones bsicas. Se acerca mucho al lenguaje de ensamblaje utilizado para programar los procesadores. Cada instruccin consta de un cdigo de instruccin y un operando.
33002522 05/2010
499
Glosario
INF Se utiliza para indicar que un nmero sobrepasa los lmites permitidos. En el caso de un nmero entero, los rangos de valores (indicados en color gris) son los siguientes:
Cuando un resultado:
z z
es inferior a -3,402824e+38, aparece el smbolo -INF (de -infinito); es superior a +3,402824e+38, aparece el smbolo INF (de +infinito);
INT INT es la forma abreviada de single INTeger (entero simple) (codificado en 16 bits). Los lmites inferior y superior figuran a continuacin: de -(2 elevado a 15) a (2 elevado a 15) - 1. Ejemplo: -32.768, 32.767, 2#1111110001001001, 16#9FA4. IODDT IODDT es la forma abreviada de Input/Output Derived Data Type (tipo de datos derivados de E/S). El trmino IODDT designa un tipo de datos estructurado que representa un mdulo o un canal de un mdulo del PLC. Cada mdulo experto posee sus propios IODDT.
L
LD LD es la forma abreviada de Ladder Diagram (diagrama de contactos). LD es un lenguaje de programacin que representa las instrucciones que deben ejecutarse en forma de esquemas grficos muy parecidos a un esquema elctrico (contactos, bobinas, etc.).
500
33002522 05/2010
Glosario
M
Multicadena Modalidad de servicio de un SFC. En modalidad multicadena, el SFC puede contar con varias etapas activas simultneamente.
N
NAN Se utiliza para indicar que el resultado de una operacin no es numrico (NAN = Not A Number, no numrico). Ejemplo: el clculo de la raz cuadrada de un nmero negativo. NOTA: La norma IEC 559 define dos clases de NAN: NAN silencioso (QNAN) y NAN de sealizacin (SNAN). QNAN es un NAN con el bit de fraccin ms significativo, mientras que SNAN es un NAN sin el bit de fraccin ms significativo (nmero de bit 22). Los QNAN pueden propagarse por la mayora de las operaciones aritmticas sin que se indique ninguna excepcin. En cambio, los SNAN generalmente sealan una operacin no vlida cuando se utilizan como operandos en operaciones aritmticas (consulte %SW17 y %S18).
P
Palabra clave Una palabra clave es una combinacin nica de caracteres que se utiliza como elemento de sintaxis en un lenguaje de programacin (consulte la definicin que aparece en el apndice B de la norma IEC 61131-3. Todas las palabras clave utilizadas en Unity Pro e incluidas en la norma IEC 61131-3 aparecen en el apndice C de dicha norma. Las palabras clave no pueden servir de identificadores [nombres de variables, secciones, tipos de DFB, etc.] en el programa).
Peer cop El servicio Peer Cop es un mecanismo para el intercambio automtico entre estaciones conectadas a un mismo segmento de Modbus Plus.
33002522 05/2010
501
Glosario
Procedimiento Desde un punto de vista tcnico, los procedimientos son vistas funcionales. La nica diferencia con las funciones elementales es que los procedimientos pueden tener ms de una salida y admiten el tipo de datos VAR_IN_OUT. Los procedimientos no se diferencian visualmente de las funciones elementales. Los procedimientos son una extensin de la norma IEC 61131-3.
R
REAL El tipo REAL (real) se codifica en formato de 32 bits. Los rangos de valores posibles se muestran en la figura siguiente:
Cuando un resultado:
z z z z
est comprendido entre -1,175494e-38 y 1,175494e-38, se le considera como DEN; es inferior a -3,402824e+38, aparece el smbolo -INF (de -infinito); es superior a +3,402824e+38, aparece el smbolo INF (de +infinito); es indefinido (raz cuadrada de un nmero negativo), aparece el smbolo NAN.
NOTA: La norma IEC 559 define dos clases de NAN: NAN silencioso (QNAN) y NAN de sealizacin (SNAN). QNAN es un NAN con el bit de fraccin ms significativo, mientras que SNAN es un NAN sin el bit de fraccin ms significativo (nmero de bit 22). Los QNAN pueden propagarse por la mayora de las operaciones aritmticas sin que se indique ninguna excepcin. En cambio, los SNAN generalmente sealan una operacin no vlida al utilizarse como operandos en operaciones aritmticas (consulte %SW17 y %S18). NOTA: Cuando DEN (nmero no normalizado) se utiliza como operando, el resultado no es significativo.
502
33002522 05/2010
Glosario
Red Hay dos significados del trmino red. z En LD: una red es un conjunto de elementos grficos interconectados. El campo de aplicacin de una red es local, en relacin con la unidad (seccin) de organizacin del programa en el que se encuentra la red. z Con mdulos de comunicacin expertos: una red es un grupo de estaciones que se intercomunican. El trmino red se utiliza tambin para definir un grupo de elementos grficos interconectados. Dicho grupo constituye una parte de un programa que puede componerse de un grupo de redes.
S
SFC SFC es la forma abreviada de Sequential Function Chart (grfica de funcin secuencial). El SFC permite representar grficamente y de forma estructurada el funcionamiento de un PLC secuencial. Esta descripcin grfica del comportamiento secuencial del PLC y de las distintas situaciones en desarrollo se realiza mediante smbolos grficos simples.
SIL Nivel de integridad de seguridad (Safety Integrity Level) Las funciones de seguridad se ejecutan para obtener y mantener el estado de seguridad de un sistema. El estndar IEC 61508 especifica cuatro niveles de rendimiento de seguridad para una funcin de seguridad. stos se denominan niveles de integridad de seguridad (SIL), y van desde 1 (el ms bajo) hasta 4 (el ms alto). El PLC de seguridad Quantum est certificado para su uso en aplicaciones SIL2, en las que el estado sin energa es el estado seguro, por ejemplo, en un sistema de parada de emergencia (ESD). Puede utilizar los productos de seguridad de Schneider para la creacin de una solucin Hot Standby (HSBY) si necesita una gran disponibilidad para un sistema de seguridad.
33002522 05/2010
503
Glosario
ST ST es la forma abreviada de Structured Text (texto estructurado). El lenguaje literal estructurado es un lenguaje elaborado similar a los lenguajes informticos de programacin. Permite estructurar series de instrucciones.
STRING Una variable de tipo STRING es una cadena de caracteres ASCII. La longitud mxima de una cadena de caracteres es de 65.534 caracteres.
T
TIME El tipo TIME expresa la duracin en milisegundos. Codificado en 32 bits, este tipo permite obtener duraciones de 0 a 2 32-1 milisegundos. Las unidades de tipo TIME son las siguientes: das (d), horas (h), minutos (m), segundos (s) y milisegundos (ms). Un valor literal de tipo TIME se representa mediante una combinacin de los tipos anteriores precedidos por el prefijo T#, t#, TIME# o time#. Ejemplos: T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
504
33002522 05/2010
Glosario
TIME_OF_DAY Consulte TOD. TOD TOD es la forma abreviada de Time Of Day (hora del da). El tipo TOD, codificado en BCD en un formato de 32 bits, contiene esta informacin:
z z z
la hora codificada en un campo de 8 bits, los minutos codificados en un campo de 8 bits, los segundos codificados en un campo de 8 bits.
NOTA: No se utilizan los 8 bits menos significativos. El tipo TOD debe introducirse de la manera siguiente: TOD# <Hora> : <Minutos> : <Segundos> En esta tabla se muestran los lmites inferior y superior de cada campo:
Campo Hora Minuto Segundo Lmites [00,23] [00,59] [00,59] Comentario Se muestra el cero a la izquierda; puede omitirse en la entrada de datos. Se muestra el cero a la izquierda; puede omitirse en la entrada de datos. Se muestra el cero a la izquierda; puede omitirse en la entrada de datos.
Ejemplo: TOD#23:59:45. TOPO_ADDR_TYPE Este tipo predefinido se utiliza como salida de la funcin READ_TOPO_ADDR. Se trata de ARRAY[0..4] OF Int. Lo encontrar en la biblioteca, en la misma familia que las EF que lo utilizan.
U
UDINT UDINT es la forma abreviada de Unsigned Double INTeger (entero doble sin signo) (codificado en 32 bits). Los lmites inferior y superior figuran a continuacin: de 0 a (2 elevado a 32) - 1. Ejemplo: 0, 4.294.967.295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.
33002522 05/2010
505
Glosario
UDP User Datagram Protocol (Protocolo de datagramas de usuario). UDP es un protocolo de comunicaciones de Internet sin conexin definido por la norma IETF RFC 768. Este protocolo facilita la transmisin directa de datagramas en redes IP. Los mensajes UDP/IP no necesitan una respuesta y, por lo tanto, son perfectos para aplicaciones en las que los paquetes cerrados no requieren retransmisin (como redes y vdeos que necesitan rendimiento en tiempo real).
UINT UINT es la forma abreviada del formato Unsigned INTeger (entero sin signo) (codificado en 16 bits). Los lmites inferior y superior figuran a continuacin: de 0 a (2 elevado a 16) - 1. Ejemplo: 0, 65.535, 2#1111111111111111, 8#177777, 16#FFFF.
V
Valor literal de base 10 Un valor literal de base 10 se utiliza para representar un valor entero decimal. Dicho valor puede ir precedido de los signos + y -. Si el carcter _ se utiliza en el valor literal, no es significativo. Ejemplo: -12, 0, 123_456, +986 Valor literal de base 16 Un valor literal de base 16 se utiliza para representar un entero hexadecimal. La base est determinada por el nmero 16 y el signo #. Los signos + y - estn prohibidos. Para facilitar la lectura, puede utilizar el signo _ entre los bits. Ejemplo: 16#F_F o 16#FF (255 en formato decimal) 16#E_0 16#E0 (224 en formato decimal)
506
33002522 05/2010
Glosario
Valor literal de base 2 Un valor literal de base 2 se utiliza para representar un entero binario. La base est determinada por el nmero 2 y el signo #. Los signos + y - estn prohibidos. Para facilitar la lectura, puede utilizar el signo _ entre los bits. Ejemplo: 2#1111_1111 2#11111111 (255 en formato decimal) 2#1110_0000 2#11100000 (224 en formato decimal) Valor literal de base 8 Un valor literal de base 8 se utiliza para representar un entero octal. La base est determinada por el nmero 8 y el signo #. Los signos + y - estn prohibidos. Para facilitar la lectura, puede utilizar el signo _ entre los bits. Ejemplo: 8#3_77 8#377 (255 en formato decimal) 8#34_0 8#340 (224 en formato decimal) Valor literal de entero Un valor literal de entero se utiliza para introducir valores enteros en el sistema decimal. Les valores pueden ir precedidos de los signos + y -. Los signos de subrayado (_) separan nmeros no significativos. Ejemplo: -12, 0, 123_456, +986 Valor literal de tiempo Las unidades de tipo TIME son las siguientes: das (d), horas (h), minutos (m), segundos (s) y milisegundos (ms). Un valor literal de tipo TIME se representa mediante una combinacin de los tipos anteriores precedidos por el prefijo T#, t#, TIME# o time#. Ejemplos: T#25h15m, t#14,7S, TIME#5d10h23m45s3ms Valor literal real Un valor literal real es un nmero expresado con uno o varios decimales. Ejemplo: -12,0, 0,0, +0,456, 3,14159_26
33002522 05/2010
507
Glosario
Valor literal real con exponente Nmero que puede expresarse mediante una notacin cientfica estndar. La representacin es como se indica a continuacin: mantisa + exponente. Ejemplo: -1,34E-12 -1,34e-12 1,0E+6 1,0e+6 1,234E6 1,234e6 Variable Entidad de memoria del tipo BOOL, WORD, DWORD, etc. cuyo contenido puede modificarse mediante el programa que est ejecutndose.
Variables asignadas Variable cuya posicin en la memoria del PLC puede conocerse. Por ejemplo, la variable Water_pressure se asocia a %MW102. Se dice por tanto que Water_pressure est asignada. Variables no asignadas Variable cuya posicin en la memoria del PLC no puede conocerse. Una variable a la que no est asociada ninguna direccin se denomina no asignada.
508
33002522 05/2010
Glosario
W
WORD El tipo WORD se codifica en un formato de 16 bits y se utiliza para procesar cadenas de bits. En esta tabla se establecen los lmites inferior y superior de las bases que pueden utilizarse:
Base Hexadecimal Octal Binario Lmite inferior 16#0 8#0 2#0 Lmite superior 16#FFFF 8#177777 2#1111111111111111
Ejemplos de representacin
Datos 0000000011010011 1010101010101010 0000000011010011 Representacin en una de las bases 16#D3 8#125252 2#11010011
33002522 05/2010
509
Glosario
510
33002522 05/2010
ndice
B C A
BYTE_AS_WORD, 367 BYTE_TO_***, 371 BYTE_TO_BIT, 369
A
ABS, 223 ACOS, 225 ACOS_REAL, 225 ADD, 227 ADD_***_***, 41 ADD_***_TIME, 163 ADD_TIME, 229 AND, 187 AND_***_***, 45 ARINT_TO_DATE, 345 ARINT_TO_DT, 347 ARINT_TO_TOD, 349 ASCII_TO_STRING, 351 ASCII_TO_STRING_INV, 355 ASIN, 231 ASIN_REAL, 231 ATAN, 233 ATAN_REAL, 233 AVE, 275 AVE_DINT, 275 AVE_INT, 275 AVE_REAL, 275 AVE_UDINT, 275 AVE_UINT, 275
C
cadenas, gestin - instrucciones STRING_TO_***, 429 ASCII_TO_STRING, 351 ASCII_TO_STRING_INV, 355 CONCAT_STR, 297 DATE_TO_STRING, 377 DELETE_INT, 299 DINT_TO_STRING, 465 EQUAL_STR, 301 FIND_INT, 303 INSERT_INT, 305 INT_TO_STRING, 465 LEFT_INT, 309 LEN_INT, 311 MID_INT, 313 REAL_TO_STRING, 465 REPLACE_INT, 315 RIGHT_INT, 319 STRING_TO_ASCII, 421 STRING_TO_ASCII_INV, 425 TOD_TO_STRING, 439 cadenas. gestin - instrucciones TIME_TO_STRING, 435
B
BCD_TO_INT, 359 BIT_TO_BYTE, 361 BIT_TO_WORD, 363 BOOL_TO_***, 365
33002522 05/2010
511
Index
comparacin - instrucciones EQ, 149 EQUAL_***, 57 EQUAL_STR, 301 FIND_EQ_***, 59 FIND_EQP_***, 63 FIND_GT_***, 67 FIND_LT_***, 71 GE, 151 GT, 153 LE, 155 LT, 157 NE, 159 OCCUR_***, 97 CONCAT_STR, 297 contador - instrucciones CTD, 323 CTD_***, 323 CTU, 327 CTU_***, 327 CTUD, 331 CTUD_***, 331 controlador - instrucciones informacin general, 123 PID_INT, 129 PWM_INT, 137 SERVO_INT, 141
conversin - instrucciones DEG_TO_RAD, 381 ARINT_TO_DATE, 345 ARINT_TO_DT, 347 ARINT_TO_TOD, 349 ASCII_TO_STRING, 351 ASCII_TO_STRING_INV, 355 BCD_TO_INT, 359 BIT_TO_BYTE, 361 BIT_TO_WORD, 363 BOOL_TO_***, 365 BYTE_AS_WORD, 367 BYTE_TO_***, 371 BYTE_TO_BIT, 369 DATE_TO_ARINT, 375 DATE_TO_STRING, 377 DBCD_TO_***, 379 DINT_AS_WORD, 383 DINT_TO_***, 385 DINT_TO_DBCD, 389 DINT_TO_STRING, 465 DT_TO_ARINT, 391 DT_TO_STRING, 393 DWORD_TO_***, 395 GRAY_TO_INT, 397 INT_AS_DINT, 399 INT_TO_***, 401 INT_TO_BCD, 405 INT_TO_DBCD, 407 INT_TO_STRING, 465 MOVE_***_***, 89 RAD_TO_DEG, 409 REAL_AS_WORD, 411 REAL_TO_***, 413 REAL_TO_STRING, 465 REAL_TRUNC_***, 417 STRING_TO_***, 429 STRING_TO_ASCII, 421 STRING_TO_ASCII_INV, 425 TIME_AS_WORD, 431 TIME_TO_***, 433 TIME_TO_STRING, 435 TOD_TO_ARINT, 437 TOD_TO_STRING, 439 UDINT_AS_WORD, 441
33002522 05/2010
512
Index
UDINT_TO_***, 443 UINT_TO_***, 447 WORD_AS_BYTE, 451 WORD_AS_DINT, 453 WORD_AS_REAL, 455 WORD_AS_TIME, 457 WORD_AS_UDINT, 459 WORD_TO_***, 463 WORD_TO_BIT, 461 COPY__, 49 COS, 235 COS_REAL, 235 CTD, 323 CTD_***, 323 CTU, 327 CTU_***, 327 CTUD, 331 CTUD_***, 331
error, cdigos, 469 EXP, 243 EXP_REAL, 243 EXPT_REAL_***, 245 extraccin, instrucciones EXTRACT, 179 SIZEOF, 183 EXTRACT, 179
F
F_TRIG, 189 FE, 191 FIND_EQ_***, 59 FIND_EQP_***, 63 FIND_GT_***, 67 FIND_INT, 303 FIND_LT_***, 71
D
DATE_TO_ARINT, 375 DATE_TO_STRING, 377 DBCD_TO_***, 379 DEC, 237 DEG_TO_RAD, 381 DELETE_INT, 299 DINT_AS_WORD, 383 DINT_TO_***, 385 DINT_TO_DBCD, 389 DINT_TO_STRING, 465 disponibilidad de las instrucciones, 29 DIV, 239 DIV_***_***, 53 DIVMOD, 241 DIVTIME, 167 DT_TO_ARINT, 391 DT_TO_STRING, 393 DWORD_TO_***, 395
G
GE, 151 GRAY_TO_INT, 397 GT, 153
I
INC, 247 INSERT_INT, 305 instrucciones disponibilidad, 29 INT_AS_DINT, 399 INT_TO_***, 401 INT_TO_BCD, 405 INT_TO_DBCD, 407 INT_TO_STRING, 465
L
LE, 155 LEFT_INT, 309 LEN_INT, 311 LENGTH_***, 75 LIMIT, 279 LIMIT_IND, 281
513
E
EQ, 149 EQUAL_***, 57 EQUAL_STR, 301
33002522 05/2010
Index
LN, 249 LN_REAL, 249 LOG, 251 LOG_REAL, 251 lgica - instrucciones AND, 187 AND_***_***, 45 F_TRIG, 189 FE, 191 NOT, 193 NOT_***, 95 OR, 195 OR_***_***, 99 R_TRIG, 197 RE, 199 RESET, 201 ROL, 203 ROL_***, 103 ROR, 205 ROR_***, 105 RS, 207 SET, 209 SHL, 211 SHR, 213 SR, 215 TRIGGER, 217 XOR, 219 XOR_***_***, 117 LT, 157
M
matemticas - instrucciones ABS, 223 ACOS, 225 ACOS_REAL, 225 ADD, 227 ADD_***_***, 41 ADD_***_TIME, 163 ADD_TIME, 229 asignacin a matrices, 87 ASIN, 231 ASIN_REAL, 231 ATAN, 233 ATAN_REAL, 233 COS, 235 COS_REAL, 235 DEC, 237 DIV, 239 DIV_***_***, 53 DIVMOD, 241 DIVTIME, 167 EXP, 243 EXP_REAL, 243 EXPT_REAL_***, 245 INC, 247 LENGTH_***, 75 LIMIT, 279 LIMIT_IND, 281 LN, 249 LN_REAL, 249 LOG, 251 LOG_REAL, 251 MAX, 285 MAX_***, 79 MIN, 287 MIN_***, 81 MOD, 253 MOD_***_***, 83 MOVE, 255 MUL, 257 MUL_***_***, 91 MULTIME, 169 MUX, 289 NEG, 259 SEL, 293
33002522 05/2010
514
Index
SIGN, 261 SIN, 263 SIN_REAL, 263 SQRT_***, 269 SUB, 265 SUB_***_***, 109, 171 SUB_***_TIME, 173 SUB_TIME, 267 SUM_ARINT, 113 TAN, 271 TAN_REAL, 271 matemticas, instrucciones AVE, 275 matriz - instrucciones ADD_***_***, 41 AND_***_***, 45 ARINT_TO_DATE, 345 ARINT_TO_DT, 347 ARINT_TO_TOD, 349 DATE_TO_ARINT, 375 DIV_***_***, 53 DT_TO_ARINT, 391 EQUAL_***, 57 FIND_EQ_***, 59 FIND_EQP_***, 63 FIND_GT_***, 67 FIND_LT_***, 71 LENGTH_***, 75 MAX_***, 79 MIN_***, 81 MOD_***_***, 83 MOVE_***_***, 87, 89 MUL_***_***, 91 NOT_***, 95 OCCUR_***, 97 OR_***_***, 99 ROL_***, 103 ROR_***, 105 SORT_***, 107 SUB_***_***, 109 SUM_***, 113 SWAP_***, 115 TOD_TO_ARINT, 437 XOR_***_***, 117
matriz, instrucciones COPY__, 49 MAX, 285 MAX_***, 79 MID_INT, 313 MIN, 287 MIN_***, 81 MOD, 253 MOD_***_***, 83 MOVE, 255 MOVE_***_***, 87, 89 MUL, 257 MUL_***_***, 91 MULTIME, 169 MUX, 289
N
NE, 159 NEG, 259 NOT, 193 NOT_***, 95
O
OCCUR_***, 97 OR, 195 OR_***_***, 99
P
PID_INT, 129 PWM_INT, 137
R
R_TRIG, 197 RAD_TO_DEG, 409 RE, 199 REAL_AS_WORD, 411 REAL_TO_***, 413 REAL_TO_STRING, 465 REAL_TRUNC_***, 417 REPLACE_INT, 315 RESET, 201
515
33002522 05/2010
Index
RIGHT_INT, 319 ROL, 203 ROL_***, 103 ROR, 205 ROR_***, 105 RS, 207
TOD_TO_ARINT, 437 TOD_TO_STRING, 439 TOF, 335 TON, 337 TP, 339 TRIGGER, 217
S
salidas, procesamiento - instrucciones PWM_INT, 137 SERVO_INT, 141 SEL, 293 SERVO_INT, 141 SET, 209 SHL, 211 SHR, 213 SIGN, 261 SIN, 263 SIN_REAL, 263 SIZEOF, 183 SORT_***, 107 SQRT_***, 269 SR, 215 STRING_TO_***, 429 STRING_TO_ASCII, 421 STRING_TO_ASCII_INV, 425 SUB, 265 SUB_***_***, 109, 171 SUB_***_TIME, 173 SUB_TIME, 267 SUM_***, 113 SWAP_***, 115
U
UDINT_AS_WORD, 441 UDINT_TO_***, 443 UINT_TO_***, 447
W
WORD_AS_BYTE, 451 WORD_AS_DINT, 453 WORD_AS_REAL, 455 WORD_AS_TIME, 457 WORD_AS_UDINT, 459 WORD_TO_***, 463 WORD_TO_BIT, 461
X
XOR, 219 XOR_***_***, 117
T
TAN, 271 TAN_REAL, 271 temporizador - instrucciones TOF, 335 TON, 337 TP, 339 TIME_AS_WORD, 431 TIME_TO_***, 433 TIME_TO_STRING, 435
516
33002522 05/2010