You are on page 1of 516

33002522 05/2010

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

Informacin de seguridad . . . . . . . . . . . . . . . . . . . . . . . . Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 2 Disponibilidad de los bloques en diferentes plataformas de hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Disponibilidad del bloque en varias plataformas de hardware . . . . . . . . .

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

Captulo 4 AND_***_***: Y lgico entre matrices y variables . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45
45

Captulo 5 COPY__: Copia en matrices . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49
49

Captulo 6 DIV_***_***: Divisin de matrices . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53
53

Captulo 7 EQUAL_***: Comparacin de dos matrices . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57
57

Captulo 8 FIND_EQ_***: Primer elemento de una matriz igual a un valor determinado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 12 LENGTH_***: Longitud de una matriz . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75
75

Captulo 13 MAX_***: Valor mximo de los elementos de la matriz .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79
79

Captulo 14 MIN_***: Valor mnimo de los elementos de la matriz . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81
81

Captulo 15 MOD_***_***: Resto de la divisin de matrices . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83
83

Captulo 16 MOVE_***_***: Asignacin a matrices . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87
87

Captulo 17 MOVE_***_***: Conversin de matrices . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89
89

Captulo 18 MUL_***_***: Multiplicacin de matrices . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91
91

Captulo 19 NOT_***: Negacin lgica de matrices . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95
95

Captulo 20 OCCUR_***: Aparicin de un valor en una matriz . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97
97

Captulo 21 OR_***_***: O lgico entre matrices y variables . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99
99

Captulo 22 ROL_***: Desplazamiento hacia la izquierda. . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

103
103

Captulo 23 ROR_***: Desplazamiento hacia la derecha . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105
105

Captulo 24 SORT_***: Orden ascendente o descendente . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

107
107

Captulo 25 SUB_***_***: Resta de matrices . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109
109

Captulo 26 SUM_***: Suma de los elementos de la matriz . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

113
113

Captulo 27 SWAP_***: Permutacin de los bytes de una matriz . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

115
115

Captulo 28 XOR_***_***: O exclusivo entre matrices. . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

117
117

33002522 05/2010

Parte III CLC_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Captulo 29 Introduccin a las funciones de regulacin de enteros
Presentacin general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Principio del bucle de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metodologa de desarrollo de una aplicacin de control de proceso . . . . Programacin de una funcin de regulacin. . . . . . . . . . . . . . . . . . . . . . . Comportamiento de las funciones en los modos de funcionamiento . . . .

121
123
124 125 126 127 128

Captulo 30 PID_INT: Controlador PID . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin de la funcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descripcin de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

129
130 134

Captulo 31 PWM_INT: Modulacin del ancho de pulsos de un valor numrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

137
137

Captulo 32 SERVO_INT: Funcin de variador. . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141
141

Parte IV Comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 33 EQ: Igual a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

147
149
149

Captulo 34 GE: Mayor o igual a . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

151
151

Captulo 35 GT: Mayor que. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

153
153

Captulo 36 LE: Inferior o igual a . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

155
155

Captulo 37 LT: Menor que . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157
157

Captulo 38 NE: Distinto a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

159
159

Parte V Fecha y hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Captulo 39 ADD_***_TIME: Adicin de una duracin a una fecha .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

161
163
163

Captulo 40 DIVTIME: Divisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

167
167

Captulo 41 MULTIME: Multiplicacin . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

169
169

Captulo 42 SUB_***_***: Calcula la diferencia de tiempo entre dos fechas u horas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

171
171

Captulo 43 SUB_***_TIME: Resta de una duracin de una fecha . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

173
173

33002522 05/2010

Parte VI $/$Extract (Extraccin) . . . . . . . . . . . . . . . . . . . . . . .


Captulo 44 EXTRACT: Copia de parte de una variable en otra variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

177
179
179

Captulo 45 SIZEOF: Tamao de una variable en bytes . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

183
183

Parte VII Lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Captulo 46 AND: Funcin AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

185
187
187

Captulo 47 F_TRIG: Deteccin de flanco descendente . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

189
189

Captulo 48 FE: Deteccin de flanco descendente . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

191
191

Captulo 49 NOT: Negacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

193
193

Captulo 50 OR: Funcin O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

195
195

Captulo 51 R_TRIG: Deteccin de flanco ascendente. . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

197
197

Captulo 52 RE: Deteccin de flanco ascendente . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

199
199

Captulo 53 RESET: Ajuste del bit a 0 . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

201
201

Captulo 54 ROL: Rotacin a la izquierda . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

203
203

Captulo 55 ROR: Rotacin a la derecha . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

205
205

Captulo 56 RS: Bloque de funciones biestables, restablecer dominante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

207
207

Captulo 57 SET: Ajuste del bit a 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

209
209

Captulo 58 SHL: Desplazamiento a la izquierda . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

211
211

Captulo 59 SHR: Desplazamiento a la derecha . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

213
213

Captulo 60 SR: Bloque de funciones biestables, establecer dominante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

215
215

Captulo 61 TRIGGER: Deteccin de todos los flancos . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6

217
217

33002522 05/2010

Captulo 62 XOR: Funcin O exclusivo. . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

219
219

Parte VIII Matemtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Captulo 63 ABS: Clculo de valores absolutos . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

221
223
223

Captulo 64 ACOS: Arco coseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

225
225

Captulo 65 ADD: Adicin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

227
227

Captulo 66 ADD_TIME: Adicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

229
229

Captulo 67 ASIN: Arco seno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

231
231

Captulo 68 ATAN: Arco tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

233
233

Captulo 69 COS: Coseno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

235
235

Captulo 70 DEC: Reduccin de una variable . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

237
237

Captulo 71 DIV: Divisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

239
239

Captulo 72 DIVMOD: Divisin y mdulo . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

241
241

Captulo 73 EXP: Exponente natural . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

243
243

Captulo 74 EXPT_REAL_***: Exponenciacin de un valor por otro valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

245
245

Captulo 75 INC: Incremento de una variable. . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

247
247

Captulo 76 LN: Logaritmo natural . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

249
249

Captulo 77 LOG: Logaritmo en base 10. . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

251
251

Captulo 78 MOD: Mdulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

253
253

Captulo 79 MOVE: Asignacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

255
255

Captulo 80 MUL: Multiplicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

257
257

33002522 05/2010

Captulo 81 NEG: Negacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

259
259

Captulo 82 SIGN: Evaluacin de signos . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

261
261

Captulo 83 SIN: Seno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

263
263

Captulo 84 SUB: Sustraccin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

265
265

Captulo 85 SUB_TIME: Sustraccin . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

267
267

Captulo 86 SQRT_***: Raz cuadrada . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

269
269

Captulo 87 TAN: Tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

271
271

Parte IX Estadstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 88 AVE: Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

273
275
275

Captulo 89 LIMIT: Lmite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

279
279

Captulo 90 LIMIT_IND: Indicador de lmite de ancho. . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

281
281

Captulo 91 MAX: Funcin de valor mximo . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

285
285

Captulo 92 MIN: Funcin de valor mnimo . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

287
287

Captulo 93 MUX: Multiplexador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

289
289

Captulo 94 SEL: Seleccin binaria . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

293
293

Parte X Cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . .


Captulo 95 CONCAT_STR: Concatenacin de dos cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

295
297
297

Captulo 96 DELETE_INT: Eliminacin de una subcadena de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

299
299

Captulo 97 EQUAL_STR: Comparacin de dos cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

301
301

Captulo 98 FIND_INT: Bsqueda de una subcadena de caracteres.


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8

303
303

33002522 05/2010

Captulo 99 INSERT_INT: Insercin de una subcadena de caracteres


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

305
305

Captulo 100 LEFT_INT: Extraccin de caracteres a la izquierda . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

309
309

Captulo 101 LEN_INT: Longitud de una cadena de caracteres . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

311
311

Captulo 102 MID_INT: Extraccin de una subcadena de caracteres


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

313
313

Captulo 103 REPLACE_INT: Sustitucin de una subcadena de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

315
315

Captulo 104 RIGHT_INT: Extraccin de una cadena de caracteres a la derecha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

319
319

Parte XI Temporizadores y contadores . . . . . . . . . . . . . . . . .


Captulo 105 CTD, CTD_***: Contador regresivo . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

321
323
323

Captulo 106 CTU, CTU_***: Contador progresivo . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

327
327

Captulo 107 CTUD, CTUD_***: Contador progresivo/regresivo. . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

331
331

Captulo 108 TOF: Retardo Des . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

335
335

Captulo 109 TON: Retardo Con . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

337
337

Captulo 110 TP: Pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

339
339

Parte XII Conversin de tipos. . . . . . . . . . . . . . . . . . . . . . . . . .


Captulo 111 ARINT_TO_DATE: Conversin de matriz de enteros con fecha en una variable DATE . . . . . . . . . . . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 114 ASCII_TO_STRING: Conversin de tipos. . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

351
351

Captulo 115 ASCII_TO_STRING_INV: Conversin de tipos. . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002522 05/2010

355
355
9

Captulo 116 BCD_TO_INT: Conversin de un entero BCD en binario puro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

359
359

Captulo 117 BIT_TO_BYTE: Conversin de tipos . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

361
361

Captulo 118 BIT_TO_WORD: Conversin de tipos . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

363
363

Captulo 119 BOOL_TO_***: Conversin de tipos. . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

365
365

Captulo 120 BYTE_AS_WORD: Conversin de tipos . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

367
367

Captulo 121 BYTE_TO_BIT: Conversin de tipos . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

369
369

Captulo 122 BYTE_TO_***: Conversin de tipos . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

371
371

Captulo 123 DATE_TO_ARINT: Conversin de variable DATE en matriz de enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

375
375

Captulo 124 DATE_TO_STRING: Conversin de una variable en formato DATE a una cadena de caracteres. . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

377
377

Captulo 125 DBCD_TO_***: Conversin de un entero BCD doble en binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

379
379

Captulo 126 DEG_TO_RAD: Conversin de grados a radianes . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

381
381

Captulo 127 DINT_AS_WORD: Conversin de tipos . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

383
383

Captulo 128 DINT_TO_***: Conversin de tipos. . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 130 DT_TO_ARINT: Conversin de variable DT en matriz de enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 132 DWORD_TO_***: Conversin de tipos . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 135 INT_TO_***: Conversin de tipos . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 138 RAD_TO_DEG: Conversin de radianes a grados . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

409
409

Captulo 139 REAL_AS_WORD: Conversin de tipos. . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

411
411

Captulo 140 REAL_TO_***: Conversin de tipos . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

413
413

Captulo 141 REAL_TRUNC_***: Conversin de tipos . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

417
417

Captulo 142 STRING_TO_ASCII: Conversin de tipos. . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

421
421

Captulo 143 STRING_TO_ASCII_INV: Conversin de tipos. . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

425
425

Captulo 144 STRING_TO_***: Conversin de una cadena de caracteres a un nmero de tipo INT, DINT o REAL . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

429
429

Captulo 145 TIME_AS_WORD: Conversin de tipos . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

431
431

Captulo 146 TIME_TO_***: Conversin de tipos . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 148 TOD_TO_ARINT: Conversin de variable TOD en matriz de enteros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

437
437

Captulo 149 TOD_TO_STRING: Conversin de una variable en formato TOD a una cadena de caracteres . . . . . . . . . . . .
Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

439
439

Captulo 150 UDINT_AS_WORD: Conversin de tipos. . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

441
441

Captulo 151 UDINT_TO_***: Conversin de tipos . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

443
443

Captulo 152 UINT_TO_***: Conversin de tipos. . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

447
447

Captulo 153 WORD_AS_BYTE: Conversin de tipos . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

451
451

Captulo 154 WORD_AS_DINT: Conversin de tipos . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

453
453

Captulo 155 WORD_AS_REAL: Conversin de tipos . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

455
455

Captulo 156 WORD_AS_TIME: Conversin de tipos . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

457
457

Captulo 157 WORD_AS_UDINT: Conversin de tipos. . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

459
459

Captulo 158 WORD_TO_BIT: Conversin de tipos . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

461
461

Captulo 159 WORD_TO_***: Conversin de tipos . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

463
463

Captulo 160 ***_TO_STRING: Conversin de una variable a una cadena de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Apndice B Objetos de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


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 . . . . . . . . . .

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

Acerca de este libro

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 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

Tipos de bloques y utilizacin 33002522 05/2010

Tipos de bloques y utilizacin

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 y utilizacin

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

Tipos de bloques y utilizacin

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

Tipos de bloques y utilizacin

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

Tipos de bloques y utilizacin

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

Tipos de bloques y utilizacin

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

Tipos de bloques y utilizacin

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

Tipos de bloques y utilizacin


z

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

Tipos de bloques y utilizacin

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

Tipos de bloques y utilizacin

28

33002522 05/2010

Disponibilidad del bloque 33002522 05/2010

Disponibilidad de los bloques en diferentes plataformas de hardware

Disponibilidad del bloque en varias plataformas de hardware


Introduccin No todos los bloques estn disponibles para todas las plataformas de hardware. Los bloques disponibles para su plataforma de hardware se encuentran en las tablas siguientes. Matrices Disponibilidad de los bloques:
Nombre del bloque ADD_***_*** AND_***_*** COPY_***_*** DIV_***_*** EQUAL_*** FIND_EQ_*** FIND_EQP_*** FIND_GT_*** FIND_LT_*** LENGHT_*** MAX_*** MIN_*** MOD_***_*** MOVE_***_*** (asignacin directa) MOVE_***_*** (conversin)
33002522 05/2010

Tipo de bloque EF EF EF EF EF EF EF EF EF EF EF EF EF Procedimiento Procedimiento

Definido en la M340 IEC 61131-3 + + + + + + + + + + + + + + +

Premium + + + + + + + + + + + + + + +

Quantum + + + + + + + + + + + + + + +

29

Disponibilidad del bloque

Nombre del bloque MUL_***_*** NOT_*** OCCUR_*** OR_***_*** ROL_*** ROR_*** SORT_*** SUB_***_*** SUM_*** SWAP_*** XOR_***_*** Leyenda: + -

Tipo de bloque EF EF EF EF Procedimiento Procedimiento Procedimiento EF EF Procedimiento EF

Definido en la M340 IEC 61131-3 + + + + + + + + + + +

Premium + + + + + + + + + + +

Quantum + + + + + + + + + + +

S No

CLC_INT Disponibilidad de los bloques:


Nombre del bloque PID_INT PWM_INT SERVO_INT Leyenda: + S No Tipo de bloque Procedimiento Procedimiento Procedimiento Definido en la M340 IEC 61131-3 + + + Premium + + + Quantum + + +

30

33002522 05/2010

Disponibilidad del bloque

Comparacin Disponibilidad de los bloques:


Nombre del bloque EQ GE GT LE LT NE Leyenda: + S No Tipo de bloque EF EF EF EF EF EF Definido en la IEC 61131-3 + + + + + + M340 + + + + + + Premium + + + + + + Quantum + + + + + +

Fecha y hora Disponibilidad de los bloques:


Nombre del bloque ADD_***_TIME DIVTIME MULTIME SUB_***_*** SUB_***_TIME Leyenda: + S No Tipo de bloque EF EF EF EF EF Definido en la IEC 61131-3 + + + + + M340 + + + + + Premium + + + + + Quantum + + + + +

33002522 05/2010

31

Disponibilidad del bloque

Lgica Disponibilidad de los bloques:


Nombre del bloque AND F_TRIG FE NOT OR R_TRIG RE RESET ROL ROR RS SET SHL SHR SR TRIGGER XOR Leyenda: + S No Tipo de bloque EF EFB EF EF EF EFB EF Procedimie nto EF EF EFB Procedimie nto EF EF EFB EFB EF Definido en la M340 IEC 61131-3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Premium + + + + + + + + + + + + + + + + + Quantum + + + + + + + + + + + + + + + + +

Matemticas Disponibilidad de los bloques:


Nombre del bloque Tipo de bloque Definido en la IEC 61131-3 ABS ACOS ADD ADD_TIME 32 EF EF EF EF + + + + M340 + + + + Premium + + + + Quantum + + + +
33002522 05/2010

Disponibilidad del bloque

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 + + + + + + + + + + + + + + + + + +

SUB SUB_TIME TAN Leyenda: + -

EF EF EF

+ + +

+ + +

+ + +

S No

33002522 05/2010

33

Disponibilidad del bloque

Estadstica Disponibilidad de los bloques:


Nombre del bloque AVE LIMIT LIMIT_IND MAX MIN MUX SEL Leyenda: + S No Tipo de bloque EF EF Definido en la IEC 61131-3 + M340 + + + + + + + Premium + + + + + + + Quantum + + + + + + +

Procedimien to EF EF EF EF + + + +

Cadena de caracteres Disponibilidad de los bloques:


Nombre del bloque CONCAT_STR DELETE_INT EQUAL_STR FIND_INT INSERT_INT LEFT_INT LEN_INT MID_INT REPLACE_INT RIGHT_INT Leyenda: + S No Tipo de bloque EF EF EF EF EF EF EF EF EF EF Definido en la IEC 61131-3 + + + + + + + + + M340 + + + + + + + + + + Premium + + + + + + + + + + Quantum + + + + + + + + + +

34

33002522 05/2010

Disponibilidad del bloque

Temporizadores y contadores Disponibilidad de los bloques:


Nombre del bloque CTD CTD_*** CTU CTU_*** CTUD CTUD_*** TOF TON TP Leyenda: + S No Tipo de bloque EFB EFB EFB EFB EFB EFB EFB EFB EFB Definido en la IEC 61131-3 + + + + + + M340 + + + + + + + + + Premium + + + + + + + + + Quantum + + + + + + + + +

Tipo a tipo Disponibilidad de los bloques:


Nombre del bloque ARINT_TO_DATE ARINT_TO_DT ARINT_TO_TOD ASCII_TO_STRING BCD_TO_INT BIT_TO_BYTE BIT_TO_WORD BOOL_TO_*** BYTE_AS_WORD BYTE_TO_BIT BYTE_TO_*** DATE_TO_ARINT Tipo de bloque EF EF EF EF Definido en la M340 IEC 61131-3 + + + + + + + + + + + + + + + Premium + + + + + + + + + + + + + Quantum + + + + + + + + + + + + +

ASCII_TO_STRING_INV EF EF EF EF EF EF

Procedimiento EF EF + +

33002522 05/2010

35

Disponibilidad del bloque

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

Definido en la M340 IEC 61131-3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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

Disponibilidad del bloque

Nombre del bloque WORD_AS_REAL WORD_AS_TIME WORD_AS_UDINT WORD_TO_BIT WORD_TO_*** Leyenda: + -

Tipo de bloque EF EF EF

Definido en la M340 IEC 61131-3 + + + + +

Premium + + + + +

Quantum + + + + +

Procedimiento EF +

S No

33002522 05/2010

37

Disponibilidad del bloque

38

33002522 05/2010

Tablas 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

Pgina 95 97 99 103 105 107 109 113 115 117

40

33002522 05/2010

ADD_***_*** 33002522 05/2010

ADD_***_***: Adicin de un nmero a elementos de una matriz o adicin de dos matrices

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)

Representacin en FBD Representacin aplicada a la suma de un entero y una matriz de enteros:

33002522 05/2010

41

ADD_***_***

Representacin en LD Representacin aplicada a la suma de un entero y una matriz de enteros:

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_ IN1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Input_IN1 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos. Input_ IN2 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos.

Input_IN2

INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Segn el tipo de Input_ IN1 e Input_IN2, cada elemento de Array1 es la suma de: z un entero simple o doble y el elemento correspondiente de la matriz, o z los elementos correspondientes de dos matrices.

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

AND_***_*** 33002522 05/2010

AND_***_***: Y lgico entre matrices y variables

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)

Las funciones disponibles en la biblioteca obsoleta son:


z z z z

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_IN1 Tipo ARRAY [n..m] OF EBOOL WORD ARRAY [n..m] OF WORD DWORD ARRAY [n..m] OF DWORD INT ARRAY [n..m] OF INT DINT ARRAY [n..m] OF DINT ARRAY [n..m] OF EBOOL WORD ARRAY [n..m] OF WORD DWORD ARRAY [n..m] OF DWORD INT ARRAY [n..m] OF INT DINT ARRAY [n..m] OF DINT Comentario n y m son los lmites mximo y mnimo.

Input_IN2

n y m son enteros positivos, negativos o nulos.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF EBOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Los elementos de Array1 son el resultado del Y lgico (bit a bit) entre Input_IN1 e Input_IN2, que pueden ser, respectivamente: z una matriz y una variable nica, o z dos matrices.

33002522 05/2010

47

AND_***_***

48

33002522 05/2010

COPY__ 33002522 05/2010

COPY__: Copia en matrices

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__

Descripcin de parmetros La tabla siguiente describe los parmetros de entrada:


Parmetro Array1 Tipo Comentario

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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Result_Array Tipo Comentario

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

DIV_***_*** 33002522 05/2010

DIV_***_***: Divisin de matrices

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_IN1 Tipo INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT Comentario Input_IN1 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos. Input_ IN2 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos.

Input_IN2

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Segn el tipo de Input_IN1 e Input_IN2, cada elemento de Array1 es la divisin de: z un entero simple o doble Input_IN1 entre el elemento correspondiente de la matriz Input_IN2, z los elementos de la matriz Input_IN1 entre enteros simples o dobles Input_IN2, o z los elementos de la matriz Input_IN1 entre los elementos correspondientes de la matriz 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

EQUAL_**** 33002522 05/2010

EQUAL_***: Comparacin de dos matrices

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:

Representacin en LD 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

n y m son enteros positivos, negativos o nulos.

Posicin

Rango del primer elemento desde el que se inicia la bsqueda.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Equal1 Tipo INT Comentario Rango de los primeros elementos distintos. Si las dos primeras matrices son equivalentes, Equal1 = -1.

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

FIND_EQ_*** 33002522 05/2010

FIND_EQ_***: Primer elemento de una matriz igual a un valor determinado

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 LD Representacin aplicada a una matriz de enteros:

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_***

Descripcin de parmetros En la tabla siguiente se describen los parmetros de entrada:


Parmetro Array1 Tipo Comentario

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Row_Value1 Tipo INT Comentario Rango del primer elemento de Array1 igual a Value1. Si ninguno de los elementos de la matriz es igual a Value1, entonces Row_Value1 = -1

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_*** 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 LD Representacin aplicada a una matriz de enteros:

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_***

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. INT Comentario n y m son enteros positivos, negativos o nulos.

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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Row_Value1 Tipo INT Comentario Rango del primer elemento de Array1 igual a Value1. Si ninguno de los elementos de la matriz es igual a Value1, entonces Row_Value1 = -1 Nota: Row_Value1 indica el rango con respecto al inicio de la matriz.

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

FIND_GT_*** 33002522 05/2010

FIND_GT_***: Primer elemento de una matriz mayor que un valor determinado

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 LD Representacin aplicada a una matriz de enteros:

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_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Entrada 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 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.

En la siguiente tabla, se describen los parmetros de salida:


Salida Row_Value1 Tipo INT Comentario Rango del primer elemento de Array1 > Value1. Si ninguno de los elementos de la matriz es mayor que Value1, entonces Row_Value1 = -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

FIND_LT_*** 33002522 05/2010

FIND_LT_***: Primer elemento de una matriz menor que un valor determinado

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 LD Representacin aplicada a una matriz de enteros:

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_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Array1 Tipo Comentario

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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Row_Value1 Tipo INT Comentario Rango del primer elemento de Array1 < Value1. Si ninguno de los elementos de la matriz es menor que Value1, entonces Row_Value1 = -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

73

FIND_LT_***

74

33002522 05/2010

LENGTH_*** 33002522 05/2010

LENGTH_***: Longitud de una matriz

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 LD Representacin aplicada a una matriz de enteros:

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_***

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 ARRAY [n..m] OF INT ARRAY [n..m] OF DINT ARRAY [n..m] OF REAL ARRAY [n..m] OF BOOL ARRAY [n..m] OF BYTE ARRAY [n..m] OF DATE ARRAY [n..m] OF DT ARRAY [n..m] OF STRING ARRAY [n..m] OF TIME ARRAY [n..m] OF TOD ARRAY [n..m] OF UINT ARRAY [n..m] OF UDINT Comentario n y m son enteros positivos, negativos o nulos.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Tipo Comentario Longitud de la matriz (nmero de elementos de la matriz).

Length_Array1 INT

33002522 05/2010

77

LENGTH_***

78

33002522 05/2010

MAX_*** 33002522 05/2010

MAX_***: Valor mximo de los elementos de la matriz

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:

Representacin en LD 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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Max1 Tipo WORD, DWORD, INT , DINT, REAL Comentario Valor mximo contenido en la matriz. Este resultado es del mismo tipo que los elementos de la matriz.

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

MIN_*** 33002522 05/2010

MIN_***: Valor mnimo de los elementos de la matriz

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:

Representacin en LD 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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Min1 Tipo WORD , DWORD, DINT, INT, REAL Comentario Valor mnimo contenido en la matriz. Este resultado es del mismo tipo que los elementos de la matriz.

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

MOD_***_*** 33002522 05/2010

MOD_***_***: Resto de la divisin de matrices

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_ IN1 Tipo INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT Comentario Input_IN1 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos. Input_IN2 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos.

Input_IN2

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Segn el tipo de Input_IN1 e Input_IN2, cada elemento de Array1 es el resto de la divisin de: z un entero simple o doble Input_IN1 entre el elemento correspondiente de la matriz Input_IN2, z los elementos de la matriz Input_IN1 entre un entero simple o doble Input_IN2, o z los elementos de la matriz Input_IN1 entre los elementos correspondientes de la matriz 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

MOVE_***_*** 33002522 05/2010

MOVE_***_***: Asignacin a matrices

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

MOVE_BOOL_AREBOOL MOVE_WORD_ARWORD MOVE_DWORD_ARDWORD MOVE_INT_ARINT MOVE_DINT_ARDINT MOVE_REAL_ARREAL

Representacin en FBD Representacin aplicada a la asignacin de un entero a una matriz de enteros:

Representacin en LD Representacin aplicada a la asignacin de un entero a una matriz de enteros:

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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF EBOOL 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. Array1 es una matriz cuyos elementos tienen todos el valor Val1.

88

33002522 05/2010

MOVE_***_*** 33002522 05/2010

MOVE_***_***: Conversin de matrices

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)

Representacin en FBD Representacin aplicada a la conversin de una matriz EBOOL en un entero:

Representacin en LD Representacin aplicada a la conversin de una matriz EBOOL en un entero:

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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro OUT1 Tipo INT DINT ARRAY [n..m] OF EBOOL Comentario Si IN1 es una matriz EBOOL, entonces OUT1 es un INT o un DINT que contiene los elementos de IN1. Si IN1 no es una matriz, entonces OUT1 es un entero simple o doble, convertido a partir de una matriz booleana.

90

33002522 05/2010

MUL_***_*** 33002522 05/2010

MUL_***_***: Multiplicacin de matrices

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_IN1 Tipo INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT Comentario Input_IN1 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos. Input_IN2 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos.

Input_IN2

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Segn el tipo de Input_IN1 e Input_IN2, cada elemento de Array1 es la multiplicacin de: z un entero simple o doble Input_IN1 por el elemento correspondiente de la matriz Input_IN2, z los elementos de la matriz Input_IN1 por enteros simples o dobles Input_IN2, o z los elementos de la matriz Input_IN1 por los elementos correspondientes de la matriz 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

NOT_*** 33002522 05/2010

NOT_***: Negacin lgica de matrices

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 LD Representacin aplicada a una cadena de 16 bits:

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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Result_Array Tipo ARRAY [n..m] OF EBOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD Comentario Los elementos de Result_Array son el resultado de la negacin lgica (bit a bit) en Array1. Es del mismo tipo que los elementos de la matriz Array 1.

96

33002522 05/2010

OCCUR_*** 33002522 05/2010

OCCUR_***: Aparicin de un valor en una matriz

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:

Representacin en LD 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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Tipo Comentario Nmero de apariciones de Value1 en la matriz Array1.

Occur_Number INT

98

33002522 05/2010

OR_***_*** 33002522 05/2010

OR_***_***: O lgico entre matrices y variables

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)

Las funciones disponibles en la biblioteca obsoleta son:


z z z z

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_IN1 Tipo ARRAY [n..m] OF BOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT WORD DWORD INT DINT ARRAY [n..m] OF BOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario n y m son enteros positivos, negativos o nulos.

Input_IN2

n y m son enteros positivos, negativos o nulos.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF BOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Los elementos de Array1 son el resultado del O lgico (bit a bit) entre Input_IN1 e Input_IN2, que pueden ser, respectivamente: z una matriz y una variable nica, o z dos matrices.

33002522 05/2010

101

OR_***_***

102

33002522 05/2010

ROL_*** 33002522 05/2010

ROL_***: Desplazamiento hacia la izquierda

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

ROL_ARWORD ROL_ARDWORD ROL_ARINT ROL_ARDINT ROL_ARREAL

Representacin en FBD Representacin aplicada a una matriz de enteros:

Representacin en LD Representacin aplicada a una matriz de enteros:

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.

En la siguiente tabla, se describen los parmetros de entrada y salida:


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 Los elementos de Array1 se desplazan un nmero de posiciones igual a Positions. El desplazamiento se realiza segn los ndices ascendentes. Ejemplo: Con un registro de desplazamiento de 2, el elemento situado inicialmente en primera posicin se desplaza a la tercera (1+2), el segundo a la cuarta (2+2), ..., el penltimo se desplaza a la primera posicin y el ltimo a la segunda.

104

33002522 05/2010

ROR_*** 33002522 05/2010

ROR_***: Desplazamiento hacia la derecha

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

ROR_ARWORD ROR_ARDWORD ROR_ARINT ROR_ARDINT ROR_ARREAL

Representacin en FBD Representacin aplicada a una matriz de enteros:

Representacin en LD Representacin aplicada a una matriz de enteros:

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.

En la siguiente tabla, se describen los parmetros de entrada y salida:


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 Los elementos de Array1 se desplazan un nmero de posiciones igual a Positions. El desplazamiento se realiza segn los indicadores descendentes. Ejemplo: Con un registro de desplazamiento de 2, el elemento situado inicialmente en primera posicin se desplaza a la penltima posicin, el segundo a la ltima, el tercero a la primera (3-2), el cuarto a la segunda (4-2), etc.

106

33002522 05/2010

SORT_*** 33002522 05/2010

SORT_***: Orden ascendente o descendente

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:

Representacin en LD 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

En la siguiente tabla, se describen los parmetros de entrada y salida:


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 Matriz ordenada en la forma especificada en Direction; n y m son enteros positivos, negativos o nulos.

108

33002522 05/2010

SUB_***_*** 33002522 05/2010

SUB_***_***: Resta de matrices

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_IN1 Tipo INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT INT, DINT, ARRAY [n..m] OF INT, ARRAY [n..m] OF DINT Comentario Input_IN1 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos. Input_ IN2 puede ser un entero simple o doble, o bien una matriz de enteros simples o dobles; n y m son enteros positivos, negativos o nulos.

Input_IN2

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Segn el tipo de Input_IN1 e Input_IN2, cada elemento de Array1 es la resta de: z un entero simple o doble Input_IN1 y el elemento correspondiente de la matriz Input_IN2, z los elementos de la matriz Input_IN1 y un entero simple o doble Input_IN2, o z los elementos de la matriz Input_IN1 y los elementos correspondientes de la matriz 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

SUM_*** 33002522 05/2010

SUM_***: Suma de los elementos de la matriz

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 ...

Representacin en FBD Representacin aplicada a una matriz de enteros:

33002522 05/2010

113

SUM_***

Representacin en LD Representacin aplicada a una matriz de enteros:

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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Sum1 Tipo INT, DINT, REAL Comentario Suma de elementos de matriz asignados a la entrada. La suma es del mismo tipo que los elementos de la matriz.

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

SWAP_*** 33002522 05/2010

SWAP_***: Permutacin de los bytes de una matriz

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:

Representacin en LD 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

XOR_***_*** 33002522 05/2010

XOR_***_***: O exclusivo entre matrices

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)

Las funciones disponibles en la biblioteca obsoleta son:


z z z z

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_***_***

Descripcin de parmetros En la siguiente tabla, se describen los parmetros de entrada:


Parmetro Input_IN1 Tipo ARRAY [n..m] OF BOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT WORD DWORD INT DINT ARRAY [n..m] OF BOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario n y m son enteros positivos, negativos o nulos.

Input_IN2

n y m son enteros positivos, negativos o nulos.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Array1 Tipo ARRAY [n..m] OF BOOL ARRAY [n..m] OF WORD ARRAY [n..m] OF DWORD ARRAY [n..m] OF INT ARRAY [n..m] OF DINT Comentario Los elementos de Array1 son el resultado del O lgico exclusivo (bit a bit) entre Input_ IN1 e Input_IN2, que pueden ser, respectivamente: z una matriz y una variable nica, z una variable nica y una matriz, o z dos matrices.

33002522 05/2010

119

XOR_***_***

120

33002522 05/2010

CLC_INT 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

Introduccin a los EF de regulacin 33002522 05/2010

Introduccin a las funciones de regulacin de enteros

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

PID_INT PWM_INT SERVO_INT

Contenido de este captulo Este captulo contiene los siguiente apartados:


Apartado Presentacin general Principio del bucle de control Metodologa de desarrollo de una aplicacin de control de proceso Programacin de una funcin de regulacin Comportamiento de las funciones en los modos de funcionamiento Pgina 124 125 126 127 128

33002522 05/2010

123

Introduccin a los EF de regulacin

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

Introduccin a los EF de regulacin

Principio del bucle de control


Presentacin El funcionamiento de un bucle de control comprende tres fases distintas:
z

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

El algoritmo PID elabora la seal de comando a partir de:


z 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

Introduccin a los EF de regulacin

Metodologa de desarrollo de una aplicacin de control de proceso


Esquema de principio El siguiente esquema describe el encadenamiento de las tareas que se van a llevar a cabo durante la creacin y la depuracin de una aplicacin de control de proceso (el orden establecido se proporciona a ttulo informativo).

126

33002522 05/2010

Introduccin a los EF de regulacin

Programacin de una funcin de regulacin


Reglas de programacin Los parmetros de las funciones de regulacin deben estar obligatoriamente definidos. Las funciones utilizan tres tipos de parmetros: z Parmetros de slo lectura, que se tienen en cuenta al comienzo de la ejecucin de la funcin, z parmetros de slo escritura, posicionados tras la ejecucin de la funcin y z parmetros de lectura y de escritura, cuyos contenidos se tienen en cuenta al comienzo de la ejecucin de la funcin y que, a continuacin, se vuelven a actualizar por los resultados de la funcin. NOTA: Las funciones de regulacin deben programarse en una tarea peridica (MAST peridica o FAST). No deben estar condicionadas. Ajuste Los parmetros de entrada de tipo palabra son variables analgicas expresadas en la escala [0, +10000] y se pueden conectar directamente a los captadores de medida a travs de las palabras %IWr.m.c de las entradas analgicas. Los parmetros de salida de tipo bit permiten dirigir los accionadores de tipo TON y se pueden conectar directamente a variables de tipo %Qr.m.c. Del mismo modo, los parmetros de salida de tipo palabra permiten dirigir los accionadores de tipo analgico en la escala [0, +10000] y se pueden asignar directamente a variables de tipo %QWr.m.c. Los parmetros de tipo tablas de enteros ARRAY [0..n] OF INT o %MWi:L reagrupan parmetros de usuarios y los datos necesarios para el funcionamiento interne de la funcin. Si la longitud de una tabla es insuficiente, la funcin no se ejecuta. NOTA: Para conservar los parmetros de ajuste de las funciones de regulacin tras el arranque a fro, es necesario suprimir la opcin de puesta a cero de %MWi (en la pantalla de configuracin del procesador).

33002522 05/2010

127

Introduccin a los EF de regulacin

Comportamiento de las funciones en los modos de funcionamiento


Introduccin Este prrafo describe el comportamiento de las funciones en los diferentes casos de arranque: z Arranque en fro (nueva aplicacin, cambio de tarjeta), z rearranque en caliente (retorno de red, sin cambio de contexto de aplicacin) y z primera ejecucin tras aadir una funcin por modificacin en modo conectado. Arranque en fro Este tipo de arranque interviene para una nueva aplicacin, un cambio de tarjeta En el arranque en fro, el autmata puede arrancar automticamente en RUN (segn la configuracin de la aplicacin). Las funciones de correctores tienen un comportamiento de seguridad: modo manual, salidas a 0. Adems, esto permite pasar el autmata a RUN sin efectuar el ajuste del PID y depurarlo despus mediante el terminal de operador (el ajuste slo se puede llevar a cabo en RUN). Rearranque en caliente Este tipo de rearranque interviene para un retorno de red, sin cambio de contexto de la aplicacin. En un retorno de red tras un corte (independientemente de su duracin) y si el contexto de aplicacin no se ha perdido o modificado, las funciones vuelven a ponerse en marcha en el estado antes del corte. Si el usuario desea otro comportamiento, es de su responsabilidad comprobar el bit de sistema %S1 y asociar el tratamiento deseado (forzado en modo manual). NOTA: El reloj-calendario del autmata permite conocer la duracin del ltimo corte. Agregacin en modo conectado de una nueva llamada Tras la agregacin de una nueva llamada de funcin de regulacin en modo conectado, se efecta una inicializacin igual al caso del rearranque en fro. NOTA: para poder verla como una nueva funcin, sta debe utilizar una nueva tabla de parmetros. Por ello, la eliminacin de una funcin PID_INT, seguida de la agregacin de una funcin PID_INT utilizando la misma tabla de parmetros, no se considera como una agregacin de un nuevo PID. En este caso, el PID se ejecuta en el estado y con los parmetros del PID anterior.

128

33002522 05/2010

PID_INT 33002522 05/2010

PID_INT: Controlador PID

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.

Los parmetros adicionales EN y ENO se pueden configurar.

130

33002522 05/2010

PID_INT

Sinopsis de funcionamiento La ilustracin siguiente representa la sinopsis de funcionamiento de la funcin PID.

Representacin en FBD Representacin:

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

Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:


Parmetro Input_Tag Input_ Unit Input_PV Tipo STRING STRING INT Comentario Nombre del PID utilizado por el terminal. Cadena de ocho caracteres. Unidad de medida utilizada por el terminal. Cadena de seis caracteres. Entrada que representa la medida. Formato de la medida [0..10000].

En la siguiente tabla se describen los parmetros de entrada/salida:


Parmetro In_Out_Auto Tipo EBOOL Comentario Bit de entrada/salida que indica y gestiona los modos de funcionamiento del PID y del terminal: z 0: manual. z 1: automtico. n y m son enteros positivos, negativos o nulos. Tabla de entrada/salida de ajuste del PID. Los 16 primeros valores se describen a-continuacin; los valores restante se utilizan para un tratamiento interno. Tabla de 43 enteros.

In_Out_Para

ARRAY [n..m] OF INT

En la tabla siguiente se describen los parmetros de salida:


Parmetro PID_Out Tipo INT Comentario Salida analgica del PID; si Ti=0, se agrega un offset de 5000 a la salida OUT en modo automtico. Salida con formato [0;+10000].

33002522 05/2010

133

PID_INT

Descripcin de datos derivados


Descripcin de la tabla PARA La tabla siguiente muestra los distintos parmetros de la tabla PARA:
Parmetro SP OUT_MAN KP Rango PARA[0] PARA[1] PARA[2] Funcin Consigna interna en formato 010.000. Valor de la salida manual de PID (entre 0 y 10.000). Ganancia proporcional de PID (x100), con signo sin unidad (10.000<KP<+10.000). El signo Kp determina la direccin de la accin de PID (negativo: directa, positivo: inverso). El tiempo de integracin de PID (entre 0 y 20.000) aparece en 0,1 segundos. El tiempo diferencial de PID (entre 0 y 10.000) aparece en 0,1 segundos. El periodo de muestreo de PID (entre 1 y 32.000) aparece en 0,01 segundos. El periodo de muestreo real ser el mltiplo del periodo de la tarea en la que se presente el PID ms cercano a TS. Lmite superior de la salida de PID en modalidad automtica (entre 0 y 10.000). Lmite inferior de la salida de PID en modalidad automtica (entre 0 y 10.000).

TI TD TS

PARA[3] PARA[4] PARA[5]

OUT_MAX OUT_MIN PV_DEV NO_BUMP

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*

PARA[13] PARA[14] PARA[15] PARA[16]

SP_MMI*

* Valor utilizado por el terminal del operador.

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

El algoritmo con la accin integral (TI <0) implica la siguiente operacin:


Para La salida OUT = KP [ = OUT + OUT t+(TS/10.TI). t+ Con Dt]/100 OUT 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

PWM_INT 33002522 05/2010

PWM_INT: Modulacin del ancho de pulsos de un valor numrico

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:

Representacin en FBD Representacin:

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

Descripcin de los parmetros En la siguiente tabla se describen los parmetros de entrada:


Parmetro Input_INP Tipo INT Comentario Valor analgico para modular la anchura de impulso (formato [0 - 10000])

En la siguiente tabla se describen los parmetros de entrada/salida:


Parmetro In_Out_Para Tipo ARRAY [n..m] OF INT Comentario n y m son enteros positivos, negativos o nulos. Tabla de entrada/salida de ajuste de la funcin. La primera palabra corresponde al parmetro T_MOD. Perodo de modulacin expresado en 1/100e de segundo (entre 0 y 32767). T_MOD debe ser superior o igual al perodo de la tarea actual y debe ajustarse mediante el sistema para convertirse en un mltiplo entero de sta. Los enteros siguientes se emplean en modo interno por la funcin y la aplicacin nunca debe modificarlos. Tabla de 5 enteros.

En la tabla siguiente se describen los parmetros de salida:


Parmetro PW_O _Out Tipo EBOOL Comentario Salida analgica del PID; si Ti=0, se agrega un offset de 5000 a la salida OUT en modo automtico.

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

SERVO_INT 33002522 05/2010

SERVO_INT: Funcin de variador

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

En la siguiente tabla se describen los parmetros de entrada/salida:


Parmetro In_Out_Pid Tipo Comentario

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,

T_MINI es el tiempo mnimo de pulsos expresado en 10-2 s.


z In_Out_PARA[2] , llamado tambin, HYST

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Out_Up Out_Down Tipo EBOOL EBOOL Comentario Seal de salida para el sentido de funcionamientoOut_Up del motor. Seal de salida para el sentido de funcionamientoOut_Down del motor.

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

En ese caso, los parmetros PID, T_MOTOR y T_MINI no se utilizan.

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 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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL Significado Salida

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

GE: Mayor o igual a

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL Significado Salida

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

GT: Mayor que

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL Significado Salida

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

LE: Inferior o igual a

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL Significado Salida

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

LT: Menor que

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL Significado Valor de salida

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL Significado Salida

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 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

ADD_***_TIME 33002522 05/2010

ADD_***_TIME: Adicin de una duracin a una fecha

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:

Representacin en LD 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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Value Tipo DT, TOD Comentario Result_Value es del mismo tipo que Source_Value.

NOTA: la aplicacin debe prever la gestin de los aos bisiestos.

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

00:00:00 para el tipo TOD. 00001-01-01-00:00:00 para el tipo DT.

33002522 05/2010

165

ADD_***_TIME

166

33002522 05/2010

DIVTIME 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 FBD Representacin:

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

Descripcin de los parmetros de salida


Parmetro Cociente Tipo de datos TIME Significado Cociente

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 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)

Descripcin de los parmetros de salida


Parmetro Product Tipo de datos TIME Significado Producto

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

SUB_***_*** 33002522 05/2010

SUB_***_***: Calcula la diferencia de tiempo entre dos fechas u horas

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:

Representacin en LD 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

SUB_***_TIME 33002522 05/2010

SUB_***_TIME: Resta de una duracin de una fecha

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:

Representacin en LD 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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Value Tipo DT, TOD Comentario Result_Value es del mismo tipo que Source_Value.

NOTA: la aplicacin debe prever la gestin de los aos bisiestos.

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

00:00:00 para el tipo TOD. 00001-01-01-00:00:00 para el tipo DT.

33002522 05/2010

175

SUB_***_TIME

176

33002522 05/2010

$/$Extract (Extraccin) 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

EXTRACT 33002522 05/2010

EXTRACT: Copia de parte de una variable en otra variable

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

En la tabla siguiente se describen los parmetros de salida:


Parmetro Array_1_20_of_DD T ERR Tipo ANY Comentario La variable de destino a la que se copia un nmero definido de partes (Copy_Num_Ele) desde la variable de origen (Array_1_10_of_DDT). errores de tiempo de ejecucin Para obtener los valores, consulte la tabla siguiente.

INT

Errores detectados en tiempo de ejecucin Valores de ERR


Valor 0 <0 >0 -1 -2 -3 -4 1 2 Descripcin La accin de copia se ha realizado correctamente. Parmetros no vlidos No se ha realizado la accin de copia. Los parmetros son sospechosos, pero vlidos. La accin de copia se ha realizado. No se ha definido el nmero de partes de origen (SRC_NELEM). El nmero de partes no coincide con el tamao de la variable de origen. El tamao de memoria de la variable de origen no es divisible sin el resto. SRC_POS est fuera de los lmites de la variable de origen. DST_POS est fuera de los lmites de la variable de destino. CPY_NELEM = 0, no se copiar ninguna parte El parmetro es sospechoso, pero vlido. No se pudieron copiar todas las partes a la variable de destino por falta de espacio. Se han abreviado las partes que se copiarn.

182

33002522 05/2010

SIZEOF 33002522 05/2010

SIZEOF: Tamao de una variable en bytes

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

En la siguiente tabla se describe el parmetro de salida


Parmetro Size_Struct Tipo UDINT Comentario nmero de bytes detectado para la variable conectada al pin IN

184

33002522 05/2010

Lgica 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

AND 33002522 05/2010

AND: Funcin AND

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.)

Descripcin del parmetro de salida:


Parmetro Resultado Tipo de datos BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de salida

188

33002522 05/2010

F_TRIG 33002522 05/2010

F_TRIG: Deteccin de flanco descendente

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

Descripcin de los parmetros de salida:


Parmetro Q Tipo de datos BOOL Significado Salida

190

33002522 05/2010

FE 33002522 05/2010

FE: Deteccin de flanco descendente

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.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Start_Pulse Tipo BOOL Comentario Salida o bit interno que representa el flanco descendente.

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 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

Descripcin de los parmetros de salida:


Parmetro NegValue Tipo de datos BOOL, BYTE, WORD, DWORD Significado Secuencia de bits negada

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de salida

196

33002522 05/2010

R_TRIG 33002522 05/2010

R_TRIG: Deteccin de flanco ascendente

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

Descripcin de los parmetros de salida:


Parmetro Q Tipo de datos BOOL Significado Salida

198

33002522 05/2010

RE 33002522 05/2010

RE: Deteccin de flanco ascendente

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.

En la tabla siguiente, se describen los parmetros de salida:


Parmetro Start_Pulse Tipo BOOL Comentario Salida o bit interno que representa el flanco ascendente.

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

RESET 33002522 05/2010

RESET: Ajuste del bit a 0

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

ROL 33002522 05/2010

ROL: Rotacin a la izquierda

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

Nmero de los puntos, alrededor de los cuales se debe rotar

Descripcin de los parmetros de salida:


Parmetro Tipo de datos Significado Muestra de bit rotada

OutputPattern En ROL: BOOL, BYTE, WORD, DWORD En ROL_INT: INT En ROL_DINT: DINT

204

33002522 05/2010

ROR 33002522 05/2010

ROR: Rotacin a la derecha

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

Nmero de los puntos, alrededor de los cuales se debe rotar

Descripcin de los parmetros de salida:


Parmetro OutputPattern Tipo de datos En ROR: BOOL, BYTE, WORD, DWORD En ROR_INT: INT En ROR_DINT: DINT Significado Muestra de bit rotada

206

33002522 05/2010

RS 33002522 05/2010

RS: Bloque de funciones biestables, restablecer dominante

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)

Descripcin de los parmetros de salida:


Parmetro Q1 Tipo de datos BOOL Significado Salida

208

33002522 05/2010

SET 33002522 05/2010

SET: Ajuste del bit a 1

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

SHL 33002522 05/2010

SHL: Desplazamiento a la izquierda

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

Descripcin de los parmetros de salida:


Parmetro ShiftedPattern Tipo de datos En SHL: BOOL, BYTE, WORD, DWORD En SHL_INT: INT En SHL_DINT: DINT Significado Muestra de bit desplazada Ejemplo: con los datos de la tabla anterior el resultado es: ShiftedPattern = 2#0000111100010000

212

33002522 05/2010

SHR 33002522 05/2010

SHR: Desplazamiento a la derecha

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

Descripcin de los parmetros de salida:


Parmetro Tipo de datos Significado Muestra de bit desplazada Ejemplo: con los datos de la tabla anterior el resultado es: ShiftedPattern = 2#0000010000001111

ShiftedPattern BOOL, BYTE, WORD, DWORD

214

33002522 05/2010

SR 33002522 05/2010

SR: Bloque de funciones biestables, establecer dominante

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

Descripcin de los parmetros de salida:


Parmetro Q1 Tipo de datos BOOL Significado Salida

216

33002522 05/2010

TRIGGER 33002522 05/2010

TRIGGER: Deteccin de todos los flancos

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

Descripcin de los parmetros de salida:


Parmetro RISE EDGE FALL Tipo de datos BOOL BOOL BOOL Significado Visualizacin de un flanco ascendente Visualizacin de cualquier flanco Visualizacin de un flanco descendente

218

33002522 05/2010

XOR 33002522 05/2010

XOR: Funcin O exclusivo

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos BOOL, BYTE, WORD, DWORD Significado Secuencia de bits de salida

220

33002522 05/2010

Matemtica 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

Captulo 83 84 85 86 87 SIN: Seno SUB: Sustraccin

Nombre del captulo

Pgina 263 265 267 269 271

SUB_TIME: Sustraccin SQRT_***: Raz cuadrada TAN: Tangente

222

33002522 05/2010

ABS 33002522 05/2010

ABS: Clculo de valores absolutos

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 FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro Result Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Valor de salida

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

ACOS 33002522 05/2010

ACOS: Arco coseno

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro ngulo Tipo REAL Comentario ngulo expresado en radianes, en el que el coseno equivale a Cos_Value. 0 Angle

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 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.)

Descripcin del parmetro de salida:


Parmetro Sum Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Suma

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 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

Descripcin de los parmetros de salida:


Parmetro Sum Tipo de datos TIME Significado Suma

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

ASIN 33002522 05/2010

ASIN: Arco seno

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro ngulo Tipo REAL Comentario ngulo expresado en radianes, en el que el seno equivale a Sin_Value. - /2 Angle + /2

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

ATAN 33002522 05/2010

ATAN: Arco tangente

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro ngulo Tipo REAL Comentario ngulo expresado en radianes, en el que la tangente equivale a Tan_Value. - /2 < Angle < +/2

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 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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Cos_Valor Tipo REAL Comentario Coseno del ngulo expresado en radianes. -1 Cos_Valor 1

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

DEC 33002522 05/2010

DEC: Reduccin de una variable

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:

Representacin en LD 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 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

Como parmetros adicionales se pueden configurar EN y ENO. Frmula

Representacin en FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro Cociente Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Cociente

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

DIVMOD 33002522 05/2010

DIVMOD: Divisin y mdulo

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

Descripcin de los parmetros de salida:


Parmetro Cociente Mdulo Tipo de datos INT, DINT, UINT, UDINT INT, DINT, UINT, UDINT Significado Cociente Mdulo

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

EXP 33002522 05/2010

EXP: Exponente natural

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Exp_Real_Value Tipo REAL Comentario Exponencial natural de Real_Value 0 < Exp_Real_Value < 1.#INF

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

EXPT_REAL_*** 33002522 05/2010

EXPT_REAL_***: Exponenciacin de un valor por otro valor

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:

Representacin en FBD Representacin aplicada a un valor real:

33002522 05/2010

245

EXPT_REAL_***

Representacin en LD Representacin aplicada a un valor 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

INT UINT DINT UDINT REAL

En la siguiente tabla se describen los parmetros de salida:


Parmetro Tipo Comentario Potencia natural de Value1 -1 < Expt_Real_Value < +INF

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

INC 33002522 05/2010

INC: Incremento de una variable

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:

Representacin en LD 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

LN: Logaritmo natural

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Ln_Real_Value Tipo REAL Comentario Logaritmo neperiano de Real_Value -INF < Ln_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

LOG 33002522 05/2010

LOG: Logaritmo en base 10

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Log_Real_Value Tipo REAL Comentario Logaritmo neperiano de Real_Value -1.#INF < Log_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 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

Descripcin de los parmetros de salida:


Parmetro Rest Tipo de datos INT, DINT, UINT, UDINT Significado Mdulo

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 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

Descripcin de los parmetros de salida:


Parmetro Output Tipo de datos ANY Significado Valor de salida

256

33002522 05/2010

MUL 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

Descripcin de los parmetros de salida:


Parmetro Product Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Producto

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 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

Descripcin de los parmetros de salida:


Parmetro NegatedOutput Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Salida denegada

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

SIGN: 33002522 05/2010

SIGN: Evaluacin de signos

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

Representacin en FBD Representacin:

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

Descripcin de los parmetros de salida


Parmetro Negativ Tipo de datos BOOL Significado Evaluacin de 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 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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Sin_Valor Tipo REAL Comentario Seno del ngulo. -1 Sin_Value 1

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 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

Descripcin de los parmetros de salida:


Parmetro Difference Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Diferencia

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 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

Descripcin de los parmetros de salida:


Parmetro Difference Tipo de datos TIME Significado Diferencia

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 entrada

268

33002522 05/2010

SQRT_*** 33002522 05/2010

SQRT_***: Raz cuadrada

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:

Representacin en LD 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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Sqrt_Valor1 Tipo Comentario

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 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 FBD Representacin:

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

En la tabla siguiente se describen los parmetros de salida:


Parmetro Tan_Value Tipo REAL Comentario Tangente de Angle -1.#INF < Tan_Value < +1.#INF

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

Statistik 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 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:

Representacin en FBD Representacin:

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

Descripcin de parmetros Descripcin de los parmetros de entrada:


Parmetro FactorFirstValue FirstValue FactorSecondValue FactorSecondValue : FactorHalfnValue INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL Factor para el valor de (K_X(n-1)) Tipo de datos INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL INT, DINT, UINT, UDINT, REAL Significado Factor (K1) para el primer valor Primer valor (X1) Factor (K2) para el segundo valor Segundo valor (X2)

HalfnValue

Valor

de (K_X(n)

n = 32 mximo

Descripcin de los parmetros de salida:


Parmetro Resultado Tipo de datos INT, DINT, UINT, UDINT, REAL Significado Valor promedio

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 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

Descripcin del parmetro de salida:


Parmetro OUT Tipos de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Salida

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

LIMIT_IND 33002522 05/2010

LIMIT_IND: Indicador de lmite de ancho

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 FBD Representacin:

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

Descripcin de parmetros Descripcin de los parmetros de entrada:


Parmetro LimitMinimum 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 Lmite del valor mnimo

Input

Entrada

LimitMaximum

Lmite del valor mximo

Descripcin de los parmetros de salida:


Parmetro MinimumViolation Output Tipo de datos BOOL BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME BOOL Significado Visualizacin del no llegar al valor mnimo Salida

MaximumViolation

Visualizacin del desbordamiento del valor mximo

33002522 05/2010

283

LIMIT_IND

284

33002522 05/2010

MAX 33002522 05/2010

MAX: Funcin de valor mximo

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.)

Descripcin de los parmetros de salida:


Parmetro Mxima Tipo de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Valor mximo

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

MIN 33002522 05/2010

MIN: Funcin de valor mnimo

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.)

Descripcin de los parmetros de salida:


Parmetro Mnimo Tipo de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Valor mnimo

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 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

Descripcin de los parmetros Descripcin de los parmetros de entrada


Parmetro K IN0 IN1 IN2 INn Tipo de datos INT, DINT, UINT, UDINT ANY ANY ANY ANY Significado Entrada de seleccin K = 0...30 Entrada 1 Entrada 2 Entrada 3 n+Entrada 1, n = max 30

Descripcin de los parmetros de salida


Parmetro OUT Tipo de datos ANY Significado Salida

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

SEL 33002522 05/2010

SEL: Seleccin binaria

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

Descripcin de los parmetros de salida:


Parmetro Output Tipo de datos ANY Significado Salida

294

33002522 05/2010

Cadenas de caracteres 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

CONCAT_STR 33002522 05/2010

CONCAT_STR: Concatenacin de dos cadenas de caracteres

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

En la tabla siguiente se describen los parmetros de salida:


Parmetro Result_String Tipo STRING Comentario Cadena resultante idntica al contenido de las dos cadenas String1 y String2. Ejemplo: para los valores de ejemplo de la tabla anterior, Result_String contiene SWITCH TO 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

DELETE_INT 33002522 05/2010

DELETE_INT: Eliminacin de una subcadena de caracteres

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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Result_String Tipo STRING Comentario Cadena resultante igual al contenido de String1 de la que se han suprimido Length_Str caracteres a partir del rango Position. Ejemplo: para los valores de ejemplo de la tabla anterior, Result_String contiene STOP (se eliminan 10 caracteres desde la posicin 1).

300

33002522 05/2010

EQUAL_STR 33002522 05/2010

EQUAL_STR: Comparacin de dos cadenas de caracteres

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Position Tipo INT Comentario Posicin del primer carcter distinto en las dos cadenas String1 y String2. Cuando las dos cadenas son idnticas, Position = -1. Ejemplo: con los valores de ejemplo indicados en la tabla anterior, Position = 9 Nota: los caracteres en maysculas son diferentes a los caracteres en minsculas.

302

33002522 05/2010

FIND_INT 33002522 05/2010

FIND_INT: Bsqueda de una subcadena de caracteres

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Position Tipo INT Comentario Si String2 est incluida en String1, Position contiene el rango del primer carcter de String2 que se encuentra en String1. Cuando String2 no est incluida en String1, Position = -1. Ejemplo: con los valores de ejemplo indicados en la tabla anterior, Position = 9

304

33002522 05/2010

INSERT_INT 33002522 05/2010

INSERT_INT: Insercin de una subcadena de caracteres

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

En la tabla siguiente se describen los parmetros de salida:


Parmetro Result_String Tipo STRING Comentario La cadena String2 se ha insertado en la cadena String1 despus de la posicin Position para formar Result_String. Ejemplo: para los valores de ejemplo de la tabla anterior, Result_String contiene START AUTO CYCLE. Nota: resulta imposible realizar una insercin al principio de la cadena con esta funcin (es necesario utilizar la funcinCONCAT_STR (vase pgina 297)).

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

LEFT_INT 33002522 05/2010

LEFT_INT: Extraccin de caracteres a la izquierda

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

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Tipo Comentario Cadena que contiene los Length_Str caracteres ubicados en el extremo izquierdo de String1. Ejemplo: para los valores de ejemplo de la tabla anterior, Result_String contiene SWITCH TO (9 caracteres situados en el extremo izquierdo de String1).

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

LEN_INT 33002522 05/2010

LEN_INT: Longitud de una cadena de caracteres

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Length_Str Tipo INT Comentario Length_Str contiene la longitud de la cadena de caracteres String1. Ejemplo: con los valores de ejemplo indicados en la tabla anterior, Length_Str = 12

312

33002522 05/2010

MID_INT 33002522 05/2010

MID_INT: Extraccin de una subcadena de caracteres

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_String Tipo STRING Comentario Subcadena de String1 a partir del rango Position en una longitud de Length_Str. Ejemplo: para los valores de ejemplo de la tabla anterior, Result_String contiene STOP.

314

33002522 05/2010

REPLACE_INT 33002522 05/2010

REPLACE_INT: Sustitucin de una subcadena de caracteres

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

En la tabla siguiente se describen los parmetros de salida:


Parmetro Result_String Tipo STRING Comentario La cadena String2 ha sustituido Length_Str caracteres, comenzando por el rango Position en la cadena String1 para formar Result_String. Ejemplo: para los valores del ejemplo de la tabla anterior, Result_String contiene SWITCH TO STOP.
33002522 05/2010

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

RIGHT_INT 33002522 05/2010

RIGHT_INT: Extraccin de una cadena de caracteres a la derecha

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:

Representacin en IL Representacin: LD String1 RIGHT_INT Length_Str ST Result_String


33002522 05/2010

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_String Tipo STRING Comentario Cadena que contiene los Length_Str caracteres ubicados en el extremo derecho de String1. Ejemplo: para los valores de ejemplo de la tabla anterior, Result_String contiene STOP (4 caracteres situados en el extremo derecho de String1).

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 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

CTD, CTD_*** 33002522 05/2010

CTD, CTD_***: Contador regresivo

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 FBD Representacin:

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_***

Descripcin de parmetros Descripcin de los parmetros de entrada:


Parmetro CD LD PV Tipo de datos BOOL BOOL En CTD: INT En CTD_***: INT, DINT, UINT, UDINT Significado Entrada Trigger Carga de datos Valor preestablecido

Descripcin de los parmetros de salida:


Parmetro Q CV Tipo de datos BOOL En CTD: INT En CTD_***: INT, DINT, UINT, UDINT Significado Salida Valor de cmputo (valor real)

33002522 05/2010

325

CTD, CTD_***

326

33002522 05/2010

CTU, CTU_*** 33002522 05/2010

CTU, CTU_***: Contador progresivo

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 FBD Representacin:

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_***

Descripcin de parmetros Descripcin de los parmetros de entrada:


Parmetro CU R PV Tipo de datos BOOL BOOL En CTU: INT En CTU_***: INT, DINT, UINT, UDINT Significado Entrada Trigger Reset Valor preestablecido

Descripcin de los parmetros de salida:


Parmetro Q CV Tipo de datos BOOL En CTU: INT En CTD_***: INT, DINT, UINT, UDINT Significado Salida Valor de cmputo (valor real)

33002522 05/2010

329

CTU, CTU_***

330

33002522 05/2010

CTUD, CTUD_*** 33002522 05/2010

CTUD, CTUD_***: Contador progresivo/regresivo

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 FBD Representacin:

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_***

Descripcin de parmetros Descripcin de los parmetros de entrada:


Parmetro CU CD R LD PV Tipo de datos BOOL BOOL BOOL BOOL En CTUD: INT, En CTUD_***: INT, DINT, UINT, UDINT Significado Entrada de disparador de contador ascendente Entrada de disparador de contador descendente Reset Carga de datos Valor preestablecido

Descripcin de los parmetros de salida:


Parmetro QU QD CV Tipo de datos BOOL BOOL En CTUD: INT En CTUD_***: INT, DINT, UINT, UDINT Significado Indicador ascendente Indicador descendente Valor de cmputo (valor real)

33002522 05/2010

333

CTUD, CTUD_***

334

33002522 05/2010

TOF 33002522 05/2010

TOF: Retardo Des

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:

Representacin en IL Representacin: CAL TOF_Instance (IN:=StartDelay, PT:=PresetDelayTime, Q=>Output, ET=>InternalTime)

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

Descripcin de los parmetros de salida:


Parmetro Q ET Tipo de datos BOOL TIME Significado Salida Tiempo interno

Diagrama de ciclo Representacin del retardo de desconexin TOF:

(1) (2) (3) (4) (5)

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

TON 33002522 05/2010

TON: Retardo Con

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:

Representacin en IL Representacin: CAL TON_Instance (IN:=StartDelay, PT:=PresetDelayTime, Q=>Output, ET=>InternalTime)

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

Descripcin de los parmetros de salida:


Parmetro Q ET Tipo de datos BOOL TIME Significado Salida Tiempo interno

Diagrama de ciclo Representacin del retardo de conexin TON:

(1) (2) (3) (4)

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:

Representacin en IL Representacin: CAL TP_Instance (IN:=TriggerPulse, PT:=PulseDuration, Q=>Output, ET=>InternalTime)


33002522 05/2010

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

Descripcin de los parmetros de salida:


Parmetro Q ET Tipo de datos BOOL TIME Significado Salida Tiempo interno

Diagrama de ciclo Representacin del impulso TP:

(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 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

Captulo 153 154 155 156 157 158 159 160

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

Pgina 451 453 455 457 459 461 463 465

33002522 05/2010

343

Conversin de tipos

344

33002522 05/2010

ARINT_TO_DATE 33002522 05/2010

ARINT_TO_DATE: Conversin de matriz de enteros con fecha en una variable DATE

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).

Descripcin de los parmetros de salida:


Parmetro DATE_Variable Tipo de datos DATE Significado La fecha asignada a la entrada como variable DATE (d#) (si la entrada es vlida).

Errores de tiempo de ejecucin Si la entrada Date_ARRAY no es vlida, ENO = 0 y OUT no se modifica.

346

33002522 05/2010

ARINT_TO_DT 33002522 05/2010

ARINT_TO_DT: Conversin de matriz de enteros con fecha y hora en una variable DT

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).

Descripcin de los parmetros de salida:


Parmetro DT_Variable Tipo de datos DT Significado La fecha y hora asignadas a la entrada como variable DATE_AND_TIME (dt#) (si la entrada es vlida).

Errores de tiempo de ejecucin Si la entrada DateAndTime_ARRAY no es vlida, ENO = 0 y OUT no se modifica.

348

33002522 05/2010

ARINT_TO_TOD 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).

Descripcin de los parmetros de salida:


Parmetro TOD_Variable Tipo de datos DT Significado La hora del da asignada a la entrada como variable TIME_OF_DAY (tod#) (si la entrada es vlida).

Errores de tiempo de ejecucin Si la entrada Time_ARRAY no es vlida, ENO = 0 y OUT no se modifica.

350

33002522 05/2010

ASCII_TO_STRING 33002522 05/2010

ASCII_TO_STRING: Conversin de tipos

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 FBD Representacin:

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

ARRAY[n..m] OF INT Matriz de enteros con valores ASCII

Descripcin de los parmetros de salida:


Parmetro StringOutput Tipo de datos STRING Descripcin Cadena de caracteres ASCII

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

ASCII_TO_STRING_INV 33002522 05/2010

ASCII_TO_STRING_INV: Conversin de tipos

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 FBD Representacin:

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

ARRAY[n..m] OF INT Matriz de enteros con valores ASCII

Descripcin de los parmetros de salida:


Parmetro StringOutput Tipo de datos STRING Descripcin Cadena de caracteres ASCII

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

BCD_TO_INT 33002522 05/2010

BCD_TO_INT: Conversin de un entero BCD en binario puro

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:

Representacin en IL Representacin: LD BCD_Int BCD_TO_INT ST Result_Int


33002522 05/2010

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Int Tipo INT Comentario Result_Int es un entero codificado en binario. Ejemplo: con el valor de ejemplo de la tabla anterior, Result_Int = 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

BIT_TO_BYTE: 33002522 05/2010

BIT_TO_BYTE: Conversin de tipos

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:

Representacin en FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro OutputByte Tipo de datos BYTE Significado Valor de salida

362

33002522 05/2010

BIT_TO_WORD 33002522 05/2010

BIT_TO_WORD: Conversin de tipos

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:

Representacin en FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro WORD_Output Tipo de datos WORD Significado Valor de salida

364

33002522 05/2010

BOOL_TO_*** 33002522 05/2010

BOOL_TO_***: Conversin de tipos

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 LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida:


Parmetro ConvertedVariable Tipo de datos BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Valor de salida

366

33002522 05/2010

BYTE_AS_WORD 33002522 05/2010

BYTE_AS_WORD: Conversin de tipos

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 FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro WORD_Output Tipo de datos WORD Significado Valor de salida

368

33002522 05/2010

BYTE_TO_BIT 33002522 05/2010

BYTE_TO_BIT: Conversin de tipos

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.

Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro BOOL_variable1 BOOL_variable2 : BOOL_variable8 Tipo de datos BOOL BOOL : BOOL Significado Bit de salida 0 Bit de salida 1 : Bit de salida 7

370

33002522 05/2010

BYTE_TO_*** 33002522 05/2010

BYTE_TO_***: Conversin de tipos

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 FBD Ejemplo de aplicacin con enteros:

Representacin en LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida


Parmetro ConvertedVariable Tipo de datos Significado

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

DATE_TO_ARINT 33002522 05/2010

DATE_TO_ARINT: Conversin de variable DATE en matriz de enteros

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

Representacin en IL LD DATE_Variable DATE_TO_ARINT ST Date_ARRAY


33002522 05/2010

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#).

Descripcin de los parmetros de salida:


Parmetro Date_ARRAY Tipo de datos Significado

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

DATE_TO_STRING 33002522 05/2010

DATE_TO_STRING: Conversin de una variable en formato DATE a una cadena de caracteres

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:

Representacin en IL Representacin: LD Date1 DATE_TO_STRING ST Result_Str

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Str Tipo STRING Comentario Result_Str es una cadena de 10 caracteres que contiene una fecha (sin la hora) de la manera que se muestra a continuacin: YYYY-MM-DD. Ejemplo: 2000-12-27 Nota: si el tamao mximo de la cadena Result_Str es superior a 10, Result_Str se completa con caracteres de fin de cadena (16#00).

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

DBCD_TO_*** 33002522 05/2010

DBCD_TO_***: Conversin de un entero BCD doble en binario

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:

Representacin en LD 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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Value Tipo INT, DINT Comentario Result_Value es un entero o entero doble codificado en binario. Ejemplo: con el valor de ejemplo de la tabla anterior, Result_Value = 32767

Errores de ejecucin El bit %S18 (vase pgina 477) se posiciona en 1 cuando:


z z

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

DEG_TO_RAD 33002522 05/2010

DEG_TO_RAD: Conversin de grados a radianes

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 FBD Representacin:

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Angle_in_Radian Tipo REAL Comentario Valor del ngulo expresado en radianes. - Angle_in_Radian +.

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

DINT_AS_WORD 33002522 05/2010

DINT_AS_WORD: Conversin de tipos

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

Descripcin de los parmetros de salida:


Parmetro LowWord HighWord Tipo de datos WORD WORD Significado Palabra de orden inferior Palabra de orden superior

384

33002522 05/2010

DINT_TO_*** 33002522 05/2010

DINT_TO_***: Conversin de tipos

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 FBD Ejemplo de aplicacin con enteros:

Representacin en LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida


Parmetro ConvertedVariable Tipo de datos Significado

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 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:

Representacin en IL Representacin: LD D_Integer_1 DINT_TO_BCD ST DBCD_Result


33002522 05/2010

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

En la tabla siguiente se describen los parmetros de salida:


Parmetro DBCD_Result Tipo DINT Comentario DBCD_Result es un entero doble codificado BCD. Ejemplo: con el valor de ejemplo de la tabla anterior, DBCD_Result = 16#00888888

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

DT_TO_ARINT 33002522 05/2010

DT_TO_ARINT: Conversin de variable DT en matriz de enteros

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#).

Descripcin de los parmetros de salida:


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).

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

DT_TO_STRING 33002522 05/2010

DT_TO_STRING: Conversin de una variable en formato DT a una cadena de caracteres

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:

Representacin en IL Representacin: LD Date1 DT_TO_STRING ST Result_Str


33002522 05/2010

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Str Tipo STRING Comentario Result_Str es una cadena de 19 caracteres que contiene una fecha (con la hora) en el formato que se muestra a continuacin: YYYY-MM-DD-HH:MM. Ejemplo: 2000-12-27-23:15 Nota: si el tamao mximo de la cadena Result_Str es superior a 19, Result_Str se completa con caracteres de fin de cadena (16#00).

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

DWORD_TO_*** 33002522 05/2010

DWORD_TO_***: Conversin de tipos

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 LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida


Parmetro ConvertedVariable Tipo de datos BOOL, BYTE, WORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Valor de salida

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

BCD_TO_INT 33002522 05/2010

GRAY_TO_INT: Conversin de un entero en cdigo Gray en un entero con codificacin binaria

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Int Tipo INT Comentario Result_Int es un entero codificado en binario.

398

33002522 05/2010

INT_AS_DINT 33002522 05/2010

INT_AS_DINT: Concatenacin de dos enteros para formar un entero doble

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Double_Word Tipo DINT Comentario Entero doble compuesto por dos enteros Low_Word para el byte menos significativo y High_Word para el byte ms significativo. Ejemplo: para los valores de ejemplo de la tabla anterior, Double_Word contiene 16#12345678.

400

33002522 05/2010

INT_TO_*** 33002522 05/2010

INT_TO_***: Conversin de tipos

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 FBD Ejemplo de aplicacin con enteros dobles:

Representacin en LD Ejemplo de aplicacin con enteros dobles:

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

Descripcin de los parmetros de salida


Parmetro Tipo de datos Significado Valor de salida

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 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

En la tabla siguiente se describen los parmetros de salida:


Parmetro BCD_Result Tipo INT Comentario BCD_Result es un entero codificado BCD. Ejemplo: con el valor de ejemplo de la tabla anterior, BCD_Result = 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 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 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

En la tabla siguiente se describen los parmetros de salida:


Parmetro DBCD_Result Tipo DINT Comentario DBCD_Result es un entero doble codificado BCD. Ejemplo: con el valor de ejemplo de la tabla anterior, DBCD_Result = 16#0030000

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

RAD_TO_DEG 33002522 05/2010

RAD_TO_DEG: Conversin de radianes a grados

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 FBD Representacin:

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

En la siguiente tabla se describen los parmetros de salida:


Parmetro Angle_in_Degree Tipo REAL Comentario ngulo expresado en grados. -360 < Angle_in_Degree < +360

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

REAL_AS_WORD 33002522 05/2010

REAL_AS_WORD: Conversin de tipos

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

Descripcin de los parmetros de salida


Parmetro LowWord HighWord Tipo de datos WORD WORD Significado palabra de menor valor palabra de mayor valor

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

REAL_TO_*** 33002522 05/2010

REAL_TO_***: Conversin de tipos

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:

Representacin en LD Ejemplo de aplicacin con enteros:

Representacin en IL Ejemplo de aplicacin con enteros: LD REAL_variable REAL_TO_INT ST ConvertedVariable

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

Descripcin de los parmetros de salida


Parmetro ConvertedVariable Tipo de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, UDINT, TIME Significado Valor de salida

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

REAL_TRUNC_*** 33002522 05/2010

REAL_TRUNC_***: Conversin de tipos

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 FBD Ejemplo de aplicacin con enteros:

Representacin en LD Ejemplo de aplicacin con enteros:

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_***

Descripcin de parmetros Descripcin de los parmetros de entrada:


Parmetro REAL_variable Tipo de datos REAL Significado Valor de entrada

Descripcin de los parmetros de salida:


Parmetro ConvertedVariable Tipo de datos INT, DINT, UINT, UDINT Significado Valor de salida

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

STRING_TO_ASCII 33002522 05/2010

STRING_TO_ASCII: Conversin de tipos

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 FBD Representacin:

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

ARRAY[n..m] OF INT Cadena de caracteres ASCII STRING

Descripcin de los parmetros de salida:


Parmetro AsciiValueArray Tipo de datos Descripcin

ARRAY[n..m] OF INT Matriz de enteros con valores ASCII

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

STRING_TO_ASCII_INV 33002522 05/2010

STRING_TO_ASCII_INV: Conversin de tipos

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 FBD Representacin:

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

ARRAY[n..m] OF INT Cadena de caracteres ASCII STRING

Descripcin de los parmetros de salida:


Parmetro AsciiValueArray Tipo de datos Descripcin

ARRAY[n..m] OF INT Matriz de enteros con valores ASCII

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_*** 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:

Representacin en LD 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

En la tabla siguiente se describen los parmetros de salida:


Parmetro Result_Value Tipo INT, DINT, REAL Comentario Result_Value es un entero, doble o uno real, dependiendo de la funcin utilizada. Este resultado es la conversin de la cadena de caracteres String_1 segn las recomendaciones de la norma IEC 1131. Ejemplo: con el valor de ejemplo de la tabla anterior, Result_Value = -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

TIME_AS_WORD 33002522 05/2010

TIME_AS_WORD: Conversin de tipos

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

Descripcin de los parmetros de salida


Parmetro LowWord HighWord Tipo de datos WORD WORD Significado palabra de menor valor palabra de mayor valor

432

33002522 05/2010

TIME_TO_*** 33002522 05/2010

TIME_TO_***: Conversin de tipos

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 LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida:


Parmetro ConvertedVariable Tipo de datos Significado

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

se produce un desbordamiento del margen de valores en la salida durante la ejecucin de la funcin.

434

33002522 05/2010

TIME_TO_STRING 33002522 05/2010

TIME_TO_STRING: Conversin de una variable en formato TIME a una cadena de caracteres

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:

Representacin en IL Representacin: LD Time1 TIME_TO_STRING ST Result_Str

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Str Tipo STRING Comentario Result_Str es una cadena de 15 caracteres que contiene una duracin que se presenta de la siguiente manera: HHHHHH:MM:SS.D. Ejemplo: 119304:38:49.5 Nota: si el tamao mximo de la cadena Result_Str es superior a 15, Result_Str se completa con caracteres de fin de cadena (16#00).

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

TOD_TO_ARINT 33002522 05/2010

TOD_TO_ARINT: Conversin de variable TOD en matriz de enteros

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

Representacin en IL LD TOD_Variable TOD_TO_ARINT ST Time_ARRAY


33002522 05/2010

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#).

Descripcin de los parmetros de salida:


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).

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

TOD_TO_STRING 33002522 05/2010

TOD_TO_STRING: Conversin de una variable en formato TOD a una cadena de caracteres

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:

Representacin en IL Representacin: LD Time1 TOD_TO_STRING ST Result_Str

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.

En la siguiente tabla se describen los parmetros de salida:


Parmetro Result_Str Tipo STRING Comentario Result_Str es una cadena de 8 caracteres que contiene una hora del da que se presenta de la siguiente manera: HH:MM:SS. Ejemplo: 04:38:49 Nota: si el tamao mximo de la cadena Result_Str es superior a 8, Result_Str se completa con caracteres de fin de cadena (16#00).

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

UDINT_AS_WORD 33002522 05/2010

UDINT_AS_WORD: Conversin de tipos

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

Descripcin de los parmetros de salida


Parmetro LowWord HighWord Tipo de datos WORD WORD Significado palabra de menor valor palabra de mayor valor

442

33002522 05/2010

UDINT_TO_*** 33002522 05/2010

UDINT_TO_***: Conversin de tipos

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 LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida


Parmetro ConvertedVariable Tipo de datos BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, REAL, TIME Significado Valor de salida

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

UINT_TO_*** 33002522 05/2010

UINT_TO_***: Conversin de tipos

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 FBD Ejemplo de aplicacin con enteros:

Representacin en LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida


Parmetro Tipo de datos Significado Valor de salida

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

WORD_AS_BYTE 33002522 05/2010

WORD_AS_BYTE: Conversin de tipos

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

Descripcin de los parmetros de salida:


Parmetro LowByte HighByte Tipo de datos BYTE BYTE Significado Byte de orden inferior Byte de orden superior

452

33002522 05/2010

WORD_AS_DINT 33002522 05/2010

WORD_AS_DINT: Conversin de tipos

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 FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro DINT_variable Tipo de datos DINT Significado Valor de salida

454

33002522 05/2010

WORD_AS_REAL 33002522 05/2010

WORD_AS_REAL: Conversin de tipos

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 FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro REAL_Output Tipos de datos REAL Significado Valor de salida

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

WORD_AS_TIME 33002522 05/2010

WORD_AS_TIME: Conversin de tipos

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 FBD Representacin:

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

Descripcin de los parmetros de salida


Parmetro TIME_Output Tipo de datos TIME Significado Valor de salida

458

33002522 05/2010

WORD_AS_UDINT 33002522 05/2010

WORD_AS_UDINT: Conversin de tipos

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 FBD Representacin:

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

Descripcin de los parmetros de salida


Parmetro UDINT_Output Tipo de datos UDINT Significado Valor de salida

460

33002522 05/2010

WORD_TO_BIT 33002522 05/2010

WORD_TO_BIT: Conversin de tipos

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.

Como parmetros adicionales se pueden configurar EN y ENO. Representacin en FBD Representacin:

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

Descripcin de los parmetros de salida:


Parmetro BOOL_variable1 : BOOL_variable16 Tipo de datos BOOL : BOOL Significado Salida BIT0 : Salida BIT15

462

33002522 05/2010

WORD_TO_*** 33002522 05/2010

WORD_TO_***: Conversin de tipos

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 LD Ejemplo de aplicacin con enteros:

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

Descripcin de los parmetros de salida


Parmetro ConvertedVariable Tipo de datos BOOL, BYTE, DWORD, INT, DINT, UINT, UDINT, REAL, TIME Significado Valor de salida

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

***_TO_STRING 33002522 05/2010

***_TO_STRING: Conversin de una variable a una cadena de caracteres

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:

Representacin en LD 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

INT , Variable por convertir en formato de cadena de DINT, REAL caracteres.

En la siguiente tabla, se describen los parmetros de salida:


Parmetro Result_Str Tipo STRING Comentario Result_Str es una cadena de caracteres cuya longitud depende del tipo de Value1: z 5 cifras ms el signo, que forman 6 caracteres para un INT (por ejemplo: -00045), z 10 cifras ms el signo, que forman 11 caracteres para un DINT (por ejemplo: -0000678911), Nota: En PL7, el resultado son 11 cifras ms el signo, que forman 12 caracteres para un DINT (por ejemplo: -00006789110). z 14 caracteres para un REAL (por ejemplo: -3.1234560e+25).

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

Cdigos y valores de error de EFB 33002522 05/2010

Cdigos y valores de error de EFB

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

Cdigos y valores de error de EFB

Tabla de cdigos de error de la librera base


Introduccin En las siguientes tablas se muestran los cdigos y valores de error creados para los EFB de la librera base. Fecha y hora Tabla de cdigos y valores de error creados para los EFB de la familia Fecha y hora.
Nombre de Cdigo de error EFB DIVTIME DIVTIME E_DIVIDE_BY_ZERO Estado de ENO en caso de error F Valor de error en Dec -30.176 -30.177 Valor de error en Hex 16#8A20 16#8A1F Descripcin del error

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.

E_NEGATIVE_INPUT_FOR F _TIME_OPERATION E_ARITHMETIC_ERROR E_ERR_ARITHMETIC FP_ERROR F F F

DIVTIME DIVTIME DIVTIME

-30.170 -30.003 -

16#8A26 16#8ACD -

MULTIME MULTIME MULTIME MULTIME

E_ERR_ARITHMETIC E_ARITHMETIC_ERROR_ MUL_OV E_ARITHMETIC_ERROR_ ADD_OV E_ARITHMETIC_ERROR_ BIG_PAR

F F F F

-30.003 -30.172 -30.173 -30171

16#8ACD 16#8A24 16#8A23 16#8A25

MULTIME

E_NEGATIVE_INPUT_FOR F _TIME_OPERATION FP_ERROR F

-30.177

16#8A1F

MULTIME

470

33002522 05/2010

Cdigos y valores de error de EFB

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

AVE AVE AVE

E_INPUT_VALUE_OUT_ OF_RANGE E_DIVIDE_BY_ZERO FP_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.

AVE AVE AVE

E_ARITHMETIC_ERROR F E_FP_STATUS_FAILED F

-30.170 -30.150 -30.172

16#8A26 16#8A3A 16#8A24

E_ARITHMETIC_ERROR F _MUL_OV E_ARITHMETIC_ERROR F _ADD_OV E_ARITHMETIC_ERROR F _BIG_PAR E_ARITHMETIC_ERROR F _UNSIGN_OV FP_ERROR 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

Cdigos y valores de error de EFB

Errores comunes de coma flotante


Introduccin En la tabla siguiente se muestran los cdigos y valores de error comunes creados para los errores de coma flotante. Errores comunes de coma flotante Tabla de errores comunes de coma flotante
Cdigos de error FP_ERROR E_FP_STATUS_FAILED_IE E_FP_STATUS_FAILED_IE E_FP_STATUS_FAILED_ZE E_FP_STATUS_FAILED_ZE_IE E_FP_STATUS_FAILED_OE E_FP_STATUS_FAILED_OE_IE E_FP_STATUS_FAILED_OE_ZE Valor de Valor de error en Dec error en Hex -30150 -30151 -30152 -30154 -30155 -30158 -30159 -30162 16#8A3A 16#8A39 16#8A38 16#8A36 16#8A35 16#8A32 16#8A31 16#8A2E 16#8A2D 16#8A2A Descripcin del error Valor de base (no aparece como valor de error) Operacin de coma flotante ilegal El operando no est normalizado, no es un nmero REAL vlido Divisin por cero ilegal Operacin de coma flotante ilegal / Divisin por cero Rebasamiento de coma flotante Operacin de coma flotante ilegal / Rebasamiento Rebasamiento de coma flotante / Divisin por cero Operacin de coma flotante ilegal / Rebasamiento / Divisin por cero Error interno

E_FP_STATUS_FAILED_OE_ZE_IE -30163 E_FP_NOT_COMPARABLE -30166

472

33002522 05/2010

Objetos de sistema 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

Introduccin de bits de sistema


General Los autmatas Modicon M340, Premium, Atrium y Quantum utilizan bits de sistema %Si que indican los estados del autmata o que permiten controlar el funcionamiento de ste. Dichos bits pueden probarse en el programa del usuario con el fin de detectar cualquier evolucin de funcionamiento que conlleve un procedimiento de procesamiento establecido. Algunos de estos bits deben volver a su estado inicial o normal por programa. No obstante, los bits de sistema que vuelven a su estado inicial o normal a travs del sistema, no deben hacerlo a travs del programa ni del terminal

474

33002522 05/2010

Objetos de sistema

Descripcin de los bits de sistema %S9 a %S13


Descripcin detallada Descripcin de los bits de sistema %S9 a %S13:
Bit Smbolo %S9 OUTDIS Funcin Sita en posicin de retorno las salidas de todos los buses. Descripcin Estado Modicon inicial M340 S (1) Premium Quantum Atrium S NO

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.

Bit Smbolo %S11 WDG

Funcin Desborde de watchdog

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.

Estado Modicon inicial M340 0 S

Premium Atrium S

Quantum S

%S12 PLCRUNNING

PLC en modalidad RUN

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.

%S13 Primer ciclo 1RSTSCANRUN despus de la puesta en RUN

476

33002522 05/2010

Objetos de sistema

Descripcin de los bits de sistema de %S15 a %S21


Descripcin detallada Descripcin de los bits de sistema de %S15 a %S21:
Bit Smbolo Funcin Descripcin Estado Modicon Premium Quantum inicial M340 Atrium S S S (excepto para PLC de seguridad)

%S15 Fallo de STRINGERROR lectura de cadena

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

Fallo de salidas/ent radas de tarea

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

Bit Smbolo %S17 CARRY

Funcin Salida de desplazami ento circular

Descripcin Normalmente est en estado 0. Durante una operacin de desplazamiento circular, este bit adopta el estado del bit saliente.

Estado Modicon inicial M340 0 S

Premium Quantum Atrium S S

%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

Bit Smbolo %S19 OVERRUN

Funcin Desborde del perodo de tarea (exploracin peridica)

Descripcin

Estado Modicon inicial M340 S

Premium Quantum Atrium S S

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

Desborde del ndice

S (excepto para PLC de seguridad)

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

Descripcin de las palabras de sistema %SW12 a %SW29


Descripcin detallada Descripcin de las palabras de sistema %SW12 a %SW29:
Palabra Smbolo %SW12 UTWPORTADDR Funcionamiento Direccin del puerto serie del procesador Descripcin Estado inicial Modicon Premium Quantum M340 Atrium S S NO (consulte %SW12 a continuac in)

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

Modalidad del procesador de la aplicacin

16#A501 NO

NO

S Slo en PLC de seguridad

480

33002522 05/2010

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial

Modicon Premium Quantum M340 Atrium NO S NO (consulte %SW13 a continuac in)

%SW13 Direccin XWAYNETWADDR principal de la estacin

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

Modalidad del procesador Intel

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

S Slo en PLC de seguridad

%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

Palabra Smbolo %SW16 OSINTVERS

Funcionamiento Nmero de versin del firmware

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 -

Modicon Premium Quantum M340 Atrium S S S

%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.

S Slo en PLC de seguridad

482

33002522 05/2010

Objetos de sistema

Palabra Smbolo

Funcionamiento

Descripcin

Estado inicial

Modicon Premium Quantum M340 Atrium S S S

Contador de %SD18: tiempo absoluto %SW18 y %SW19 100MSCOUNTER

%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

Palabra Smbolo %SD20: %SW20 y %SW21 MSCOUNTER

Funcionamiento Contador de tiempo absoluto

Descripcin

Estado inicial

Modicon Premium Quantum M340 Atrium S S S

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

Valor del conmutador rotativo

NO

NO

484

33002522 05/2010

Objetos de sistema

Palabra Smbolo %SW26

Funcionamiento Nmero de solicitudes procesadas

Descripcin

Estado inicial

Modicon Premium Quantum M340 Atrium S S S

Esta palabra de sistema permi- te verificar en el lado del servidor el nmero de solicitudes procesadas por PLC por ciclo.

%SW27 %SW28 %SW29

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

Descripcin de las palabras de sistema %SW48 a %SW59


Descripcin detallada Descripcin de las palabras de sistema de %SW48 a %SW59.
Palabra Smbolo %SW48 IOEVTNB Funcin Nmero de eventos Descripcin Estado Modicon inicial M340 S Premium Quantum Atrium S S (excepto para PLC de seguridad) S

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

Funcin del reloj de tiempo real

%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

Funcin Funcin del reloj de tiempo real en la ltima parada

Descripcin

Estado Modicon inicial M340 S

Premium Quantum Atrium S S

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:

Ajuste de %SW59 ADJDATET la fecha actual IME

33002522 05/2010

487

Objetos de sistema

488

33002522 05/2010

Glosario 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

En la siguiente figura se describe esta estructura jerarquizada:

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.

Diagrama de bloques de funciones Vase FBD.

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).

El valor predeterminado de cada bit es 0 (FALSE).

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).

FTP File Transfer Protocol (protocolo de transferencia de archivos).

Funcin Consulte EF.

Funcin elemental Vase EF.

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

SNMP Simple Network Management Protocol (protocolo de gestin de red simple).

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 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

You might also like