Proworx 32: Ladder Logic Block Library
Proworx 32: Ladder Logic Block Library
Proworx 32: Ladder Logic Block Library
ProWORX 32
Ladder Logic Block Library
8/2010
31007523.01
www.schneider-electric.com
The information provided in this documentation contains general descriptions and/or
technical characteristics of the performance of the products contained herein. This
documentation is not intended as a substitute for and is not to be used for
determining suitability or reliability of these products for specific user applications. It
is the duty of any such user or integrator to perform the appropriate and complete
risk analysis, evaluation and testing of the products with respect to the relevant
specific application or use thereof. Neither Schneider Electric nor any of its affiliates
or subsidiaries shall be responsible or liable for misuse of the information contained
herein. If you have any suggestions for improvements or amendments or have found
errors in this publication, please notify us.
No part of this document may be reproduced in any form or by any means, electronic
or mechanical, including photocopying, without express written permission of
Schneider Electric.
All pertinent state, regional, and local safety regulations must be observed when
installing and using this product. For reasons of safety and to help ensure
compliance with documented system data, only the manufacturer should perform
repairs to components.
When devices are used for applications with technical safety requirements, the
relevant instructions must be followed.
Failure to use Schneider Electric software or approved software with our hardware
products may result in injury, harm, or improper operating results.
Failure to observe this information can result in injury or equipment damage.
© 2010 Schneider Electric. All rights reserved.
2 31007523 8/2010
Table of Contents
Safety Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
About the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Part I General Information . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Chapter 1 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Parameter Assignment of Instuctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Chapter 2 Instruction Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Instruction Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
ASCII Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Counters and Timers Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Fast I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Loadable DX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Math Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Matrix Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Move Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Skips/Specials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Special Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Coils, Contacts, and Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Chapter 3 Closed Loop Control / Analog Values . . . . . . . . . . . . . . 43
Closed Loop Control / Analog Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
PCFL Subfunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A PID Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
PID2 Level Control Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Chapter 4 Formatting Messages for ASCII READ/WRIT Operations 57
Formatting Messages for ASCII READ/WRIT Operations . . . . . . . . . . . . 58
Format Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Special Set-up Considerations for Control/Monitor Signals Format . . . . . 62
Chapter 5 Coils, Contacts, and Interconnects. . . . . . . . . . . . . . . . . 65
Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Interconnects (Shorts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Chapter 6 Interrupt Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
31007523 8/2010 3
Chapter 7 Subroutine Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Subroutine Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Chapter 8 Installation of DX Loadables. . . . . . . . . . . . . . . . . . . . . . . 75
Installation of DX Loadables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Part II Instruction Descriptions (A to D) . . . . . . . . . . . . . . . 77
Chapter 9 1X3X - Input Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Chapter 10 AD16: Ad 16 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Chapter 11 ADD: Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Chapter 12 AND: Logical And . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Chapter 13 BCD: Binary to Binary Code . . . . . . . . . . . . . . . . . . . . . . . 91
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Chapter 14 BLKM: Block Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Chapter 15 BLKT: Block to Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Chapter 16 BMDI: Block Move with Interrupts Disabled . . . . . . . . . . 101
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Chapter 17 BROT: Bit Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Chapter 18 CALL: Activate Immediate or Deferred DX Function . . . 107
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4 31007523 8/2010
Chapter 19 CANT - Interpret Coils, Contacts, Timers, Counters, and
the SUB Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Chapter 20 CCPF - Configure Cam Profile with Variable Instruments 121
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Chapter 21 CCPV - Configure Cam Profile with Variable Increments 125
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Chapter 22 CFGC - Configure Coordinated Set. . . . . . . . . . . . . . . . . 129
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Chapter 23 CFGF - Configure Follower Set . . . . . . . . . . . . . . . . . . . . 133
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Chapter 24 CFGI – Configure Imaginary Axis . . . . . . . . . . . . . . . . . . 137
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Chapter 25 CFGR – Configure Remote Axis . . . . . . . . . . . . . . . . . . . 141
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Chapter 26 CFGS – Configure SERCOS Axis . . . . . . . . . . . . . . . . . . 145
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Chapter 27 CHS: Configure Hot Standby. . . . . . . . . . . . . . . . . . . . . . 149
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Chapter 28 CKSM: Check Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Chapter 29 CMPR: Compare Register . . . . . . . . . . . . . . . . . . . . . . . . 159
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Chapter 30 Coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
General Usage Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
31007523 8/2010 5
Chapter 31 COMM - ASCII Communications Function . . . . . . . . . . . 167
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapter 32 COMP: Complement a Matrix . . . . . . . . . . . . . . . . . . . . . . 171
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Chapter 33 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Chapter 34 CONV - Convert Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Chapter 35 CTIF - Counter, Timer, and Interrupt Function . . . . . . . . 185
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Chapter 36 DCTR: Down Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Chapter 37 DIOH: Distributed I/O Health . . . . . . . . . . . . . . . . . . . . . . . 197
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Chapter 38 DISA - Disabled Discrete Monitor . . . . . . . . . . . . . . . . . . 201
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Chapter 39 DIV: Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Chapter 40 DLOG: Data Logging for PCMCIA Read/Write Support . 211
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Run Time Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Chapter 41 DMTH - Double Precision Math. . . . . . . . . . . . . . . . . . . . . 217
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Chapter 42 DRUM: DRUM Sequencer . . . . . . . . . . . . . . . . . . . . . . . . . 225
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
6 31007523 8/2010
Chapter 43 DV16: Divide 16 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Part III Instruction Descriptions (E) . . . . . . . . . . . . . . . . . . . 237
Chapter 44 EARS - Event/Alarm Recording System . . . . . . . . . . . . . 239
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Chapter 45 EMTH: Extended Math . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Floating Point EMTH Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Chapter 46 EMTH-ADDDP: Double Precision Addition . . . . . . . . . . 253
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Chapter 47 EMTH-ADDFP: Floating Point Addition . . . . . . . . . . . . . 259
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Chapter 48 EMTH-ADDIF: Integer + Floating Point Addition . . . . . . 263
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Chapter 49 EMTH-ANLOG: Base 10 Antilogarithm . . . . . . . . . . . . . . 267
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Chapter 50 EMTH-ARCOS: Floating Point Arc Cosine of an Angle
(in Radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Chapter 51 EMTH-ARSIN: Floating Point Arcsine of an Angle (in
Radians). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
31007523 8/2010 7
Chapter 52 EMTH-ARTAN: Floating Point Arc Tangent of an Angle
(in Radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Chapter 53 EMTH-CHSIN: Changing the Sign of a Floating Point
Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Chapter 54 EMTH-CMPFP: Floating Point Comparison. . . . . . . . . . . 293
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Chapter 55 EMTH-CMPIF: Integer-Floating Point Comparison . . . . . 299
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Chapter 56 EMTH-CNVDR: Floating Point Conversion of Degrees to
Radians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Chapter 57 EMTH-CNVFI: Floating Point to Integer Conversion . . . 311
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Runtime Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Chapter 58 EMTH-CNVIF: Integer to Floating Point Conversion . . . 317
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Runtime Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Chapter 59 EMTH-CNVRD: Floating Point Conversion of Radians to
Degrees. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Chapter 60 EMTH-COS: Floating Point Cosine of an Angle (in
Radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8 31007523 8/2010
Chapter 61 EMTH-DIVDP: Double Precision Division. . . . . . . . . . . . 333
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Runtime Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Chapter 62 EMTH-DIVFI: Floating Point Divided by Integer . . . . . . . 339
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Chapter 63 EMTH-DIVFP: Floating Point Division. . . . . . . . . . . . . . . 343
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Chapter 64 EMTH-DIVIF: Integer Divided by Floating Point. . . . . . . 347
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Chapter 65 EMTH-ERLOG: Floating Point Error Report Log . . . . . . 351
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Representation: EMTH - ERLOG - Floating Point Math - Error Report Log 353
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Chapter 66 EMTH-EXP: Floating Point Exponential Function . . . . . 357
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Chapter 67 EMTH-LNFP: Floating Point Natural Logarithm . . . . . . . 363
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Chapter 68 EMTH-LOG: Base 10 Logarithm . . . . . . . . . . . . . . . . . . . 369
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Chapter 69 EMTH-LOGFP: Floating Point Common Logarithm. . . . 375
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Chapter 70 EMTH-MULDP: Double Precision Multiplication . . . . . . 381
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
31007523 8/2010 9
Chapter 71 EMTH-MULFP: Floating Point Multiplication. . . . . . . . . . 387
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Chapter 72 EMTH-MULIF: Integer x Floating Point Multiplication . . 391
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Chapter 73 EMTH-PI: Load the Floating Point Value of "Pi" . . . . . . . 397
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Chapter 74 EMTH-POW: Raising a Floating Point Number to an
Integer Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Representation: EMTH - POW - Raising a Floating Point Number to an
Integer Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Chapter 75 EMTH-SINE: Floating Point Sine of an Angle (in
Radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Representation: EMTH - SINE - Floating Point Math - Sine of an Angle (in
Radians) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Chapter 76 EMTH-SQRFP: Floating Point Square Root. . . . . . . . . . . 413
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Chapter 77 EMTH-SQRT: Floating Point Square Root . . . . . . . . . . . . 419
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Chapter 78 EMTH-SQRTP: Process Square Root. . . . . . . . . . . . . . . . 425
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Chapter 79 EMTH-SUBDP: Double Precision Subtraction . . . . . . . . 431
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Representation: EMTH - SUBDP - Double Precision Math - Subtraction 433
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
10 31007523 8/2010
Chapter 80 EMTH-SUBFI: Floating Point - Integer Subtraction . . . . 437
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Chapter 81 EMTH-SUBFP: Floating Point Subtraction . . . . . . . . . . . 443
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Chapter 82 EMTH-SUBIF: Integer - Floating Point Subtraction . . . . 449
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Chapter 83 EMTH-TAN: Floating Point Tangent of an Angle (in
Radians). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Chapter 84 ESI: Support of the ESI Module. . . . . . . . . . . . . . . . . . . . 457
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
READ ASCII Message (Subfunction 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
WRITE ASCII Message (Subfunction 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 467
GET DATA (Subfunction 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
PUT DATA (Subfunction 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
ABORT (Middle Input ON). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Run Time Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Chapter 85 EUCA: Engineering Unit Conversion and Alarms . . . . . 475
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Part IV Instruction Descriptions (F to N) . . . . . . . . . . . . . . . 487
Chapter 86 FIN: First In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Chapter 87 FOUT: First Out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
31007523 8/2010 11
Chapter 88 FTOI: Floating Point to Integer . . . . . . . . . . . . . . . . . . . . . 499
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Chapter 89 GD92 - Gas Flow Function Block . . . . . . . . . . . . . . . . . . . 503
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Parameter Description - Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Parameter Description - Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Parameter Description - Optional Outputs . . . . . . . . . . . . . . . . . . . . . . . . 514
Chapter 90 GFNX AGA#3 ‘85 and NX19 ‘68 Gas Flow Function Block 515
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Parameter Description - Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Parameter Description - Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Parameter Description - Optional Outputs . . . . . . . . . . . . . . . . . . . . . . . . 527
Chapter 91 GG92 AGA #3 1992 Gross Method Gas Flow Function
Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Parameter Description - Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Parameter Description - Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Parameter Description - Optional Outputs . . . . . . . . . . . . . . . . . . . . . . . . 539
Chapter 92 GM92 AGA #3 and #8 1992 Detail Method Gas Flow
Function Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Parameter Description - Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Parameter Description - Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Parameter Description - Optional Outputs . . . . . . . . . . . . . . . . . . . . . . . . 552
Chapter 93 G392 AGA #3 1992 Gas Flow Function Block . . . . . . . . . 553
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Parameter Description - Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Parameter Description - Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Parameter Description - Optional Outputs . . . . . . . . . . . . . . . . . . . . . . . . 563
Chapter 94 HLTH: History and Status Matrices . . . . . . . . . . . . . . . . . 565
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Parameter Description Top Node (History Matrix) . . . . . . . . . . . . . . . . . . 569
Parameter Description Middle Node (Status Matrix) . . . . . . . . . . . . . . . . 574
Parameter Description Bottom Node (Length). . . . . . . . . . . . . . . . . . . . . 578
12 31007523 8/2010
Chapter 95 HSBY - Hot Standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Representation: HSBY - Hot Standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Parameter Description Top Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Parameter Description Middle Node: HSBY - Hot Standby. . . . . . . . . . . . 584
Chapter 96 IBKR: Indirect Block Read . . . . . . . . . . . . . . . . . . . . . . . . 585
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Representation: IBKR - Indirect Block Read . . . . . . . . . . . . . . . . . . . . . . . 587
Chapter 97 IBKW: Indirect Block Write . . . . . . . . . . . . . . . . . . . . . . . 589
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Chapter 98 ICMP: Input Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Representation: ICMP - Input Compare . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Cascaded DRUM/ICMP Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Chapter 99 ID: Interrupt Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Chapter 100 IE: Interrupt Enable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Chapter 101 IMIO: Immediate I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Run Time Error Handling: IMIO - Immediate I/O . . . . . . . . . . . . . . . . . . . . 612
Chapter 102 IMOD: Interrupt Module Instruction . . . . . . . . . . . . . . . . 613
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Chapter 103 INDX – Immediate Incremental Move . . . . . . . . . . . . . . . 621
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Parameters Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Chapter 104 ITMR: Interrupt Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Chapter 105 ITOF: Integer to Floating Point . . . . . . . . . . . . . . . . . . . . 631
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
31007523 8/2010 13
Chapter 106 JOGS – JOG Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Chapter 107 JSR: Jump to Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . 639
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Chapter 108 LAB: Label for a Subroutine . . . . . . . . . . . . . . . . . . . . . . . 643
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Chapter 109 LOAD: Load Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Chapter 110 MAP3: MAP Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Chapter 111 MATH - Integer Operations . . . . . . . . . . . . . . . . . . . . . . . . 659
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Chapter 112 MBIT: Modify Bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Chapter 113 MBUS: MBUS Transaction . . . . . . . . . . . . . . . . . . . . . . . . 671
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
The MBUS Get Statistics Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Chapter 114 MMFB – Modicon Motion Framework Bits Block . . . . . . 681
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Chapter 115 MMFE – Modicon Motion Framework Extended
Parameters Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Chapter 116 MMFI – Modicon Motion Framework Initialize Block . . . 689
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Chapter 117 MMFS – Modicon Motion Framework Subroutine Block 695
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
14 31007523 8/2010
Chapter 118 MOVE – Absolute Move . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Chapter 119 MRTM: Multi-Register Transfer Module . . . . . . . . . . . . . 703
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Chapter 120 MSPX (Seriplex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Chapter 121 MSTR: Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Write MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
READ MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
Get Local Statistics MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
Clear Local Statistics MSTR Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Write Global Data MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
Read Global Data MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
Get Remote Statistics MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 732
Clear Remote Statistics MSTR Operation. . . . . . . . . . . . . . . . . . . . . . . . . 734
Peer Cop Health MSTR Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
Reset Option Module MSTR Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 738
Read CTE (Config Extension Table) MSTR Operation . . . . . . . . . . . . . . . 740
Write CTE (Config Extension Table) MSTR Operation . . . . . . . . . . . . . . . 742
Modbus Plus Network Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
TCP/IP Ethernet Statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Run Time Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Modbus Plus and SY/MAX Ethernet Error Codes . . . . . . . . . . . . . . . . . . . 751
SY/MAX-specific Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
TCP/IP Ethernet Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
CTE Error Codes for SY/MAX and TCP/IP Ethernet. . . . . . . . . . . . . . . . . 758
Chapter 122 MU16: Multiply 16 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Chapter 123 MUL: Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
Chapter 124 NBIT: Bit Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
31007523 8/2010 15
Chapter 125 NCBT: Normally Closed Bit. . . . . . . . . . . . . . . . . . . . . . . . 771
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Chapter 126 NOBT: Normally Open Bit . . . . . . . . . . . . . . . . . . . . . . . . . 775
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Chapter 127 NOL: Network Option Module for Lonworks . . . . . . . . . . 779
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
Detailed Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
Part V Instruction Descriptions (O to Q) . . . . . . . . . . . . . . . 785
Chapter 128 OR: Logical OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Chapter 129 PCFL: Process Control Function Library . . . . . . . . . . . . 793
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
Chapter 130 PCFL-AIN: Analog Input . . . . . . . . . . . . . . . . . . . . . . . . . . 799
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
Chapter 131 PCFL-ALARM: Central Alarm Handler . . . . . . . . . . . . . . . 805
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
Chapter 132 PCFL-AOUT: Analog Output . . . . . . . . . . . . . . . . . . . . . . . 811
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
Chapter 133 PCFL-AVER: Average Weighted Inputs Calculate . . . . . 815
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
Chapter 134 PCFL-CALC: Calculated Preset Formula. . . . . . . . . . . . . 821
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
Chapter 135 PCFL-DELAY: Time Delay Queue. . . . . . . . . . . . . . . . . . . 827
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
16 31007523 8/2010
Chapter 136 PCFL-EQN: Formatted Equation Calculator. . . . . . . . . . 831
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
Chapter 137 PCFL-INTEG: Integrate Input at Specified Interval . . . . 837
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
Chapter 138 PCFL-KPID: Comprehensive ISA Non Interacting PID . 841
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
Chapter 139 PCFL-LIMIT: Limiter for the Pv . . . . . . . . . . . . . . . . . . . . 847
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
Chapter 140 PCFL-LIMV: Velocity Limiter for Changes in the Pv . . . 851
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
Chapter 141 PCFL-LKUP: Look-up Table. . . . . . . . . . . . . . . . . . . . . . . 855
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
Chapter 142 PCFL-LLAG: First-order Lead/Lag Filter . . . . . . . . . . . . 861
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
Chapter 143 PCFL-MODE: Put Input in Auto or Manual Mode . . . . . . 865
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
Chapter 144 PCFL-ONOFF: ON/OFF Values for Deadband . . . . . . . . 869
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
Chapter 145 PCFL-PI: ISA Non Interacting PI . . . . . . . . . . . . . . . . . . . 873
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
31007523 8/2010 17
Chapter 146 PCFL-PID: PID Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 879
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
Chapter 147 PCFL-RAMP: Ramp to Set Point at a Constant Rate . . . 885
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
Chapter 148 PCFL-RATE: Derivative Rate Calculation over a
Specified Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
Chapter 149 PCFL-RATIO: Four Station Ratio Controller . . . . . . . . . . 893
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
Chapter 150 PCFL-RMPLN: Logarithmic Ramp to Set Point . . . . . . . . 897
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
Chapter 151 PCFL-SEL: Input Selection . . . . . . . . . . . . . . . . . . . . . . . . 901
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
Chapter 152 PCFL-TOTAL: Totalizer for Metering Flow . . . . . . . . . . . 907
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
Chapter 153 PEER: PEER Transaction . . . . . . . . . . . . . . . . . . . . . . . . . 913
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
Chapter 154 PID2: Proportional Integral Derivative . . . . . . . . . . . . . . . 917
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
Detailed Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
Run Time Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
18 31007523 8/2010
Part VI Instruction Descriptions (R to Z) . . . . . . . . . . . . . . . 929
Chapter 155 R --> T: Register to Table . . . . . . . . . . . . . . . . . . . . . . . . . 931
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
Chapter 156 RBIT: Reset Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
Chapter 157 READ: Read. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
Chapter 158 RET: Return from a Subroutine. . . . . . . . . . . . . . . . . . . . 945
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
Representation: RET - Return to Scheduled Logic . . . . . . . . . . . . . . . . . . 947
Chapter 159 RTTI - Register to Input Table . . . . . . . . . . . . . . . . . . . . . 949
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
Chapter 160 RTTO - Register to Output Table. . . . . . . . . . . . . . . . . . . 953
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
Chapter 161 RTU - Remote Terminal Unit . . . . . . . . . . . . . . . . . . . . . . 957
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
Chapter 162 SAVE: Save Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966
Chapter 163 SBIT: Set Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
Chapter 164 SCIF: Sequential Control Interfaces . . . . . . . . . . . . . . . . 971
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974
Chapter 165 SENS: Sense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
Chapter 166 Shorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
31007523 8/2010 19
Chapter 167 SKP - Skipping Networks . . . . . . . . . . . . . . . . . . . . . . . . . 983
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
Chapter 168 SRCH: Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
Chapter 169 STAT: Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
Description of the Status Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
Controller Status Words 1 - 11 for Quantum and Momentum . . . . . . . . . 1001
I/O Module Health Status Words 12 - 20 for Momentum . . . . . . . . . . . . . 1006
I/O Module Health Status Words 12 - 171 for Quantum . . . . . . . . . . . . . 1008
Communication Status Words 172 - 277 for Quantum . . . . . . . . . . . . . . 1010
Controller Status Words 1 - 11 for TSX Compact and Atrium . . . . . . . . . 1015
I/O Module Health Status Words 12 - 15 for TSX Compact. . . . . . . . . . . 1018
Global Health and Communications Retry Status Words 182 ... 184 for
TSX Compact. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
Chapter 170 SU16: Subtract 16 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
Chapter 171 SUB: Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
Chapter 172 SWAP - VME Bit Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
Chapter 173 TTR - Table to Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
Representation: TTR - Table to Register . . . . . . . . . . . . . . . . . . . . . . . . . 1039
Chapter 174 T --> R Table to Register . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
Chapter 175 T --> T: Table to Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045
Chapter 176 T.01 Timer: One Hundredth of a Second Timer . . . . . . . 1047
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
20 31007523 8/2010
Chapter 177 T0.1 Timer: One Tenth Second Timer . . . . . . . . . . . . . . . 1051
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
Chapter 178 T1.0 Timer: One Second Timer . . . . . . . . . . . . . . . . . . . . 1055
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
Chapter 179 T1MS Timer: One Millisecond Timer. . . . . . . . . . . . . . . . 1059
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
Chapter 180 TBLK: Table to Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
Chapter 181 TEST: Test of 2 Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
Chapter 182 UCTR: Up Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
Chapter 183 VMER - VME Read. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1082
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
Chapter 184 VMEW - VME Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
Chapter 185 WRIT: Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1091
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1092
Chapter 186 XMIT - Transmit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
XMIT Modbus Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
Chapter 187 XMIT Communication Block . . . . . . . . . . . . . . . . . . . . . . 1103
Short Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111
Parameter Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
31007523 8/2010 21
Chapter 188 XMIT Port Status Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119
Chapter 189 XMIT Conversion Block. . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127
Chapter 190 XMRD: Extended Memory Read . . . . . . . . . . . . . . . . . . . . 1131
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
Chapter 191 XMWT: Extended Memory Write. . . . . . . . . . . . . . . . . . . . 1137
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
Chapter 192 XOR: Exclusive OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143
Short Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145
Parameter Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
22 31007523 8/2010
Safety Information
§
Important Information
NOTICE
Read these instructions carefully, and look at the equipment to become familiar with
the device before trying to install, operate, or maintain it. The following special
messages may appear throughout this documentation or on the equipment to warn
of potential hazards or to call attention to information that clarifies or simplifies a
procedure.
31007523 8/2010 23
PLEASE NOTE
Electrical equipment should be installed, operated, serviced, and maintained only by
qualified personnel. No responsibility is assumed by Schneider Electric for any
consequences arising out of the use of this material.
A qualified person is one who has skills and knowledge related to the construction
and operation of electrical equipment and the installation, and has received safety
training to recognize and avoid the hazards involved.
24 31007523 8/2010
About the Book
At a Glance
Document Scope
This documentation will help you configure the ladder logic instructions from
ProWORX 32.
Validity Note
This documentation is valid for ProWORX 32 under Microsoft Windows 98, Microsoft
Windows 2000, and Microsoft Windows NT 4.x.
NOTE: For additional up-to-date notes, please refer to the Read Me file in
ProWORX 32.
Related Documents
You can download these technical publications and other technical information from
our website at www.schneider-electric.com.
User Comments
We welcome your comments about this document. You can reach us by e-mail at
[email protected].
31007523 8/2010 25
26 31007523 8/2010
General Information
31007523 8/2010
General Information
I
At a Glance
In this part you will find general information about the instruction groups and the use
of instructions.
31007523 8/2010 27
General Information
28 31007523 8/2010
Instructions
31007523 8/2010
Instructions
1
Parameter Assignment of Instuctions
General
Programming for electrical controls involves a user who implements Operational
Coded instructions in the form of visual objects organized in a recognizable ladder
form. The program objects designed, at the user level, is converted to computer
usable OP codes during the download process. the Op codes are decoded in the
CPU and acted upon by the controllers firmware functions to implement the desired
control.
Each instruction is composed of an operation, nodes required for the operation and
in- and outputs.
Parameter Assignment
Parameter assignment with the instruction DV16 as an example:
31007523 8/2010 29
Instructions
Operation
The operation determines which functionality is to be executed by the instruction,
e.g. shift register, conversion operations.
30 31007523 8/2010
Instruction Groups
31007523 8/2010
Instruction Groups
2
Introduction
In this chapter you will find an overview of the instruction groups.
31007523 8/2010 31
Instruction Groups
Instruction Groups
General
All instructions are attached to one of the following groups.
z ASCII Functions (see page 32)
z Counters/Timers (see page 33)
z Fast I/O Instructions (see page 34)
z Loadable DX (see page 35)
z Math (see page 36)
z Matrix (see page 38)
z Miscellaneous (see page 39)
z Move (see page 40)
z Skips/Specials (see page 41)
z Special (see page 41)
z Coils, Contacts and Interconnects (see page 42)
ASCII Functions
ASCII Functions
This group provides the following instructions.
PLCs that support ASCII messaging use instructions called READ and WRIT to
handle the sending of messages to display devices and the receiving of messages
from input devices. These instructions provide the routines necessary for
communication between the ASCII message table in the PLC’s system memory and
an interface module at the remote I/O drops.
For further information, see Formatting Messages for ASCII READ/WRIT
Operations, page 57.
32 31007523 8/2010
Instruction Groups
NOTE: The T1MS instruction is available only on the B984-102, the Micro 311, 411,
512, and 612, and the Quantum 424 02.
31007523 8/2010 33
Instruction Groups
34 31007523 8/2010
Instruction Groups
Loadable DX
Loadable DX
This group provides the following instructions.
31007523 8/2010 35
Instruction Groups
Math Instructions
Math Instructions
Two groups of instructions that support basic math operations are available. The first
group comprises four integer-based instructions: ADD, SUB, MUL and DIV.
The second group contains five comparable instructions, AD16, SU16, TEST, MU16
and DV16, that support signed and unsigned 16-bit math calculations and
comparisons.
Three additional instructions, ITOF, FTOI and BCD, are provided to convert the
formats of numerical values (from integer to floating point, floating point to integer,
binary to BCD and BCD to binary). Conversion operations are usful in expanded
math.
36 31007523 8/2010
Instruction Groups
Comparable Instructions
This part of the group provides the following instructions.
Format Conversion
This part of the group provides the following instructions.
31007523 8/2010 37
Instruction Groups
Matrix Instructions
Matrix Instructions
A matrix is a sequence of data bits formed by consecutive 16-bit words or registers
derived from tables. DX matrix functions operate on bit patterns within tables.
Just as with move instructions, the minimum table length is 1 and the maximum table
length depends on the type of instruction you use and on the size of the CPU (24-
bit) in your PLC.
Groups of 16 discretes can also be placed in tables. The reference number used is
the first discrete in the group, and the other 15 are implied. The number of the first
discrete must be of the first of 16 type 000001, 100001, 000017, 100017, 000033,
100033, ... , etc..
This group provides the following instructions.
38 31007523 8/2010
Instruction Groups
Miscellaneous
Miscellaneous
This group provides the following instructions.
31007523 8/2010 39
Instruction Groups
Move Instructions
Move Instructions
This group provides the following instructions.
40 31007523 8/2010
Instruction Groups
Skips/Specials
Skips/Specials
DANGER
UNINTENTIONAL I/O SKIPPING
Take precaution when using the SKP· instruction. If inputs and outputs that
normally effect control are unintentionally skipped (or not skipped), the result can
create hazardous conditions for personnel and application equipment.
Failure to follow these instructions will result in death or serious injury.
The SKP instruction is a standard instruction in all PLCs. It should be used with
caution.
Special Instructions
Special Instructions
These instructions are used in special situations to measure statistical events on the
overall logic system or create special loop control situations.
This group provides the following instructions.
31007523 8/2010 41
Instruction Groups
42 31007523 8/2010
Closed Loop Control / Analog Values
31007523 8/2010
31007523 8/2010 43
Closed Loop Control / Analog Values
General
An analog closed loop control system is one in which the deviation from an ideal
process condition is measured, analyzed and adjusted in an attempt to obtain and
maintain zero error in the process condition. Provided with the Enhanced Instruction
Set is a proportional-integral-derivative function block called PID2, which allows you
to establish closed loop (or negative feedback) control in ladder logic.
44 31007523 8/2010
Closed Loop Control / Analog Values
PCFL Subfunctions
General
The PCFL instruction gives you access to a library of process control functions
utilizing analog values.
PCFL operations fall into three major categories.
z advanced calculations
z signal processing
z regulatory control
Advanced Calculations
Advanced calculations are used for general mathematical purposes and are not
limited to process control applications. With advanced calculations, you can create
custom signal processing algorithms, derive states of the controlled process, derive
statistical measures of the process, etc.
Simple math routines have already been offered in the EMTH instruction. The
calculation capability included in PCFL is a textual equation calculator for writing
custom equations instead of programming a series of math operations one by one.
Signal Processing
Signal processing functions are used to manipulate process and derived process
signals. They can do this in a variety of ways; they linearize, filter, delay and
otherwise modify a signal. This category would include functions such as an analog
input/output, limiters, lead/lag and ramp generators.
Regulatory Control
Regulatory functions perform closed loop control in a variety of applications.
Typically, this is a PID (proportional integral derivative) negative feedback control
loop. The PID functions in PCFL offer varying degrees of functionality. Function PID
has the same general functionality as the PID2 instruction but uses floating point
math and represents some options differently. PID is beneficial in cases where PID2
is not suitable because of numerical concerns such as round-off.
31007523 8/2010 45
Closed Loop Control / Analog Values
General Equations
The following general equations are valid.
Equation Condition/Requirement
Integral bit ON
High/low limits
with
Gain reduction
46 31007523 8/2010
Closed Loop Control / Analog Values
Proportional Calculations
The following equations are valid.
Equation Condition/Requirement
Proportional bit ON
Integral Calculation
The following equations are valid.
Equation Condition/Requirement
Integral bit ON
Derivative Calculation
The following equations are valid.
Equation Condition/Requirement
Base derivative or PV
Derivative bit ON
31007523 8/2010 47
Closed Loop Control / Analog Values
Structure Diagram
48 31007523 8/2010
Closed Loop Control / Analog Values
A PID Example
Description
This example illustrates how a typical PID loop could be configured using PCFL
function PID. The calculation begins with the AIN function, which takes raw input
simulated to cause the output to run between approximately 20 and 22 when the
engineering unit scale is set to 0 ... 100.
984LL Diagram
The process variable over time should look something like this.
31007523 8/2010 49
Closed Loop Control / Analog Values
The look-up table output is block moved to the PID function. RAMP is used to control
the rise (or fall) of the set point for the PID controller with regard to the rate of ramp
and the solution interval. In this example, the set point is established in another logic
section to simulate a remote setting. The MODE function is placed after the RAMP
so that we can switch between the RAMP-generated set point or a manual value.
50 31007523 8/2010
Closed Loop Control / Analog Values
Simulated Process
The PID function is actually controlling the process simulated by this logic [value in
400100: 878(Dec)].
The process simulator is comprised of two LLAG functions that act as a filter and
input to a DELAY queue that is also a PCFL function block. This arrangement is the
equivalent of a second-order process with dead time.
The solution intervals for the LLAG filters do not affect the process dynamics and
were chosen to give fast updates. The solution interval for the DELAY queue is set
at 1000 ms with a delay of 5 intervals,i.e. 5 s. The LLAG filters each have lead terms
of 4 s and lag terms of 10 s. The gain for each is 1.0.
In process control terms the transfer function can be expressed as:
The AOUT function is used only to convert the simulated process output control
value into a range of 0 ... 4 095, which simulates a field device. This integer signal
is used as the process input in the first network.
31007523 8/2010 51
Closed Loop Control / Analog Values
PID Parameters
The PID controller is tuned to control this process at 20.0, using the Ziegler-Nichols
tuning method. The resulting controller gain is 2.16, equivalent to a proportional
band of 46.3%.
The integral time is set at 12.5 s/repeat (4.8 repeats/ min). The derivative time is
initially 3 s, then reduced to 0.3 s to de-emphasize the derivative effect.
An AOUT function is used after the PID. It conditions the PID control output by
scaling the signal back to an integer for use as the control value.
The entire control loop is preceded by a 0.1 s timer. The target solution interval for
the entire loop is 1 s, and the full solve is 1 s. However, the nontime-dependent
functions that are used (AIN, LKUP, MODE, and AOUT) do not need to be solved
every scan. To reduce the scan time impact, these functions are scheduled to solve
less frequently. The example has a loop solve every 3 s, reducing the average scan
time dramatically.
NOTE: It is still important to be aware of the maximum scan impact. When
programming other loops, you will not want all of the loops to solve on the same
scan.
52 31007523 8/2010
Closed Loop Control / Analog Values
Description
Here is a simplified P&I diagram for an inlet separator in a gas processing plant.
There is a 2-phase inlet stream: liquid and gas.
31007523 8/2010 53
Closed Loop Control / Analog Values
The first SUB block is used to move the analog input from LT-1 to the PID2 analog
input register, 40113. The second SUB block is used to move the PID2 output Mv to
the I/O mapped output I/P-1. Coil 00101 is used to change the loop from auto to
manual mode, if desired. For auto mode, it should be on.
Register Content
Specify the set point in mm for input scaling (E.U.). The full input range will be 0 ...
4000 mm (for 0 ... 4095 raw analog). Specify the register content of the top node in
the PID2 block as follows.
54 31007523 8/2010
Closed Loop Control / Analog Values
The values in the registers in the 400200 destination block are all set by the PID2
block.
31007523 8/2010 55
Closed Loop Control / Analog Values
56 31007523 8/2010
Formatting Messages for ASCII READ/WRIT Operations
31007523 8/2010
31007523 8/2010 57
Formatting Messages for ASCII READ/WRIT Operations
General
The ASCII messages used in the READ and WRIT instructions can be created via
your panel software using the format specifiers described below. Format specifiers
are character symbols that indicate:
z The ASCII characters used in the message
z Register content displayed in ASCII character format
z Register content displayed in hexadecimal format
z Register content displayed in integer format
z Subroutine calls to execute other message formats
Specifier Meaning
/ ASCII return (CR) and linefeed (LF)
" " Enclosure for octal control code
‘ ´ Enclosure for ASCII text characters
X Space indicator
() Repeat contents of the parentheses
I Integer
L Leading zeros
A Alphanumeric
O Octal
B Binary
H Hexadecimal
58 31007523 8/2010
Formatting Messages for ASCII READ/WRIT Operations
Format Specifiers
Format Specifier /
ASCII return (CR) and linefeed (LF)
Format Specifier ‘ ´
Enclosure for ASCII text characters
Format Specifier X
Space indicator, e.g., 14X indicates 14 spaces left open from the point where the
specifier occurs.
31007523 8/2010 59
Formatting Messages for ASCII READ/WRIT Operations
Format Specifier ( )
Repeat contents of the parentheses, e.g., 2 (4X, I5) says repeat 4X, I5 two
times
Format Specifier I
Integer, e.g., I5 specifies five integer characters
Format Specifier L
Leading zeros, e.g., L5 specifies five leading zeros
Format Specifier A
Alphanumeric, e.g., A27 specifies 27 alphanumeric characters, no suffix allowed
60 31007523 8/2010
Formatting Messages for ASCII READ/WRIT Operations
Format Specifier O
Octal, e.g., O2 specifies two octal characters
Format Specifier B
Binary, e.g., B4 specifies four binary characters
Format Specifier H
Hexadecimal, e.g., H2 specifies two hex characters
31007523 8/2010 61
Formatting Messages for ASCII READ/WRIT Operations
General
To control and monitor the signals used in the messaging communication, specify
code 1002 in the first register of the control block (the register displayed in the top
node). Via this format, you can control the RTS and CTS lines on the port used for
messaging.
NOTE: In this format, only the local port can be used for messaging, i.e., a parent
PLC cannot monitor or control the signals on a child port. Therefore, the port number
specified in the fifth implied node of the control block must always be 1.
The first three registers in the data block (the displayed register and the first and
second implied registers in the middle node) have predetermined content.
Register Content
Displayed Stores the control mask word
First implied Stores the control data word
Second implied Stores the status word
These three data block registers are required for this format, and therefore the
allowable range for the length value (specified in the bottom node) is 3 ... 255.
Bit Function
1 1 = port can be taken
0 = port cannot be taken
2 - 15 Not used
16 1 = control RTS
0 = do not control RTS
62 31007523 8/2010
Formatting Messages for ASCII READ/WRIT Operations
Bit Function
1 1 = take port
0 = return port
2 - 15 Not used
16 1 = activate RTS
0 = deactivate RTS
Status Word
Usage of word:
Bit Function
1 1 = port taken
2 1 = port ACTIVE as Modbus slave
3 - 13 Not used
14 1 = DSR ON
15 1 = CTS ON
16 1 = RTS ON
31007523 8/2010 63
Formatting Messages for ASCII READ/WRIT Operations
64 31007523 8/2010
Coils, Contacts, and Interconnects
31007523 8/2010
31007523 8/2010 65
Coils, Contacts, and Interconnects
Coils
Definition of Coils
A coil is a discrete output that is turned ON and OFF by power flow in the logic
program. A single coil is tied to a 0x reference in the PLC’s state RAM. Because
output values are updated in state RAM by the PLC, a coil may be used internally in
the logic program or externally via the I/O map to a discrete output unit in the control
system. When a coil is ON, it either passes power to a discrete output circuit or
changes the state of an internal relay contact in state RAM.
There are two types of coils.
z A normal coil
z A memory-retentive, or latched, coil
Normal Coil
WARNING
Forcing of Coils
When a discrete input (1x) is disabled, signals from its associated input field device
have no control over its ON/OFF state. When a discrete output (0x) is disabled, the
PLC’s logic scan has no control over the ON/OFF state of the output. When a
discrete input or output has been disabled, you can change its current ON/OFF
state with the Force command.
There is an important exception when you disable coils. Data move and data
matrix instructions that use coils in their destination node recognize the current
ON/OFF state of all coils in that node, whether they are disabled or not. If you are
expecting a disabled coil to remain disabled in such an instruction, you may cause
unexpected or undesirable effects in your application.
When a coil or relay contact has been disabled, you can change its state using the
Force ON or Force OFF command. If a coil or relay is enabled, it cannot be forced.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
66 31007523 8/2010
Coils, Contacts, and Interconnects
Retentive Coil
If a retentive (latched) coil is energized when the PLC loses power, the coil will come
back up in the same state for one scan when the PLC’s power is restored.
To define a discrete reference for the coil, select it in the editor and click to open a
dialog box called Retentative coil (latch).
Symbol
31007523 8/2010 67
Coils, Contacts, and Interconnects
Contacts
Definition of Contacts
Contacts are used to pass or inhibit power flow in a ladder logic program. They are
discrete, i.e., each consumes one I/O point in ladder logic. A single contact can be
tied to a 0x or 1x reference number in the PLC’s state RAM, in which case each
contact consumes one node in a ladder network.
Four kinds of contacts are available.
z normally open (N.O.) contacts
z normally closed (N.C.) contacts
z positive transitional (P.T.) contacts
z negative transitional (N.T.) contacts
68 31007523 8/2010
Coils, Contacts, and Interconnects
31007523 8/2010 69
Coils, Contacts, and Interconnects
Interconnects (Shorts)
Horizontal Short
A short is a straight-line connection between contacts and/or nodes in an instruction
through which power flow can be controlled.
A horizontal short is used to extend logic out across a row in a network without
breaking the power flow. Each horizontal short consumes one node in the network,
and uses a word of memory in the PLC.
Symbol
Vertical Short
A vertical short connects contacts or nodes in an instruction positioned one above
the other in a column. Vertical shorts can also connect inputs or outputs in an
instruction to create either-or conditions. When two contacts are connected by a
vertical short, power is passed when one or both contacts receive power.
The vertical short is unique in two ways.
z It can coexist in a network node with another element or nodal value.
z It does not consume any PLC memory.
Symbol
70 31007523 8/2010
Interrupt Handling
31007523 8/2010
Interrupt Handling
6
Interrupt Handling
Interrupt-related Performance
The interrupt-related instructions operate with minimum processing overhead. The
performance of interrupt-related instructions is especially critical. Using a interval
timer interrupt (ITMR) instruction adds about 6% to the scan time of the scheduled
ladder logic, this increase does not include the time required to execute the interrupt
handler subroutine associated with the interrupt.
Interrupt Priorities
The PLC uses the following rules to choose which interrupt handler to execute in the
event that multiple interrupts are received simultaneously.
z An interrupt generated by an interrupt module has a higher priority than an
interrupt generated by a timer.
z Interrupts from modules in lower slots of the local backplane have priority over
interrupts from modules in the higher slots.
If the PLC is executing an interrupt handler subroutine when a higher priority
interrupt is received, the current interrupt handler is completed before the new
interrupt handler is begun.
31007523 8/2010 71
Interrupt Handling
If any of these instructions are placed in an interrupt handler, the subroutine will be
aborted, the error output on the ITMR or IMOD instruction that generated the
interrupt will go ON, and bit 2 in the status register will be set.
72 31007523 8/2010
Subroutine Handling
31007523 8/2010
Subroutine Handling
7
Subroutine Handling
31007523 8/2010 73
Subroutine Handling
When input 100001 to the JSR block in network 2 of segment 1 transitions from OFF
to ON, the logic scan jumps to subroutine #1 in network 1 of segment 32.
The subroutine will internally loop on itself ten times, counted by the ADD block. The
first nine loops end with the JSR block in the subroutine (network 1 of segment 32)
sending the scan back to the LAB block. Upon completion of the tenth loop, the RET
block sends the logic scan back to the scheduled logic at the JSR node in network
2 of segment 1.
74 31007523 8/2010
Installation of DX Loadables
31007523 8/2010
Installation of DX Loadables
8
Installation of DX Loadables
Step Action
1 With the menu command Project → Configurator you open the
configurator.
2 With Configure → Loadables... you open the dialog box Loadables.
3 Press the command button Unpack... to open the standard Windows dialog
box Unpack Loadable File where the multifile loadables (DX loadables) can
be selected. Select the loadable file you need, click the button OK and it is
inserted into the list box Available:.
4 Now press the command button Install=> to install the loadable selected in
the list box Available:. The installed loadable will be displayed in the list box
Installed:.
5 Press the command button Edit... to open the dialog box Loadable
Instruction Configuration. Change the opcode if necessary or accept
the default. You can assign an opcode to the loadable in the list box Opcode in
order to enable user program access through this code. An opcode that is
already assigned to a loadable, will be identified by a *. Click the button OK.
6 Click the button OK in the dialog box Loadables.
Configuration loadables count is adjusted. The installed loadable is available for
programming at the menu Objects → List Instructions → DX
Loadable.
31007523 8/2010 75
Installation of DX Loadables
76 31007523 8/2010
Instruction Descriptions (A to D)
31007523 8/2010
Instruction Descriptions (A to D)
II
Introduction
In this part instruction descriptions are arranged alphabetically from A to D.
31007523 8/2010 77
Instruction Descriptions (A to D)
78 31007523 8/2010
1X3X - Input Simulation
31007523 8/2010
9
Introduction
This chapter describes the instruction 1X3X.
31007523 8/2010 79
1X3X - Input Simulation
Short Description
Function Description
The Input Simulation instruction provides a simple method to simulate 1xxxx and
3xxx input data values. This block is similar to a Block Move, the BLKM instruction.
When the control input receives power, the source table is copied to the destination
(input) table.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
80 31007523 8/2010
AD16: Ad 16 Bit
31007523 8/2010
AD16: Ad 16 Bit
10
Introduction
This chapter describes the instruction AD16.
31007523 8/2010 81
AD16: Ad 16 Bit
Short Description
Function Description
The AD16 instruction performs signed or unsigned 16-bit addition on value 1 (its top
node) and value 2 (its middle node), then posts the sum in a 4x holding register in
the bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
82 31007523 8/2010
ADD: Addition
31007523 8/2010
ADD: Addition
11
Introduction
This chapter describes the instruction ADD.
31007523 8/2010 83
ADD: Addition
Short Description
Function Description
The ADD instruction adds unsigned value 1 (its top node) to unsigned value 2 (its
middle node) and stores the sum in a holding register in the bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
84 31007523 8/2010
AND: Logical And
31007523 8/2010
12
Introduction
This chapter describes the instruction AND.
31007523 8/2010 85
AND: Logical And
Short Description
Function Description
WARNING
DISABLED COILS
Before using the AND instruction, check for disabled coils. AND will override any
disabled coils within the destination matrix without enabling them.This can cause
personal injury if a coil has disabled an operation for maintenance or repair
because the coil’s state can be changed by the AND operation.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The AND instruction performs a Boolean AND operation on the bit patterns in the
source and destination matrices.
The ANDed bit pattern is then posted in the destination matrix, overwriting its
previous contents.
86 31007523 8/2010
AND: Logical And
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
31007523 8/2010 87
AND: Logical And
An AND Example
When contact 10001 passes power, the source matrix formed by the bit pattern in
registers 40600 and 40601 is ANDed with the destination matrix formed by the bit
pattern in registers 40604 and 40605. The ANDed bits are then copied into registers
40604 and 40605, overwriting the previous bit pattern in the destination matrix.
NOTE: If you want to retain the original destination bit pattern of registers 40604 and
40605, copy the information into another table using the BLKM instruction before
performing the AND operation.
88 31007523 8/2010
AND: Logical And
Parameter Description
31007523 8/2010 89
AND: Logical And
90 31007523 8/2010
BCD: Binary to Binary Code
31007523 8/2010
13
Introduction
This chapter describes the instruction BCD.
31007523 8/2010 91
BCD: Binary to Binary Code
Short Description
Function Description
The BCD instruction can be used to convert a binary value to a binary coded decimal
(BCD) value or a BCD value to a binary value. The type of conversion to be
performed is controlled by the state of the bottom input.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
92 31007523 8/2010
BLKM: Block Move
31007523 8/2010
14
Introduction
This chapter describes the instruction BLKM.
31007523 8/2010 93
BLKM: Block Move
Short Description
Function Description
WARNING
DISABLED COILS
Before using the BLKM instruction, check for disabled coils. BLKM will override any
disabled coils within a destination table without enabling them. This can cause
injury if a coil has been disabled for repair or maintenance because the coil’s state
can change as a result of the BLKM instruction.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The BLKM (block move) instruction copies the entire contents of a source table to a
destination table in one scan.
94 31007523 8/2010
BLKM: Block Move
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
31007523 8/2010 95
BLKM: Block Move
96 31007523 8/2010
BLKT: Block to Table
31007523 8/2010
15
Introduction
This chapter describes the instruction BLKT.
31007523 8/2010 97
BLKT: Block to Table
Short Description
Function Description
WARNING
4x REGISTER CORRUPTION
Use external logic in conjunction with the middle or bottom input to confine the
value in the pointer to a safe range. BLKT is a powerful instruction that can corrupt
all the 4x registers in your PLC with data copied from the source block.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The BLKT (block-to-table) instruction combines the functions of R→T and BLKM in
a single instruction. In one scan, it can copy data from a source block to a destination
block in a table. The source block is of a fixed length. The block within the table is of
the same length, but the overall length of the table is limited only by the number of
registers in your system configuration.
98 31007523 8/2010
BLKT: Block to Table
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
31007523 8/2010 99
BLKT: Block to Table
Parameter Description
Short Description
Function Description
The BMDI instruction masks the interrupt, initiates a block move (BLKM) operation,
then unmasks the interrupts.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
17
Introduction
This chapter describes the instruction BROT.
Short Description
Function Description
WARNING
DISABLED COILS
Before using the BROT instruction, check for disabled coils. BROT will override
any disabled coils within a destination matrix without enabling them. This can
cause injury if a coil has been disabled for repair or maintenance if BROT
unexpectedly changes the coil’s state.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The BROT (bit rotate) instruction shifts the bit pattern in a source matrix, then posts
the shifted bit pattern in a destination matrix. The bit pattern shifts left or right by one
position per scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Short Description
Function Description
A CALL instruction activates an immediate or deferred DX function from a library of
functions defined by function codes. The Copro copies the data and function code
into its local memory, processes the data, and copies the results back to controller
memory.
Function Codes:
z 0-499: User Immediate/Deferred DXs
z 500-9999: System Immediate/Deferred DXs
The two MSBs of the top register are the Copro# in a multiple Copro system.
Representation
Overview
The content in this section applies specifically to the Immediate DX function of the
CALL instruction.
Symbol
Representation of the instruction for an Immediate DX CALL
Parameter Description
Description of the instruction’s parameters for an Immediate DX CALL
Immediate DX Functions
This table lists the Immediate DX functions
Representation
Overview
The content in this section applies specifically to the Deferred DX function of the
CALL instruction.
Symbol
Representation of the instruction for a Deferred DX CALL
Parameter Description
Description of the instruction’s parameters for a Deferred DX CALL
Deferred DX Functions
This table lists the Deferred DX Functions
Short Description
Function Description
This DX Loadable function block, upon initializing a triggering contact, analyzes your
ladder logic to extract the specific column and the corresponding contact IDs where
power flow has stopped. The CANT block contains 20 registers. A MSTR block is
used to export data from the CANT's 20 registers to a PC running the Action Monitor
program.
The CANT block is specifically used to interpret coils, contacts, timers, counters, and
the SUB block. You may not use any other types of ladder logic instructions in a
network. Otherwise, you receive incorrect results. If, however, you must use one of
the other ladder logic instructions you may place them in a separate network linked
to a coil that is referenced to the network containing the CANT block.
NOTE: Only 24-bit logic Quantum and 984 PLCs support the DX Loadable function
block. 16-bit controllers will not work with this particular block.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
NOTE: When any of the above inputs are activated, the CANT function block begins
to solve the routine. The bottom node specifies a delay time in 10ms increments
that the block uses to delay the start of the solve routine.
Parameter Description
Programming
Each network can only contain one COIL and one CANT block, which must be
located in column 10, row 5. Column 9 of the bottom rung contains the power input
for the triggers (action contacts) to the CANT block, which will provide more space
for your ladder logic programming.
NOTE: This is not at the top of the block as it usually is with DX blocks.
In any of the available row positions 5, 6, or 7, you may have up to 3 triggers that
must be a transitional type of either [P] or [N]. The CANT block node number will
default to 22 (hexadecimal) and not be changed.
NOTE: It is necessary to program a MSTR block for each receiving (PC) address if
you want to transmit data to more than one PC running Action Monitor.
MSTR Setup
Short Description
Function Description
The CCPF function block configures a Cam Profile with fixed master increments. A
CamProfile relates the position of a follower axis for a given position of a master axis.
The CamProfile is a table of master and follower position coordinates. Position
points that are not explicitly listed in the table are derived by interpolating between
the given points. Linear and cubic interpolations are supported.
CamProfile Type
The CamProfile type is used to execute electronic cams in the motion controller.
electronic cams simplify programming of complex moves. They can be applied in
winding applications, flying cutoff applications, thermoforming machines, press
feeds, and many other complex control situations.
NOTE: A CamProfile configuration block can be re-executed to change the profile.
A CMD_NOT_ALLOWED error will be generated if a FollowerSet is already using
the CamProfile and following is turned on.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a representation of the instruction.
Parameter Description
The following table describes the instruction’s parameters.
Registers
The following table shows the registers.
Short Description
Function Description
The CCPV function block configures a CamProfile with variable master increments.
A CamProfile relates the position of a follower axis for a given position of a master
axis. The CamProfile is a table of master and follower position coordinates. Position
points that are not explicitly listed in the table are derived by interpolating between
the given points. Linear and cubic interpolation are supported. See CamProfile
Type, page 122 for more information on a CamProfile type.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a representation of the CCPV instruction.
Parameter Description
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
22
Introduction
This chapter describes the CFGC instruction.
Short Description
Function Description
The CFGC function block configures a Coordinated Set. Each motion axis object
has a set of motion parameters that must be configured before the motion axis
object may be used. The configure function provides the default value for these
parameters. The default values are placed into a block of holding registers in a
specified order.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a representation of the CFGC instruction.
Parameter Description
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
23
Introduction
This chapter describes the CFGF instruction.
Short Description
Function Description
The CFGF function block configures a Follower Set. Each motion axis object has a
set of motion parameters that must be configured before the motion axis object may
be used. The configure function provides the default value for these parameters.
The default values are placed into a block of holding registers in a specified order.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a representation of the CFGF instruction.
Parameter Description
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
24
Introduction
This chapter describes the CFGI instruction.
Short Description
Function Description
The CFGI function block configures an ImaginaryAxis. Each motion axis object has
a set of motion parameters that must be configured before the motion axis object
may be used. The configure function provides the default value for these
parameters. The default values are placed into a block of holding registers in a
specified order.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a CFGI instruction.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
25
Introduction
This chapter describes the CFGR instruction.
Short Description
Function Description
The CFGR function block configures a Remote Axis. Each motion axis object has a
set of motion parameters that must be configured before the motion axis object may
be used. The configure function provides the default value for these parameters.
The default values are placed into a block of holding registers in a specified order.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a representation of the CFGR instruction.
Parameter Description
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
26
Introduction
This chapter describes the CFGS instruction.
Short Description
Function Description
The CFGS function block configures a Sercos Axis. Each motion axis object has a
set of motion parameters that must be configured before the motion axis object may
be used. The configure function provides the default value for these parameters.
The default values are placed into a block of holding registers in a specified order.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for more detailed information on using
motion loadables.
Representation
Symbol
The following diagram shows a representation of the CFGS instruction.
Parameters Description
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
27
Introduction
This chapter describes the instruction CHS.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see "Installation of DX Loadables, page 75."
The logic in the CHS loadable is the engine that drives the Hot Standby capability in
a Quantum PLC system. Unlike the HSBY instruction, the use of the CHS instruction
in the ladder logic program is optional. However, the loadable software itself must
be installed in the Quantum PLC in order for a Hot Standby system to be
implemented.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
WARNING
ERRATIC BEHAVIOR IN THE HOT STANDBY SYSTEM
Do not enable or disable the non-transfer area while the Hot Standby system is
running.
Although it is legal to do so, we strongly discourage this practice because it can
lead to erratic behavior in the Hot Standby system.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
When the CHS instruction is inserted in ladder logic to control the Hot Standby
configuration parameters, its top input must be connected directly to the power rail
by a horizontal short. No control logic, such as contacts, should be placed between
the rail and the input to the top node.
Bit Function
1-5 Not used
6 0 = swap Modbus port 3 address during switchover
1 = no swap
7 0 = swap Modbus port 2 address during switchover
1 = no swap
8 0 = swap Modbus port 1 address during switchover
1 = no swap
9 - 11 Not used
12 0 = allow exec upgrade only after application stops
1 = allow the upgrade without stopping the application
13 0 = force standby offline if there is a logic mismatch
1 = do not force
14 0 = controller B is in OFFLINE mode
1 = controller B is in RUN
15 0 = controller A is in OFFLINE mode
1 = controller A is in RUN
16 0 = disable keyswitch override
1 = enable the override
NOTE: The Hot Standby command register must be outside of the nontransfer area
of state RAM.
Register Content
Displayed and first implied Reverse transfer registers for passing information from the
standby to the primary PLC
Second implied CHS status register
Bit Function
1 1 = the top output is ON (indicating Hot Standby system is active)
2 1 = the middle output is ON (indicating an error condition)
3 - 10 Not used
11 0 = PLC switch is set to A
1 = PLC switch is set to B
12 0 = PLC logic is matched
1 = there is a logic mismatch
13 - 14 The 2 bit value is:
z 0 1 if the other PLC is in OFFLINE mode
z 1 0 if other PLC is running in primary mode
z 1 1 if other PLC is running in standby mode
28
Introduction
This chapter describes the instruction CKSM.
Short Description
Function Description
Several PLCs that do not support Modbus Plus come with a standard checksum
(CKSM) instruction. CKSM has the same opcode as the MSTR instruction and is not
provided in executive firmware for PLCs that support Modbus Plus.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Inputs
The states of the inputs indicate the type of checksum calculation to be performed:
Register Content
Displayed Stores the result of the checksum calculation
First implied Posts a value that specifies the number of registers selected from
the source table as input to the calculation. The value posted in the
implied register must be ≤ length of source table.
29
Introduction
This chapter describes the instruction CMPR.
Short Description
Function Description
The CMPR instruction compares the bit pattern in matrix a against the bit pattern in
matrix b for miscompares. In a single scan, the two matrices are compared bit
position by bit position until a miscompare is found or the end of the matrices is
reached (without miscompares).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Coils
30
Introduction
This chapter describes the instruction element Coils.
Short Description
Function Description
A coil is a discrete output that is turned ON and OFF by power flow in the logic
program. A single coil is tied to a 0xxxx reference in the PLC’s state RAM. Because
output values are updated in state RAM by the PLC, a coil may be used internally in
the logic program or externally via the I/O map to a discrete output unit in the control
system. When a coil is ON, it either passes power to a discrete output circuit or
changes the state of an internal relay contact in state RAM.
Coil Types
There are two types of coils:
z Normal coil -( )-
A normal or non-retentive or normal coil looses state when power to controller is
lost.
When power is removed from a PLC, a normal coil will be turned OFF. Once
power is restored, the coil will always be in the OFF state on the first logic scan.
z Memory-retentive or latched coil -(M)- or -(L)-
A memory-retentive or latched coil does NOT loose state when power to
controller is lost.
If a memory-retentive (or latched) coil is ON at the time a PLC loses power, the
coil will come back up in an ON state when power is restored. The coil will
maintain that ON state for the first logic scan, and then the logic program will take
control.
Coils are referenced as 0xxxx. They may be disabled and forced ON or OFF.
Disabling a coil stops the user programmed logic from changing the state of the coil.
NOTE: Disabled Coils used as destinations in DX function blocks may have their
state overwritten by the function.
Overview
Once a 0x reference number has been assigned to a coil, it cannot be assigned to
any other coils in the logic program.
An 0x reference number can be referenced to any number of relay contacts, which
can then be controlled via the state of the coil with same reference number. Most
panel software packages have a feature called tracing with which you can locate the
positions in ladder logic of the contacts controlled by a coil. Refer to your software
user manual for more details.
Memory protection in the PLC must be OFF before you disable or enable a coil or a
discrete input.
NOTE: There is an important exception that you need to be aware of when disabling
coils:
Data transfer functions allow coils in their destination nodes to recognize the current
ON/OFF state of ALL coils, whether those coils are disabled or not, and this
recognition causes the logic to respond accordingly—maybe producing unexpected
and undesirable effects.
If you are expecting a disabled coil to remain disabled in the DX function, your
application may experience unexpected and undesirable effects.
COMM -
ASCII Communications Function
31
Introduction
This chapter describes the COMM instruction.
Short Description
Function Description
The ASCII Communications Function (COMM) block is used to transmit/receive
ASCII data (in the form of a single ASCII character, 1 to 4 integers or 1 to 4
hexadecimal numbers) to or from the simple ASCII port. The COMM instruction
gives you the ability to read and write canned messages to/from ASCII character
input/output devices via one of the built-in communication ports on a Micro PLC or,
if the PLC is a parent, via a comm port on one of the child PLCs on the expansion
link.
NOTE: Available only on the Micro 311, 411, 512, and 612 controllers.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Register Usage
4xxxx + 0 Operation Code
4xxxx + 1 Error Status
4xxxx + 2 Number of data fields provided/expected
4xxxx + 3 Number of data fields processed
4xxxx + 4 Reserved
4xxxx + 5 Port Number (1 for local, 2 for child #1, 3 for child #2, etc.
4xxxx + 6 Reserved
4xxxx + 7 Reserved
4xxxx + 8 Reserved
4xxxx + 9 Active Status Timer
32
Introduction
This chapter describes the instruction COMP.
Short Description
Function Description
WARNING
DISABLED COILS
Before using the COMP instruction, check for disabled coils. COMP will override
any disabled coils in the destination matrix without enabling them. This can cause
injury if a coil has been disabled for repair or maintenance because the coil’s state
can be changed by the COMP operation.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The COMP instruction complements the bit pattern, i.e. changes all 0s to 1s and all
1s to 0s, of a source matrix, then copies the complemented bit pattern into a
destination matrix. The entire COMP operation is accomplished in one scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
A COMP Example
When contact 10001 passes power, the bit pattern in the source matrix (registers
40600 and 40601) is complemented, then the complemented bit pattern is posted in
the destination matrix (registers 40602 and 40603). The original bit pattern is
maintained in the source matrix.
Parameter Description
Contacts
33
Introduction
This chapter describes the instruction element Contacts.
Short Description
Function Description
Contacts are used to pass or inhibit power flow in a ladder logic program.
Representation
Function Description
They are discrete, which means each consumes one I/O point in ladder logic. A
single contact can be tied to a 0x or 1x reference number in the PLC’s state RAM,
in which case each contact consumes one node in a ladder network.
Four kinds of contacts are available:
z normally open (N.O.) contacts
z normally closed (N.C.) contacts
z positive transitional (P.T.) contacts
z negative transitional (N.T.) contacts
NOTE: A transitional contact will pass power continuously if the referenced coil is
skipped by a SKP instruction or by the segment scheduler. A transitional contact
may not pass power if it is referenced to an input that has been scheduled to read
from the I/O drop more than once per scan via the segment scheduler.
34
Introduction
This chapter describes the instruction CONV.
Short Description
Function Description
The Convert block is a 484-replacement instruction, and it is one of four replacement
instructions. The CONV block is used to convert:
z discrete data to a holding register
z holding-register data to discrete data
The conversion can be either:
z binary to binary
z BCD to binary (discrete to register)
z binary to BCD (register to discrete)
This block uses 12 bits in 12 bits out, but if the conversion is straight binary to binary,
bits 11 and 12 are forced off.
In converting discretes to a holding register, the source is specified as a constant
which implies a 1xxxx and the destination is specified as a constant which implies
a 4xxxx (for example, 00049 implies 40049).
In converting a register to output discretes, the source is specified as a holding
register (4xxxx) and the destination is specified as a constant which implies a 0xxxx.
For example 00032 implies 12 coils with 00032.
NOTE: Take precaution when converting register data to discretes as coils may
inadvertently be activated.
NOTE: Available only on the 984-351 and 984-455 PLCs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Short Description
Function Description
The CTIF block is used by a parent PLC to access child functions over an I/O
expansion bus. The parent function block will complete in the same scan. If multiple
blocks exist, the last one executed will be used.
The CTIF instruction is used with the Micro PLCs to set up the inputs for hard-wired
interrupt and/or hard-wired counter/timer operations. This instruction always starts
and finishes in the same scan. The CTIF instruction is a configuration/operation tool
for Modicon Micro PLCs that contain hardware interrupts (all models except the
110CPU311 models). The actual counter/timer and interrupts are in the PLC
hardware, and the CTIF instruction is used to set up this hardware.
NOTE: The counter, timer, interrupt function (CTIF) is only available on Micro 311,
411, 512, and 612 controllers.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Overview
The top node holds four contiguous registers, 4x through 4x+3. This topic describes
how those registers are used and configured in the top node.
and the following table describes the Bit Usage for the first register (4x).
Bit Usage
1-4 Reserved
5-8 Error/Operation type messages
9 - 14 Reserved
15 Set Mode
16 Get Mode
The following table describes the ON/OFF Combinations for bits 5 through 8 and
the error/operation type message generated by the first register (4x).
Bit 5 6 7 8 Description
0 0 0 0 No error detected
0 0 0 1 Unsupported operation type specified
0 0 1 0 Interrupt 2 not supported in this model
0 0 1 1 Interrupt 3 not supported while counter is selected
0 1 0 0 Counter value of 0 specified
0 1 0 1 Counter value too big (counter value > 16,383)
0 1 1 0 Operation type supported only on local drop
0 1 1 1 Specified drop not in I/O map
1 0 0 0 No subroutine for enabled interrupt
1 0 0 1 Remote drop is unhealthy
1 0 1 0 Function not supported remotely
The following table describes Bit Usage and the ON/OFF Combinations for bits 15
and 16 of the first register (4x).
Bit 15 16 Description
0 0 Set Mode
0 1 Get Mode
The following tables describe both Bit Usage and the ON/OFF Combinations for
bits 1 through 16 of the second register (4x+1).
The following table describes Bit Usage and ON/OFF Combinations for bits 1 and
2 of the second register (4x+1).
Bit Usage
1 Terminal-count loading
0 - Disable
1 - Enable
2 Reserved
The following table describes Bit Usage and ON/OFF Combinations for bits 3 and
4 of the second register (4x+1).
Bit 3 4 Description
0 1 Disable interrupt service for Interrupt 3
1 0 Enable interrupt service for Interrupt 3
The following table describes Bit Usage and ON/OFF Combinations for bits 5 and
6 of the second register (4x+1).
Bit 5 6 Description
0 1 Disable interrupt service for Interrupt 2
1 0 Enable interrupt service for Interrupt 2
The following table describes Bit Usage and ON/OFF Combinations for bits 7 and
8 of the second register (4x+1).
Bit 7 8 Description
0 1 Disable interrupt service for Interrupt 1
1 0 Enable interrupt service for Interrupt 1
The following table describes Bit Usage and ON/OFF Combinations for bits 9 and
10 of the second register (4x+1).
Bit 9 10 Description
0 1 Disable interrupt service for timer/counter interrupt
1 0 Enable interrupt service for timer/counter interrupt
The following table describes Bit Usage and ON/OFF Combinations for bits 11 and
12 of the second register (4x+1).
Bit 11 12 Description
0 1 Disable auto-restart operation
1 0 Enable auto-restart operation
The following table describes Bit Usage and ON/OFF Combinations for bits 13 and
14 of the second register (4x+1).
Bit 13 14 Description
0 1 Stop counter/timer operation
1 0 Start counter/timer operation
The following table describes Bit Usage and ON/OFF Combinations for bits 15 and
16 of the second register (4x+1).
Bit 15 16 Description
0 1 Counter Mode
1 0 Timer Mode
The following table describes Bit Usage and ON/OFF Combinations for bits 1
through 16 for the third register (4x+2).
Bit Usage
1 No subroutine for Interrupt 3
2 No subroutine for Interrupt 2
3 No subroutine for Interrupt 1
4 No subroutine for timer/counter interrupt
5-9 Reserved
10 Interrupt 3
0 - Disabled
1 - Enabled
11 Interrupt 2
0 - Disabled
1 - Enabled
12 Interrupt 1
0 - Disabled
1 - Enabled
13 Interrupt serve for time/counter input
0 - Disabled
1 - Enabled
14 Auto restart operation
0 - Disabled
1 - Enabled
15 Counter/timer operation
0 - Stopped
1 - Started
16 0 - Counter Mode
1 - Timer Mode
36
Introduction
This chapter describes the instruction DCTR.
Short Description
Function Description
The DCTR instruction counts control input transitions from OFF to ON down from a
counter preset value to zero.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
37
Introduction
This chapter describes the instruction DIOH.
Short Description
Function Description
The DIOH instruction lets you retrieve health data from a specified group of drops
on the distributed I/O network. It accesses the DIO health status table, where health
data for modules in up to 189 distributed drops is stored.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Digits Meaning
xx Decimal value in the range 00 ... 16, indicating the slot number in which the
relevant DIO processor resides. The value 00 can always be used to indicate the
Modbus Plus ports on the PLC, regardless of the slot in which it resides.
yy Decimal value in the range 1 ... 64, indicating the drop number on the appropriate
token ring
For example, if you are interested in retrieving drop status starting at distributed drop
#1 on a network being handled by a DIO processor in slot 3, enter 0301 in the top
node.
38
Introduction
This chapter describes the instruction DISA.
Short Description
Function Description
The Disabled Discrete Monitor (DISA) is a loadable function, an instruction that
monitors disabled coils and inputs. Therefore, DISA monitors the disabled states of
all 0xxxx and 1xxxx addresses.
Representation
Symbol
Representation of the instruction
NOTE: The NSUP loadable must be loaded prior to loading the DISA loadable.
Parameter Description
Description of the instruction’s parameters
DIV: Divide
39
Introduction
This chapter describes the instruction DIV.
Short Description
Function Description
The DIV instruction divides unsigned value 1 (its top node) by unsigned value 2 (its
middle node) and posts the quotient and remainder in two contiguous holding
registers in the bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Example
Short Description
Function Description
NOTE: This instruction is only available with the PLC family TSX Compact.
PCMCIA read and write support consists of a configuration extension to be
implemented using a DLOG instruction. The DLOG instruction provides the facility
for an application to copy data to a PCMCIA flash card, copy data from a PCMCIA
flash card, erase individual memory blocks on a PCMCIA flash card, and to erase
an entire PCMCIA flash card. The data format and the frequency of data storage are
controlled by the application.
NOTE: The DLOG instruction will only operate with PCMCIA linear flash cards that
use AMD flash devices.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Error Codes
The displayed register of the control block contains the following DLOG errors in
Hex-code.
41
Introduction
This chapter describes the four double precision math operations executed by the
instruction DMTH. The four operations are addition, subtraction, multiplication, and
division.
Short Description
Function Description
The Double Precision Math (DMTH) instruction performs double precision addition,
subtraction, multiplication, or division (set by bottom node). DMTH uses 2 registers
appended together to form one operand.
Each DMTH instruction operates on the same two operands.
z OP1 = 4x, 4x + 1 (top node)
z OP2 = 4y, 4y + 1 (middle node)
Function Codes
The DMTH instruction performs any one of four possible double precision math
operations. DMTH performs the operation by calling a function. To call the desired
function enter a function code in the bottom node. Function codes range from 1 ... 4.
Notes:
z For numbers spread over more than one register, the least significant 4 digits are
stored in the highest holding register.
z Results, flags, and remainders are stored in the registers following OP2.
z Registers not used by the chosen math function may be used for other purposes.
z The Subtract Function uses the outputs to indicate the result of comparison
between Operands OP1 and OP2.
Representation
Overview
This topic describes the addition, subtraction, multiplication, and division operations,
which are the four operations performed by the instruction DMTH. Each operations
has a symbol, which is a graphical representation of the instruction, and a
parameter description, which is a table-format representation of the instruction.
Symbol -Addition
Representation of the instruction for the addition operation
Symbol - Subtraction
Representation of the instruction for the subtraction operation
Symbol - Multiplication
Representation of the instruction for the multiplication operation
Symbol - Division
Representation of the instruction for the division operation
42
Introduction
This chapter describes the instruction DRUM.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75."
The DRUM instruction operates on a table of 4x registers containing data
representing each step in a sequence. The number of registers associated with this
step data table depends on the number of steps required in the sequence. You can
pre-allocate registers to store data for each step in the sequence, thereby allowing
you to add future sequencer steps without having to modify application logic.
DRUM incorporates an output mask that allows you to selectively mask bits in the
register data before writing it to coils. This is particularly useful when all physical
sequencer outputs are not contiguous on the output module. Masked bits are not
altered by the DRUM instruction, and may be used by logic unrelated to the
sequencer.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
The remaining registers contain data for each step in the sequence.
43
Introduction
This chapter describes the instruction DV16.
Short Description
Function Description
The DV16 instruction performs a signed or unsigned division on the 16-bit values in
the top and middle nodes (value 1 / value 2), then posts the quotient and remainder
in two contiguous 4x holding registers in the bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Example
III
Introduction
In this part all instruction descriptions start with E.
EARS - Event/Alarm
Recording System
44
Introduction
This chapter describes the instruction EARS.
Short Description
Function Description
The EARS block is loaded to a PLC used in an alarm/event recording system. An
EARS system requires that the PLC work in conjunction with a human-machine
interface (HMI) host device that runs a special offline software package. The PLC
monitors a specified group of events for changes in state and logs change data into
a buffer. The data is then removed by the host over a high speed network such as
Modbus Plus. The two devices comply with a defined handshake protocol that
ensures that all data detected by the PLC is accurately represented in the host.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Overview
This topic provides detailed and expanded information in table form for the top and
middle nodes, and the middle node provides further information, which is detailed in
three additional tables.
Therefore, there are five tables in this topic.
z register table (top node)
z data register table (middle node)
z status/error codes table
z event-change data table
z binary weighted value table
Register Content
4x Indirect pointer to the current state table for example if the register contains a
value of 5, then the state table begins at register 40005; the indirect pointer
register must be hard-coded by the programmer
4x+1 Contains a value in the range 1 through 62 that specifies the number of
registers in the current state table; this value must be hard-coded by the
programmer
4x+2 First register of the history table, and the remaining registers allocated to the
top node may be used in the table as required; the history table can provide
monitoring for as many as 992 contiguous events (if 16 bits in all the 62
available registers are used)
Register Content
4x A value that defines the maximum number of registers the circular buffer may
occupy
4x+1 The Q_take pointer - the pointer to the next register where the host will go to
remove data
4x+2 The low byte contains the Q_put pointer - the pointer to the register in the
circular buffer where the EARS block will begin to place the next state-change
data. The high byte contains the last transaction number received.
4x+3 The Q+count is a value indicating the number of words currently in the circular
buffer.
4x+4 The 4x+4 register gives Status/Error information
For an explanation of the codes and the status/error messages that the code
represents please see the Status/Error Codes Table below.
4x+5 The 4x+5 register
z Gives Event-change data
z Is the first register in a circular buffer
z Is where Event-change data are stored
Each change in event status produces two contiguous registers, and those
registers are explained in the Event-change Data Table below.
Code Condition
1 Invalid block length
2 Invalid clock request
3 Invalid clock configuration
4 Invalid state length
5 Invalid queue put
6 Invalid queue take
7 Invalid state
8 Invalid queue count
9 Invalid sequence number
10 Count removed
255 Bad clock chip
Bit Usage
1-4 Four most significant bits of Event Time Stamp
5 Transition Event Type
0 = Negative
1 = Positive
6 Reserved
7 - 16 Event Number (1 ... 992)
Bit Usage
1 - 16 Sixteen least significant bits of Event Time Stamp
The time stamp is encoded in 20 bits as a binary weighted value that represents the
time in an increment of 0.1 s (tenths of a second), starting from midnight of the day
on which the status change was detected.
z 1 hour = 3600 seconds = 36000 tenths of a second
z 24 hours = 86,400 seconds = 864,000 tenths of a second
For expanded and detailed information on binary weighted values for the time stamp
see the Binary Weighted Values Table below.
The following table shows binary weighted values for the time stamp, where n is the
relative bit position in the 20-bit time scheme.
2n n 2n n 2n n
1 0 256 8 65536 16
2 1 512 9 131072 17
4 2 1024 10 262144 18
8 3 2048 11 524288 19
16 4 4096 12
32 5 8192 13
64 6 16384 14
128 7 32768 15
NOTE: The real time clock in chassis mount controllers has a tenth-of-a-second
resolution, but the other 984s have real time clock chips that resolve only to a
second. An algorithm is used in EARS to provide a best estimate of tenth-of-a-
second resolution. The algorithmic estimate is accurate in relative time intervals
between events, but the estimate may vary slightly from the real time clock.
45
Introduction
This chapter describes the instruction EMTH.
Short Description
Function Description
This instruction accesses a library of double-precision math, square root and
logarithm calculations and floating point (FP) arithmetic functions.
The EMTH instruction allows you to select from a library of 38 extended math
functions. Each of the functions has an alphabetical indicator of variable
subfunctions that can be selected from a pulldown menu in your panel software and
appears in the bottom node. EMTH control inputs and outputs are function-
dependent.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
EMTH-ADDDP:
Double Precision Addition
46
Introduction
This chapter describes the EMTH subfunction EMTH-ADDDP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Double Precision Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Register stores the low-order half of operand 1
Range 0 000 ... 9 999, for a combined double precision value in the
range 0 ... 99 999 999
First implied Register stores the high-order half of operand 1
Range 0 000 ... 9 999, for a combined double precision value in the
range 0 ... 99 999 999
Register Content
Displayed Register stores the low-order half of operand 2, respectively, for a
combined double precision value in the range 0 ... 99 999 999
First implied Register stores the high-order half of operand 2, respectively, for a
combined double precision value in the range 0 ... 99 999 999
Second implied The value stored in this register indicates whether an overflow
condition exists (a value of 1 = overflow)
Third implied Register stores the low-order half of the double precision sum.
Fourth implied Register stores the high-order half of the double precision sum.
Fifth implied Register is not used in the calculation but must exist in state RAM
EMTH-ADDFP:
Floating Point Addition
47
Introduction
This chapter describes the EMTH subfunction EMTH-ADDFP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Registers store the FP value 1.
First implied
Register Content
Displayed Registers store the FP value 2.
First implied
Second implied Registers store the sum of the addition in FP format.
Third implied
EMTH-ADDIF:
Integer + Floating Point Addition
48
Introduction
This chapter describes the EMTH subfunction EMTH-ADDIF.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The double precision integer value to be added to the FP value is
First implied stored here.
Register Content
Displayed Registers store the FP value to be added in the operation.
First implied
Second implied The sum is posted here in FP format.
Third implied
EMTH-ANLOG:
Base 10 Antilogarithm
49
Introduction
This chapter describes the EMTH subfunction EMTH-ANLOG.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Integer Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Most significant bits
First implied Least significant bits
The largest antilog value that can be calculated is 99770006 (9977 posted in the
displayed register and 0006 posted in the implied register).
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed An FP value indicating the cosine of an angle between 0 ... p radians
First implied is stored here.
This value must be in the range of -1.0 ... +1.0;
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The arc cosine in radians of the FP value in the top node is posted
Third implied here.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed An FP value indicating the sine of an angle between -π/2 ... π/2
First implied radians is stored here. This value (the sine of an angle) must be in
the range of -1.0 ... +1.0;
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The arcsine of the value in the top node is posted here in FP format.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed An FP value indicating the tangent of an angle between -π/2 ... π/2
First implied radians is stored here. Any valid FP value is allowed.;
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The arc tangent in radians of the FP value in the top node is posted
Third implied here.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The FP value whose sign will be changed is stored here.
First implied
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The top node FP value with changed sign is posted here.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
EMTH-CMPFP:
Floating Point Comparison
54
Introduction
This chapter describes the EMTH subfunction EMTH-CMPFP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The first FP value (value 1) to be compared is stored here.
First implied
Register Content
Displayed The second FP value (value 2) to be compared is stored here.
First implied
Second implied Registers are not used but their allocation in state RAM is required.
Third implied
EMTH-CMPIF: Integer-Floating
Point Comparison
55
Introduction
This chapter describes the EMTH subfunction EMTH-CMPIF.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The double precision integer value to be compared is stored here.
First implied
Register Content
Displayed The FP value to be compared is stored here.
First implied
Second implied Registers are not used but their allocation in state RAM is required.
Third implied
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The value in FP format of an angle in degrees is stored here.
First implied
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The converted result in FP format of the top-node value (in radians)
Third implied is posted here.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The double precision integer result of the conversion is stored here.
Third implied This value should be the largest integer value possible that is ≤ the
FP value.
For example, the FP value 3.5 is converted to the integer value 3,
while the FP value -3.5 is converted to the integer value -4.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Runtime Error Handling
Runtime Errors
If the resultant integer is too large for double precision integer format (> 99 999 999),
the conversion still occurs but an error is logged in the EMTH_ERLOG function.
EMTH-CNVIF: Integer to
Floating Point Conversion
58
Introduction
This chapter describes the EMTH subfunction EMTH-CNVIF.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The double precision integer value to be converted to 32-bit FP
First implied format is stored here.
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The FP result of the conversion is posted here.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Runtime Error Handling
Runtime Errors
If an invalid integer value ( > 9 999) is entered in either of the two top-node registers,
the FP conversion will be performed but an error will be reported and logged in the
EMTH_ERLOG function. The result of the conversion may not be correct.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The value in FP format of an angle in radians is stored here.
First implied
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The converted result in FP format of the top-node value (in degrees)
Third implied is posted here.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed An FP value indicating the value of an angle in radians is stored
First implied here. The magnitude of this value must be < 65 536.0.
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The cosine of the value in the top node is posted here in FP format.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
EMTH-DIVDP:
Double Precision Division
61
Introduction
This chapter describes the EMTH subfunction EMTH-DIVDP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Double Precision Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Low-order half of operand 1 is stored here.
First implied High-order half of Operand 1 is stored here.
Each register holds a value in the range 0000 ... 9 999, for a combined double
precision value in the range 0 ... 99 999 999.
Register Content
Displayed Register stores the low-order half of operand 2, respectively, for a
combined double precision value in the range 0 ... 99 999 999
First implied Register stores the high-order half of operand 2, respectively, for a
combined double precision value in the range 0 ... 99 999 999.
Second implied Registers store an eight-digit quotient.
Third implied
Fourth implied Registers store the remainder.
Fifth implied z f it is expressed as a decimal, it is four digits long and only the
fourth implied register is used.
z If it is expressed as a fraction, it is eight digits long and both
registers are used
Runtime Errors
Since division by 0 is illegal, a 0 value causes an error, an error trapping routine sets
the remaining middle-node registers to 0000 and turns the bottom output ON.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The FP value to be divided by the integer value is stored here.
First implied
Register Content
Displayed The double precision integer value that divides the FP value is
First implied posted here.
Second implied The quotient is posted here in FP format.
Third implied
EMTH-DIVFP:
Floating Point Division
63
Introduction
This chapter describes the instrcution EMTH-DIVFP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed FP value 1, which will be divided by the value 2, is stored here.
First implied
Register Content
Displayed FP value 2, the value by which value 1 is divided, is stored here
First implied
Second implied The quotient is posted here in FP format.
Third implied
EMTH-DIVIF: Integer
Divided by Floating Point
64
Introduction
This chapter describes the instruction EMTH-DIVIF.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The double precision integer value to be divided by the FP value is
First implied stored here.
Register Content
Displayed The FP value to be divided in the operation is posted here.
First implied
Second implied The quotient is posted here in FP format.
Third implied
EMTH-ERLOG: Floating
Point Error Report Log
65
Introduction
This chapter describes the instrcution EMTH-ERLOG.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed These two registers are not used in the operation but their allocation
First implied in state RAM is required.
Register Content
Displayed Error log register, see table.
First implied This register has all its bits cleared to zero.
Second implied These two registers are not used but their allocation in state RAM is
Third implied required.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since these registers must be allocated but none
are used.
Bit Function
1-8 Function code of last error logged
9 - 11 Not used
12 Integer/FP conversion error
13 Exponential function power too large
14 Invalid FP value or operation
15 FP overflow
16 FP underflow
If the bit is set to 1, then the specific error condition exists for that bit.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed A value in FP format in the range -87.34 ... +88.72 is stored here.
First implied If the value is out of range, the result will either be 0 or the maximum
value. No error will be flagged.
Register Content
Displayed These registers are not used but their allocation in state RAM is
First implied required
Second implied The exponential of the value in the top node is posted here in FP
Third implied format.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed A value > 0 is stored here in FP format.
First implied If the value ≤ 0, an invalid result will be returned in the middle node
and an error will be logged in the EMTH-ERLOG function.
Register Content
Displayed These registers are not used but their allocation in state RAM is
First implied required
Second implied The natural logarithm of the value in the top node is posted here in
Third implied FP format.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
68
Introduction
This chapter describes the EMTH subfunction EMTH-LOG.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Integer Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The high-order half of the value is stored here.
First implied The low-order half of the value is stored here.
If you specify a 3x register, the source value may be in the range 0 ... 9 999:
Register Content
Displayed The source value upon which the log calculation will be performed is
stored here
First implied This register is required but not used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed A value > 0 is stored here in FP format.
First implied If the value ≤ 0, an invalid result will be returned in the middle node
and an error will be logged in the EMTH-ERLOG function.
Register Content
Displayed These registers are not used but their allocation in state RAM is
First implied required
Second implied The common logarithm of the value in the top node is posted here in
Third implied FP format.
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
EMTH-MULDP:
Double Precision Multiplication
70
Introduction
This chapter describes the EMTH subfunction EMTH-MULDP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Double Precision Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Register stores the low-order half of operand 1
Range 0 000 ... 9 999, for a combined double precision value in the
range 0 ... 99 999 999
First implied Register stores the high-order half of operand 1
Range 0 000 ... 9 999, for a combined double precision value in the
range 0 ... 99 999 999
Register Content
Displayed Register stores the low-order half of operand 2, respectively, for a
combined double precision value in the range 0 ... 99 999 999
First implied Register stores the high-order half of operand 2, respectively, for a
combined double precision value in the range 0 ... 99 999 999
Second implied These registers store the double precision product in the range 0 ...
Third implied 9 999 999 999 999 999
Fourth implied
Fifth implied
EMTH-MULFP:
Floating Point Multiplication
71
Introduction
This chapter describes the EMTH subfunction EMTH-MULFP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed FP value 1 in the multiplication operation is stored here.
First implied
Register Content
Displayed FP value 2 in the multiplication operation is stored here.
First implied
Second implied The product of the multiplication is stored here in FP format.
Third implied
EMTH-MULIF: Integer x
Floating Point Multiplication
72
Introduction
This chapter describes the EMTH subfunction EMTH-MULIF.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The double precision integer value to be multiplied by the FP value
First implied is stored here.
Register Content
Displayed The FP value to be multiplied in the operation is stored here.
First implied
Second implied The product of the multiplication is stored here in FP format.
Third implied
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed These registers are not used but their allocation in state RAM is
First implied required.
Register Content
Displayed These registers are not used but their allocation in state RAM is
First implied required.
Second implied The FP value of π is posted here.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The FP value to be raised to the integer power is stored here.
First implied
Register Content
Displayed The bit values in this register must all be cleared to zero.
First implied An integer value representing the power to which the top-node value
will be raised is stored here.
Second implied The result of the FP value being raised to the power of the integer
Third implied value is stored here.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed An FP value indicating the value of an angle in radians is stored
First implied here. The magnitude of this value must be < 65 536.0.
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The sine of the value in the top node is posted here in FP format.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
EMTH-SQRFP:
Floating Point Square Root
76
Introduction
This chapter describes the EMTH subfunction EMTH-SQRFP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The FP value on which the square root operation is performed is
First implied stored here.
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The result of the square root operation is posted here in FP format.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
EMTH-SQRT:
Floating Point Square Root
77
Introduction
This chapter describes the EMTH subfunction EMTH-SQRT.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Integer Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The high-order half of the value is stored here.
First implied The low-order half of the value is stored here.
If you specify a 3x register, the source value may be in the range 0 ... 9 999:
Register Content
Displayed The square root calculation is done on only the value in the
displayed register
First implied This register is required but not used.
Register Content
Displayed This register stores the four-digit value to the left of the first decimal
point.
First implied This register stores the four-digit value to the right of the first decimal
point.
NOTE: Numbers after the second decimal point are truncated; no round-off
calculations are performed.
EMTH-SQRTP:
Process Square Root
78
Introduction
This chapter describes the EMTH subfunction EMTH-SQRTP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Integer Math."
The process square root function tailors the standard square root function for closed
loop analog control applications. It takes the result of the standard square root result,
multiplies it by 63.9922 (the square root of 4 095) and stores that linearized result in
the middle-node registers.
The process square root is often used to linearize signals from differential pressure
flow transmitters so that they may be used as inputs in closed loop control
operations.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Not used
First implied The source value will be stored here
Register Content
Displayed The source value will be stored here
First implied Not used.
Register Content
Displayed This register stores the four-digit value to the left of the first decimal
point.
First implied This register stores the four-digit value to the right of the first decimal
point.
NOTE: Numbers after the second decimal point are truncated; no round-off
calculations are performed.
Example
The linearized result is placed in the two registers in the middle node:
EMTH-SUBDP:
Double Precision Subtraction
79
Introduction
This chapter describes the EMTH subfunction EMTH-SUBDP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Double Precision Math."
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Register stores the low-order half of operand 1
Range 0 000 ... 9 999, for a combined double precision value in the
range 0 ... 99 999 999
First implied Register stores the high-order half of operand 1
Range 0 000 ... 9 999, for a combined double precision value in the
range 0 ... 99 999 999
Register Content
Displayed Register stores the low-order half of operand 2 for a combined
double precision value in the range 0 ... 99 999 999
First implied Register stores the high-order half of operand 2 for a combined
double precision value in the range 0 ... 99 999 999
Second implied This register stores the low-order half of the absolute difference in
double precision format
Third implied This register stores the high-order half of the absolute difference in
double precision format
Fourth implied 0 = operands in range
1 = operands out of range
Fifth implied This register is not used in the calculation but must exist in state
RAM.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The FP value from which the integer value is subtracted is stored
First implied here.
Register Content
Displayed Registers store the double precision integer value to be subtracted
First implied from the FP value.
Second implied The difference is posted here in FP format.
Third implied
EMTH-SUBFP:
Floating Point Subtraction
81
Introduction
This chapter describes the EMTH subfunction EMTH-SUBFP.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed FP value 1 (the value from which value 2 will be subtracted) is stored here.
First implied
Register Content
Displayed FP value 2 (the value to be subtracted from value 1) is stored in
First implied these registers
Second implied The difference of the subtraction is stored here in FP format.
Third implied
EMTH-SUBIF: Integer -
Floating Point Subtraction
82
Introduction
This chapter describes the EMTH subfunction EMTH-SUBIF.
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed The double precision integer value from which the FP value is
First implied subtracted is stored here.
Register Content
Displayed Registers store the FP value to be subtracted from the integer value.
First implied
Second implied The difference is posted here in FP format.
Third implied
Short Description
Function Description
This instruction is a subfunction of the EMTH instruction. It belongs to the category
"Floating Point Math."
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed An FP value indicating the value of an angle in radians is stored
First implied here. The magnitude of this value must be < 65 536.0.
Register Content
Displayed Registers are not used but their allocation in state RAM is required.
First implied
Second implied The tangent of the value in the top node is posted here in FP format.
Third implied
NOTE: To preserve registers, you can make the 4x reference numbers assigned to
the displayed register and the first implied register in the middle node equal to the
register references in the top node, since the first two middle-node registers are not
used.
84
Introduction
This chapter describes the instruction ESI.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see the chapter Installation of DX Loadables,
page 75.
The instruction for the ESI module 140 ESI 062 10 are optional loadable instructions
that can be used in a Quantum controller system to support operations using an ESI
module. The controller can use the ESI instruction to invoke the module. The power
of the loadable is its ability to cause a sequence of commands over one or more logic
scans.
With the ESI instruction, the controller can invoke the ESI module to:
z Read an ASCII message from a serial port on the ESI module, then perform a
sequence of GET DATA transfers from the module to the controller.
z Write an ASCII message to a serial port on the ESI module after having
performed a sequence of PUT DATA transfers to the variable data registers in the
module.
z Perform a sequence of GET DATA transfers (up to 16 384 registers of data from
the ESI module to the controller); one Get Data transfer will move up to 10 data
registers each time the instruction is solved.
z Perform a sequence of PUT DATA (up to 16 384 registers of data to the ESI
module from the controller). One PUT DATA transfer moves up to 10 registers of
data each time the instruction is solved.
z Abort the ESI loadable command sequence running.
NOTE: After placing the ESI instruction in your ladder diagram, you must enter the
top, middle, and bottom parameters. Proceed by double clicking on the instruction.
This action produces a form for the entry of the 3 parameters. This parametric must
be completed to enable the DX zoom function in the Edit menu pulldown.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Top Input
When the input to the top node is powered ON, it enables the ESI instruction and
starts executing the command indicated by the subfunction code in the top node.
Middle Input
When the input to the middle node is powered ON, an Abort command is issued. If
a message is running when the ABORT command is received, the instruction will
complete; if a data transfer is in process when the ABORT command is received, the
transfer will stop and the instruction will complete.
NOTE: A fifth command, (ABORT ASCII Message (see page 473)), can be initiated
by enabling the middle input to the ESI instruction.
NOTE: Once power has been applied to the top input, the ESI loadable starts
running. Until the ESI loadable compiles (successfully or in error), the subfunction
parameters should not be modified. If the ESI loadable detects a change, the
loadable will compile in error (Parameter Table).
Ouptuts
NOTE: NSUP must be loaded before ESI in order for the loadable to work properly.
If ESI is loaded before NSUP or ESI is loaded alone, all three outputs will be turned
ON.
Middle Output
The middle output goes ON for one scan when the subfunction operation specified
in the top node is completed, timed out, or aborted
Bottom Output
The bottom output goes ON for one scan if an error has been detected. Error
checking is the first thing that is performed on the instruction when it is enabled, it it
is completed before the subfunction is executed. For more details, see Run Time
Errors, page 474.
Command Structure
Command Structure
Response Structure
Command Structure
The subfunction parameter table begins at register 401000 . Enter the following
parameters in the table:
With these parameters entered to the table, the ESI instruction will handle the read
and data transfers automatically in one scan.
Contents of registers
The first network starts up the READ ASCII Message command by turning ON coil
000011 forever. It moves the READ ASCII Message command into the workspace,
then moves the workspace to the output registers for the module.
Second Network
Contents of registers
As long as coil 000011 is ON, READ ASCII Message response Word 0 in the input
register is tested to make sure it is the same as command Word 0 in the workspace.
This is done by ANDing response Word 0 in the input register with 7FFF hex to get
rid of the Status Word Valid bit (bit 15) in Response Word 0.
The module start register in the input register is also tested against the module start
register in the workspace to make sure that are the same.
If both these tests show matches, test the Status Word Valid bit in response Word
0. To do this, AND response Word 0 in the input register with 8000 hex to get rid of
the echoed command word 0 information. If the ANDed result equals the Status
Word Valid bit, coil 000020 is turned ON indicating an error and/or status in the
Module Status Word. If the ANDed result is not the status word valid bit, coil 000012
is turned ON indicating that the message is done and that you can start another
command in the module.
Third Network
If coil 000020 is ON, this third network will test the Module Status Word for busy
status. If the module is busy, do nothing. If the Module Status Word is greater than
1 (busy), a detected error has been logged in the high byte and coil 000099 will be
turned ON. At this point, you need to determine what the error is using some error-
handling logic that you have developed.
Command Structure
Command Structure
Response Structure
Response Structure
GET DATA
A GET DATA command transfers up to 10 registers of data from the ESI module to
the controller each time the ESI instruction is solved in ladder logic. The total number
of words to be read is specified in Word 0 of the GET DATA command structure (the
data count). The data is returned in increments of 10 in Words 2 ... 11 in the GET
DATA response structure.
If a sequence of GET DATA commands is being executed in conjunction with a
READ ASCII Message command (via subfunction 1), up to nine registers are
transferred when the instruction is solved the first time. Additional data are returned
in groups of ten registers on subsequent solves of the instruction until all the data
has been transferred
If there is an error condition to be reported (other than a command syntax error), it
is reported in Word 11 in the GET DATA response structure. If the command has
requested 10 registers and the error needs to be reported, only nine registers of data
will be returned in Words 2 ... 10, and Word 11 will be used for error status.
NOTE: If the data count and starting register number that you specify are valid but
some of the registers to be read are beyond the valid register range, only data from
the registers in the valid range will be read. The data count returned in Word 0 of the
response structure will reflect the number of valid data registers returned, and an
error code (1280 hex) will be returned in the Module Status Word (Word 11 in the
response table).
Command Structure
Command Structure
Response Structure
Response Structure
PUT DATA
A PUT DATA command writes up to 10 registers of data to the ESI module from the
controller each time the ESI instruction is solved in ladder logic. The total number of
words to be written is specified in Word 0 of the PUT DATA command structure (the
data count).
The data is returned in increments of 10 in words 2 ... 11 in the PUT DATA command
structure. The command is executed sequentially until command word 0 changes to
another command other than PUT DATA (040D hex).
NOTE: If the data count and starting register number that you specify are valid but
some of the registers to be written are beyond the valid register range, only data
from the registers in the valid range will be written. The data count returned in Word
0 of the response structure will reflect the number of valid data registers returned,
and an error code (1280 hex) will be returned in the Module Status Word (Word 11
in the response table).
Command Structure
Command Structure
Response Structure
Response Structure
The subfunction parameter table begins at register 401000 . Enter the following
parameters in the table:
With these parameters entered to the table, the ESI instruction will handle the data
transfers automatically over three ESI logic solves.
Contents of registers
The first network starts up the transfer of the first 10 registers by turning ON coil
000011 forever. It moves the initial PUT DATA command into the workspace, moves
the first 10 registers (400501 ... 400510) into the workspace, and then moves the
workspace to the output registers for the module.
Second Network - Command Register Network
As long as coil 000011 is ON and coil 000020 is OFF, PUT DATA response word 0
in the input register is tested to make sure it is the same as the command word in
the workspace. The module start register in the input register is also tested to make
sure it is the same as the module start register in the workspace.
If both these tests show matches, the current module start register is tested against
what would be the module start register of the last PUT DATA command for this
transfer. If the test shows that the current module start register is greater than or
equal to the last PUT DATA command, coil 000020 goes ON indicating that the
transfer is done. If the test shows that the current module start register is less than
the last PUT DATA command, coil 000012 indicating that the next 10 registers
should be transferred.
Third Network - Command Register Network
As long as coil 000012 is ON, there is more data to be transferred. The module start
register needs to be tested from the last command solve to determine which set of
10 registers to transfer next. For example, if the last command started with module
register 400110, then the module start register for this command is 400120.
Fourth Network - Command Register Network
As long as coil 000012 is ON, add 10 to the module start register value in the
workspace and move the workspace to the output registers for the module to start
the next transfer of 10 registers.
ABORT
When the middle input to the ESI instruction is powered ON, the instruction aborts
a running ASCII READ or WRITE message. The serial port buffers of the module
are not affected by the ABORT, only the message that is currently running.
Command Structure
Command Structure
Response Structure
Response Structure
Once the parameter error checking has completed without finding an error, the ESI
module begins to execute the command sequence.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see "Installation of DX Loadables, page 75."
The use of ladder logic to convert binary-expressed analog data into decimal units
can be memory-intensive and scan-time intensive operation. The Engineering Unit
Conversion and Alarms (EUCA) loadable is designed to eliminate the need for extra
user logic normally required for these conversions. EUCA scales 12 bits of binary
data (representing analog signals or other variables) into engineering units that are
readily usable for display, data logging, or alarm generation.
Using Y = mX + b linear conversion, binary values between 0 ... 4095 are converted
to a scaled process variable (SPV). The SPV is expressed in engineering units in
the range 0 ... 9 999.
One EUCA instruction can perform up to four separate engineering unit conversions.
It also provides four levels of alarm checking on each of the four conversions:
Level Meaning
HA High absolute
HW High warning
LW Low warning
LA Low absolute
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Alarm Setting
Condition of alarm setting
Only one alarm condition can exist in any EUCA conversion at any given time. If the
SPV exceeds the high warning level the HW bit will be set. If the HA is exceeded,
the HW bit is cleared and the HA bit is set. The alarm bit will not change after
returning to a less severe condition until the deadband (DB) area has also been
exited.
NOTE: An error is generated if any value is out of the range defined above
Examples
Overview
The following examples are shown.
z Principles of EUCA Operation (example 1)
z Use in a Drive System (example 2)
z Four EUCA conversions together (example 3)
Example 1
This example demonstrates the principles of EUCA operation. The binary value is
manually input in the displayed register in the middle node, and the result is visually
available in the SPV register (the first implied register in the middle node).
The illustration below shows an input range equivalent of a 0 ... 100 V measure,
corresponding to the whole binary 12-bit range:
Programming the EUCA block is accomplished by selecting the EUCA loadable and
writing in the data as illustrated in the figure below:
Reference Data
The nine middle-node registers are set using the reference data editor. DB is 5 V
followed by 10 V increments of high and low warning. The actual high and low alarm
is set at 20 V above and below nominal.
NOTE: The example value shows a decimal 46, which is in the normal range. No
alarm is set, i.e., register 400440 = 0.
You can now verify the instruction in a running PLC by entering values in register
400450 that fall into the defined ranges. The verification is done by observing the bit
change in register 400440 where:
Example 2
If the input of 0 ... 4095 indicates the speed of a drive system of 0 ... 5000 rpm, you
could set up a EUCA instruction as follows.
The binary value in 400210 results in an SPV of 4835 decimal, which exceeds the
high absolute alarm level, sets the HA bit in 400209, and powers the EUCA alarm
node.
Parameter Speed
Maximum Speed 5 000 rpm
Minimum Speed 0 rpm
DB 100 rpm
HA Alarm 4 800 rpm
HW Alarm 4 450 rpm
LW Alarm 2 000 rpm
LA Alarm 1 200 rpm
Instruction
Reference Data
The N.O. contact is used to suppress alarm checks when the drive system is
shutdown, or during initial start up allowing the system to get above the Low alarm
RPM level.
Varying the binary value in register 400210 would cause the bits in nibble 1 of
register 400209 to correspond with the changes illustrated above. The DB becomes
effective when the alarm or warning has been set, then the signal falls into the DB
zone.
The alarm is maintained, thus taking what would be a switch chatter condition out of
a marginal signal level. This point is exemplified in the chart above, where after
setting the HA alarm and returning to the warning level at 4700 the signal crosses in
and out of DB at the warning level (4450) but the warning bit in 400209 stays ON.
The same action would be seen if the signal were generated through the low
settings.
Example 3
You can chain up to four EUCA conversions together to make one alarm status
register. Each conversion writes to the nibble defined in the block bottom node. In
the program example below, each EUCA block writes it‘s status (based on the table
values for that block) into a four bit (nibble) of the status register 400209.
Reference Data
The status register can then be transferred using a BLKM instruction to a group of
discretes wired to illuminate lamps in an alarm enunciator panel.
As you observe the status content of register 400209 you see: no alarm in block 1,
an LW alarm in block 2, an HW alarm in Block 3, and an HA alarm in block 4.
The alarm conditions for the four blocks can be represented with the following table
settings:
Instruction Descriptions (F to N)
IV
Introduction
In this part instruction descriptions are arranged alphabetically from F to N.
FIN: First In
86
Introduction
This chapter describes the instruction FIN.
Short Description
Function Description
The FIN instruction is used to produce a first-in queue. A FOUT instruction needs to
be used to clear the register at the bottom of the queue. An FIN instruction has one
control input and can produce three possible outputs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Mode of Functioning
The FIN instruction is used to produce a first-in queue. It copies the source data from
the top node to the first register in a queue of holding registers. The source data is
always copied to the register at the top of the queue. When a queue has been filled,
no further source data can be copied to it.
87
Introduction
This chapter describes the instruction FOUT.
Short Description
Function Description
DANGER
DISABLED COILS
Before using the FOUT instruction, check for disabled coils. FOUT will override any
disabled coils within a destination register without enabling them. This can cause
injury if a coil has been disabled for repair or maintenance because the coil’s state
can change as a result of the FOUT operation.
Failure to follow these instructions will result in death or serious injury.
The FOUT instruction works together with the FIN instruction to produce a first in-
first out (FIFO) queue. It moves the bit pattern of the holding register at the bottom
of a full queue to a destination register or to word that stores 16 discrete outputs.
An FOUT instruction has one control input and can produce three possible outputs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Mode of Functioning
The FOUT instruction works together with the FIN instruction to produce a first in-
first out (FIFO) queue. It moves the bit pattern of the holding register at the bottom
of a full queue to a destination register or to word that stores 16 discrete outputs.
NOTE: The FOUT instruction should be placed before the FIN instruction in the
ladder logic FIFO to ensure removal of the oldest data from a full queue before the
newest data is entered. If the FIN block were to appear first, any attempts to enter
the new data into a full queue would be ignored.
88
Introduction
This chapter describes the instruction FTOI.
Short Description
Function Description
The FTOI instruction performs the conversion of a floating value to a signed or
unsigned integer (stored in two contiguous registers in the top node), then stores the
converted integer value in a 4x register in the middle node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
89
Introduction
This chapter describes the instruction GD92 AGA #3 and AGA #8 1992 detail
method.
Short Description
Function Description
The gas flow loadable function block allows you to run AGA 3 (1992) and AGA 8
(1992) equations. The computed flow rates agree within 1 ppm of the published AGA
standards.
The GD92 instruction uses the detail method of characterization requiring detailed
knowledge of the gas composition.
The GD92 gas flow loadable function block is available only on certain Compact and
Micro controllers.
NOTE: GD92 does not support API 21.1 audit trail. GD92 only supports a single
meter run.
NOTE: You must install the LSUP loadable before the GD92.
More Information
For detailed information about the gas flow function block loadables, especially the:
z system warning/error codes (4x+0) for each instruction
z program warning/error codes (4x+1) for each instruction
z API 21.1 Audit Trail
z GET_LOGS.EXE utility
z SET_SIZE.EXE utility
please see the Modicon Starling Associates Gas Flow Loadable Function Block
User Guide (890 USE 137).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Configuration Table
You must fill in all pertinent values in the configuration table using the reference data
editor either in ProWORX or Concept, or the DX Zoom screens in Modsoft, or Meter
Manager. The following inputs table lists all the configuration parameters that you
must be fill in.
The outputs (Outputs Results Table) and the optional outputs (Optional Outputs
Results Table) show the calculation results of the block. Some of those parameters
are required.
NOTE: Only valid entries are allowed. Entries outside the valid ranges are not
accepted. Illegal entries result in errors or warnings.
NOTE: Concept 2.1 or higher may be used to load the gas blocks. However,
Concept and ProWORX do not provide help or DX zoom screens for configuration.
When using Concept or ProWORX panel software, we recommend you use Meter
Manager for your configuration needs.
Inputs
The following is a detailed description of configuration variables for the GD92 gas
flow function block.
Inputs Description
4xxxx+3: 1 through 2 Location of Taps
1 - Upstream
2 - Downstream
4xxxx+3: 3 through 4 Meter Tube Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 5 through 6 Orfice Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 7 through 8 Reserved for Future Use (Do not use)
4xxxx+3: 9 through 10 Optional Outputs
1 - Yes
2 - No
Note: When using only the standard outputs, the loadable uses
157 4xxxx registers. When using the optional outputs, the
loadable uses 181 4xxxx registers.
4xxxx+3: 11 through 16 Reserved for Future Use (Do not use)
Inputs Description
4xxxx+4: 1 Absolute/Gauge Pressure
0 - Static Pressure Measured in Absolute Units
1 - Static Pressure Measured in Gauge Units
4xxxx+4: 2 Low Flow Cut Off
0 - Do Not Use Flow Cut Off
1 - Use Flow Cut Off
4xxxx+4: 3 through 6 Load Command
0 - Ready to Accept Command
1 - CMD: Send Configuration to Internal Table from 4xxxx
2 - CMD: Read Configuration from Internal Table to 4xxxx
3 - CMD: Reset API 21.1 configuration change log
4xxxx+4: 7 through 8 Input Type
1 - 3xxxx Pointers entered in 4x+6 ... 4x+10
2 - Input Values entered in 4x+6 ... 4x+10
4xxxx+4: 9 through 10 Mole % Error Limits
1 - Enable
2 - Disable
4xxxx+4: 11 through 12 Dual Range Differential Pressure Option
1 - Yes
2 - No
4xxxx+4: 13 through 14 Compressible/Incompressible
1 - Compressible
2 - Incompressible
4xxxx+4: 15 through 16 Averaging Methods
0 - Flow Dependent Time Weighted Linear
1 - Flow Dependent Time Weighted Formulaic
2 - Flow Weighted Linear
3 - Flow Weighted Formulaic
Note: For most applications you will use 0.
4xxxx+5: 1 through 2 Measurement Units
1 - US
2 - Metric (SI)
4xxxx+5: 3 through 16 Reserved for Future Use (Do not use)
4xxxx+6 Temperature 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+7 Pressure (absolute) 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+8 Differential Pressure 1 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+9 Differential Pressure 2 3xxxx Pointer or Input Value
Data type: Unsigned integer value
Inputs Description
4xxxx+10 Analog Input Raw Value Minimum Temperature
Data type: Unsigned integer value
4xxxx+11 Analog Input Raw Value Maximum Temperature
Data type: Unsigned integer value
4xxxx+12 Analog Input Raw Value Minimum Pressure
Data type: Signed integer value
4xxxx+13 Analog Input Raw Value Maximum Pressure
Data type: Signed integer value
4xxxx+14 Analog Input Raw Value Minimum Differential Pressure 1
Data type: Signed integer value
4xxxx+15 Analog Input Raw Value Maximum Differential Pressure 1
Data type: Signed integer value
4xxxx+16 Analog Input Raw Value Minimum Differential Pressure 2
Data type: Signed integer value
4xxxx+17 Analog Input Raw Value Maximum Differential Pressure 2
Data type: Signed integer value
4xxxx+18 through 19 Engineering Unit Temperature Minimum
-200 through 760°F (-128.89 through 404.4°C)
Data type: Floating point number
4xxxx+20 through 21 Engineering Unit Temperature Maximum
-200 through 760°F (-128.89 through 404.4°C)
Data type: Floating point number
4xxxx+22 through 23 Engineering Unit Pressure Minimum
0 through 40,000psia (0 through 275,790.28kPa)
Data type: Floating point number
4xxxx+24 through 25 Engineering Unit Pressure Maximum
0 through 40,000psia (0 through 275,790.28kPa)
Data type: Floating point number
4xxxx+26 through 27 Engineering Unit Differential Pressure 1 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+28 through 29 Engineering Unit Differential Pressure 1 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+30 through 31 Engineering Unit Differential Pressure 2 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+32 through 33 Engineering Unit Differential Pressure 2 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
Inputs Description
4xxxx+34 through 35 Orifice Plate Diameter, d r
(0 < dr < 100in) (0 < dr < 2540mm)
Data type: Floating point number
4xxxx+36 through 37 Orifice Plate Diameter Measurement Temperature, T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+38 through 39 Meter Tube Internal Diameter D r
(0 <Dr <100in) (0 < Dr < 2540mm)
Data type: Floating point number
4xxxx+40 through 41 Measured Meter Tube Internal Diameter Temperature T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+42 through 43 Base Temperature, T b
(32.0 <= Tb < 77.0°F) (0 <= Tb < 25°C)
Data type: Floating point number
4xxxx+44 through 45 Base Pressure, P b
(13.0 <= Pb < 16.0PSIA) (89.63 <= Pb < 110.32kPa)
Data type: Floating point number
4xxxx+46 through 47 Reference Temperature for Relative Density, T gr
(32.0 <= Tgr < 77.0°F) (0 <= Tgr < 25°C)
Data type: Floating point number
4xxxx+48 through 49 Reference Pressure for Relative Density, P gr
(13.0 <= Pgr < 16.0PSIA) (89.63 <= Pgr < 110.32kPa)
Data type: Floating point number
4xxxx+50 through 57 Reserved for Future Use (Do not use)
4xxxx+58 through 59 User Input Correction Factor, F u
(0 < Fu < 2.0)
Data type: Floating point number
4xxxx+60 through 61 Absolute Viscosity of Flowing Fluid, μ c
(0.005 <= μc <= 0.5 centipoise)
Data type: Floating point number
4xxxx+62 through 63 Isentropic Exponent, k
(1.0 <= k < 2.0)
Data type: Floating point number
4xxxx+64 Beginning of Day Hour
(0 ... 23)
Data type: Unsigned integer value
4xxxx+65 through 78 Reserved for Future Use (Do not use)
Inputs Description
4xxxx+79 through 80 Atmospheric Pressure P at
(3 <= Pat <30psi) (20.684 <= Pat < 206.843kPa)
Data type: Floating point number
4xxxx+81 through 82 Low Flow Cut Off Level
(>= 0ft3/Hr) (>= 0m3/Hr)
Used if enabled in 4x+4: 2.
Data type: Floating point number
4xxxx+83 through 84 Mole % of Methane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+85 through 86 Mole % of Nitrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+87 through 88 Mole % of Carbon Dioxide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+89 through 90 Mole % of Ethane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
xxx+91 through 92 Mole % of Propane, x i
*(0.0 <= xi <= 12)
Data type: Floating point number
4xxxx+93 through 94 Mole % of Water, x i
*(0.0 <= xi <= 10)
Data type: Floating point number
4xxxx+95 through 96 Mole % of Hydrogen Sulfide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+97 through 98 Mole % of Hydrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+99 through 100 Mole % of Carbon Monoxide, x i
*(0.0 <= xi <= 3)
Data type: Floating point number
4xxxx+101 through 102 Mole % of Oxygen, x i
*(0.0 <= xi <= 21)
Data type: Floating point number
Inputs Description
4xxxx+103 through 104 Mole % of I-Butane, x i
*(0.0 <= xi <= 6) for combined butanes
Data type: Floating point number
4xxxx+105 through 106 Mole % of n-Butane, x i
*(0.0 <= xi <= 6) for combined butanes
Data type: Floating point number
4xxxx+107 through 108 Mole % of I-Pentane, x i
*(0.0 <= xi <= 4) for combined pentanes
Data type: Floating point number
4xxxx+109 through 110 Mole % of n-Pentane, x i
*(0.0 <= xi <= 4) for combined pentanes
Data type: Floating point number
4xxxx+111 through 112 Mole % of Hexane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+113 through 114 Mole % of Heptane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+115 through 116 Mole % of Octane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+117 through 118 Mole % of Nonane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+119 through 120 Mole % of Decane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+121 through 122 Mole % of Helium, x i
*(0.0 <= xi <= 30)
Data type: Floating point number
4xxxx+123 through 124 Mole % of Argon, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
*Valid range
Outputs Description
4xxxx+0 System Warning/Error Code (Displayed in Hex mode)
4xxxx+1 Program Warning/Error Code
4xxxx+2 Version Number (Displayed in Hex mode)
4xxxx+125 through 126 Temperature at Flowing Conditions (Tf) (F or C)
4xxxx+127 through 128 Pressure (Pf) (psia or kPa)
4xxxx+129 through 130 Differential Pressure (hw) (in H2O or kPa
4xxxx+131 through 132 Integral Value (IV)
4xxxx+133 through 134 Integral Multiplier Value (IMV)
4xxxx+135 through 136 Volume Flow Rate at Base Conditions (Tb, Pb), Qb
(ft3/hr or m3/hr)
4xxxx+137 through 138 Mass Flow Rate (Qm) (lbm/hr or Kg/hr)
4xxxx+139 through 140 Accumulated Volume Current Day
4xxxx+141 through 142 Accumulated Volume Last Hour
4xxxx+143 through 144 Accumulated Volume Last Day
4xxxx+145 through 146 Average Temperature Last Day
4xxxx+147 through 148 Average Pressure Last Day
4xxxx+149 through 150 Average Differential Pressure Last Day
4xxxx+151 through 152 Average IV Last Day
4xxxx+153 through 154 Average Volume Flow Rate at Base Conditions (Tb, Pb) for the
Last Day
4xxxx+155: 13 4xxxx Table Differs from Actual Configuration
4xxxx+155: 14 Flow Rate Solve Complete Heartbeat
4xxxx+155: 15 Block is Functioning Heartbeat
4xxxx+155: 16 End of Day Flag
Short Description
Function Description
The GFNX AGA #3 ‘85 and NX19 API 21.1 gas flow loadable function block is
available only on certain Compact and Micro controllers.
The gas flow loadable function block allows you to run AGA 3 (1992) and AGA 8
(1992) equations. The computed flow rates agree within 1 ppm of the published AGA
standards.
The GFNX instruction uses the detail method of characterization requiring detailed
knowledge of the gas composition.
NOTE: You must install the LSUP loadable before the GFNX.
More Information
For detailed information about the gas flow function block loadables, especially the:
z system warning/error codes (4x+0) for each instruction
z program warning/error codes (4x+1) for each instruction
z API 21.1 Audit Trail
z GET_LOGS.EXE utility
z SET_SIZE.EXE utility
please see the Modicon Starling Associates Gas Flow Loadable Function Block
User Guide (890 USE 137).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Configuration Table
You must fill in all pertinent values in the configuration table using the reference data
editor either in ProWORX or Concept, or the DX Zoom screens in Modsoft, or Meter
Manager. The following inputs table lists all the configuration parameters that you
must fill in.
The outputs (Outputs Results Table) and the optional outputs (Optional Outputs
Results Table) show the calculation results of the block. Some of those parameters
are required.
NOTE: Only valid entries are allowed. Entries outside the valid ranges are not
accepted. Illegal entries result in errors or warnings.
NOTE: Concept 2.1 or higher may be used to load the gas blocks. However,
Concept and ProWORX do not provide help or DX zoom screens for configuration.
When using Concept or ProWORX panel software, we recommend you use Meter
Manager for your configuration needs.
Inputs
The following is a detailed description of configuration variables for the GFNX gas
flow function block.
Inputs Description
4xxxx+3: 1 through 2 Location of Taps
1 - Upstream
2 - Downstream
4xxxx+3: 3 through 4 Meter Tube Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 5 through 6 Orfice Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 7 through 8 Reserved for Future Use (Do not use)
4xxxx+3: 9 through 10 Optional Outputs
1 - Yes
2 - No
Note: When using only the standard outputs, the loadable uses
157 4xxxx registers. When using the optional outputs, the
loadable uses 181 4xxxx registers.
4xxxx+3: 11 through 16 Reserved for Future Use (Do not use)
Inputs Description
4xxxx+4: 1 Absolute/Gauge Pressure
0 - Static Pressure Measured in Absolute Units
1 - Static Pressure Measured in Gauge Units
4xxxx+4: 2 Low Flow Cut Off
0 - Do Not Use Flow Cut Off
1 - Use Flow Cut Off
4xxxx+4: 3 through 6 Load Command
0 - Ready to Accept Command
1 - CMD: Send Configuration to Internal Table from 4xxxx
2 - CMD: Read Configuration from Internal Table to 4xxxx
3 - CMD: Reset API 21.1 configuration change log
4xxxx+4: 7 through 8 Input Type
1 - 3xxxx Pointers entered in 4x+6 ... 4x+10
2 - Input Values entered in 4x+6 ... 4x+10
4xxxx+4: 9 through 10 Mole % Error Limits
1 - Enable
2 - Disable
4xxxx+4: 11 through 12 Dual Range Differential Pressure Option
1 - Yes
2 - No
4xxxx+4: 13 through 14 Compressible/Incompressible
1 - Compressible
2 - Incompressible
4xxxx+4: 15 through 16 Averaging Methods
0 - Flow Dependent Time Weighted Linear
1 - Flow Dependent Time Weighted Formulaic
2 - Flow Weighted Linear
3 - Flow Weighted Formulaic
Note: For most applications you will use 0.
4xxxx+5: 1 through 2 Measurement Units
1 - US
2 - Metric (SI)
4xxxx+5: 3 through 14 Reserved for Future Use (Do not use)
4xxxx+5: 15 through 16 Reserved for API 21.1
4xxxx+6 Temperature 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+7 Pressure (absolute) 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+8 Differential Pressure 1 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+9 Differential Pressure 2 3xxxx Pointer or Input Value
Data type: Unsigned integer value
Inputs Description
4xxxx+10 Analog Input Raw Value Minimum Temperature
Data type: Unsigned integer value
4xxxx+11 Analog Input Raw Value Maximum Temperature
Data type: Unsigned integer value
4xxxx+12 Analog Input Raw Value Minimum Pressure
Data type: Signed integer value
4xxxx+13 Analog Input Raw Value Maximum Pressure
Data type: Signed integer value
4xxxx+14 Analog Input Raw Value Minimum Differential Pressure 1
Data type: Signed integer value
4xxxx+15 Analog Input Raw Value Maximum Differential Pressure 1
Data type: Signed integer value
4xxxx+16 Analog Input Raw Value Minimum Differential Pressure 2
Data type: Signed integer value
4xxxx+17 Analog Input Raw Value Maximum Differential Pressure 2
Data type: Signed integer value
4xxxx+18 through 19 Engineering Unit Temperature Minimum
-40 through 240°F (-40 through 115.5556°C)
Data type: Floating point number
4xxxx+20 through 21 Engineering Unit Temperature Maximum
-40 through 240°F (-40 through 115.5556°C)
Data type: Floating point number
4xxxx+22 through 23 Engineering Unit Pressure Minimum
0 through 5,000psia (0 through 34,473.785kPa)
Data type: Floating point number
4xxxx+24 through 25 Engineering Unit Pressure Maximum
0 through 5,000psia (0 through 34,473.785kPa)
Data type: Floating point number
4xxxx+26 through 27 Engineering Unit Differential Pressure 1 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+28 through 29 Engineering Unit Differential Pressure 1 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+30 through 31 Engineering Unit Differential Pressure 2 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+32 through 33 Engineering Unit Differential Pressure 2 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
Inputs Description
4xxxx+34 through 35 Orifice Plate Diameter, d r
(0 < dr < 100in) (0 < dr < 2540mm)
Data type: Floating point number
4xxxx+36 through 37 Orifice Plate Diameter Measurement Temperature, T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+38 through 39 Meter Tube Internal Diameter D r
(0 <Dr <100in) (0 < Dr < 2540mm)
Data type: Floating point number
4xxxx+40 through 41 Measured Meter Tube Internal Diameter Temperature T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+42 through 43 Base Temperature, T b
(32.0 <= Tb < 77.0°F) (0 <= Tb < 25°C)
Data type: Floating point number
4xxxx+44 through 45 Base Pressure, P b
(13.0 <= Pb < 16.0PSIA) (89.63 <= Pb < 110.32kPa)
Data type: Floating point number
4xxxx+46 through 57 Reserved for Future Use (Do not use)
4xxxx+58 through 59 User Input Correction Factor, F u
(0 < Fu < 2.0)
Data type: Floating point number
4xxxx+60 through 63 Reserved for Future Use (Do not use)
4xxxx+64 Beginning of Day Hour
(0 ... 23)
Data type: Unsigned integer value
4xxxx+65 through 78 Reserved for API 21.1
4xxxx+79 through 80 Atmospheric Pressure P at
(3 <= Pat <30psi) (20.684 <= Pat < 206.843kPa)
Data type: Floating point number
4xxxx+81 through 82 Low Flow Cut Off Level
(>= 0ft3/Hr) (>= 0m3/Hr)
Used if enabled in 4x+4: 2.
Data type: Floating point number
Inputs Description
Applies when using Detail Method 11
4xxxx+83 through 84 Mole % of Methane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+85 through 86 Mole % of Nitrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+87 through 88 Mole % of Carbon Dioxide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+89 through 90 Mole % of Ethane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
xxx+91 through 92 Mole % of Propane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+93 through 94 Mole % of Water, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+95 through 96 Mole % of Hydrogen Sulfide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+97 through 98 Mole % of Hydrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+99 through 100 Mole % of Carbon Monoxide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+101 through 102 Mole % of Oxygen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+103 through 104 Mole % of I-Butane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
Inputs Description
Applies when using Detail Method 11
4xxxx+105 through 106 Mole % of n-Butane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+107 through 108 Mole % of I-Pentane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+109 through 110 Mole % of n-Pentane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+111 through 112 Mole % of Hexane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+113 through 114 Mole % of Heptane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+115 through 116 Mole % of Octane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+117 through 118 Mole % of Nonane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+119 through 120 Mole % of Decane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+121 through 122 Mole % of Helium, x i
*(0.0 <= xi <= 30)
Data type: Floating point number
4xxxx+123 through 124 Reserved for future use (do not use)
*Valid range
Inputs Description
Applies when using Gross Methods 10, 12, and 13
4xxxx+83 through 84 Mole % of Methane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
(Required for method 13 ONLY)
4xxxx+85 through 86 Mole % of Nitrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
(Required for methods 10, 12, and 13)
4xxxx+87 through 88 Mole % of Carbon Dioxide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
(Required for methods 10, 12, and 13)
4xxxx+93 through 94 Specific Gravity, G r
(0.07 <= Gr < 1.52
Data type: Floating point number
(Required for methods 10, 12, and 13)
4xxxx+95 through 96 Heating Value, HV
(0.07 HV < 1800)
Data type: Floating point number
(Required for method 12 ONLY)
*Valid range
Outputs Description
4xxxx+0 System Warning/Error Code (Displayed in Hex mode)
4xxxx+1 Program Warning/Error Code
4xxxx+2 Version Number (Displayed in Hex mode)
4xxxx+125 through 126 Temperature at Flowing Conditions (Tf) (F or C)
4xxxx+127 through 128 Pressure (Pf) (psia or kPa)
4xxxx+129 through 130 Differential Pressure (hw) (in H2O or kPa)
4xxxx+131 through 132 Integral Value (IV)
4xxxx+133 through 134 Integral Multiplier Value (IMV)
4xxxx+135 through 136 Volume Flow Rate at Base Conditions (Tb, Pb), Qb
ft3/hr or m3/hr
4xxxx+137 through 138 Reserved for future use (do not use)
4xxxx+139 through 140 Accumulated Volume Current Day
4xxxx+141 through 142 Accumulated Volume Last Hour
4xxxx+143 through 144 Accumulated Volume Last Day
4xxxx+145 through 152 Reserved for API 21.1
4xxxx+153 User-definable warning/error value (Use for API 21.1)
4xxxx+155: 13 4xxxx Table Differs from Actual Configuration
4xxxx+155: 14 Flow Rate Solve Complete Heartbeat
4xxxx+155: 15 Block is Functioning Heartbeat
4xxxx+155: 16 End of Day Flag
Note: This status bit does not appear in the DX Zoom screen
but may be used in program logic.
Short Description
Function Description
The GG92 gas flow loadable function block is available only on certain Compact and
Micro controllers.
The gas flow loadable function block allows you to run AGA 3 (1992) and AGA 8
(1992) equations. The computed flow rates agree within 1 ppm of the published AGA
standards. The GG92 allows the API 21.1 audit trail. The GG92 permits 8 passes.
The GG92 instruction uses the detail method of characterization requiring detailed
knowledge of the gas composition.
NOTE: You must install the LSUP loadable before the GG92.
More Information
For detailed information about the gas flow function block loadables, especially the:
z system warning/error codes (4x+0) for each instruction
z program warning/error codes (4x+1) for each instruction
z API 21.1 Audit Trail
z GET_LOGS.EXE utility
z SET_SIZE.EXE utility
please see the Modicon Starling Associates Gas Flow Loadable Function Block
User Guide (890 USE 137).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Configuration Table
You must fill in all pertinent values in the configuration table using the reference data
editor either in ProWORX or Concept, or the DX Zoom screens in Modsoft, or Meter
Manager. The following inputs table lists all the configuration parameters that you
must fill in.
The outputs (Outputs Results Table) and the optional outputs (Optional Outputs
Results Table) show the calculation results of the block. Some of those parameters
are required.
NOTE: Only valid entries are allowed. Entries outside the valid ranges are not
accepted. Illegal entries result in errors or warnings.
NOTE: Concept 2.1 or higher may be used to load the gas blocks. However,
Concept and ProWORX do not provide help or DX zoom screens for configuration.
When using Concept or ProWORX panel software, we recommend you use Meter
Manager for your configuration needs.
Inputs
The following is a detailed description of configuration variables for the GG92 gas
flow function block.
Inputs Description
4xxxx+3: 1 through 2 Location of Taps
1 - Upstream
2 - Downstream
4xxxx+3: 3 through 4 Meter Tube Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 5 through 6 Orfice Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 7 through 8 Reserved for future use (do not use)
4xxxx+3: 9 through 10 Optional Outputs
1 - Yes
2 - No
Note: When using only the standard outputs, the loadable uses
157 4xxxx registers. When using the optional outputs, the
loadable uses 181 4xxxx registers.
4xxxx+3: 11 through 16 Reserved for Future Use (Do not use)
Inputs Description
4xxxx+4: 1 Absolute/Gauge Pressure
0 - Static Pressure Measured in Absolute Units
1 - Static Pressure Measured in Gauge Units
4xxxx+4: 2 Low Flow Cut Off
0 - Do Not Use Flow Cut Off
1 - Use Flow Cut Off
4xxxx+4: 3 through 6 Load Command
0 - Ready to Accept Command
1 - CMD: Send Configuration to Internal Table from 4xxxx
2 - CMD: Read Configuration from Internal Table to 4xxxx
3 - CMD: Reset API 21.1 configuration change log
4xxxx+4: 7 through 8 Input Type
1 - 3xxxx Pointers entered in 4x+6 ... 4x+10
2 - Input Values entered in 4x+6 ... 4x+10
4xxxx+4: 9 through 10 Mole % Error Limits
1 - Enable
2 - Disable
4xxxx+4: 11 through 12 Dual Range Differential Pressure Option
1 - Yes
2 - No
4xxxx+4: 13 through 14 Compressible/Incompressible
1 - Compressible
2 - Incompressible
4xxxx+4: 15 through 16 Averaging Methods
0 - Flow Dependent Time Weighted Linear
1 - Flow Dependent Time Weighted Formulaic
2 - Flow Weighted Linear
3 - Flow Weighted Formulaic
Note: For most applications you will use 0.
4xxxx+5: 1 through 2 Measurement Units
1 - US
2 - Metric (SI)
4xxxx+5: 3 through 14 Reserved for future use (do not use)
4xxxx+5: 15 through 16 Reserved for API 21.1
4xxxx+6 Temperature 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+7 Pressure (absolute) 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+8 Differential Pressure 1 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+9 Differential Pressure 2 3xxxx Pointer or Input Value
Data type: Unsigned integer value
Inputs Description
4xxxx+10 Analog Input Raw Value Minimum Temperature
Data type: Unsigned integer value
4xxxx+11 Analog Input Raw Value Maximum Temperature
Data type: Unsigned integer value
4xxxx+12 Analog Input Raw Value Minimum Pressure
Data type: Signed integer value
4xxxx+13 Analog Input Raw Value Maximum Pressure
Data type: Signed integer value
4xxxx+14 Analog Input Raw Value Minimum Differential Pressure 1
Data type: Signed integer value
4xxxx+15 Analog Input Raw Value Maximum Differential Pressure 1
Data type: Signed integer value
4xxxx+16 Analog Input Raw Value Minimum Differential Pressure 2
Data type: Signed integer value
4xxxx+17 Analog Input Raw Value Maximum Differential Pressure 2
Data type: Signed integer value
4xxxx+18 through 19 Engineering Unit Temperature Minimum
14 through 149°F (-10 through 65°C)
Data type: Floating point number
4xxxx+20 through 21 Engineering Unit Temperature Maximum
14 through 149°F (-10 through 65°C)
Data type: Floating point number
4xxxx+22 through 23 Engineering Unit Pressure Minimum
0 through 1,470psia (0 through 11,996kPa)
Data type: Floating point number
4xxxx+24 through 25 Engineering Unit Pressure Maximum
0 through 1,470psia (0 through 11,996kPa)
Data type: Floating point number
4xxxx+26 through 27 Engineering Unit Differential Pressure 1 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+28 through 29 Engineering Unit Differential Pressure 1 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+30 through 31 Engineering Unit Differential Pressure 2 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+32 through 33 Engineering Unit Differential Pressure 2 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
Inputs Description
4xxxx+34 through 35 Orifice Plate Diameter, d r
(0 < dr < 100in) (0 < dr < 2540mm)
Data type: Floating point number
4xxxx+36 through 37 Orifice Plate Diameter Measurement Temperature, T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+38 through 39 Meter Tube Internal Diameter D r
(0 <Dr <100in) (0 < Dr < 2540mm)
Data type: Floating point number
4xxxx+40 through 41 Measured Meter Tube Internal Diameter Temperature T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+42 through 43 Base Temperature, T b
(32.0 <= Tb < 77.0°F) (0 <= Tb < 25°C)
Data type: Floating point number
4xxxx+44 through 45 Base Pressure, P b
(13.0 <= Pb < 16.0PSIA) (89.63 <= Pb < 110.32kPa)
Data type: Floating point number
4xxxx+46 through 47 Reference Temperature for Relative Density, T gr
(32.0 <= Tgr < 77.0°F) (0 <= Tgr < 25°C)
Data type: Floating point number
4xxxx+48 through 49 Reference Pressure for Relative Density, P gr
(13.0 <= Pgr < 16.0PSIA) (89.63 <= Pgr < 110.32kPa)
Data type: Floating point number
4xxxx+50 through 51 Reference Temperature for Molar Density, T d
(32.0 <= Td < 77.0°F) (0 <=Td < 25°C)
Data type: Floating point number
4xxxx52 through 53 Reference Pressure for Molar Density, P d
(13.0 <= Pd < 16.0PSIA) (89.63 <= Pd < 110.32kPa
Data type: Floating point number
4xxxx+54 through 55 Reference Temperature fo Heating Value, T h
(32.0 <= Th < 77.0) (0 <=Th < 25°C)
Data type: Floating point number
4xxxx+56 through 57 Reserved for Future Use (Do not use)
4xxxx+58 through 59 User Input Correction Factor, F u
(0 < Fu < 2.0)
Data type: Floating point number
Inputs Description
4xxxx+60 through 61 Absolute Viscosity of Flowing Fluid, μ c
(0.01 <= μc <= 0.1 centipoise)
Data type: Floating point number
4xxxx+62 through 63 Isentropic Exponent, k
(1.0 <= k < 2.0)
Data type: Floating point number
4xxxx+64 Beginning of Day Hour
(0 ... 23)
Data type: Unsigned integer value
4xxxx+65 through 78 Reserved for API 21.1
4xxxx+79 through 80 Atmospheric Pressure P at
(3 <= Pat <30psi) (20.684 <= Pat < 206.843kPa)
Data type: Floating point number
4xxxx+81 through 82 Low Flow Cut Off Level
(>= 0ft3/Hr) (>= 0m3/Hr)
Data type: Floating point number
4xxxx+83 through 84 Reserved for future use (do not use)
4xxxx+85 through 86 Mole % of Nitrogen, x i
*(0.0 <= xi <= 50)
(Required for method 2 only)
Data type: Floating point number
4xxxx+87 through 88 Mole % of Carbon Dioxide, x i
*(0.0 <= xi <= 30)
Data type: Floating point number
4xxxx+89 through 90 Mole % of Hydrogen, x i
*(0.0 <= xi <= 10)
Data type: Floating point number
4xxxx+91 through 92 Mole % of Carbon Monoxide, x i
*(0.0 <= xi <= 3)
Data type: Floating point number
4xxxx+93 through 94 Specific Gravity, G r
*(.55 < Gr < 0.87))
Data type: Floating point number
4xxxx+95 through 96 Heating Value, HV
*(477 <= HV < 1211BTU/Ft3) (17.7725 <= HV < 45.1206Kj/dm3)
(Required for method 1 only)
Data type: Floating point number
4xxxx+97 through 124 Reserved for future use (do not use)
*Valid range
Outputs Description
4xxxx+0 System Warning/Error Code (Displayed in Hex mode)
4xxxx+1 Program Warning/Error Code
4xxxx+2 Version Number (Displayed in Hex mode)
4xxxx+125 through 126 Temperature at Flowing Conditions (Tf) (F or C)
4xxxx+127 through 128 Pressure (Pf) (psia or kPa)
4xxxx+129 through 130 Differential Pressure (hw) (in H2O or kPa)
4xxxx+131 through 132 Integral Value (IV)
4xxxx+133 through 134 Integral Multiplier Value (IMV)
4xxxx+135 through 136 Volume Flow Rate at Base Conditions (Tb, Pb), Qb
(ft3/hr or m3/hr
4xxxx+137 through 138 Mass Flow Rate (Qm) (lbm/hr or Kg/hr)
4xxxx+139 through 140 Accumulated Volume Current Day
4xxxx+141 through 142 Accumulated Volume Last Hour
4xxxx+143 through 144 Accumulated Volume Last Day
4xxxx+145 through 152 Reserved for API 21.1
4xxxx+153 User definable warning/error value (Use for API 21.1)
4xxxx+155: 13 4xxxx Table Differs from Actual Configuration
4xxxx+155: 14 Flow Rate Solve Complete Heartbeat
4xxxx+155: 15 Block is Functioning Heartbeat
4xxxx+155: 16 End of Day Flag
Short Description
Function Description
The GM92 gas flow loadable function block is available only on certain Compact and
Micro controllers.
The gas flow loadable function block allows you to run AGA 3 (1992) and AGA 8
(1992) equations. The computed flow rates agree within 1 ppm of the published AGA
standards.
This function block allows you to run the API 21.1 audit trail. The block has 8 mether
runs.
NOTE: You must install the LSUP loadable before the GM92.
More Information
For detailed information about the gas flow function block loadables, especially the:
z system warning/error codes (4x+0) for each instruction
z program warning/error codes (4x+1) for each instruction
z API 21.1 Audit Trail
z GET_LOGS.EXE utility
z SET_SIZE.EXE utility
please see the Modicon Starling Associates Gas Flow Loadable Function Block
User Guide (890 USE 137).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Configuration Table
You must fill in all pertinent values in the configuration table using the reference data
editor either in ProWORX or Concept, or the DX Zoom screens in Modsoft, or Meter
Manager. The following inputs table lists all the configuration parameters that you
must fill in.
The outputs (Outputs Results Table) and the optional outputs (Optional Outputs
Results Table) show the calculation results of the block. Some of those parameters
are required.
NOTE: Only valid entries are allowed. Entries outside the valid ranges are not
accepted. Illegal entries result in errors or warnings.
NOTE: Concept 2.1 or higher may be used to load the gas blocks. However,
Concept and ProWORX do not provide help or DX zoom screens for configuration.
When using Concept or ProWORX panel software, we recommend you use Meter
Manager for your configuration needs.
Inputs
The following is a detailed description of configuration variables for the GD92 gas
flow function block.
Inputs Description
4xxxx+3: 1 through 2 Location of Taps
1 - Upstream
2 - Downstream
4xxxx+3: 3 through 4 Meter Tube Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 5 through 6 Orfice Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 7 through 8 Reserved for Future Use (Do not use)
4xxxx+3: 9 through 10 Optional Outputs
1 - Yes
2 - No
Note: When using only the standard outputs, the loadable uses
157 4xxxx registers. When using the optional outputs, the
loadable uses 181 4xxxx registers.
4xxxx+3: 11 through 16 Reserved for Future Use (Do not use)
Inputs Description
4xxxx+4: 1 Absolute/Gauge Pressure
0 - Static Pressure Measured in Absolute Units
1 - Static Pressure Measured in Gauge Units
4xxxx+4: 2 Low Flow Cut Off
0 - Do Not Use Flow Cut Off
1 - Use Flow Cut Off
4xxxx+4: 3 through 6 Load Command
0 - Ready to Accept Command
1 - CMD: Send Configuration to Internal Table from 4xxxx
2 - CMD: Read Configuration from Internal Table to 4xxxx
3 - CMD: Reset API 21.1 configuration change log
4xxxx+4: 7 through 8 Input Type
1 - 3xxxx Pointers entered in 4x+6 ... 4x+10
2 - Input Values entered in 4x+6 ... 4x+10
4xxxx+4: 9 through 10 Mole % Error Limits
1 - Enable
2 - Disable
4xxxx+4: 11 through 12 Dual Range Differential Pressure Option
1 - Yes
2 - No
4xxxx+4: 13 through 14 Compressible/Incompressible
1 - Compressible
2 - Incompressible
4xxxx+4: 15 through 16 Averaging Methods
0 - Flow Dependent Time Weighted Linear
1 - Flow Dependent Time Weighted Formulaic
2 - Flow Weighted Linear
3 - Flow Weighted Formulaic
Note: For most applications you will use 0.
4xxxx+5: 1 through 2 Measurement Units
1 - US
2 - Metric (SI)
4xxxx+5: 3 through 14 Reserved for Future Use (Do not use)
4xxxx+5: 15 through 16 Reserved for API 21.1
4xxxx+6 Temperature 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+7 Pressure (absolute) 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+8 Differential Pressure 1 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+9 Differential Pressure 2 3xxxx Pointer or Input Value
Data type: Unsigned integer value
Inputs Description
4xxxx+10 Analog Input Raw Value Minimum Temperature
Data type: Unsigned integer value
4xxxx+11 Analog Input Raw Value Maximum Temperature
Data type: Unsigned integer value
4xxxx+12 Analog Input Raw Value Minimum Pressure
Data type: Signed integer value
4xxxx+13 Analog Input Raw Value Maximum Pressure
Data type: Signed integer value
4xxxx+14 Analog Input Raw Value Minimum Differential Pressure 1
Data type: Signed integer value
4xxxx+15 Analog Input Raw Value Maximum Differential Pressure 1
Data type: Signed integer value
4xxxx+16 Analog Input Raw Value Minimum Differential Pressure 2
Data type: Signed integer value
4xxxx+17 Analog Input Raw Value Maximum Differential Pressure 2
Data type: Signed integer value
4xxxx+18 through 19 Engineering Unit Temperature Minimum
-200 through 760°F (-128.89 through 404.4°C)
Data type: Floating point number
4xxxx+20 through 21 Engineering Unit Temperature Maximum
-200 through 760°F (-128.89 through 404.4°C)
Data type: Floating point number
4xxxx+22 through 23 Engineering Unit Pressure Minimum
0 through 40,000psia (0 through 275,790.28kPa)
Data type: Floating point number
4xxxx+24 through 25 Engineering Unit Pressure Maximum
0 through 40,000psia (0 through 275,790.28kPa)
Data type: Floating point number
4xxxx+26 through 27 Engineering Unit Differential Pressure 1 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+28 through 29 Engineering Unit Differential Pressure 1 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+30 through 31 Engineering Unit Differential Pressure 2 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+32 through 33 Engineering Unit Differential Pressure 2 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
Inputs Description
4xxxx+34 through 35 Orifice Plate Diameter, d r
(0 < dr < 100in) (0 < dr < 2540mm)
Data type: Floating point number
4xxxx+36 through 37 Orifice Plate Diameter Measurement Temperature, T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+38 through 39 Meter Tube Internal Diameter D r
(0 <Dr <100in) (0 < Dr < 2540mm)
Data type: Floating point number
4xxxx+40 through 41 Measured Meter Tube Internal Diameter Temperature T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+42 through 43 Base Temperature, T b
(32.0 <= Tb < 77.0°F) (0 <= Tb < 25°C)
Data type: Floating point number
4xxxx+44 through 45 Base Pressure, P b
(13.0 <= Pb < 16.0PSIA) (89.63 <= Pb < 110.32kPa)
Data type: Floating point number
4xxxx+46 through 47 Reference Temperature for Relative Density, T gr
(32.0 <= Tgr < 77.0°F) (0 <= Tgr < 25°C)
Data type: Floating point number
4xxxx+48 through 49 Reference Pressure for Relative Density, P gr
(13.0 <= Pgr < 16.0PSIA) (89.63 <= Pgr < 110.32kPa)
Data type: Floating point number
4xxxx+50 through 57 Reserved for Future Use (Do not use)
4xxxx+58 through 59 User Input Correction Factor, F u
(0 < Fu < 2.0)
Data type: Floating point number
4xxxx+60 through 61 Absolute Viscosity of Flowing Fluid, μ c
(0.005 <= μc <= 0.5 centipoise)
Data type: Floating point number
4xxxx+62 through 63 Isentropic Exponent, k
(1.0 <= k < 2.0)
Data type: Floating point number
4xxxx+64 Beginning of Day Hour
(0 ... 23)
Data type: Unsigned integer value
4xxxx+65 through 78 Reserved for API 21.1
Inputs Description
4xxxx+79 through 80 Atmospheric Pressure P at
(3 <= Pat <30psi) (20.684 <= Pat < 206.843kPa)
Data type: Floating point number
4xxxx+81 through 82 Low Flow Cut Off Level
(>= 0ft3/Hr) (>= 0m3/Hr)
Used if enabled in 4x+4: 2.
Data type: Floating point number
4xxxx+83 through 84 Mole % of Methane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+85 through 86 Mole % of Nitrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+87 through 88 Mole % of Carbon Dioxide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+89 through 90 Mole % of Ethane, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
xxx+91 through 92 Mole % of Propane, x i
*(0.0 <= xi <= 12)
Data type: Floating point number
4xxxx+93 through 94 Mole % of Water, x i
*(0.0 <= xi <= 10)
Data type: Floating point number
4xxxx+95 through 96 Mole % of Hydrogen Sulfide, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+97 through 98 Mole % of Hydrogen, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
4xxxx+99 through 100 Mole % of Carbon Monoxide, x i
*(0.0 <= xi <= 3)
Data type: Floating point number
4xxxx+101 through 102 Mole % of Oxygen, x i
*(0.0 <= xi <= 21)
Data type: Floating point number
Inputs Description
4xxxx+103 through 104 Mole % of I-Butane, x i
*(0.0 <= xi <= 6) for combined butanes
Data type: Floating point number
4xxxx+105 through 106 Mole % of n-Butane, x i
*(0.0 <= xi <= 6) for combined butanes
Data type: Floating point number
4xxxx+107 through 108 Mole % of I-Pentane, x i
*(0.0 <= xi <= 4) for combined pentanes
Data type: Floating point number
4xxxx+109 through 110 Mole % of n-Pentane, x i
*(0.0 <= xi <= 4) for combined pentanes
Data type: Floating point number
4xxxx+111 through 112 Mole % of Hexane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+113 through 114 Mole % of Heptane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+115 through 116 Mole % of Octane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+117 through 118 Mole % of Nonane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+119 through 120 Mole % of Decane, x i
*(0.0 <= xi <= 10) for combined hexanes +
Data type: Floating point number
4xxxx+121 through 122 Mole % of Helium, x i
*(0.0 <= xi <= 30)
Data type: Floating point number
4xxxx+123 through 124 Mole % of Argon, x i
*(0.0 <= xi <= 100)
Data type: Floating point number
*Valid range
Outputs Description
4xxxx+0 System Warning/Error Code (Displayed in Hex mode)
4xxxx+1 Program Warning/Error Code
4xxxx+2 Version Number (Displayed in Hex mode)
4xxxx+125 through 126 Temperature at Flowing Conditions (Tf) (F or C)
4xxxx+127 through 128 Pressure (Pf) (psia or kPa
4xxxx+129 through 130 Differential Pressure (hw) (in H2O or kPa)
4xxxx+131 through 132 Integral Value (IV)
4xxxx+133 through 134 Integral Multiplier Value (IMV)
4xxxx+135 through 136 Volume Flow Rate at Base Conditions (Tb, Pb), Qb
(ft3/hr or m3/hr)
4xxxx+137 through 138 Mass Flow Rate (Qm) (lbm/hr or Kg/hr)
4xxxx+139 through 140 Accumulated Volume Current Day
4xxxx+141 through 142 Accumulated Volume Last Hour
4xxxx+143 through 144 Accumulated Volume Last Day
4xxxx+145 through 152 Reserved for API 21.1
4xxxx+153 User definable warning/error value (Use for API 21.1)
4xxxx+155: 13 4xxxx Table Differs from Actual Configuration
4xxxx+155: 14 Flow Rate Solve Complete Heartbeat
4xxxx+155: 15 Block is Functioning Heartbeat
4xxxx+155: 16 End of Day Flag
Short Description
Function Description
The G392 gas flow loadable function block is available only on certain Compact and
Micro controllers.
The gas flow loadable function block allows you to run AGA 3 (1992) equations. The
computed flow rates agree within 1 ppm of the published AGA standards.
NOTE: You must install the LSUP loadable before the G392.
More Information
For detailed information about the gas flow function block loadables, especially the:
z system warning/error codes (4x+0) for each instruction
z program warning/error codes (4x+1) for each instruction
z API 21.1 Audit Trail
z GET_LOGS.EXE utility
z SET_SIZE.EXE utility
please see the Modicon Starling Associates Gas Flow Loadable Function Block
User Guide (890 USE 137).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Configuration Table
You must fill in all pertinent values in the configuration table using the reference data
editor either in ProWORX or Concept, or the DX Zoom screens in Modsoft, or Meter
Manager. The following inputs table lists all the configuration parameters that you
must fill in.
The outputs (Outputs Results Table) and the optional outputs (Optional Outputs
Results Table) show the calculation results of the block. Some of those parameters
are required.
NOTE: Only valid entries are allowed. Entries outside the valid ranges are not
accepted. Illegal entries result in errors or warnings.
NOTE: Concept 2.1 or higher may be used to load the gas blocks. However,
Concept and ProWORX do not provide help or DX zoom screens for configuration.
When using Concept or ProWORX panel software, we recommend you use Meter
Manager for your configuration needs.
Inputs
The following is a detailed description of configuration variables for the G392 gas
flow function block.
Inputs Description
4xxxx+3: 1 through 2 Location of Taps
1 - Upstream
2 - Downstream
4xxxx+3: 3 through 4 Meter Tube Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 5 through 6 Orfice Material
1 - Stainless Steel
2 - Monel
3 - Carbon Steel
4xxxx+3: 7 through 8 Compressibility User Input Type
1 - Density at flowing and base condition
2 - Compressibility factor at flowing and base conditions and
gas relative density at base conditions
4xxxx+3: 9 through 10 Optional Outputs
1 - Yes
2 - No
Note: When using only the standard outputs, the loadable uses
157 4xxxx registers. When using the optional outputs, the
loadable uses 181 4xxxx registers.
Inputs Description
4xxxx+3: 11 through 16 Reserved for Future Use (Do not use)
4xxxx+4: 1 Absolute/Gauge Pressure
0 - Static Pressure Measured in Absolute Units
1 - Static Pressure Measured in Gauge Units
4xxxx+4: 2 Low Flow Cut Off
0 - Do Not Use Flow Cut Off
1 - Use Flow Cut Off
4xxxx+4: 3 through 6 Load Command
0 - Ready to Accept Command
1 - CMD: Send Configuration to Internal Table from 4xxxx
2 - CMD: Read Configuration from Internal Table to 4xxxx
3 - CMD: Reset API 21.1 configuration change log
4xxxx+4: 7 through 8 Input Type
1 - 3xxxx Pointers entered in 4x+6 ... 4x+10
2 - Input Values entered in 4x+6 ... 4x+10
4xxxx+4: 9 through 10 Reserved for Future Use (Do not use)
4xxxx+4: 11 through 12 Dual Range Differential Pressure Option
1 - Yes
2 - No
4xxxx+4: 13 through 14 Compressible/Incompressible
1 - Compressible
2 - Incompressible
4xxxx+4: 15 through 16 Averaging Methods
0 - Flow Dependent Time Weighted Linear
1 - Flow Dependent Time Weighted Formulaic
2 - Flow Weighted Linear
3 - Flow Weighted Formulaic
Note: For most applications you will use 0.
4xxxx+5: 1 through 2 Measurement Units
1 - US
2 - Metric (SI)
4xxxx+5: 3 through 14 Reserved for Future Use (Do not use)
4xxxx+5: 15 through 16 Reserved for API 21.1
4xxxx+6 Temperature 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+7 Pressure (absolute) 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+8 Differential Pressure 1 3xxxx Pointer or Input Value
Data type: Unsigned integer value
4xxxx+9 Differential Pressure 2 3xxxx Pointer or Input Value
Data type: Unsigned integer value
Inputs Description
4xxxx+10 Analog Input Raw Value Minimum Temperature
Data type: Unsigned integer value
4xxxx+11 Analog Input Raw Value Maximum Temperature
Data type: Unsigned integer value
4xxxx+12 Analog Input Raw Value Minimum Pressure
Data type: Signed integer value
4xxxx+13 Analog Input Raw Value Maximum Pressure
Data type: Signed integer value
4xxxx+14 Analog Input Raw Value Minimum Differential Pressure 1
Data type: Signed integer value
4xxxx+15 Analog Input Raw Value Maximum Differential Pressure 1
Data type: Signed integer value
4xxxx+16 Analog Input Raw Value Minimum Differential Pressure 2
Data type: Signed integer value
4xxxx+17 Analog Input Raw Value Maximum Differential Pressure 2
Data type: Signed integer value
4xxxx+18 through 19 Engineering Unit Temperature Minimum
-200 through 760°F (-128.89 through 404.4°C)
Data type: Floating point number
4xxxx+20 through 21 Engineering Unit Temperature Maximum
-200 through 760°F (-128.89 through 404.4°C)
Data type: Floating point number
4xxxx+22 through 23 Engineering Unit Pressure Minimum
0 through 40,000psia (0 through 275,790.28kPa)
Data type: Floating point number
4xxxx+24 through 25 Engineering Unit Pressure Maximum
0 through 40,000psia (0 through 275,790.28kPa)
Data type: Floating point number
4xxxx+26 through 27 Engineering Unit Differential Pressure 1 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+28 through 29 Engineering Unit Differential Pressure 1 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+30 through 31 Engineering Unit Differential Pressure 2 Minimum
>= 0 (inches H2O or kPa)
Data type: Floating point number
4xxxx+32 through 33 Engineering Unit Differential Pressure 2 Maximum
> 0 (inches H2O or kPa)
Data type: Floating point number
Inputs Description
4xxxx+34 through 35 Orifice Plate Diameter, d r
(0 < dr < 100in) (0 < dr < 2540mm)
Data type: Floating point number
4xxxx+36 through 37 Orifice Plate Diameter Measurement Temperature, T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+38 through 39 Meter Tube Internal Diameter D r
(0 <Dr <100in) (0 < Dr < 2540mm)
Data type: Floating point number
4xxxx+40 through 41 Measured Meter Tube Internal Diameter Temperature T r
(32 <= Tr < 77°F) (0 <= Tr < 25°C)
Data type: Floating point number
4xxxx+42 through 43 Base Temperature, T b
(32.0 <= Tb < 77.0°F) (0 <= Tb < 25°C)
Data type: Floating point number
4xxxx+44 through 45 Base Pressure, P b
(13.0 <= Pb < 16.0PSIA) (89.63 <= Pb < 110.32kPa)
Data type: Floating point number
4xxxx+46 through 57 Reserved for Future Use (Do not use)
4xxxx+58 through 59 User Input Correction Factor, F u
(0 < Fu < 2.0)
Data type: Floating point number
4xxxx+60 through 61 Absolute Viscosity of Flowing Fluid, μ c
(0.005 <= μc <= 0.5 centipoise)
Data type: Floating point number
4xxxx+62 through 63 Isentropic Exponent, k
(1.0 <= k < 2.0)
Data type: Floating point number
4xxxx+64 Beginning of Day Hour
(0 ... 23)
Data type: Unsigned integer value
4xxxx+65 through 78 Reserved for API 21.1 configuration
4xxxx+79 through 80 Atmospheric Pressure P at
(3 <= Pat <30psi) (20.684 <= Pat < 206.843kPa)
Data type: Floating point number
4xxxx+81 through 82 Low Flow Cut Off Level
(>= 0ft3/Hr) (>= 0m3/Hr)
Used if enabled in 4x+4: 2.
Data type: Floating point number
Inputs Description
4xxxx+83 through 84 Density at Flowing Conditions, ρf
(0 < ρf < 1000.0lbm/ft3) (0 < ρf < 1601.846kg/m3)
Data type: Floating point number
4xxxx+85 through 86 Density at Base Conditions, ρb
(0 < ρb < 100.0lbm/ft3) (0 < ρb < 1601.846kg/m3
Data type: Floating point number
4xxxx+87 through 88 Compressibility Factor at Flowing Conditions, Z f
(0 < Zf < 3)
Data type: Floating point number
4xxxx+89 through 90 Compressibility Factor at Base Conditions, Z b
(0 < Zb < 3)
Data type: Floating point number
xxx+91 through 92 Gas Relative Density at Base Conditions, Gr
(0.07 <= Gr < 1.52)
Data type: Floating point number
4xxxx+93 through 124 Reserved for future use (do not use)
Outputs Description
4xxxx+0 System Warning/Error Code (Displayed in Hex mode)
4xxxx+1 Program Warning/Error Code
4xxxx+2 Version Number (Displayed in Hex mode)
4xxxx+125 through 126 Temperature at Flowing Conditions (Tf) ((F or C)
4xxxx+127 through 128 Pressure (Pf) (psia or kPa)
4xxxx+129 through 130 Differential Pressure (hw) (in H2O or kPa)
4xxxx+131 through 132 Integral Value (IV)
4xxxx+133 through 134 Integral Multiplier Value (IMV)
4xxxx+135 through 136 Volume Flow Rate at Base Conditions (Tb, Pb), Qb
(ft3/hr or m3/hr)
4xxxx+137 through 138 Mass Flow Rate (Qm)
4xxxx+139 through 140 Accumulated Volume Current Day
4xxxx+141 through 142 Accumulated Volume Last Hour
4xxxx+143 through 144 Accumulated Volume Last Day
4xxxx+145 through 152 Reserved for API 21.1
4xxxx+153 User definable warning/error value (Use for API 21.1)
4xxxx+155: 13 4xxxx Table Differs from Actual Configuration
4xxxx+155: 14 Flow Rate Solve Complete Heartbeat
4xxxx+155: 15 Block is Functioning Heartbeat
4xxxx+155: 16 End of Day Flag
94
Introduction
This chapter describes the instruction HLTH.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75.
The HLTH instruction creates history and status matrices from internal memory
registers that may be used in ladder logic to detect changes in PLC status and
communication capabilities with the I/O. It can also be used to alert the user to
changes in a PLC System. HLTH has two modes of operation, (learn) and (monitor).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Modes of operation
The HLTH instruction has two modes of operation:
Monitor Mode Monitor mode enables an operation that checks PLC system
conditions. Detected changes are recorded in a status matrix., which
monitors the most recent system conditions and sets bit patterns to
indicate detected changes.
The status matrix contains:
z Communication status of the drop designated in the history
matrix
z A flag to indicate when there is any disabled I/O
z Flags to indicate the "on/off" status of constant sweep and the
Memory protect key switch
z Flags to indicate a battery-low condition and if Hot Standby is
functional
z Failed module position data
z Changed user logic checksum flag
z RIO lost-communication flag
Word 1
Enter drop number (range 0 ... 32) to be monitored for retries
Word 2
High word of learned checksum
Word 3
Low word of learned checksum
Word 4
The status and a counter for multiplexing the inputs. HLTH processes 16 words of
input (256 inputs) per scan. This word holds the last word location of the last scan.
The register is overwritten on every scan. The value in the counter portion of the
word increases to the maximum number of inputs, then restarts at 0.
Usage of word 4:
Bit Function
1 1 = at least one disabled input has been found
2 - 16 Count of the number of word checked for disabled inputs prior to this scan.
Word 5
Status and a counter for multiplexing outputs to detect if one is disabled. HLTH looks
at 16 words (256 outputs) per scan to find one that is disabled. It holds the last word
location of the last scan. The block is overwritten on every scan. The value in the
counter portion increases to maximum outputs then restarts at 0.
Usage of word 5:
Bit Function
1 1 = at least one disabled output has been found.
2 - 16 Count of the number of word checked for disabled outputs prior to this scan.
Word 6
Hot Standby cable learned data
Usage of word 6:
Bit Function
1 1 = S911 present during learn.
2-8 Not used
9 1 = cable A is monitored.
10 1 = cable B is monitored.
11 - 16 Not used
The structure of the four words allocated to each drop are as follows:
First Word
Bit Function
1 Drop delay bit 1
Note: Drop delay bits are used by the software to delay the monitoring of the
drop for four scans after reestablishing communications with a drop. The delay
value is for internal use only and needs no user intervention.
2 Drop delay bit 2
3 Drop delay bit 3
4 Drop delay bit 4
5 Drop delay bit 5
6 Rack 1, slot 1, module found
7 Rack 1, slot 2, module found
8 Rack 1, slot 3, module found
9 Rack 1, slot 4, module found
10 Rack 1, slot 5, module found
11 Rack 1, slot 6, module found
12 Rack 1, slot 7, module found
13 Rack 1, slot 8, module found
14 Rack 1, slot 9, module found
15 Rack 1, slot 10, module found
16 Rack 1, slot 11, module found
Second Word
Bit Function
1 Rack 2, slot 1, module found
2 Rack 2, slot 2, module found
3 Rack 2, slot 3, module found
4 Rack 2, slot 4, module found
5 Rack 2, slot 5, module found
6 Rack 2, slot 6, module found
7 Rack 2, slot 7, module found
8 Rack 2, slot 8, module found
9 Rack 2, slot 9, module found
Bit Function
10 Rack 2, slot 10, module found
11 Rack 2, slot 11, module found
12 Rack 3, slot 1, module found
13 Rack 3, slot 2, module found
14 Rack 3, slot 3, module found
15 Rack 3, slot 4, module found
16 Rack 3, slot 5, module found
Third Word
Bit Function
1 Rack 3, slot 6, module found
2 Rack 3, slot 7, module found
3 Rack 3, slot 8, module found
4 Rack 3, slot 9, module found
5 Rack 3, slot 10, module found
6 Rack 3, slot 11, module found
7 Rack 4, slot 1, module found
8 Rack 4, slot 2, module found
9 Rack 4, slot 3, module found
10 Rack 4, slot 4, module found
11 Rack 4, slot 5, module found
12 Rack 4, slot 6, module found
13 Rack 4, slot 7, module found
14 Rack 4, slot 8, module found
15 Rack 4, slot 9, module found
16 Rack 4, slot 10, module found
Fourth Word
Bit Function
1 Rack 4, slot 11, module found
2 Rack 5, slot 1, module found
3 Rack 5, slot 2, module found
4 Rack 5, slot 3, module found
5 Rack 5, slot 4, module found
6 Rack 5, slot 5, module found
7 Rack 5, slot 6, module found
8 Rack 5, slot 7, module found
9 Rack 5, slot 8, module found
10 Rack 5, slot 9, module found
11 Rack 5, slot 10, module found
12 Rack 5, slot 11, module found
13 ... 16 not used
Word 1
This word is a counter for lost-communications at the drop being monitored.
Usage of word 1:
Bit Function
1-8 Indicates the number of the drop being monitored (0 ... 32).
9 - 16 Count of the lost communication incidents (0 ... 15).
Word 2
This word is the cumulative retry counter for the drop being monitored (the drop
number is indicated in the high byte of word 1).
Usage of word 2:
Bit Function
1-4 Not used
5 - 16 Cumulative retry count (0 ... 255).
Word 3
This word updates PLC status (including Hot Standby health) on every scan.
Usage of word 3:
Bit Function
1 ON = all drops are not communicating.
2 Not used
3 ON = logic checksum has changed since last learn.
4 ON = at least one disabled 1x input detected.
5 ON = at least one disabled 0x output detected.
6 ON = constant sweep enabled.
7 - 10 Not used
11 ON = memory protect is OFF.
12 ON = battery is bad.
13 ON = an S911 is bad.
14 ON = Hot Standby not active.
15 - 16 Not used
Bit Function
1 Drop communication fault detected
2 Rack 1, slot 1, module fault
3 Rack 1, slot 2, module fault
4 Rack 1, slot 3, module fault
Bit Function
5 Rack 1, slot 4, module fault
6 Rack 1, slot 5, module fault
7 Rack 1, slot 6, module fault
8 Rack 1, slot 7, module fault
9 Rack 1, slot 8, module fault
10 Rack 1, slot 9, module fault
11 Rack 1, slot 10, module fault
12 Rack 1, slot 11, module fault
13 Rack 2, slot 1, module fault
14 Rack 2, slot 2, module fault
15 Rack 2, slot 3, module fault
16 Rack 2, slot 4, module fault
Second Word
Bit Function
1 Rack 2, slot 5, module fault
2 Rack 2, slot 6, module fault
3 Rack 2, slot 7, module fault
4 Rack 2, slot 8, module fault
5 Rack 2, slot 9, module fault
6 Rack 2, slot 10, module fault
7 Rack 2, slot 11, module fault
8 Rack 3, slot 1, module fault
9 Rack 3, slot 2, module fault
10 Rack 3, slot 3, module fault
11 Rack 3, slot 4, module fault
12 Rack 3, slot 5, module fault
13 Rack 3, slot 6, module fault
14 Rack 3, slot 7, module fault
15 Rack 3, slot 8, module fault
16 Rack 3, slot 9, module fault
Third Word
Bit Function
1 Rack 3, slot 10, module fault
2 Rack 3, slot 11, module fault
3 Rack 4, slot 1, module fault
4 Rack 4, slot 2, module fault
5 Rack 4, slot 3, module fault
6 Rack 4, slot 4, module fault
7 Rack 4, slot 5, module fault
8 Rack 4, slot 6, module fault
9 Rack 4, slot 7, module fault
10 Rack 4, slot 8, module fault
11 Rack 4, slot 9, module fault
12 Rack 4, slot 10, module fault
13 Rack 4, slot 11, module fault
14 Rack 5, slot 1, module fault
15 Rack 5, slot 2, module fault
16 Rack 5, slot 3, module fault
Fourth Word
Bit Function
1 Rack 5, slot 4, module fault
2 Rack 5, slot 5, module fault
3 Rack 5, slot 6, module fault
4 Rack 5, slot 7, module fault
5 Rack 5, slot 8, module fault
6 Rack 5, slot 9, module fault
7 Rack 5, slot 10, module fault
8 Rack 5, slot 11, module fault
9 Cable A fault
10 Cable B fault
11 ... 16 not used
95
Introduction
This chapter describes the instruction HSBY.
Short Description
Function Description
The HSBY loadable instruction manages a 984 Hot Standby control system. This
instruction must be placed in network 1 of segment 1 in the application logic for both
the primary and standby controllers. It allows you to program a nontransfer area in
system state RAM—an area that protects a serial group of registers in the standby
controller from being modified by the primary controller.
Through the HSBY instruction you can access two registers—a command register
and a status register. Access allows you to monitor and control Hot Standby
operations. The status register is the third register in the nontransfer area you
specify.
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Bit Function
6 0 = Swap Modbus port 2 address during switchover
1 = Do not swap Modbus port 3 address during switchover
7 0 = Swap Modbus port 2 address during switchover
1 = Do not swap Modbus port 2 address during switchover
8 0 = Swap Modbus port 1 address during switchover
1 = Do not swap Modbus port q address during switchover
12 0 = Allow exec upgrade only after application stops
1 = Allow exec upgrade without stopping application
13 0 = Force standby offline if there is a logic mismatch
1 = Do not force standby offline if there is a logic mismatch
14 0 = Controller B in OFFLINE mode
1 = Controller B in RUN mode
15 0 = Controller A in OFFLINE mode
1 = Controller A in RUN mode
16 0 = Disable keyswitch override
1 = Enable keyswitch override
Register Content
Displayed and first implied These two registers are reverse transfer registers for
passing information from the standby to the primary PLC
Second implied HSBY status register
The content of the remaining registers is application specific. The length is defined
in the bottom node.
Bit Function
11 0 = This PLC’s switch set to A
1 = This PLC’s switch set to B
12 0 = PLCs have matching logic
1 = PLCs do not have matching logic
13 0 1 = The other PLC in OFFLINE mode
14 1 0 = The other PLC running in primary mode
1 1 = The other PLC running in standby mode
15 0 1 = This PLC in OFFLINE mode
16 1 0 = This PLC running in primary mode
1 1 = This PLC running in standby mode
96
Introduction
This chapter describes the instruction IBKR.
Short Description
Function Description
The IBKR (indirect block read) instruction lets you access non-contiguous registers
dispersed throughout your application and copy the contents into a destination block
of contiguous registers. This instruction can be used with subroutines or for
streamlining data access by host computers or other PLCs.
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
97
Introduction
This chapter describes the instruction IBKW.
Short Description
Function Description
The IBKW (indirect block write) instruction lets you copy the data from a table of
contiguous registers into several non-contiguous registers dispersed throughout
your application.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
98
Introduction
This chapter describes the instruction ICMP.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75.
The ICMP (input compare) instruction provides logic for verifying the correct
operation of each step processed by a DRUM instruction. Errors detected by ICMP
may be used to trigger additional error-correction logic or to shut down the system.
ICMP and DRUM are synchronized through the use of a common step pointer
register. As the pointer increments, ICMP moves through its data table in lock step
with DRUM. As ICMP moves through each new step, it compares-bit for bit-the live
input data to the expected status of each point in its data table.
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
The remaining registers contain data for each step in the sequence.
99
Introduction
This chapter describes the instruction ID.
Short Description
Function Description
Three interrupt mask/unmask control instructions are available to help protect data
in both the normal (scheduled) ladder logic and the (unscheduled) interrupt handling
subroutine logic. These are the Interrupt Disable (ID) instruction, the Interrupt
Enable (IE) instruction, and the Block Move with Interrupts Disabled (BMDI)
instruction.
The ID instruction masks timer-generated and/or local I/O-generated interrupts.
An interrupt that is executed in the time frame after an ID instruction has been solved
and before the next IE instruction has been solved is buffered. The execution of a
buffered interrupt takes place at the time the IE instruction is solved. If two or more
interrupts of the same type occur between the ID ... IE solve, the mask interrupt
overrun error bit is set, and the subroutine initiated by the interrupts is executed only
one time.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
100
Introduction
This chapter describes the instruction IE.
Short Description
Function Description
Three interrupt mask/unmask control instructions are available to help protect data
in both the normal (scheduled) ladder logic and the (unscheduled) interrupt handling
subroutine logic. These are the Interrupt Disable (ID) instruction, the Interrupt
Enable (IE) instruction, and the Block Move with Interrupts Disabled (BMDI)
instruction.
The IE instruction unmasks interrupts from the timer or local I/O module and
responds to the pending interrupts by executing the designated subroutines.
An interrupt that is executed in the time frame after an ID instruction has been solved
and before the next IE instruction has been solved is buffered. The execution of a
buffered interrupt takes place at the time the IE instruction is solved. If two or more
interrupts of the same type occur between the ID ... IE solve, the mask interrupt
overrun error bit is set, and the subroutine initiated by the interrupts is executed only
one time.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Top Input
When the input is energized, the IE instruction unmasks interrupts from the timer or
local I/O module and responds to the pending interrupts by executing the designated
subroutines.
101
Introduction
This chapter describes the instruction IMIO.
NOTE: This instruction is only available after configuring a CPU without extension.
Short Description
Function Description
The IMIO instruction permits access of specified I/O modules from within ladder
logic. This differs from normal I/O processing, where inputs are accessed at the
beginning of the logic solve for the segment in which they are used and outputs are
updated at the end of the segment’s solution. The I/O modules being accessed must
reside in the local backplane with the Quantum PLC.
In order to use IMIO instructions, the local I/O modules to be accessed must be
designated in the I/O Map in your panel software.
Representation
Symbol
Representation of the instruction
NOTE: This IMIO block will not work with the following Compact I/O modules due to
hardware design restrictions inherent with these modules
z AS-BADU-204
z AS-BADU-205
z AS-BADU-206
z AS-BADU-216
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed This register specifies the physical address of the I/O module to be
accessed.
First implied This register logs the error status, which is maintained by the
instruction.
Bit Function
1-5 Not used
Rack 1 only for Quantum
Local racks 1 through 4 can be used for 32-bit Compact
6-8 Rack number 1 to 4 (only rack 1 is currently supported)
9 - 11 Not used
12 - 16 Slot number
Rack Number
Slot Number
Runtime Errors
The implied register in the control block will contain the following error code when
the instruction detects an error:
IMOD:
Interrupt Module Instruction
102
Introduction
This chapter describes the instruction IMOD.
Short Description
Function Description
The IMOD instruction initiates a ladder logic interrupt handler subroutine when the
appropriate interrupt is generated by a local interrupt module and received by the
PLC. Each IMOD instruction in an application is set up to correspond to a specific
slot in the local backplane where the interrupt module resides. The IMOD instruction
can designate the same or a separate interrupt handler subroutine for each interrupt
point on the associated interrupt module.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
The first three registers in the control block contain status information, of the
remaining registers provide means for you to specify the label (LAB) number of the
interrupt handler subroutine that is in the last (unscheduled) segment of the ladder
logic program.
Control Block for IMOD
Register Content
Displayed Function status bits
First implied State of inputs 1 ... 16 from the interrupt module at the time of the
interrupt
Second implied State of inputs 17 ... 32 from the interrupt module at the time of the
interrupt (invalid data for a 16-bit interrupt module)
Third implied LAB number and status for the first interrupt programmed point on
the interrupt module
... ...
Last implied LAB number and status for the last interrupt programmed point on
the interrupt
Bit Function
1-2 Not used
3 Error: controller slot
The slot number given in the top node of the IMOD is the CPU slot number.
4 Error: interrupt lost due to communication error in backplane
When reading the interrupting module, a computation error occurred and the
data is invalid. Because the interrupting points are cleared on the read, the
interrupt(s) are lost.
5 Module not healthy or not in I/O map
The I/O module in the slot given in the top node is not healthy (i.e., not working,
or missing) or a module has not been specified in the I/O map.
6 Error: interrupt lost because of on-line editing
While the operator was editing the ladder logic (this includes requesting a power
display of a different network, i.e., page up or page down), two or more interrupts
for the same point occurred. Only one is serviced.
7 Error: Maximum number of interrupts exceeded
More than 64 interrupts have been specified in the ladder logic and this "IMOD"
is the one that causes the count to exceed 64.
Bit Function
8 Error: slot number used in previous network (CAUTION: see Loss of Interrupts,
page 619)
The slot number in the top node is used in another "IMOD" block with in the
ladder logic. The first block is working, but this one is ignored.
9 - 15 Not used
16 0 = IMOD disabled
1 = IMOD enabled
This bit reflects to the state of power in the top node.
Loss of Interrupts
CAUTION
LOSS OF INTERRUPTS: WORKING IMOD INSTRUCTION
An error is indicated in bit 8 when two IMOD instructions are assigned the same
slot number. When this happens, it is possible to lose interrupts from the working
IMOD instruction without an indication if the number specified in the bottom node
of the two instructions is different.
Failure to follow these instructions can result in injury or equipment damage.
Bit Function
Interrupt Point Status
1 Execution delayed because of interrupt mask
This is not an error, but an indication that interrupts are disabled and at least one
interrupt for this point has occurred and will be serviced when interrupts are
enabled.
2 Error: invalid block in the interrupt handler subroutine
An invalid DX block has been used in the interrupt handler subroutine for this
input point (see Instructions that Cannot be Used in an Interrupt Handler for
details).
Bit Function
3 Error: Mask interrupt overrun
Two or more interrupts for this point have occurred while the interrupt was
disabled: i.e., Use of the Interrupt Disable (ID) block without using the Interrupt
Enable (IE) block or during online editing.
4 Error: execution overrun
A second interrupt (or more) has occurred while the interrupt handler subroutine
was still running.
5 Error: invalid LAB number
The LAB number specified in bits 7...16, zero, or that LAB number is not used in
the last segment of the user logic. This error will Auto Clear.
6 not used
LAB number
7 - 16 LAB number for the associated interrupt handler
Value in the range 1 ... 1023
Whenever the input to the bottom node of the IMOD instruction is enabled, the status
bits (bits 1 ... 5) are cleared. If a LAB number is specified (in bits 7 ... 16) as 0 or an
invalid number, any interrupts generated from that point are ignored by the PLC.
INDX –
Immediate Incremental Move
103
Introduction
This chapter describes the INDX instruction.
Short Description
Function Description
The INDX function block issues an MMFStart Immediate Incremental Move on the
axis specified. The velocity and increment are specified in the associated table.
Parameters Description
Symbol
The following diagram shows an INDX function.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
104
Introduction
This chapter describes the instruction ITMR.
Short Description
Function Description
The ITMR instruction allows you to define an interval timer that generates interrupts
into the normal ladder logic scan and initiates the execution of an interrupt handling
subroutine. The user-defined interrupt handler is a ladder logic subroutine created
in the last, unscheduled segment of ladder logic with its first network marked by a
LAB instruction. Subroutine execution is asynchronous to the normal scan cycle.
Up to 16 ITMR instructions can be programmed in an application. Each interval timer
can be programmed to initiate the same or different interrupt handler subroutines,
controlled by the JSR/LAB method described in the chapter General.
Each instance of the interval timer is delayed for a programmed interval while the
PLC is running, then generates a processor interrupt when the interval has elapsed.
An interval timer can execute at any time during normal logic scan, including system
I/O updating or other system housekeeping operations. The resolution of each
interval timer is 1 ms. An interval can be programmed in units of 1 ms, 10 ms, 100
ms, or 1 s. An internal counter increments at the specified resolution.
You should be aware that if the ITMR time is less than the L/L edit time slice, there
will be no power flow display or user logic edit allowed.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Top Input
When the top input is energized, the ITMR instruction is enabled. It begins counting
the programmed time interval. When that interval has expired the counter is reset
and the designated error handler logic executes.
When the top input is not energized, the following events occur:
z All indicated errors are cleared
z The timer is stopped
z The time count is either reset or held, depending on the state of bit 15 of the first
register in the control block (the displayed register in the top node)
z Any pending masked interrupt is cleared for this timer
Register Content
Displayed Function status and function control bits
First implied In this register specify a value representing the interval at which the
ITMR instruction will generate interrupts and initiate the execution of
the interrupt handler.
The interval will be incremented in the units specified by bits 12 and
13 of the first control block register, i.e. 1 ms, 10 ms, 100 ms, or 1 s
units.
Second implied In this register specify a value indicating the label (LAB) number that
will start the interrupt handler subroutine.
The number must be in the range 1 ... 1023.
NOTE: We recommend that the size of the logic subroutine associated with the LAB
be minimized so that the application does not become interrupt-driven.
Bit Function
Function Status
1 Execution delayed because of interrupt mask.
2 Invalid block in the interrupt handler subroutine.
3 Not used
4 Time = 0
5 Mask interrupt overrun.
6 Execution overrun.
7 No LAB or invalid LAB.
8 Timer number used in previous network.
Function Control
9 - 11 Not used
12 - 13 0 0 = 1 ms time base
0 1 = 10 ms time base
1 0 = 100 ms time base
1 1 = 1 s time base
14 1 = PLC stop holds counter.
0 = PLC stop resets counter.
15 1 = enable OFF holds counter.
0 = enable OFF resets counter.
16 1 = instruction enabled
0 = instruction disabled
105
Introduction
This chapter describes the instruction ITOF.
Short Description
Function Description
The ITOF instruction performs the conversion of a signed or unsigned integer value
(its top node) to a floating point (FP) value, and stores the FP value in two
contiguous 4x registers in the middle node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
106
Introduction
This chapter describes the JOGS instruction.
Short Description
Function Description
This function block jogs an axis positive or negative using MMFStart Immediate
Continuous Move and Halt. Jog velocity is specified in the associated register table.
Representation
Symbol
The following diagram shows the JOGS function.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
107
Introduction
This chapter describes the instruction JSR.
Short Description
Function Description
When the logic scan encounters an enabled JSR instruction, it stops the normal
logic scan and jumps to the specified source subroutine in the last (unscheduled)
segment of ladder logic.
You can use a JSR instruction anywhere in user logic, even within the subroutine
segment. The process of calling one subroutine from another subroutine is called
nesting. The system allows you to nest up to 100 subroutines; however, we
recommend that you use no more than three nesting levels. You may also perform
a recursive form of nesting called looping, whereby a JSR call within the subroutine
recalls the same subroutine.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
108
Introduction
This chapter describes the instruction LAB.
Short Description
Function Description
The LAB instruction is used to label the starting point of a subroutine in the last
(unscheduled) segment of user logic. This instruction must be programmed in row
1, column 1 of a network in the last (unscheduled) segment of user logic. LAB is a
one-node function block.
LAB also serves as a default return from the subroutine in the preceding networks.
If you are executing a series of subroutine networks and you find a network that
begins with LAB, the system knows that the previous subroutine is finished, and it
returns the logic scan to the node immediately following the most recently executed
JSR block.
NOTE: If you need real world I/O serviced while you are in the interrupt subroutine,
you must use the IMIO (see page 607) (read/write) function block in the same
subroutine. If you do not, the real world I/O referenced in that subroutine will not get
serviced until the appropriate segment is solved.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
109
Introduction
This chapter describes the instruction LOAD.
Short Description
Function Description
NOTE: This instruction is available with the PLC family TSX Compact, with Quantum
CPUs 434 12/ 534 14 and Momentum CPUs CCC 960 x0/ 980 x0.
The LOAD instruction loads a block of 4x registers (previously saved) from state
RAM where they are protected from unauthorized modification.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
1, 2, 3, 4 (Middle Node)
The middle node defines the specific buffer where the block of data is to be loaded.
Four 512 word buffers are allowed. Each buffer is defined by placing its
corresponding value in the middle node, that is, the value 1 represents the first
buffer, value 2 represents the second buffer and so on. The legal values are 1, 2, 3,
and 4. When the PLC is started all four buffers are zeroed. Therefore, you may not
load data from the same buffer without first saving it with the instruction SAVE.
When this is attempted the middle output goes ON. In other words, once a buffer is
used, it may not be used again until the data has been removed.
Bottom Output
The output from the bottom node goes ON when a LOAD request is not equal to the
registers that were SAVEd. This kind of transaction is allowed, however, it is your
responsibility to ensure this does not create a problem in your application.
110
Introduction
This chapter describes the instruction MAP3.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75.
Ladder logic applications running in the controller initiate communication with MAP
network nodes through the MAP3 instruction.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Top Input
This input initiates a transaction. To start a transaction the input must be held ON
(HIGH) for at least one scan. If the S980 has resources to process the transaction,
the middle output passes power. If resources are not available, no outputs pass
power.
Once a transaction is started, it will run until a reply is received, a communications
error is detected, or a timeout occurs. The values in the control block, data source,
and length must not be altered, or the transaction will not be completed and the
bottom output will pass power. A second transaction cannot be started by the same
block until the first one is complete.
Middle Input
If the top input is also HIGH, the middle input going ON allows a new transaction to
be initiated in the same scan, following the completion of a previous one. A new
transaction begins when the top output passes power from the first transaction.
Word Meaning
1 Destination Device
2 Qualifier / Function Code
3 Network Mode / Network Type
4 Function Status
5 Register A Reference Type
This word is labeled Register A* and contains the reference type for 4 types of
Read (0x, 1x, 3x, and 4x registers) and 2 types of Write (0X or 4x).
6 Register B Reference Number
This word is labeled Register B* and contains the starting reference number in
the range 1 to 99999.
Word Meaning
7 Register C Reference Length
This word is labeled Register C* and contains the Quantity of references
requested.
8 Register D Timeout
This word is labeled Register D* and contains the Timeout parameter. This value
sets the maximum length of time used to complete a transaction, including
retries.
Destination Device
Word 1 contains the destination device in bit position 9 through 16. The computer
works with this byte as the LSB and will accept a range of 1 to 255.
Usage of word 1:
Bit Function
1-8 Not used
9 - 16 Destination device
Bit Function
Qualifier
1-8 0 = addressed
>0 = named
Function Code
9 - 16 4 = read
5 = write
Usage of word 3:
Bit Function
1-4 Not used
Mode
5-8 1 = association
Type
9 - 12 7 = 7 layer MAP network
13 - 16 1 = type 1 service
Function Status
Word 4 is the function status. An error code is returned if an error occurs in a block
initiated function.
The decimal codes are:
Code Meaning
1 Association request rejected
4 Message timeout application response
5 Invalid destination device
6 Message size exceeded
8 Invalid function code
17 Device not available
19 Unsupported network type
22 No channel available
23 MMS message not sent
24 Control block changed
25 Initiate failed
26 System download in progress
28 Channel not ready
99 Undetermined error
103 Access denied
105 Invalid address
110 Object nonexistent
Function summary
The network controlling device may issue a function code that alters the control
block register assignment as given above for read/write. Those differences for
information, status, conclude and abort are identified in this summary on the bottom
of your screen.
Refer to Modicon S980 Map 3.0 Network Interface User Guide that describes the
register contents for each operation.
Top Output
The top output passes power for one scan when a transaction completes
successfully.
Middle Output
The middle output passes power when a transaction is in progress. If the top input
is ON and the middle input is OFF, then the middle output will go OFF on the same
scan that the top output goes ON. If both top input and middle input are ON, then the
middle output will remain ON.
Bottom Output
The bottom output passes power for one scan when a transaction cannot be
completed. An error code is returned to the function status word (register 4x+3) in
the function’s control block.
111
Introduction
This chapter describes the four integer operations executed by the instruction
MATH. The four operations are decimal square root, process square root, logarithm
(base 10), and antilogarithm (base 10).
Short Description
Function Description
The MATH instruction performs any one of four integer math operations, which is
called by entering a function code in the range 1 ... 4 in the bottom node.
Table with two columns:
Each MATH function operates on the contents of the top node registers and places
a result in the middle node registers.
For example, the normal square root uses registers 3/4xxxx and 3/4xxxx+1 as an 8
digit operand and stores the result in 4yyyy and 4yyyy+1. The result storage format
is XXXX.XX00 where there are 2 places of precision following an implied decimal
point.
Math performs the function indicated by the bottom node:
Representation
112
Introduction
This chapter describes the instruction MBIT.
Short Description
Function Description
WARNING
DISABLED COILS
Before using the MBIT instruction, check for disabled coils. MBIT will override any
disabled coils within a destination group without enabling them. This can cause
injury if a coil has been disabled for repair or maintenance because the coil’s state
can change as a result of the MBIT instruction.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The MBIT instruction modifies bit locations within a data matrix, i.e. it sets the bit(s)
to 1 or clears the bit(s) to 0. One bit location may be modified per scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
113
Introduction
This chapter describes the instruction MBUS.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75.
The S975 Modbus II Interface option modules use two loadable function blocks:
MBUS and PEER. MBUS is used to initiate a single transaction with another device
on the Modbus II network. In an MBUS transaction, you are able to read or write
discrete or register data.
PLCs on a Modbus II network can handle up to 16 transactions simultaneously.
Transactions include incoming (unsolicited) messages as well as outgoing
messages. Thus, the number of message initiations a PLC can manage at any time
is 16 - # of incoming messages.
A transaction cannot be initiated unless the S975 has enough resources for the
entire transaction to be performed. Once a transaction has been initiated, it runs until
a reply is received, an error is detected, or a timeout occurs. A second transaction
cannot be started in the same scan that the previous transaction completes unless
the middle input is ON. A second transaction cannot be initiated by the same MBUS
instruction until the first transaction has completed.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Content
Displayed Address of destination device (range: 0 ... 246)
First implied not used
Second implied Function code
Third implied Reference type
Fourth implied Reference number, e.g., if you placed a 4 in the third implied register
and you place a 23 in this register, the reference will be holding
register 400023
Fifth implied Number of words of discrete or register references to be read or
written
Sixth implied Time allowed for a transaction to be completed before an error is
declared; expressed as a multiple of 10 ms, e.g., 100 indicates 1 000
ms; the default timeout is 250 ms.
Function Code
This register contains the function code for requested action:
Value Meaning
01 Read discretes
02 Read registers
03 Write discrete outputs
04 Write register outputs
255 Get system statistics
Reference Type
This register contains one of 4 possible discrete or register reference types:
General
Issuing function code 255 in the second implied register of the MBUS control block
obtains a copy of the Modbus II local statistics, a series of 46 contiguous register
locations where data describing error and system conditions is stored. To use MBUS
for a get statistics operation, set the length in the bottom node to 46, a length < 46
returns an error (the bottom output will go ON), and a length > 46 reserves extra
registers that cannot be used.
Example
Parameterizing of the instruction
Register 400101 is the first register in the MBUS control block, making register
400103 the control register that defines the MBUS function code. By entering a
value of 255 in register 400103, you implement a get statistics function. Registers
401000 ... 401045 are then filled with the system statistics.
Register Content
401000 Number of tokens passed by this station
401001 Number of tokens sent by this station
401002 Number of time the TBC has failed to pass token and has not found a
successor
401003 Number of times the station has had to look for a new successor
Register Content
401004 TBC-detected error frames
401005 Invalid request with response frames
401006 Applications message too long
401007 Media access control (MAC) address out of range
401008 Duplicate application frames
401009 Unsupported logical link control (LLC) message types
401010 Unsupported LLC address
Register Content
401011 Receive noise bursts (no start delimiter)
401012 Frame check sequence errors
401013 E-bit error in end delimiter
401014 Fragmented frames received (start delimiter not followed by end delimiter)
401015 Receive frames too long
401016 Discarded frames because there is no receive buffer
401017 Receive overruns
401018 Token pass failures
Register Content
401019 Retries on request with response frames
401020 All retries performed and no response received from unit
Register Content
401021 Bad transmit request
401022 Negative transmit confirmation
Register Content
401023 Message sent but no application response
401024 Invalid MBUS/PEER logic
Register Content
401025 Command not executable
401026 Data not available
(MMFS) Errors
Registers 401027... 401035 are then filled with the following:
Register Content
401027 Device not available
401028 Function not implemented
401029 Request not recognized
401030 Syntax error
401031 Unspecified error
401032 Data request out of bounds
Register Content
401033 Request contains invalid controller address
401034 Request contains invalid data type
401035 None of the above
Background Statistics
Registers 401036... 401043 are then filled with the following:
Register Content
401036 Invalid MBUS/PEER request
401037 Number of unsupported MMFS message types received
401038 Unexpected response or response received after timeout
401039 Duplicate application responses received
401040 Response from unspecified device
401041 Number of responses buffered to be processed (in the least significant byte);
number of MBUS/PEER requests to be processed (in the most significant
byte)
401042 Number of received requests to be processed (in the least significant byte);
number of transactions in process (in the most significant byte)
401043 S975 scan time in 10 ms increments
Software Revision
Registers 401044... 401045 are then filled with the following:
Register Content
401044 Version level of fixed software (PROMs): major version number in most
significant byte; minor version number in least significant byte
401045 Version of loadable software (EEPROMs): major version number in most
significant byte; minor version number in least significant byte
Short Description
Function Description
The MMFB function block sets control bits for an axis in the MMFSTART table area.
See Representation, page 683 for a description of the control bit functions. Most of
these functions can be accomplished with subroutines, but this is more efficient
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for detailed information on using motion
loadables.
Representation
Symbol
The following diagram shows the MMFB function.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
Short Description
Function Description
The MMFE function block is designed specifically for executing moveImmed and
moveQueue subroutines with Coordinated Sets. Par1 specifies the MoveType
(Absolute or Incremental) and EPar1 through EParN take the Position for all the N
axes in the Coordinated Set. Then EparN+1 through Epar2N take the Velocity of all
N axes in the Coordinated Set, up to eight axes. For these move subroutines, Par2
is not used and there are no return values, but they are included in the function block
for future subroutines.
Representation
Symbol
The following diagram shows an MMFE block.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
Short Description
Function Description
This function block defines the MMFSTART communication register table. This table
starts at 41000 length 200. It passes power from input 1 but checks the revision in
the table.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for detailed information on using motion
loadables.
Representation
Symbol
The following diagram shows an MMFI block.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table shows the instruction’s registers.
Short Description
Function Description
This function block issues an MMFSTART subroutine using standard parameters
and returns. It can be used to execute any MMFSTART standard subroutine except
moves to CoordinatedSets. These subroutines provide a common interface to
SERCOS drives.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for detailed information on using motion
loadables.
Representation
Symbol
The following diagram shows an MMFS block.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
118
Introduction
This chapter describes the MOVE block.
Short Description
Function Description
This function block issues an MMFStart Immediate Absolute move on the axis
specified. The velocity and position are specified in the associated table.
Related Information
See the MMFStart Loadables for ProWORX 32 file in the Programs\Lib\Quantum
folder on the ProWORX 32 installation CD for detailed information on using motion
loadables.
Representation
Symbol
The following diagram shows a MOVE block.
Parameter Descriptions
The following table describes the instruction’s parameters.
Registers
The following table describes the instruction’s registers.
MRTM:
Multi-Register Transfer Module
119
Introduction
This chapter describes the instruction MRTM.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75.
The MRTM instruction is used to transfer blocks of holding registers from the
program table to the command block, a group of output registers. To verify each
block transfer, an echo of the data contained in the first holding register is returned
to an input register.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Mode of Functioning
The MRTM transfers contiguous blocks of up to 127 registers from a table of register
blocks to a block size holding register area. The MRTM function block controls the
operation of the module in the following manner:
MSPX (Seriplex)
120
Introduction
This chapter describes the instruction MSPX.
Short Description
Function Description
The MSPX reads and writes bits within the base unit’s registers.
The top node of the MSPX instruction represents the internal sub-function number.
This node can be assigned a decimal constant value of 32 or a 4xxxx register
containing the value of 32.
The middle node represents the starting 4xxxx register location for the SERIPLEX-
MOMENTUM interface base unit.
The bottom node is interpreted as a numeric offset from 3000 indicating the first
3xxxx input register assigned to the interface base unit. The bottom node value
specifies the location of the base unit's status register.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
MSTR: Master
121
Introduction
This chapter describes the instruction MSTR.
Short Description
Function Description
PLCs that support networking communications capabilities over Modbus Plus and
Ethernet have a special MSTR (master) instruction with which nodes on the network
can initiate message transactions.
The MSTR instruction allows you to initiate one of 12 possible network
communications operations over the network.
z Read MSTR Operation
z Write MSTR Operation
z Get Local Statistics MSTR Operation
z Clear Local Statistics MSTR Operation
z Write Global Data MSTR Operation
z Read Global Data MSTR Operation
z Get Remote Statistics MSTR Operation
z Clear Remote Statistics MSTR Operation
z Peer Cop Health MSTR Operation
z Reset Option Module MSTR Operation
z Read CTE (Config Extension) MSTR Operation
z Write CTE (Config Extension) MSTR Operation
Representation
Symbol
Representation of the instruction
Parameter Description
For more information, see Parameter Description, page 718.
Bottom Input
With 984LL exec. versions 1.20 and later, power is asserted to the bottom input of
the MSTR block. Along with the top enable input, this assertion causes the TCP
connection to remain open. Once the connection has been established, only
Modbus command and response packets are transmitted onto the Ethernet. The
repetition rate, however, cannot be specified. It transmits as fast as the scan and the
target served can accomodate. No dynamic changes to the control block are
accepted until the enable (top) input is pulsed.
984LL function block example for open connection operation
z Bit 1 = 0 The TCP port will be closed after the transaction has completed (as
before).
z Bit 1 = 1 The TCP port will be held open.
Parameter Description
Mode of Functioning
The MSTR instruction allows you to initiate one of 12 possible network
communications operations over the network. Each operation is designated by a
code.
Up to four MSTR instructions can be simultaneously active in a ladder logic program.
More than four MSTRs may be programmed to be enabled by the logic flow; as one
active MSTR block releases the resources it has been using and becomes
deactivated, the next MSTR operation encountered in logic can be activated.
Master Operations
Certain MSTR operations are supported on some networks and not on others.
Legend
x supported
- not supported
NOTE: You need to understand the routing procedures used by the network you are
using when you program an MSTR instruction. A full discussion of Modbus Plus
routing path structures is given in Modbus Plus Planning and Installtion Guide. If
TCP/IP or SY/MAX Ethernet routing is being implemented, it must be accomplished
via standard third-party Ethernet IP router products.
Register Content
Displayed Identifies one of the nine MSTR operations legal for Modbus Plus
(1 ... 9)
First implied Displays error status
Second implied Displays length (number of registers transferred)
Third implied Displays MSTR operation-dependent information
Fourth implied The Routing 1 register, used to designate the address of the
destination node for a network transaction. The register display is
implemented physically for the Quantum PLCs
Fifth implied The Routing 2 register
Sixth implied The Routing 3 register
Seventh implied The Routing 4 register
Eighth implied The Routing 5 register
Ninth implied not applicable
Tenth implied not applicable
Eleventh implied not applicable
Routing 1 Register for Quantum Automation Series PLCs (Fourth Implied Register)
To target a Modbus Plus Network Option module (NOM) in a Quantum PLC
backplane as the destination of an MSTR instruction, the value in the high byte
represents the physical slot location of the NOM, e.g. if the NOM resides in slot 7 in
the backplane, the high byte of routing register 1 would look like this:
Bit Function
1... 8
NOTE: If you have created a logic program using an MSTR instruction for a 984 PLC
and want to port it to a Quantum Automation Series PLC without having to edit the
routing 1 register value, make sure that NOM #1 is installed in slot 1 of the Quantum
backplane (and if a NOM #2 is used, that it is installed in slot 2 of the backplane). If
you try to run the ported application with the NOMs in other slots without modifying
the register, an F001 status error will appear, indicating the wrong destination node.
Register Content
Displayed Identifies one of the nine MSTR operations legal for TCP/IP
(1 ... 4, 7, 8, 10 ... 12)
First implied Displays error status
Second implied Displays length (number of registers transferred)
Third implied Displays MSTR operation-dependent information
Fourth implied Low byte: slot address of the NOE module
High byte: MBP-to-Ethernet Transporter (MET) Map index
Fifth implied Byte 4 of the 32-bit destination IP Address
Sixth implied Byte 3 of the 32-bit destination IP Address
Seventh implied Byte 2 of the 32-bit destination IP Address
Eighth implied Byte 1 of the 32-bit destination IP Address
Register Content
Displayed Identifies one of the nine MSTR operations legal for SY/MAX
(1, 2, 10 ... 12)
First implied Displays error status
Second implied Displays Read/Write length (number of registers transferred)
Third implied Displays Read/Write base address
Fourth implied Low byte: slot address of the NOE module (e.g., slot 10 = 0A00, slot
6 = 0600)
High byte: MBP-to-Ethernet Transporter (MET) Map index
Fifth implied Destination drop number (or set to FF hex)
Sixth implied Terminator (set to FF hex)
Short Description
An MSTR Write operation transfers data from a master source device to a specified
slave destination device on the network. Read and Write use one data master
transaction path and may be completed over multiple scans.
If you attempt to program the MSTR to Write its own station address, an error will be
generated in the first implied register of the MSTR control block. It is possible to
attempt a Write operation to a nonexistent register in the slave device. The slave will
detect this condition and report it, this may take several scans.
Network Implementation
The MSTR Write operation can be implemented on the Modbus Plus, TCP/IP
Ethernet, and SY/MAX Ethernet networks.
Short Description
An MSTR Read operation transfers data from a specified slave source device to a
master destination device on the network. Read and Write use one data master
transaction path and may be completed over multiple scans.
If you attempt to program the MSTR to Read its own station address, an error will
be generated in the first implied register of the MSTR control block. It is possible to
attempt a Read operation to a nonexistent register in the slave device. The slave will
detect this condition and report it, this may take several scans.
Network Implementation
The MSTR Read operation can be implemented on the Modbus Plus, TCP/IP
Ethernet, and SY/MAX Ethernet networks.
Short Description
The Get Local Statistics operation obtains information related to the local node,
where the MSTR has been programmed. This operation takes one scan to complete
and does not require a data master transaction path.
Network Implementation
The Get Local Statistics operation (type 3 in the displayed register of the top node)
can be implemented for Modbus Plus and TCP/IP Ethernet networks. It is not used
for SY/MAX Ethernet.
The following network statistics are available.
z Modbus Plus network statistics
z TCP/IP Ethernet network statistics
Short Description
The Clear local statistics operation clears statistics relative to the local node (where
the MSTR has been programmed). This operation takes one scan to complete and
does not require a data master transaction path.
NOTE: When you issue the Clear Local Statistics operation, only words 13 ... 22 in
the statistics table are cleared.
Network Implementation
The Clear Local Statistics operation (type 4 in the displayed register of the top node)
can be implemented for Modbus Plus and TCP/IP Ethernet networks. It is not used
for SY/MAX Ethernet.
The following network statistics are available.
z Modbus Plus network statistics
z TCP/IP Ethernet network statistics
Short Description
The Write global data operation transfers data to the communications processor in
the current node so that it can be sent over the network when the node gets the
token. All nodes on the local network link can receive this data. This operation takes
one scan to complete and does not require a data master transaction path.
Network Implementation
The Write global data operation (type 5 in the displayed register of the top node) can
be implemented only for Modbus Plus networks.
Short Description
The Read global data operation gets data from the communications processor in
any node on the local network link that is providing global data. This operation may
require multiple scans to complete if global data is not currently available from the
requested node. If global data is available, the operation completes in a single scan.
No master transaction path is required.
Network Implementation
The Read global data operation (type 6 in the displayed register of the top node) can
be implemented only for Modbus Plus networks.
Short Description
The Get Remote Statistics operation obtains information relative to remote nodes on
the network. This operation may require multiple scans to complete and does not
require a master data transaction path.
Network Implementation
The Get Remote Statistics operation (type 7 in the displayed register of the top
node) can be implemented for Modbus Plus and TCP/IP Ethernet networks. It is not
used for SY/MAX Ethernet.
The remote comm processor always returns its complete statistics table when a
request is made, even if the request is for less than the full table. The MSTR
instruction then copies only the amount of words you have requested to the
designated 4x registers.
Short Description
The Clear remote statistics operation clears statistics related to a remote network
node from the data area in the local node. This operation may require multiple scans
to complete and uses a single data master transaction path.
NOTE: When you issue the Clear Remote Statistics operation, only words 13 ... 22
in the statistics table are cleared
Network Implementation
The Clear remote statistics operation (type 8 in the displayed register of the top
node) can be implemented for Modbus Plus and TCP/IP Ethernet networks. It is not
used for SY/MAX Ethernet.
The following network statistics are available.
z Modbus Plus network statistics
z TCP/IP Ethernet network statistics
Short Description
The peer cop health operation reads selected data from the peer cop
communications health table and loads that data to specified 4x registers in state
RAM. The peer cop communications health table is 12 words long, and the words
are indexed via this MSTR operation as words 0 ... 11.
Network Implementation
The peer cop health operation (type 9) in the displayed register of the top node) can
be implemented only for Modbus Plus networks.
Specific Output 4
Specific Input 8
10
11
Short Description
The Reset option module operation causes a Quantum NOE option module to enter
a reset cycle to reset its operational environment.
Network Implementation
The Reset option module operation (type 10 in the displayed register of the top
node) can be implemented for TCP/IP and SY/MAX Ethernet networks, accessed
via the appropriate network adapter. Modbus Plus networks do not use this
operation.
Short Description
The Read CTE operation reads a given number of bytes from the Ethernet
configuration extension table to the indicated buffer in PLC memory. The bytes to be
read begin at a byte offset from the beginning of the CTE. The content of the
Ethernet CTE table is displayed in the middle node of the MSTR block.
Network Implementation
The Read CTE operation (type 11 in the displayed register of the top node) can be
implemented for TCP/IP and SY/MAX Ethernet networks, accessed via the
appropriate network adapter. Modbus Plus networks do not use this operation.
Short Description
The Write CTE operation writes the configuration CTE table from the data specified
in the middle node to an indicated Ethernet configuration extension table or a
specified slot.
Network Implementation
The Write CTE operation (type 12 in the displayed register of the top node) can be
implemented for TCP/IP and SY/MAX Ethernet networks, via the appropriate
network adapter. Modbus Plus networks do not use this operation.
Word Meaning
00 ... 02 MAC address, e.g., if the MAC address is 00 00 54 00 12 34, it is
displayed as follows:
Word Content
00 00 00
01 00 54
02 34 12
03 Board status Meaning
0x0001 Running
0x4000 APPI LED (1=ON, 0 = OFF)
0x8000 Link LED
04 and 05 Number of receiver interrupts
06 and 07 Number of transmitter interrupts
08 and 09 Transmit-timeout error count
10 and 11 Collision-detect error count
12 and 13 Missed packets
14 and 15 Memory error count
16 and 17 Number of times driver has restarted lance
18 and 19 Receive framing error count
20 and 21 Receiver overflow error count
22 and 23 Receive CRC error count
24 and 25 Receive buffer error count
26 and 27 Transmit buffer error count
28 and 29 Transmit silo underflow count
30 and 31 Late collision count
32 and 33 Lost carrier count
34 and 35 Number of retries
36 and 37 IP address, e.g., if the IP address is 198.202.137.113 (or c6 CA 89 71),
it is displayed as follows:
Word Content
36 89 71
37 C6 CA
Runtime Errors
If an error occurs during a MSTR operation, a hexadecimal error code will be
displayed in the first implied register in the control block (the top node).
Function error codes are network-specific.
z Modbus Plus and SY/MAX Ethernet Error Codes
z SY/MAX-specific Error Codes
z TCP/IP Ethernet Error Codes
z CTE Error Codes for SY/MAX and TCP/IP Ethernet
Types or Errors
Three additional types of errors may be reported in the MSTR instruction when
SY/MAX Ethernet is being used.
The error codes have the following designations:
z 71xx errors: Errors detected by the remote SY/MAX device
z 72xx errors: Errors detected by the serve
z 73xx errors: Errors detected by the Quantum translator
122
Introduction
This chapter describes the instruction MU16.
Short Description
Function Description
The MU16 instruction performs signed or unsigned multiplication on the 16-bit
values in the top and middle nodes, then posts the product in two contiguous holding
registers in the bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
MUL: Multiply
123
Introduction
This chapter describes the instruction MUL.
Short Description
Function Description
The MUL instruction multiplies unsigned value 1 (its top node) by unsigned value 2
(its middle node) and stores the product in two contiguous holding registers in the
bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Example
124
Introduction
This chapter describes the instruction NBIT.
Short Description
Function Description
The normal bit (NBIT) instruction lets you control the state of a bit from a register by
specifying its associated bit number in the bottom node. The bits being controlled
are similar to coils, when a bit is turned ON, it stays ON until a control signal turns it
OFF.
NOTE: The NBIT instruction does not follow the same rules of network placement
as 0x-referenced coils do. An NBIT instruction cannot be placed in column 11 of a
network and it can be placed to the left of other logic nodes on the same rungs of
the ladder.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
125
Introduction
This chapter describes the instruction NCBT.
Short Description
Function Description
The normally closed bit (NCBT) instruction lets you sense the logic state of a bit in
a register by specifying its associated bit number in the bottom node. The bit is
representative of an N.C contact. It passes power from the top output when the
specified bit is OFF and the top input is ON.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
126
Introduction
This chapter describes the instruction NOBT.
Short Description
Function Description
The normally open bit (NOBT) instruction lets you sense the logic state of a bit in a
register by specifying its associated bit number in the bottom node. The bit is
representative of an N.O contact.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Short Description
Function Requirements
The following steps are necessary before using this instruction:
Step Action
1 Add loadable NSUP.exe to the controller’s configuration
Note: This loadable needs only be loaded once to support multiple loadables,
such as ECS.exe and XMIT.exe.
CAUTION
The outputs of the instruction turn on, regardless of the input states
When the NSUP loadable is not installed or is installed after the NOL loadable or
is installed in a Quantum PLC with an executive < V2.0, all three outputs turn on,
regardless of the input states.
Failure to follow these instructions can result in injury or equipment damage.
Step Action
2 Unpack and install the DX Loadable NOL. For more information, see Installation
of DX Loadables, page 75.
Function Description
The NOL instruction is provided to facilitate the movement of the large amount of
data between the NOL module and the controller register space. The NOL Module
is mapped for 16 input registers (3X) and 16 output registers (4X). Of these
registers, two input and two output registers are for handshaking between the NOL
Module and the instruction. The remaining fourteen input and fourteen output
registers are used to transport the data.
Representation
Symbol
Representation of the instruction
Parameter Description
Detailed Description
Register Content
Configuration and Displayed and first implied I/O Map input base (3x)
Status information Second and third implied I/O Map output base (4x)
Fourth implied Enable health bits
Fifth implied Number of input registers
Sixth implied Number of output registers
Seventh implied Number of discrete input registers
Eighth implied Number of discrete output registers
Ninth implied Config checksum (CRC)
10th implied NOL version
11th implied Module firmware version
12th implied NOL DX version
13th implied Module DX version
14th to 15th implied Not used
SNVTs Health Bit 16th to 31st implied Health bits of each programmable
Status network variable
(if enabled in DX-
Zoom screen)
SNVTs Actual Enable Health Bit = NO: Data is stored in 4 groups:
Data from 16th implied up z Discrete inputs
Enable Health Bit = YES: z Register inputs
from 32nd implied up z Discrete outputs
z Register outputs
These groups of data are set up
consecutively and start on word
boundaries.
The first 16 registers with configuration and status information can be programmed
and monitored via the NOL DX Zoom screen. For setting up the link to the NOL
module the only parameters that need to be entered are the beginning 3x and 4x
registers used when I/O mapping the NOL module.
Further information you will find in the documentation Network Option Module for
LonWorks.
Instruction Descriptions (O to Q)
V
Introduction
In this part instruction descriptions are arranged alphabetically from O to Q.
OR: Logical OR
128
Introduction
This chapter describes the instruction OR.
Short Description
Function Description
WARNING
DISABLED COILS
Before using the OR instruction, check for disabled coils. OR will override any
disabled coils within the destination matrix without enabling them. This can cause
personal injury if a coil has disabled an operation for maintenance or repair
because the coil’s state can be changed by the OR operation.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
Representation
Symbol
Representation of the instruction
Parameter Description
An OR Example
Whenever contact 10001 passes power, the source matrix formed by the bit pattern
in registers 40600 and 40601 is ORed with the destination matrix formed by the bit
pattern in registers 40606 and 40607. The ORed bit pattern is then copied into
registers 40606 and 40607, overwriting the original destination bit pattern.
CAUTION
OUTPUT/COIL RESTRICTIONS WITH THE OR INSTRUCTION
Do not turn off outputs and coils when using the OR instruction.
Failure to follow these instructions can result in injury or equipment damage.
NOTE: If you want to retain the original destination bit pattern of registers 40606 and
40607, copy the information into another table using the BLKM instruction before
performing the OR operation.
Parameter Description
PCFL:
Process Control Function Library
129
Introduction
This chapter describes the instruction PCFL.
Short Description
Function Description
The PCFL instruction gives you access to a library of process control functions
utilizing analog values.
PCFL operations fall into three major categories.
z Advanced Calculations
z Signal Processing
z Regulatory Control
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Advanced Calculations
Advanced calculations are used for general mathematical purposes and are not
limited to process control applications. With advanced calculations, you can create
custom signal processing algorithms, derive states of the controlled process, derive
statistical measures of the process, etc.
Simple math routines have already been offered in the EMTH instruction. The
calculation capability included in PCFL is a textual equation calculator for writing
custom equations instead of programming a series of math operations one by one.
Signal Processing
Signal processing functions are used to manipulate process and derived process
signals. They can do this in a variety of ways; they linearize, filter, delay, and
otherwise modify a signal. This category would include functions such as an Analog
Input/Output, Limiters, Lead/Lag, and Ramp generators.
Regulatory Control
Regulatory functions perform closed loop control in a variety of applications.
Typically, this is a PID (proportional integral derivative) negative feedback control
loop. The PID functions in PCFL offer varying degrees of functionality. Function 75,
PID, has the same general functionality as the PID2 instruction but uses floating
point math and represents some options differently. PID is beneficial in cases where
PID2 is not suitable because of numerical concerns such as round-off.
For more information, see PCFL Subfunctions, page 45.
Output Flags
In all PCFL functions, bits 12 ... 16 of the output status register define the following
standard output flags:
Bit Function
1 - 11 Not used
12 1 = Math error - invalid floating point or output
13 1 = Unknown PCFL function
14 not used
15 1 = Size of the allocated register table is too small
16 1 = Error has occurred - pass power to the bottom output
For time-dependent PCFL functions, bits 9 and 11 are also used as follows:
Bit Function
1-8 Not used
9 1 = Initialization working
10 Not used
11 1 = Illegal solution interval
12 1 = Math error - invalid floating point or output
13 1 = Unknown PCFL function
14 not used
15 1 = Size of the allocated register table is too small
16 1 = Error has occurred - pass power to the bottom output
Input Flags
In all PCFL functions, bits 1 and 3 of the input status register define the following
standard input flags:
Bit Function
1 1 = Function initialization complete or in progress
0 = Initialize the function
2 not used
3 1 = Timer override
4 -16 not used
130
Introduction
This chapter describes the subfunction PCFL-AIN.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The AIN function scales the raw input produced by analog input modules to
engineering values that can be used in the subsequent calculations.
Three scaling options are available.
z Auto input scaling
z Manual input scaling
z Implementing process square root on the input to linearize the signal before
scaling
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Mode of Functioning
AIN supports the range resolutions for following device types:
Quantum Engineering Ranges
Quantum Thermocouple
Quantum Voltmeter
Register Content
Displayed Input from a 3x register
First implied Reserved
Second implied Output status
Third implied Input status
Fourth and fifth implied Scale 100% engineering units
Sixth and seventh implied Scale 0% engineering units
Register Content
Eighth and ninth implied Manual input
10th and 11th implied Auto input
12th and 13th implied Output
Output Status
Bit Function
1...5 Not used
6 1 = with TC PSQRT, invalid: in extrapolation range, PSQRT not used
7 1 = input out of range
8 1 = echo under range from input module
9 1 = echo over range from input module
10 1 = invalid output mode selected
11 1 = invalid Engineering Units
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 3 Standard input bits (flags)
4 ... 8 Ranges (see following tables)
9 1 = process square root on raw input
10 1 = manual scaling mode
0 = auto scaling mode
11 1 = extrapolate over-/under-range for auto mode
0 = clamp over-/under-range for auto mode
12 ... 16 Not used
Bit
4 5 6 7 8 Range
0 1 0 0 0 +/- 10V
0 1 0 0 1 +/- 5V
0 1 0 1 0 0 ... 10 V
0 1 0 1 1 0 ... 5 V
0 1 1 0 0 1 ... 5 V
Quantum Thermocouple
Bit
4 5 6 7 8 Range
0 1 1 0 1 TC degrees
0 1 1 1 0 TC 0.1 degrees
0 1 1 1 1 TC raw units
Quantum Voltmeter
Bit
4 5 6 7 8 Range
1 0 0 0 0 +/- 10V
1 0 0 1 0 +/- 5V
1 0 1 0 0 0 ... 10 V
1 0 1 1 0 0 ... 5 V
1 1 0 0 0 1 ... 5 V
PCFL-ALARM:
Central Alarm Handler
131
Introduction
This chapter describes the subfunction PCFL-Alarm.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The ALARM function gives you a central block for alarm handling where you can set
high (H), low (L), high high (HH), and low low (LL) limits on a process variable.
ALARM lets you specify
z A choice of normal or deviation operating mode
z Whether to use H/L or both H/L and HH/LL limits
z Whether or not to use deadband (DB) around the limits
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Mode of Functioning
The following operating modes are available.
Mode Meaning
Normal Operating Mode ALARM operates directly on the input. Normal is the default
condition
Deviation Operating ALARM operates on the change between the current input and
Mode the last input.
Deadband When enabled, the DB option is incorporated into the HH/H/LL/L
limits. These calculated limits are inclusive of the more extreme
range, e.g. if the input has been in the high range, the output
remains high and does not transition when the input hits the
calculated H limit.
Operations A flag is set when the input or deviation equals or crosses the
corresponding limit. If the DB option is used, the HH, H, LL, L
limits are adjusted internally for crossed-limit checking and
hysteresis.
NOTE: ALARM automatically tracks the last input, even when you specify normal
mode, to facilitate a smooth transition to deviation mode.
Register Content
Displayed and first implied Input registers
Second implied Output status
Third implied Input status
Fourth and fifth implied HH limit value
Sixth and seventh implied H limit value
Eighth and ninth implied L limit value
10th and 11th implied LL limit value
12th and 13th implied Deadband (DB) around limit
14th and 15th implied Last input
Output Status
Bit Function
1 ... 4 Not used
5 1 = DB set to negative number
6 1 = deviation mode chosen with DB option
7 1 = LL crossed (x ≤ LL
8 1 = L crossed (x ≤ L or LL < x ≤ L) with HH/LL option set
9 1 = H crossed (x ≥ H or H ≤ x < HH) with HH/LL option set
10 1 = HH crossed (x ≥ HH)
11 1 = invalid limits specified
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = deviation mode
0 = normal mode
6 1 = both H/L and HH/LL limits apply
7 1 = DB enabled
8 1 = retain H/L flag when HH/LL limits crossed
9 ... 16 Not used
132
Introduction
This chapter describes the subfunction PCFL-AOUT.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The AOUT function is an interface for calculated signals for output modules. It
converts the signal to a value in the range 0 ... 4 096.
Formula
Formula of the AOUT function:
Element Meaning
HEU High Engineering Unit
IN Input
LEU Low Engineering Unit
OUT Output
scale Scale
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Input in engineering units
Second implied Output status
Third implied Input status
Fourth and fifth implied High engineering units
Sixth and seventh implied Low engineering units
Eighth and ninth implied Output
Output Status
Bit Function
1 ... 7 Not used
8 1 = clamped low
9 1 = clamped high
10 not used
11 1 = invalid H/L limits
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Advanced Calculation.
The AVER function calculates the average of up to four weighted inputs.
Formula
Formula of the AVER function:
Element Meaning
In1 ... In4 Inputs
k Constant
RES Result
w1 ... w4 Weights
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied reserved
Second implied Output status
Third implied Input status
Fourth and fifth implied Value of In1
Sixth and seventh implied Value of Inv2
Eighth and ninth implied Value of In3
10th and 11th implied Value of In4
12th and 13th implied Value of k
14th and 15th implied Value of wv1
16th and 17th implied Value of wv2
18th and 19th implied Value of wv3
20th and 21st implied Value of wv4
22nd and 23rd implied Value of result
Output Status
Bit Function
1 ... 9 Not used
10 1 = no inputs activated
11 1 = result negative
0 = result positive
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = In4 and w4 are used
6 1 = In3 and w3 are used
7 1 = In2 and w2 are used
8 1 = In1 and w1 are used
9 1 = k is active
10 ... 16 Not used
A weight can be used only when its corresponding input is enabled, e.g. the 20th
and 21st implied registers (which contain the value of w4) can be used only when
the 10th and 11th implied registers (which contain In4) are enabled. The I in the
denominator is used only when the constant is enabled.
PCFL-CALC:
Calculated Preset Formula
134
Introduction
This chapter describes the subfunction PCFL-CALC.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Advanced Calculation.
The CALC function calculates a preset formula with up to four inputs, each
characterized in a separate register of the parameter block.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Reserved
Second implied Output status
Third implied Input status
Fourth and fifth implied Value of input A
Sixth and seventh implied Value of input B
Eighth and ninth implied Value of input C
10th and 11th implied Value of input D
12th and 13th implied Value of the output
Output Status
Bit Function
1...10 Not used
11 1 = bad input code chosen
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 6 not used
7 ... 10 Formula Code
11 ... 16 Not used
Formula Code
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
135
Introduction
This chapter describes the subfunction PCFL-DELAY.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The DELAY function can be used to build a series of readings for time-delay
compensation in the logic. Up to 10 sampling instances can be used to delay an
input.
All values are carried along in registers, where register x[0] contains the current
sampled input. The 10th delay period does not need to be stored. When the 10th
instance in the sequence takes place, the value in register x[9] can be moved
directly to the output
A DXDONE message is returned when the calculation is complete. The function can
be reset by toggling the first-scan bit.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Input at time n
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied x[0] delay
12th and 13th implied x[1] delay
14th and 15th implied x[2] delay
... ...
28th and 29th implied x[9] delay
30th and 31st implied Output registers
Output Status
Bit Function
1...3 Not used
4 1 = k out of range
5 ... 8 Count of registers left to be initialized
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 8 Time Delay ≤ 10
9 ... 11 Echo number of registers left to be initialized
12 ... 16 Not used
PCFL-EQN:
Formatted Equation Calculator
136
Introduction
This chapter describes the subfunction PCFL-EQN.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Advanced Calculation.
The EQN function is a formatted equation calculator. You must define the equation
in the parameter block with various codes that specify operators, input selection and
inputs.
EQN is used for equations that have four or fewer variables but do not fit into the
CALC format. It complements the CALC function by letting you input an equation
with floating point and integer inputs as well as operators.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Reserved
Second implied Output status
Third implied Input status
Fourth and fifth implied Variable A
Sixth and seventh implied Variable B
Eighth and ninth implied Variable C
10th and 11th implied Variable D
12th and 13th implied Output
14th implied First formula code
15th implied Second possible formula code
... ...
63rd implied Last possible formula code
Output Status
Bit Function
1 Stack error
2...3 Not used
4 ... 8 Code of last error logged
9 1 = bad operator selection code
10 1 = EQN not fully programmed
11 1 = bad input code chosen
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = Degree/radian option for trigonometry
6 ... 8 not used
9 ... 16 Equation size for display in Concept
Formula Code
Each formula code in the EQN function defines either an input selection code or an
operator selection code.
Formula Code (Parameter Block)
Bit Function
1 ... 4 Not used
5 ... 8 Definition of input selection
9 ... 11 Not used
12 ... 16 Definition of operator selection
Input Selection
Operator Selection
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The INTEG function is used to integrate over a specified time interval. No protection
against integral wind-up is provided in this function. INTEG is time-dependent, e.g.
if you are integrating at an input value of 1/sec, it matters whether it operates over
one second (in which case the result is 1) or over one minute (in which case the
result is 60).
You can set flags to either initialize or restart the function after an undetermined
down-time, and you can reset the integral sum if you wish. If you set the initialize
flag, you must specify a reset value (zero or the last output in case of power failure),
and calculations will be skipped for one sample.
The function returns a DXDONE message when the operation is complete.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Current Input
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Last input
12th and 13th implied Reset value
14th and 15th implied Result
Output Status
Bit Function
1...8 Not used
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 Reset sum
6 ... 16 Not used
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Regulatory Control.
The KPID function offers a superset of the functionality of the PID function, with
additional features that include:
z A gain reduction zone
z A separate register for bumpless transfer when the integral term is not used
z A reset mode
z An external set point for cascade control
z Built-in velocity limiters for set point changes and changes to a manual output
z A variable derivative filter constant
z Optional expansion of anti-reset wind-up limits
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
General Displayed and first implied Live input, x
Parameters
Second implied Output Status, Register 1
Third implied Output Status, Register 2
Fourth implied Reserved
Fifth implied Input Status
Input Sixth and seventh implied Proportional rate, KP
Parameters
Eighth and ninth implied Reset time, TI
10th and 11th implied Derivative action time, TD
12th and 13th implied Delay time constant, TD1
14th and 15th implied Gain reduction zone, GRZ
16th and 17th implied Gain reduction in GRZ, KGRZ
18th and 19th implied Limit rise of manual set point value
20th and 21st implied Limit rise of manual output
22nd and 23rd implied High limit for Y
24th and 25th implied Low limit for Y
26th and 27th implied Expansion for anti-reset wind-up limits
Inputs 28th and 29th implied External set point for cascade
30th and 31st implied Manual set point
32nd and 33rd implied Manual Y
34th and 35th implied Reset for Y
36th and 37th implied Bias
Outputs 38th and 39th implied Bumpless transfer register, BT
40th and 41st implied Calculated control difference (error term), XD
42nd implied Previous operating mode
43rd and 44th implied Dt (in ms) since last solve
45th and 46th implied Previous system deviation, XD_1
47th and 48th implied Previous input, X_1
49th and 50th implied Integral part for Y, YI
51st and 52nd implied Differential part for Y, YD
53rd and 54th implied Set point, SP
Register Content
55th and 56th implied Proportional part for Y, YP
57th implied Previous operating status
Timing 58th implied 10 ms clock at time n
Information
59th implied Reserved
60th and 61th implied Solution interval (in ms)
Output 62th and 63th implied Manipulated output variable, Y
Bit Function
1 Error
2 1 = low limit exceeded
3 1 = high limit exceeded
4 1 = Cascade mode selected
5 1 = Auto mode selected
6 1 = Halt mode selected
7 1 = Manual mode selected
8 1 = Reset mode selected
9 ... 16 Standard output bits (flags)
Bit Function
1...4 Not used
5 1 = Previous D mode selected
6 1 = Previous I mode selected
7 1 = Previous P mode selected
8 1 = Previous mode selected
9 ... 16 Not used
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = Reset mode
6 1 = Manual mode
7 1 = Halt mode
8 1 = Cascade mode
9 1 = Solve proportional algorithm
10 1 = Solve integral algorithm
11 1 = Solve derivative algorithm
12 1 = solve derivative algorithm based on x
0 = solve derivative algorithm based on xd
13 1 = anti--reset wind-up on YI only
0 = normal anti--reset wind-up
14 1 = disable bumpless transfer
0 = bumpless transfer
15 1 = Manual Y tracks Y
16 1 = reverse action for loop output
0 = direct action for loop output
139
Introduction
This chapter describes the subfunction PCFL-LIMIT.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The LIMIT function limits the input to a range between a specified high and low
value. If the high or low limit is reached, the function sets an H or L flag and clamps
the output.
LIMIT returns a DXDONE message when the operation is complete.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Current input
Second implied Output status
Third implied Input status
Fourth and fifth implied Low limit
Sixth and seventh implied High Limit
Eighth implied Output register
Output Status
Bit Function
1...8 Not used
9 1 = input < low limit
10 1 = input > high limit
11 1 = invalid high/low limits (e.g., low ≥ high
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The LIMV function limits the velocity of change in the input variable between a
specified high and low value. If the high or low limit is reached, the function sets an
H or L flag and clamps the output.
LIMV returns a DXDONE message when the operation is complete.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Input register
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Velocity limit / sec
12th and 13th implied Result
Output Status
Bit Function
1...5 Not used
6 1 = negative velocity limit
7 1 = input < low limit
8 1 = input > high limit
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
141
Introduction
This chapter describes the subfunction PCFL-LKUP.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The LKUP function establishes a look-up table using a linear algorithm to interpolate
between points. LKUP can handle variable point intervals and variable numbers of
points.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Mode of Functioning
The LKUP function establishes a look-up table using a linear algorithm to interpolate
between points. LKUP can handle variable point intervals and variable numbers of
points.
If the input (x) is outside the specified range of points, the output (y) is clamped to
the corresponding output y0 or yn. If the specified parameter block length is too
small or if the number of points is out of range, the function does not check the xn
because the information from that pointer is invalid.
Points to be interpolated are determined by a binary search algorithm starting near
the center of x data. The search is valid for x1 < x < xn. The variable x may occur
multiple times with the same value, the value chosen from the look-up table is the
first instance found.
For example, if the table is:
x y
10.0 1.0
20.0 2.0
30.0 3.0
30.0 3.5
40.0 4.0
then an input of 30.0 finds the first instance of 30.0 and assigns 3.0 as the output.
An input of 31.0 would assign the value 3.55 as the output.
No sorting is done on the contents of the lookup table. Independent variable table
values should be entered in ascending order to prevent unreachable gaps in the
table.
The function returns a DXDONE message when the operation is complete.
Register Content
Displayed and first implied Input
Second implied Output status
Third implied Input status
Fourth implied Number of point pairs
Fifth and sixth implied Point x1
Seventh and eighth implied Point y1
Ninth and tenth implied Point x2
11th and 12th implied Point y2
... ...
33rd and 34th implied Point x8
35th and 36th implied Point y8
37th and 38th implied Output
Output Status
Bit Function
1 ... 9 Not used
10 1 = input clamped, i.e. out of table’s range
11 ! = invalid number of points
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
PCFL-LLAG:
First-order Lead/Lag Filter
142
Introduction
This chapter describes the subfunction PCFL-LLAG.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The LLAG function provides dynamic compensation for a known disturbance. It
usually appears in a feed-forward algorithm or as a dynamic filter. LLAG passes the
input through a filter comprising a lead term (a numerator) and a lag term (a
denominator) in the frequency domain, then multiplies it by a gain. Lead, lag, gain,
and solution interval must be user-specified.
For best results, use lead and lag terms that are ≥ 4 *Δt. This will ensure sufficient
granularity in the output response.
LLAG returns a DXDONE message when the operation completes
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Current Input
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Last input
12th and 13th implied Lead term
14th and 15th implied Lag term
16th and 17th implied Filter gain
18th and 19th implied Result
Output Status
Bit Function
1...8 Not used
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
PCFL-MODE:
Put Input in Auto or Manual Mode
143
Introduction
This chapter describes the subfunction PCFL-MODE.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The MODE function sets up a manual or automatic station for enabling and disabling
data transfers to the next block. The function acts like a BLKM instruction, moving a
value to the output register.
In auto mode, the input is copied to the output. In manual mode, the output is
overwritten by a user entry.
MODE returns a DXDONE message when the operation completes.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Input
Second implied Output status
Third implied Input status
Fourth and fifth implied Manual input
Sixth and seventh implied Output register
Output Status
Bit Function
1 ... 10 Not used
11 Echo mode:
1 = manual mode
0 = auto mode
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = manual mode
0 = auto mode
6 ... 16 Not used
PCFL-ONOFF:
ON/OFF Values for Deadband
144
Introduction
This chapter describes the subfunction PCFL-ONOFF.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Regulatory Control.
The ONOFF function is used to control the output signal between fully ON and fully
OFF conditions so that a user can manually force the output ON or OFF.
You can control the output via either a direct or reverse configuration:
Manual Override
Two bits in the input status register (the third implied register in the parameter block)
are used for manual override. When bit 6 is set to 1, manual mode is enforced. In
manual mode, a 0 in bit 7 forces the output OFF, and a 1 in bit 7 forces the output
ON. The state of bit 7 has meaning only in manual mode.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Current Input
Second implied Output status
Third implied Input status
Fourth and fifth implied Set point, SP
Sixth and seventh implied Deadband (DB) around SP
Eighth and ninth implied Fully ON (maximum output)
10th and 11th implied Fully OFF (minimum output)
12th and 13th implied Output, ON or OFF
Output Status
Bit Function
1 ... 8 Not used
9 1 = DB set to negative number
10 Echo mode:
1 = manual override
0 = auto mode
11 1 = output set to ON
0 = output set to OFF
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = reverse configuration
0 = direct configuration
6 1 = manual override
0 = auto mode
7 1 = force output ON in manual mode
0 = force output OFF in manual mode
8 ... 16 Not used
145
Introduction
This chapter describes the subfunction PCFL-PI.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Regulatory Control.
The PI function performs a simple proportional-integral operations using floating
point math. It features halt / manual / auto operation modes. It is similar to the PID
and KPID functions but does not contain as many options. It is available for higher-
speed loops or inner loops in cascade strategies.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
General Displayed and first implied Live input, x
Parameters
Second implied Output Status
Third implied Error Word
Fourth implied Reserved
Fifth implied Input Status
Inputs Sixth and seventh implied Set point, SP
Eighth and ninth implied Manual output
10th and 11th implied Calculated control difference (error), XD
Outputs 12th implied Previous operating mode
13th and 14th implied Dt (in ms) since last solve
15th and 16th implied Previous system deviation, XD_1
17th and 18th implied Integral part of output Y
19th and 20th implied Previous input, X_1
21st implied Previous operating status
Timing 22nd implied 10 ms clock at time n
Information
23rd implied Reserved
24th and 25th implied Solution interval (in ms)
Input 26th and 27th implied Proportional rate, KP
Parameters
28th and 29th implied Reset time, TI
30th and 31st implied High limit on output Y
32nd and 33rd implied Low limit on output Y
Output 34th and 35th implied Manipulated variable output, Y
Output Status
Bit Function
1 Error
2 1 = low limit exceeded
3 1 = high limit exceeded
4 ... 8 Not used
9 ... 16 Standard output bits (flags)
Error Word
Bit Function
1...11 Not used
12 ... 16 Error Description
Error Description
Bit Meaning
12 13 14 15 16
1 0 1 1 0 Negative integral time constant
1 0 1 0 1 High/low limit error (low ≥ high)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 Not used
6 1 = Manual mode
7 1 = Halt mode
8 ... 15 Not used
16 1 = reverse action for loop output
0 = direct action for loop output
146
Introduction
This chapter describes the subfunction PCFL-PID.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Regulatory Control.
The PID function performs ISA non-interacting proportional-integral-derivative (PID)
operations using floating point math. Because it uses FP math (unlike PID2), round-
off errors are negligible.
In the part "General Information" you will find A PID Example, page 49.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
General Displayed and first implied Live input, x
Parameters
Second implied Output Status
Third implied Error Word
Fourth implied Reserved
Fifth implied Input Status
Inputs Sixth and seventh implied Set point, SP
Eighth and ninth implied Manual output
10th and 11th implied Summing junction, Bias
Outputs 12th and 13th implied Error, XD
14th implied Previous operating mode
15th and 16th implied Elapsed time (in ms) since last solve
17th and 18th implied Previous system deviation, XD_1
19th and 20th implied Previous input, X_1
21st and 22nd implied Integral part of output Y, YI
23rd and 24th implied Differential part of output Y, YD
25th and 26th implied Proportional part of output Y, YP
27th implied Previous operating status
Timing 28th implied Current time
Information
29th implied Reserved
Inputs 30th and 31st implied Solution interval (in ms)
34th and 35th implied Reset time, TI
36th and 37th implied Derivative action time, TD
38th and 39th implied High limit on output Y
40th and 41st implied Low limit on output Y
42nd and 43rd implied Manipulated control output, Y
Output Status
Bit Function
1 Error
2 1 = low limit exceeded
3 1 = high limit exceeded
4 ... 8 Not used
9 ... 16 Standard output bits (flags)
Error Word
Bit Function
1...11 Not used
12 ... 16 Error Description
Error Description
Bit Meaning
12 13 14 15 16
1 0 1 1 1 Negative derivative time constant
1 0 1 1 0 Negative integral time constant
1 0 1 0 1 High/low limit error (low ≥ high)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 Not used
6 1 = Manual mode
7 1 = Halt mode
8 Not used
9 1 = Solve proportional algorithm
10 1 = Solve integral algorithm
11 1 = Solve derivative algorithm
12 1 = solve derivative algorithm based on x
0 = solve derivative algorithm based on xd
13... 15 Not used
16 1 = reverse action for loop output
0 = direct action for loop output
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The RAMP function allows you to ramp up linearly to a target set point at a specified
approach rate.
You need to specify:
z The target set point, in the same units as the contents of the input register are
specified
z The sampling rate
z A positive rate toward the target set point, negative rates are illegal
The direction of the ramp depends on the relationship between the target set point
and the input, i.e. if x < SP, the ramp is up; if x > SP, the ramp is down.
You may use a flag to initialize after an undetermined down-time. The function will
store a new sample, then wait for one cycle to collect the second sample.
Calculations will be skipped for one cycle and the output will be left as is, after which
the ramp will resume.
RAMP terminates when the entire ramping operation is complete (over multiple
scans) and returns a DXDONE message.
Step Action
1 Set bit 1 of the standard input bits to "1" (third implied register of the parameter
block).
2 Retoggle the top input (enable input) to the instruction. Ramp will now start to
ramp up/down from the initial value previously configured up/down to the
previously configured setpoint. Monitor the 12th implied register of the
parameter block for floating point value of the ramp value in progress.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Set point (Input)
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Rate of change (per second) toward set point
12th and 13th implied Output
Output Status
Bit Function
1 ... 4 Not used
5 1 = ramp rate is negative
6 1 = ramp complete
0 = ramp in progress
7 1 = ramping down
8 1 = ramping up
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The RATE function calculates the rate of change over the last two input values. If
you set an initialization flag, the function records a sample and sets the appropriate
flags.
If a divide-by-zero operation is attempted, the function returns a DXERROR
message.
It returns a DXDONE message when the operation completes successfully.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Current input
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Last input
12th and 13th implied Result
Output Status
Bit Function
1 ... 8 Not used
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
PCFL-RATIO:
Four Station Ratio Controller
149
Introduction
This chapter describes the subfunction PCFL-RATIO.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Regulatory Control.
The RATIO function provides a four-station ratio controller. Ratio control can be
used in applications where one or more raw ingredients are dependent on a primary
ingredient. The primary ingredient is measured, and the measurement is converted
to engineering units via an AIN function. The converted value is used to set the
target for the other ratioed inputs.
Outputs from the ratio controller can provide set points for other controllers. They
can also be used in an open loop structure for applications where feedback is not
required.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Live input
Second implied Output status
Third implied Input status
Fourth and fifth implied Ratio for input 1
Sixth and seventh implied Ratio for input 2
Eighth and ninth implied Ratio for input 3
10th and 11th implied Ratio for input 4
12th and 13th implied Output for input 1
14th and 15th implied Output for input 2
16th and 17th implied Output for input 3
18th and 19th implied Output for input 4
Output Status
Bit Function
1 ... 9 Not used
10 1 = parameter(s) out of range
11 1 = no inputs activated
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1= input 4 active
6 1= input 3 active
7 1= input 2 active
8 1= input 1 active
9 ... 16 Not used
PCFL-RMPLN:
Logarithmic Ramp to Set Point
150
Introduction
This chapter describes the subfunction PCFL-RMPLN.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The RMPLN function allows you to ramp up logarithmically to a target set point at a
specified approach rate. At each successive call, it calculates the output until it is
within a specified deadband (DB). DB is necessary because the incremental
distance the ramp crosses decreases with each solve.
You need to specify:
z The target set point, in the same units as the contents of the input register are
specified
z The sampling rate
z The time constant used for the logarithmic ramp, which is the time it takes to
reach 63.2% of the new set point
For best results, use a t that is ≥4 *Δt. This will ensure sufficient granularity in the
output response.
You may use a flag to initialize after an undetermined down-time. The function will
store a new sample, then wait for one cycle to collect the second sample.
Calculations will be skipped for one cycle and the output will be left as is, after which
the ramp will resume.
RMPLN terminates when the input reaches the target set point + the specified DB
and returns a DXDONE message.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Set point (Input)
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Time constant, τ, (per second) of exponential ramp toward
the target set point
12th and 13th implied DB (in engineering units)
14th and 15th implied Output
Output Status
Bit Function
1 ... 4 Not used
5 1 = DB or τ set to negative units
6 1 = ramp complete
0 = ramp in progress
7 1 = ramping down
8 1 = ramping up
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 ... 16 Not used
151
Introduction
This chapter describes the subfunction PCFL-SEL.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Signal Processing.
The SEL function compares up to four inputs and makes a selection based upon
either the highest, lowest, or average value. You choose the inputs to be compared
and the comparison criterion. The output is a copy of the selected input.
SEL returns a DXDONE message when the operation is complete.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Content
Displayed and first implied Reserved
Second implied Output status
Third implied Input status
Fourth and fifth implied Input 1
Sixth and seventh implied Input 2
Eighth and ninth implied Input 3
10th and 11th implied Input 4
12th and 13th implied Output
Output Status
Bit Function
1 ... 9 Not used
10 Invalid selection modes
11 No inputs selected
12 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = enable input 1
0 = disable input 1
6 1 = enable input 2
0 = dyeable input 2
7 1 = enable input 3
0 = dyeable input 3
8 1 = enable input 4
0 = dyeable input 4
9 ... 10 Selection mode
11 ... 16 Not used
Selection mode
Bit Meaning
9 10
0 0 Select average
0 1 Select high
1 0 Select low
1 1 reserved / invalid
PCFL-TOTAL:
Totalizer for Metering Flow
152
Introduction
This chapter describes the subfunction PCFL-TOTAL.
Short Description
Function Description
NOTE: This instruction is a subfunction of the PCFL instruction. It belongs to the
category Regulatory Control.
The TOTAL function provides a material totalizer for batch processing reagents. The
input signal contains the units of weight or volume per unit of time. The totalizer
integrates the input over time.
The algorithm reports three outputs:
z The integration sum
z The remainder left to meter in
z The valve output (in engineering units).
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Mode of Functioning
The function uses up to three different set points:
z A trickle flow set point
z A target set point
z An auxiliary trickle flow set point
The target set point is for the full amount to be metered in. Here the output will be
turned OFF.
The trickle flow set point is the cut-off point when the output should be decreased
from full flow to a percentage of full flow so that the target set point is reached with
better granularity.
The auxiliary trickle flow set point is optional. It is used to gain another level of
granularity. If this set point is enabled, the output is reduced further to 10% of the
trickle output.
The totalizer works from zero as a base point. The set point must be a positive value
In normal operation, the valve output is set to 100% flow when the integrated value
is below the trickle flow set point. When the sum crosses the trickle flow set point,
the valve flow becomes a programmable percentage of full flow. When the sum
reaches the desired target set point, the valve output is set to 0% flow.
Set points can be relative or absolute. With a relative set point, the deviation
between the last summation and the set point is used. Otherwise, the summation is
used in absolute comparison to the set point.
There is a halt option to stop the system from integrating.
When the operation has finished, the output summation is retained for future use.
You have the option of clearing this sum. In some applications, it is important to save
the sum, e.g. if the meters or load cells cannot handle the full batch in one charge
and measurements are split up, if there are several tanks to fill for a batch and you
want to keep track of batch and production sums.
Register Content
Displayed and first implied Live input
Second implied Output status
Third implied Input status
Fourth implied Time register
Fifth implied Reserved
Register Content
Sixth and seventh implied Δt (in ms) since last solve
Eighth and ninth implied Solution interval (in ms)
10th and 11th implied Last input, X_1
12th and 13th implied Reset value
14th and 15th implied Set point, target
16th and 17th implied Set point, trickle flow
18th and 19th implied % of full flow for trickle flow set point
20th and 21st implied Full flow
22nd and 23rd implied Remaining amount to SP
24th and 25th implied Resulting sum
26th and 27th implied Output for final control element
Output Status
Bit Function
1 ... 2 Not used
3 ... 4 0 0 = OFF
0 1 = trickle flow
1 0 = full flow
5 1 = operation done
6 1 = totalizer running
7 1 = overshoot past set point by more than 5%
8 1 = parameter(s) out of range
9 ... 16 Standard output bits (flags)
Input Status
Bit Function
1 ... 4 Standard input bits (flags)
5 1 = reset sum
6 1 = halt integration
7 1 = deviation set point
0 = absolute set point
8 1 = use auxiliary trickle flow set point
9 ... 16 Not used
153
Introduction
This chapter describes the instruction PEER.
Short Description
Function Description
NOTE: This instruction is only available if you have unpacked and installed the DX
Loadables. For further information, see Installation of DX Loadables, page 75.
The S975 Modbus II Interface option modules use two loadable function blocks:
MBUS and PEER. The PEER instruction can initiate identical message transactions
with as many as 16 devices on Modbus II at one time. In a PEER transaction, you
may only write register data.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Function
Displayed Indicates the status of the transactions at each device, the
leftmost bit being the status of device #1 and the rightmost
bit the status of device #16: 0 = OK, 1 = transaction error
First implied Defines the reference to the first 4x register to be written to
in the receiving device; a 0 in this field is an invalid value and
will produce an error (the bottom output will go ON)
Second implied Time allowed for a transaction to be completed before an
error is declared; expressed as a multiple of 10 ms, e.g. 100
indicates 1,000 ms; the default timeout is 250 ms
Third implied The Modbus port 3 address of the first of the receiving
devices; address range: 1 ... 255 (0 = no transaction
requested)
Fourth implied The Modbus port 3 address of the second of the receiving
devices; address range: 1 ... 255 (0 = no transaction
requested)
... ...
18th implied The Modbus port 3 address of the 16th of the receiving
devices (address range: 1 ... 255)
PID2:
Proportional Integral Derivative
154
Introduction
This chapter describes the instruction PID2.
Short Description
Function Description
The PID2 instruction implements an algorithm that performs proportional-integral-
derivative operations. The algorithm tunes the closed loop operation in a manner
similar to traditional pneumatic and analog electronic loop controllers. It uses a rate
gain limiting (RGL) filter on the PV as it is used for the derivative term only, thereby
filtering out higher-frequency PV noise sources (random and process generated).
Formula
Proportional Control
Proportional-Integral Control
Proportional-Integral-Derivative Control
Representation
Symbol
Representation of the instruction
Parameter Description
Detailed Description
Block Diagram
Element Meaning
E Error, expressed in raw analog units
SP Set point, in the range 0 ... 4095
PV Process variable, in the range 0 ... 4095
x Filtered PV
K2 Integral mode gain constant, expressed in 0.01 min-1
K3 Derivative mode gain constant, expressed in hundredths of a minute
RGL Rate gain limiting filter constant, in the range 2 ... 30
Ts Solution time, expressed in hundredths of a second
PB Proportional band, in the range 5 ... 500%
bias Loop output bias factor, in the range 0 ... 4095
M Loop output
GE Gross error, the proportional-derivative contribution to the loop output
Z Derivative mode contribution to GE
Qn Unbiased loop output
F Feedback value, in the range 0 ... 4095
I Integral mode contribution to the loop output
Ilow Anti-reset-windup low SP, in the range 0 ... 4095
Ihigh Anti-reset-windup high SP, in the range 0 ... 4095
K1 100/PB
NOTE: The integral mode contribution calculation actually integrates the difference
of the output and the integral sum, this is effectively the same as integrating the
error.
Proportional Control
With proportional-only control (P), you can calculate the manipulated variable by
multiplying error by a proportional constant, K1, then adding a bias. See Formula,
page 918.
However, process conditions in most applications are changed by other system
variables so that the bias does not remain constant; the result is offset error, where
PV is constantly offset from the SP. This condition limits the capability of
proportional-only control.
NOTE: The value in the integral term (in registers 4y + 3, 4y + 4, and 4y + 5) is
always used, even when the integral mode is not enabled. Using this value is
necessary to preserve bumpless transfer between modes. If you wish to disable
bumpless transfer, these three registers must be cleared.
In manual mode setpoint changes will not take effect unless the above three
registers are cleared and the mode is switched back to automatic. The transfer will
not be bumpless.
Proportional-Integral Control
To eliminate this offset error without forcing you to manually change the bias, an
integral function can be added to the control equation. See Formula, page 918.
Proportional-integral control (PI) eliminates offset by integrating E as a function of
time. K1 is the integral constant expressed as rep/min. As long as E ≠ 0, the
integrator increases (or decreases) its value, adjusting Mv. This continues until the
offset error is eliminated.
Proportional-Integral-Derivative Control
You may want to add derivative functionality to the control equation to minimize the
effects of frequent load changes or to override the integral function in order to get to
the SP condition more quickly. See Formula, page 918.
Proportional-integral-derivative (PID) control can be used to save energy in the
process or as a safety valve in the event of a sudden, unexpected change in process
flow. K3 is the derivative time constant expressed as min. DPV is the change in the
process variable over a time period of Δt.
Example
An example to PID2 level control you will find in PID2 Level Control Example.
Parameter Description
Bit Function
1 Top output status (Node lockout or parameter error
2 Middle output status (High alarm)
3 Bottom output status (Low alarm)
4 Loop in AUTO mode and time since last solution ≥ solution interval
5 Wind-down mod (for REV B or higher)
6 Loop in AUTO mode but not being solved
7 4x14 register referenced by 4x15 is valid
8 Sign of E in 4y + 7:
z 0 = + (plus)
z 1 = - (minus)
9 Rev B or higher
10 Integral windup limit never set
11 Integral windup saturated
12 Negative values in the equation
13 Bottom input status (direct / reverse acting)
14 Middle input status (tracking mode)
z 1 = tracking
z 0 = no tracking
Instruction Descriptions (R to Z)
VI
Introduction
In this part instruction descriptions are arranged alphabetically from R to Z.
155
Introduction
This chapter describes the instruction R → T.
Short Description
Function Description
The R→T instruction copies the bit pattern of a register or of a string of contiguous
discretes stored in a word into a specific register located in a table. It can
accommodate the transfer of one register/word per scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Top Input
The input to the top node initiates the DX move operation.
Middle Input
When the middle input goes ON, the current value stored in the destination pointer
register is frozen while the DX operation continues. This causes new data being
copied to the destination to overwrite the data copied on the previous scan.
Bottom Input
When the bottom input goes ON, the value in the destination pointer register is reset
to zero. This causes the next DX move operation to copy source data into the first
register in the destination table.
Outputs
R→T can produce two possible outputs, from the top and middle nodes. The state
of the output from the top node echoes the state of the top input. The output from
the middle node goes ON when the value in the destination pointer register equals
the specified table length. At this point, the instruction cannot increment any further.
156
Introduction
This chapter describes the instruction RBIT.
Short Description
Function Description
The reset bit (RBIT) instruction lets you clear a latched-ON bit by powering the top
input. The bit remains cleared after power is removed from the input. This instruction
is designed to clear a bit set by the SBIT instruction.
NOTE: The RBIT instruction does not follow the same rules of network placement
as 0x-referenced coils do. An RBIT instruction cannot be placed in column 11 of a
network and it can be placed to the left of other logic nodes on the same rungs of
the ladder.
Representation
Symbol
Representation of the instruction
Parameter Description
READ: Read
157
Introduction
This chapter describes the instruction READ.
Short Description
Function Description
The READ instruction provides the ability to read data from an ASCII input device
(keyboard, bar code reader, etc.) into the PLC’s memory via its RIO network. The
connection to the ASCII device is made at an RIO interface.
In the process of handling the messaging operation, READ performs the following
functions:
z Verifies the lengths of variable data fields
z Verifies the correctness of the ASCII communication parameters, e.g. the port
number, the message number
z Performs error detection and recording
z Reports RIO interface status
READ requires two tables of registers: a destination table where retrieved variable
data (the message) is stored, and a control block where comm port and message
parameters are identified.
Further information about formatting messages you will find in Formatting Messages
for ASCII READ/WRIT Operations, page 57.
Representation
Symbol
Representation of the instruction
Parameter Description
Parameter Description
Register Definition
Displayed Port number and error code
First implied Message number
Second implied Number of registers required to satisfy format
Third implied Count of the number of registers transmitted thus far
Fourth implied Status of the solve
Fifth implied Reserved
Sixth implied Checksum of registers 0 ... 5
Bit Function
1 ... 4 PLC error code
5 Not used
6 Input from the ASCII device not compatible with format
7 Input buffer overrun, data received too quickly at RIOP
8 USART error, bad byte received at RIOP
9 ASCII device off-line, check cabling
10 Illegal format, not received properly by RIOP
11 ASCII message terminated early (in keyboard mode
12 ... 16 Comm port # (1 ... 32)
Bit Meaning
1 2 3 4
0 0 0 1 Error in the input to RIOP from ASCII device
0 0 1 0 Exception response from RIOP, bad data
0 0 1 1 Sequenced number from RIOP differs from expected value
0 1 0 0 User register checksum error, often caused by altering
READ registers while the block is active
0 1 0 1 Invalid port or message number detected
0 1 1 0 User-initiated abort, bottom input energized
0 1 1 1 No response from drop, communication error
1 0 0 0 Node aborted because of SKP instruction
1 0 0 1 Message area scrambled, reload memory
1 0 1 0 Port not configured in the I/O map
1 0 1 2 Illegal ASCII request
1 1 0 0 Unknown response from ASCII port
1 1 0 1 Illegal ASCII element detected in user logic
1 1 1 1 RIOP in the PLC is down
NOTE: An ASCII READ message may contain the embedded text, placed inside
quotation marks, as well as the variable data in the format statement, i.e., the ASCII
message.
The 10-character ASCII field AAAAAAAAAA is the variable data field; variable data
must be entered via an ASCII input device.
158
Introduction
This chapter describes the instruction RET.
Short Description
Function Description
The RET instruction may be used to conditionally return the logic scan to the node
immediately following the most recently executed JSR block. This instruction can be
implemented only from within the subroutine segment, the (unscheduled) last
segment in the user logic program.
NOTE: If a subroutine does not contain a RET block, either a LAB block or the end-
of-logic (whichever comes first) serves as the default return from the subroutine.
An example to the subroutine handling you will find in Subroutine Handling, page 73.
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
159
Introduction
This chapter describes the instruction RTTI.
Short Description
Function Description
The Register to Input Table block is one of four 484-replacement instructions. It
copies the contents of an input register or a holding register to another input or
holding register. This destination register is pointed to by the input register implied
by the constant in the bottom node. Only one such operation can be accommodated
by the system in each scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
160
Introduction
This chapter describes the instruction RTTO.
Short Description
Function Description
The Register to Output Table block is one of four 484-replacement instructions. It
copies the contents of an input register or a holding register to another input or
holding register. The holding register implied by the constant in the bottom node
points to this destination register. Only one such operation can be accommodated
by the system in each scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
161
Introduction
This chapter describes the instruction RTU.
Short Description
Function Description
The Modbus Remote Terminal Unit (RTU) block supports the following data baud
rates:
z 1200
z 2400
z 4800
z 9600
z 19200
Representation
Parameter Description
Description of the instructions parameters
Register Function
4x RTU revision number (read-only)
4x + 1 Fault status field (read-only)
4x + 2 Field not used
4x + 3 Set the Data Baud Rate register
For expanded and detailed information about the register entries for baud rates
please see the section below: Register Entries for Baud Rates.
4x + 4 Set the Data Bits register
For expanded and detailed information about the register entries for data bits
please see the section below: Register Entries for Data Bits
4x + 5 Parity register
4x + 6 Stop bit register
4x + 7 Field not used
4x + 8 Set the Command Word register
For expanded and detailed information about the register entries for command
words please see the section below: Register Entries for Command Words
Modbus messages can be sent in Modbus RTU format or Modbus ASCII format.
z If messages are sent in Modbus ASCII format, type 7 in the field.
z If messages are sent in Modbus RTU format, type 8.
If you're sending ASCII character messages, this register can be set to 7 or 8 data
bits.
The following items provide expanded and detailed information about Bits 2, 7, and
8.
162
Introduction
This chapter describes the instruction SAVE.
Short Description
Function Description
NOTE: This instruction is available with the PLC family TSX Compact, with Quantum
CPUs 434 12/ 534 14 and Momentum CPUs CCC 960 x0/ 980 x0.
The SAVE instruction saves a block of 4x registers to state RAM where they are
protected from unauthorized modification.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
1, 2, 3, 4 (Middle Node)
The middle node defines the specific buffer, within state RAM, where the block of
data is to be saved. Four 512 word buffers are allowed. Each buffer is defined by
placing its corresponding value in the middle node, that is, the value 1 represents
the first buffer, value 2 represents the second buffer and so on. The legal values are
1, 2, 3, and 4. When the PLC is started all four buffers are zeroed. Therefore, you
may not save data to the same buffer without first loading it with the instruction
LOAD (see page 647). When this is attempted the middle output goes ON. In other
words, once a buffer is used, it may not be used again until the data has been
removed.
Middle Output
The output from the middle node goes ON when previously saved data has not been
accessed using the LOAD (see page 647) instruction. This prevents inadvertent
overwriting of data in the SAVE buffer.
163
Introduction
This chapter describes the instruction SBIT.
Short Description
Function Description
The set bit (SBIT) instruction lets you set the state of the specified bit to ON (1) by
powering the top input.
NOTE: The SBIT instruction does not follow the same rules of network placement
as 0x-referenced coils do. An SBIT instruction cannot be placed in column 11 of a
network and it can be placed to the left of other logic nodes on the same rungs of
the ladder.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
SCIF:
Sequential Control Interfaces
164
Introduction
This chapter describes the instruction SCIF.
Short Description
Function Description
The SCIF instruction performs either a drum sequencing operation or an input
comparison (ICMP) using the data defined in the step data table.
The choice of operation is made by defining the value in the first register of the step
data table (see page 974):
z 0 = drum mode:
The instruction controls outputs in the drum sequencing application.
z 1 = ICMP mode:
The instruction reads inputs to ensure that limit switches, proximity switches,
pushbuttons, etc. are properly positioned to allow drum outputs to be fired.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
SENS: Sense
165
Introduction
This chapter describes the instruction SENS.
Short Description
Function Description
The SENS instruction examines and reports the sense (1 or 0) of a specific bit
location in a data matrix. One bit location is sensed per scan.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Shorts
166
Introduction
This chapter describes the instruction element Shorts.
Short Description
Function Description
Shorts are simply straight-line connections between contacts and/or instructions in
a ladder logic network. Vertical (|) and horizontal (—) shorts are used to make
connections between rows and columns of logic. To cancel a vertical short, use a
vertical open.
Representation
Vertical Shorts
Connects contacts or instructions vertically in a network column, or node inputs and
outputs to create either/or conditions. When two contacts are connected by vertical
shorts, power is passed when one or both contacts receive power.
Horizontal Shorts
Expands logic horizontally along a rung in a ladder logic network.
167
Introduction
This chapter describes the instruction SKP.
Short Description
Function Description
WARNING
SKIPPED INPUTS AND OUTPUTS
When using the SKP instruction, watch for skipped inputs and outputs. SKP is a
dangerous instruction that should be used carefully. If inputs and outputs that
normally effect control are unintentionally skipped (or not skipped), the result can
create hazardous conditions for personnel and application equipment.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
CAUTION
READING VALUES WHILE CHANGING
Use 3xxxx and 4xxxx registers with caution. The processor can read the value
while it's changing.
Failure to follow these instructions can result in injury or equipment damage.
The SKP instruction is a standard instruction in all PLCs. It should be used with
caution.
The SKP instruction is used to reduce the scan time by not solving a portion of the
logic. The SKP instruction causes the logic scan to skip specified networks in the
program.
The SKP function can be used to
z bypass seldom used program sequences
z create subroutines
The SKP instruction allows you to skip a specified number of networks in a ladder
logic program. When it is powered, the SKP operation is performed on every scan.
The remainder of the network in which the instruction appears counts as the first of
the specified number of networks to be skipped. The CPU continues to skip
networks until the total number of networks skipped equals the number specified in
the instruction block or until a segment boundary is reached. A SKP operation
cannot cross a segment boundary.
A SKP instruction can be activated only if you specify in the PLC set-up editor that
skips are allowed. SKP is a one-high nodal instruction.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
SRCH: Search
168
Introduction
This chapter describes the instruction SRCH.
Short Description
Function Description
The SRCH instruction searches the registers in a source table for a specific bit
pattern.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
A SRCH Example
In the following example, we search a source table that contains five registers
(40421 ... 40425) for a specific bit pattern. The pointer register (40430) indicates that
the desired bit pattern is stored in register 40431, and we see that the register
contains a bit value of 3333.
In each scan where P.T. contact 10001 transitions from OFF to ON, the source table
is searched for a bit pattern equivalent to the value 3333. when the math is found,
the middle output passes power to coil 00142.
If N.O. contact 10002 is OFF when the match is found at register 40423, the SRCH
instruction energizes coil 00142 for one scan, then starts the search again in the
next scan at the top of the source table (register 40421). If contact 10002 is ON, the
SRCH instruction energizes coil 00142 for one scan, then starts the search in
register 40424,
Because the top input is a P.T. contact, on any scan where power is not applied to
the top input the pointer value is cleared. We use a BLKM instruction here to sage
the pointer value to register 40500.
Parameter Description
STAT: Status
169
Introduction
This chapter describes the instruction STAT.
Short Description
Function Description
The STAT instruction accesses a specified number of words in a status table
(see page 997) in the PLC’s system memory. Here vital diagnostic information
regarding the health of the PLC and its remote I/O drops is posted.
This information includes:
z PLC status
z Possible error conditions in the I/O modules
z Input-to-PLC-to-output communication status
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Mode of Functioning
With the STAT instruction, you can copy some or all of the status words into a block
of registers or a block of contiguous discrete references.
The copy to the STAT block always begins with the first word in the table up to the
last word of interest to you. For example, if the status table is 277 words long and
you are interested only in the statistics provided in word 11, you need to copy only
words 1 ... 11 by specifying a length of 11 in the STAT instruction.
General
The STAT instruction is used to display the Status of Controller and I/O system for
Quantum (see page 997), Atrium (see page 1000), TSX Compact (see page 1000)
and Momentum (see page 999).
The first 11 status words are used by Quantum and Momentum in the same way and
by TSX Compact and Atrium in the same way. The following have a different
meaning for Quantum, TSX Compact and Momentum.
Quantum Overview
The 277 words in the status table are organized in three sections:
z Controller Status (words 1 ... 11) (see page 1001)
z I/O Module Health (words 12 ... 171) (see page 1008)
z I/O Communications Health (words 172 ... 277) (see page 1010)
Momentum Overview
The 20 words in the status table are organized in two sections:
z Controller Status (words 1 ... 11) (see page 1001)
z I/O Module Health (words 12 ... 20) (see page 1006)
Bit Function
1-5 Not used
6 1 = enable constant sweep
7 1 = enable single sweep delay
8 1 = 16 bit user logic
0 = 24 bit user logic
9 1 = AC power on
10 1 = RUN light OFF
11 1 = memory protect OFF
12 1 = battery failed
13 - 16 Not used
Bit Function
1 1 = S911/R911 present and healthy
2 - 10 Not used
11 0 = controller toggle set to A
1 = controller toggle set to B
12 0 = controllers have matching logic
1 = controllers do not have matching logic
13, 14 Remote system state:
0 1 = Off line (1 dec)
1 0 = primary (2 dec)
1 1 = standby (3 dec)
15, 16 Local system state:
0 1 = Off line (1 dec)
1 0 = primary (2 dec)
1 1 = standby (3 dec)
Bit Function
1 1 = first scan
2 1 = start command pending
3 1 = constant sweep time exceeded
4 1 = Existing DIM AWARENESS
5 - 12 Not used
13 - 16 Single sweeps
Bit Function
1 1 = IOP bad
2 1 = IOP time out
3 1 = IOP loop back
4 1 = IOP memory failure
5 - 12 Not used
13 - 16 00 = IO did not respond
01 = no response
02 = failed loopback
CAUTION
Using a Quantum or 984-684E/785E PLC
If you are using a Quantum or 984-684E/785E PLC, bit 15 in word 5 is never set.
These PLCs can be started and run with coils disabled in RUN (optimized) mode.
Also all the bits in word 5 must be set to 0 when one of these PLCs is running.
Failure to follow these instructions can result in injury or equipment damage.
Bit Function
1 1 = peripheral port stop
2 Extended memory parity error (for chassis mount controllers) or traffic cop/S908
error (for other controllers)
If the bit = 1 in a 984B controller, an error has been detected in extended
memory; the controller will run, but the error output will be ON for XMRD/XMWT
functions
If the bit = 1 for any other controller than a chassis mount, then either a traffic
cop error has been detected or the S908 is missing from a multi-drop
configuration.
3 1 = controller in DIM AWARENESS
4 1 = illegal peripheral intervention
5 1 = segment scheduler invalid
6 1 = start of node did not start segment
7 1 = state RAM test failed
8 1 = invalid traffic cop
9 1 = watchdog timer expired
10 1 = real time clock error
11 CPU logic solver failed (for chassis mount controllers) or Coil Use TABLE (for
other controllers)
If the bit = 1 in a chassis mount controller, the internal diagnostics have detected
CPU failure.
If the bit = 1 in any controller other than a chassis mount, then the Coil Use Table
does not match the coils in user logic.
12 1 = IOP failure
13 1 = invalid node
14 1 = logic checksum
15 1 = coil disabled in RUN mode (see Caution below)
16 1 = bad config
Bit Function
1 - 16 Number of segments (expressed as a decimal number)
Bit Function
1 - 16 EOL pointer address
Bit Function
1 - 12 Not used
13 - 16 RIO timeout constant
Bit Function
1 ... 12 Not used
13 1 = Mismatch between numbers of messages and pointers
14 1 = Invalid message pointer
15 1 = Invalid message
16 1 = Message checksum error
Bit Function
1 ... 14 Not used
15, 15 0 0 = Debug (0 dec)
0 1 = Run (1 dec)
1 0 = Load (2 dec)
Word 11
This word is not used.
Bit Function
1 1 = Local Module
2 - 16 Not used
Each Word display the Momentum I/O Bus Module health as follows:
Bit Function
1 1 = Module 1
2 1 = Module 2
3 1 = Module 3
4 1 = Module 4
5 1 = Module 5
6 1 = Module 6
7 1 = Module 7
8 1 = Module 8
9 1 = Module 9
10 1 = Module 10
11 1 = Module 11
12 1 = Module 12
13 1 = Module 13
14 1 = Module 14
15 1 = Module 15
16 1 = Module 16
Bit Function
1 1 = Slot 1
2 1 = Slot 2
3 1 = Slot 3
4 1 = Slot 4
5 1 = Slot 5
6 1 = Slot 6
7 1 = Slot 7
8 1 = Slot 8
9 1 = Slot 9
10 1 = Slot 10
11 1 = Slot 11
12 1 = Slot 12
13 1 = Slot 13
14 1 = Slot 14
15 1 = Slot 15
16 1 = Slot 16
Four conditions must be met before an I/O module can indicate good health:
z The slot must be traffic copped
z The slot must contain a module with the correct personality
z Valid communications must exist between the module and the RIO interface at
remote drops
z Valid communications must exist between the RIO interface at each remote drop
and the I/O processor in the controller
DIO Status
Status words 172 ... 277 contain the I/O system communication status. Words 172
... 181 are global status words. Among the remaining 96 words, three words are
dedicated to each of up to 32 drops, depending on the type of PLC.
Word 172 stores the Quantum Startup Error Code. This word is always 0 when the
system is running. If an error occurs, the controller does not start-it generates a stop
state code of 10 (word 5 (see page 1003)).
Quantum Start-up Error Codes
Status of Cable A
Words 173 ... 175 are Cable A error words:
Word 173
Bit Function
1 ... 8 Counts framing errors
9 ... 16 Counts DMA receiver overruns
Word 174
Bit Function
1 ... 8 Counts receiver errors
9 ... 16 Counts bad drop receptions
Word 175
Bit Function
1 1 = Short frame
2 1 = No end-of- frame
3 ... 12 Not used
13 1 = CRC error
14 1 = Alignment error
15 1 =Overrun error
16 Not used
Status of Cable B
Words 176 ... 178 are Cable A error words:
Word 176
Bit Function
1 ... 8 Counts framing errors
9 ... 16 Counts DMA receiver overruns
Word 177
Bit Function
1 ... 8 Counts receiver errors
9 -...16 Counts bad drop receptions
Word 178
Bit Function
1 1 = Short frame
2 1 = No end-of- frame
3 ... 12 Not used
13 1 = CRC error
14 1 = Alignment error
15 1 =Overrun error
16 Not used
Bit Function
1 1 = Comm health
2 1 = Cable A status
3 1 = Cable B status
Bit Function
4 Not used
5 ... 8 Lost communication counter
9 ... 16 Cumulative retry counter
Bit Function
1 ... 8 Counts detected errors
9 ... 162 Counts No responses
Bit Function
1 ... 8 Counts detected errors
9 ... 162 Counts No responses
Bit Function
1 1 = Communication health
2 1 = Cable A status
3 1 = Cable B status
4 Not used
5 ... 8 Lost communication counter
9 ... 16 Cumulative retry counter
The second word in each group of three is the drop cumulative error counter on
Cable A for the appropriate drop:
Bit Function
1 ... 8 At least one error in words 173 ...175
9 ... 162 Counts No responses
The third word in each group of three is the drop cumulative error counter on Cable
B for the appropriate drop:
Bit Function
1 ... 8 At least one error in words 176 ...178
9 ... 162 Counts No responses
NOTE: For PLCs where drop 1 is reserved for local I/O, status words 182 ... 184 are
used as follows:
Word 182 displays local drop status:
Bit Function
1 1 = All modules healthy
2 ... 8 Always 0
9 ... 162 Number of times a module has been seen as unhealthy; counter rolls over at 255
Word 183 is a 16-bit error counter, which indicates the number of times a module
has been accessed and found to be unhealthy. Rolls over at 65535.
Word 184 is a 16-bit error counter, which indicates the number of times a
communication error occurred while accessing an I/O module. Rolls over at 65535.
Bit Function
1-5 Not used
6 1 = enable constant sweep
7 1 = enable single sweep delay
8 1 = 16 bit user logic
0 = 24 bit user logic
9 1 = AC power on
10 1 = RUN light OFF
11 1 = memory protect OFF
12 1 = battery failed
13 - 16 Not used
Word 2
This word is not used.
Bit Function
1 1 = first scan
2 1 = start command pending
3 1 = scan time has exceed constant scan target
4 1 = existing DIM AWARENESS
5 - 12 Not used
13 - 16 Single sweeps
Word 4
This word is not used.
Bit Function
1 1 = peripheral port stop
2 1 = XMEM parity error
3 1 = DIM AWARENESS
4 1 = illegal peripheral intervention
5 1 = invalid segment scheduler
6 1 = no start-of-network (SON) at the start of a segment
7 1 = state RAM test failed
8 1 = no end of logic (EOL), (bad Tcop)
9 1 = watch dog timer has expired
10 1 = real time clock error
11 1 = CPU failure
12 Not used
13 1 = invalid node in ladder logic
14 1 = logic checksum error
1 1 = coil disabled in RUN mode
16 1 = bad PLC setup
Bit Function
1 - 16 Number of segments in the current ladder logic program (expressed as a
decimal number)
Bit Function
1 - 16 EOL pointer address
Word 8, Word 9
These words are not used.
Bit Function
1 ... 14 Not used
15, 16 0 0 = Debug (0 dec)
0 1 = Run (1 dec)
1 0 = Load (2 dec)
Word 11
This word is not used.
Each word contains the health status of up to five A120 I/O modules. The most
significant (left-most) bit represents the health of the module in Slot 1 of the rack:
Bit Function
1 1 = Slot 1
2 1 = Slot 2
3 1 = Slot 3
4 1 = Slot 4
5 1 = Slot 5
6 ... 16 Not used
If a module is I/O Mapped and ACTIVE, the bit will have a value of "1". If a module
is inactive or not I/O Mapped, the bit will have a value of "0".
NOTE: Slots 1 and 2 in Rack 1 (Word 12) are not used because the controller itself
uses those two slots.
Global Health and Communications Retry Status Words 182 ... 184 for
TSX Compact
Overview
There are three words that contain health and communication information on the
installed I/O modules. If monitored with the Stat block, they are found in Words 182
through 184. This requires that the length of the Stat block is a minimum of 184
(Words 16 through 181 are not used).
Bit Function
1 1 = All modules healthy
2 ... 9 Not used
10 ... 16 "Module went unhealthy" counter
170
Introduction
This chapter describes the instruction SU16.
Short Description
Function Description
The SU16 instruction performs a signed or unsigned 16-bit subtraction (value 1 -
value 2) on the top and middle node values, then posts the signed or unsigned
difference in a 4x holding register in the bottom node.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
SUB: Subtraction
171
Introduction
This chapter describes the instruction SUB.
Short Description
Function Description
The SUB instruction performs a signed or unsigned 16-bit subtraction (value 1 -
value 2) on the top and middle node values, then posts the signed or unsigned
difference in a 4x holding register in the bottom node.
NOTE: SUB is often used as a comparator where the state of the outputs identifies
whether value 1 is greater than, equal to, or less than value 2.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
172
Introduction
This chapter describes the instruction SWAP.
Short Description
Function Description
The SWAP block allows the user to issue one of three different swap commands:
z swap high and low bits of a 16-bit word
z swap high and low words of a 32-bit double word
z swap (reverse) bits within a register's low byte
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
174
Introduction
This chapter describes the instruction T→R.
Short Description
Function Description
The T→R instruction copies the bit pattern of a register or 16 contiguous discretes
in a table to a specific holding register. It can accommodate the transfer of one
register per scan. It has three control inputs and produces two possible outputs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Middle Input
When the middle input goes ON, the current value stored in the pointer register is
frozen while the DX operation continues. This causes the same table data to be
written to the destination register on each scan.
Bottom Input
When the bottom input goes ON, the value in the pointer is reset to zero. This causes
the next DX move operation to copy the first destination register in the table.
173
Introduction
This chapter describes the instruction TTR.
Short Description
Function Description
The Table to Register block is one of four 484-replacement instructions.
It copies the contents of a source (input or holding) register to a holding register
implied by the constant in the bottom node. This source register is pointed to by the
input or holding register specified in the top node. Only one such operation can be
accommodated by the system in each scan.
NOTE: Available only on the 984-351 and 984-455.
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
175
Introduction
This chapter describes the instruction T→T.
Short Description
Function Description
The T→T instruction copies the bit pattern of a register or of 16 discretes from a
position within one table to an equivalent position in another table of registers. It can
accommodate the transfer of one register per scan. It has three control inputs and
produces two possible outputs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Middle Input
When the input to the middle node goes ON, the current value stored in the pointer
register is frozen while the DX operation continues. This causes new data being
copied to the destination to overwrite the data copied on the previous scan.
Bottom Input
When the input to the bottom node goes ON, the value in the pointer register is reset
to zero. This causes the next DX move operation to copy source data into the first
register in the destination table.
T.01 Timer:
One Hundredth of a Second Timer
176
Introduction
This chapter describes the instruction T.01 timer.
Short Description
Function Description
The T.01 instruction measures time in hundredth of a second intervals. It can be
used for timing an event or creating a delay. T.01 has two control inputs and can
produce one of two possible outputs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
T0.1 Timer:
One Tenth Second Timer
177
Introduction
This chapter describes the instruction T0.1 timer.
Short Description
Function Description
The T0.1 instruction measures time in tenth-of-a-second increments. It can be used
for timing an event or creating a delay. T0.1 has two control inputs and can produce
one of two possible outputs.
NOTE: If you cascade T0.1 timers with presets of 1, the timers will time-out together;
to avoid this problem, change the presets to 10 and substitute a T.01 timer
(see page 1047).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
178
Introduction
This chapter describes the instruction T1.0 timer.
Short Description
Function Description
The T1.0 timer instruction measures time in one-second increments. It can be used
for timing an event or creating a delay. T1.0 has two control inputs and can produce
one of two possible outputs.
NOTE: If you cascade T1.0 timers with presets of 1, the timers will time-out together;
to avoid this problem, change the presets to 10 and substitute a T0.1 timer
(see page 1051).
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
T1MS Timer:
One Millisecond Timer
179
Introduction
This chapter describes the instruction T1MS timer.
Short Description
Function Description
The T1MS timer instruction measures time in one-millisecond increments. It can be
used for timing an event or creating a delay.
NOTE: The T1MS instruction is available only on the B984-102, the Micro 311, 411,
512, and 612, and the Quantum 424 02.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Example
As the times accumulate in each counter, the time of day can be read in five holding
registers as follows:
180
Introduction
This chapter describes the instruction TBLK.
Short Description
Function Description
The TBLK (table-to-block) instruction combines the functions of T→R
(see page 1033) and the BLKM (see page 93) in a single instruction. In one scan, it
can copy up to 100 contiguous 4x registers from a table to a destination block. The
destination block is of a fixed length. The block of registers being copied from the
source table is of the same length, but the overall length of the source table is limited
only by the number of registers in your system configuration.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Middle Input
When the middle input is ON, the value in the pointer register is frozen while the
TBLK operation continues. This causes the same source data block to be copied to
the destination table on each scan.
Bottom Input
CAUTION
Confine the value in the destination pointer to a safe range.
You should use external logic in conjunction with the middle and the bottom inputs
to confine the value in the destination pointer to a safe range.
Failure to follow these instructions can result in injury or equipment damage.
When the bottom input is ON, the pointer value is reset to zero. This causes the
TBLK operation to copy data from the first block of registers in the source table.
181
Introduction
This chapter describes the instruction TEST.
Short Description
Function Description
The TEST instruction compares the signed or unsigned size of the 16-bit values in
the top and middle nodes and describes the relationship via the block outputs.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
UCTR: Up Counter
182
Introduction
This chapter describes the instruction UCTR.
Short Description
Function Description
The UCTR instruction counts control input transitions from OFF to ON up from zero
to a counter preset value.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
183
Introduction
This chapter describes the instruction VMER.
Short Description
Function Description
The VME Read block allows the user to read data from devices on the VME bus. If
Byte Swap is active, the high byte is exchanged with the low byte of a word after it
is read from the VME bus. If Word Swap is enabled, the upper word is exchanged
with the lower word of a double after it is read. An error will occur if both inputs are
enabled at once.
NOTE: Available only on the Quantum VME-424/X controller.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Description
Displayed VME Address modifier code
First implied Error code status
Please see Error Code Status Table
Second implied Length of data to be read/written
Third implied VME Device address (low byte)
Fourth implied VME Device address (high byte)
Error Description
01 Bad word count. Must be an even number of words
02 Bad length, greater than 255
03 Bad data length. Length was 0 or greater than 255
04 Bad address modifier in first control block
05 Bad command in top node of SWAP block
06 Bad VME bus interface
07 VME bus address doesn’t exist
08 VME 486 timeout
09 ME bus interface has not been configured
10 Both BYTE and WORD swap inputs have been selected
11 Match the type implied by the AM code (A16 or A2)
184
Introduction
This chapter describes the instruction VMEW.
Short Description
Function Description
The VME Write block allows the user to write data to devices on the VME bus. If
BYTE SWAP is active, the high byte is exchanged with the low byte of a word before
it is written to the VME bus. If WORD SWAP is active, the upper word is exchanged
with the lower word of a double before it is written. An error will occur if both inputs
are enabled at once.
NOTE: Available only on the Quantum VME-424/X controller.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Register Description
Displayed VME Address modifier code
First implied Error code status
Please see Error Code Status Table
Second implied Length of data to be read/written
Third implied VME Device address (low byte)
Fourth implied VME Device address (high byte)
Error Description
01 Bad word count. Must be an even number of words
02 Bad length, greater than 255
03 Bad data length. Length was 0 or greater than 255
04 Bad address modifier in first control block
05 Bad command in top node of SWAP block
06 Bad VME bus interface
07 VME bus address doesn’t exist
08 VME 486 timeout
09 ME bus interface has not been configured
10 Both BYTE and WORD swap inputs have been selected
11 Match the type implied by the AM code (A16 or A2)
WRIT: Write
185
Introduction
This chapter describes the instruction WRIT.
Short Description
Function Description
The WRIT instruction sends a message from the PLC over the RIO communications
link to an ASCII display (screen, printer, etc.).
In the process of sending the messaging operation, WRIT performs the following
functions:
z Verifies the correctness of the ASCII communication parameters, e.g. the port
number, the message number
z Verifies the lengths of variable data fields
z Performs error detection and recording
z Reports RIO interface status
WRIT requires two tables of registers: a source table where variable data (the
message) is copied, and a control block where comm port and message parameters
are identified.
Further information about formatting messages you will find in Formatting Messages
for ASCII READ/WRIT Operations, page 57.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
The 3-character ASCII field III is the variable data field; variable data are loaded,
typically via DX moves, into a table of variable field data.
Register Definition
Displayed Port Number and Error Code, page 1093
First implied Message number
Second implied Number of registers required to satisfy format
Third implied Count of the number of registers transmitted thus far
Fourth implied Status of the solve
Fifth implied Reserved
Sixth implied Checksum of registers 0 ... 5
Bit Function
1 ... 4 PLC error code (see table below)
5 Not used
6 Input from the ASCII device not compatible with format
7 Input buffer overrun, data received too quickly at RIOP
8 USART error, bad byte received at RIOP
9 Illegal format, not received properly by RIOP
10 ASCII device off-line, check cabling
11 ASCII message terminated early (in keyboard mode
12 ... 16 Comm port # (1 ... 32)
Bit Meaning
1 2 3 4
0 0 0 1 Error in the input to RIOP from ASCII device
0 0 1 0 Exception response from RIOP, bad data
0 0 1 1 Sequenced number from RIOP differs from expected value
0 1 0 0 User register checksum error, often caused by altering
READ registers while the block is active
0 1 0 1 Invalid port or message number detected
0 1 1 0 User-initiated abort, bottom input energized
0 1 1 1 No response from drop, communication error
1 0 0 0 Node aborted because of SKP instruction
1 0 0 1 Message area scrambled, reload memory
1 0 1 0 Port not configured in the I/O map
1 0 1 1 Illegal ASCII request
1 1 0 0 Unknown response from ASCII port
1 1 0 1 Illegal ASCII element detected in user logic
1 1 1 1 RIOP in the PLC is down
XMIT - Transmit
186
Introduction
This chapter describes the instruction XMIT - Transmit.
Short Description
Function Description
The XMIT (transmit) function block sends Modbus messages from a master PLC to
multiple slave PLCs or sends ASCII character strings from the PLC's Modbus slave
port#1 or port#2 to ASCII printers and terminals. XMIT sends these messages over
telephone dial up modems, radio modems, or simply direct connection.
For more detailed information on the XMIT function block, see the section named
XMIT Modbus Functions, page 1097.
XMIT comes with three modes: communication, port status, and conversion.
These modes are described in the following sections.
z XMIT Communication Block, page 1103
z XMIT Port Status Block, page 1115
z XMIT Conversion Block, page 1123
XMIT performs general ASCII input functions in the communication mode including
simple ASCII and terminated ASCII. You may use an additional XMIT block for
reporting port status information into registers while another XMIT block performs
the ASCII communication function. You may import and export ASCII or binary data
into your PLC and convert it into various binary data or ASCII to send to DCE
devices based upon the needs of your application.
The block has built in diagnostics, which ensure no other XMIT blocks are active in
the PLC. Within the XMIT block a control table allows you to control the
communications link between the PLC and Data Communication Equipment (DCE)
devices attached to Modbus port #1 or port#2 of the PLC. The XMIT block does not
activate the port LED when it's transmitting data.
NOTE: The Modbus protocol is a master/slave" protocol and designed to have only
one master when polling multiple slaves. Therefore, when using the XMIT block in
a network with multiple masters, contention resolution, and collision avoidance is
your responsibility and may easily be addressed through ladder logic programming.
At a Glance
The XMIT function block supports the following Modbus function codes:.
z 01 ... 06
z 08
z 15 and 16
z 20 and 21
For Modbus messages, the MSG_OUT array has to contain the Modbus definition
table. The Modbus definition table for Modbus function code: 01, 02, 03, 04, 05, 06,
15 and 16 is five registers long and you must set XMIT_SET.MessageLen to 5 for
successful XMIT operation. The Modbus definition table is shown in the table below
Content Description
Modbus XMIT supports the following function codes:
function code 01 = Read multiple coils (0x)
(MSG_OUT[1]) 02 = Read multiple discrete inputs (1x)
03 = Read multiple holding registers (4x)
04= Read multiple input registers (3x)
05 = Write single coil (0x)
06 = Write single holding registers (4x)
15 = Write multiple coils (0x)
16 = Write multiple holding registers (4x)
Quantity Enter the amount of data you want written to the slave PLC or read from
(MSG_OUT[2]) the slave PLC. For example, enter 100 to read 100 holding registers from
the slave PLC or enter 32 to write 32 coils to a slave PLC. There is a size
limitation on quantity that is dependent on the PLC model. Refer to
Appendix A for complete details on limits.
Slave PLC Enter the slave Modbus PLC address. Typically the Modbus address
address range is 1 ... 247. To send a Modbus message to multiple PLCs, enter 0
(MSG_OUT[3]) for the slave PLC address. This is referred to as Broadcast Mode.
Broadcast Mode only supports Modbus function codes that writes data
from the master PLC to slave PLCs. Broadcast Mode does NOT support
Modbus function codes that read data from slave PLCs.
Content Description
Slave PLC data For a read command, the slave PLC data area is the source of the data.
area For a write command, the slave PLC data area is the destination for the
(MSG_OUT[4]) data. For example, when you want to read coils (00300 ... 00500) from a
slave PLC, enter 300 in this field. When you want to write data from a
master PLC and place it into register (40100) of a slave PLC, enter 100 in
this field. Depending on the type of Modbus command (write or read), the
source and destination data areas must be as defined in the Source and
Destination Data Areas table below.
Master PLC For a read command, the master PLC data area is the destination for the
data area data returned by the slave. For a write command, the master PLC data
(MSG_OUT[5]) area is the source of the data. For example, when you want to write coils
(00016 ... 00032) located in the master PLC to a slave PLC, enter 16 in the
field. When you want to read input registers (30001 ... 30100) from a slave
PLC and place the data into the master PLC data area (40100 ... 40199),
enter 100 in this field. Depending on the type of Modbus command (write
or read), the source and destination data areas must be as defined in the
Source and Destination Data Areas table below.
Source and Destination Data Areas for Function Codes (01 ... 06, 15 and 16)
Function Code Master PLC Data Area Slave PLC Data Area
03 (Read multiple 4x) 4x (destination) 4x (source)
04 (Read multiple 3x) 4x (destination) 3x (source)
01 (Read multiple 0x) 0x (destination) 0x (source)
02 (Read multiple 1x) 0x (destination) 1x (source)
16 (Write multiple 4x) 4x (source) 4x (destination)
15 (Write multiple 0x) 0x (source) 0x (destination)
05 (Write single 0x) 0x (source) 0x (destination)
06 (Write single 4x) 4x (source) 4x (destination)
When you want to send 20 Modbus messages out of the PLC, you must transfer 20
Modbus definition tables one after another into MSG_OUT after each successful
operation of XMIT, or you may program 20 separate XMIT blocks and then activate
them one at a time through user logic.
Content Description
Modbus function code XMIT supports the following function code: 08 = Diagnostics
(MSG_OUT[1])
Diagnostics Enter the diagnostics subfunction code decimal value in this filed to
(MSG_OUT[2]) perform the specific diagnostics function desired. The following
diagnostic subfunctions are supported:
Code Description
00 Return query data
01 Restart comm option
02 Return diagnostic register
03 Change ASCII input delimiter
04 Force listen only mode
05 ... 09 Reserved
10 Clear counters (& diagnostics registers in 384, 484)
11 Return bus messages count
12 Return bus comm error count
13 Return bus exception error count
14 ... 15 Not supported
16 Return slave NAK count
17 Return slave busy count
18 Return bus Char overrun count
19 ... 21 Not supported
Slave PLC address Enter the slave Modbus PLC address. Typically the Modbus
(MSG_OUT[3]) address range is 1 ... 247. Function code 8 dose NOT support
Broadcast Mode (Address 0)
Diagnostics function You must enter the decimal value needed for the data area of the
data field content specific diagnostic subfunction. For subfunctions 02, 04, 10, 11, 12,
(MSG_OUT[4]) 13, 16, 17 and 18 this value is automatically set to zero. For
subfunctions 00, 01, and 03 you must enter the desired data field
value. For more details, refer to Modicon Modbus Protocol
Reference Guide (PI-MBUS-300).
Master PLC data area For all subfunctions, the master PLC data area is the destination for
(MSG_OUT[5]) the data returned by the slave. You must specify a 4x register that
marks the beginning of the data area where the returned data is
placed. For example, to place the data into the master PLC data
area starting at (40100), enter 100 in this field. Subfunction 04 does
NOT return a response. For more details, refer to Modicon Modbus
Protocol Reference Guide (PI-MBUS-300).
Content Description
Modbus function code XMIT supports the following function codes: 20 = Read general
(MSG_OUT[1]) reference (6x) 21 = Write general reference (6x)
Quantity (MSG_OUT[2]) Enter the amount of data you want written to the slave PLC or read
from the slave PLC. For example, enter 100 to read 100 holding
registers from the slave PLC or enter 32 to write 32 coils to a slave
PLC. There is a size limitation on quantity that is dependent on the
PLC model. Refer to Appendix A for complete details on limits.
Slave PLC address Enter the slave Modbus PLC address. Typically the Modbus
(MSG_OUT[3]) address range is 1 ... 247. Function code 20 and 21 do NOT
support Broadcast Mode (Address 0).
Slave PLC data area For a read command, the slave PLC data area is the source of the
(MSG_OUT[4]) data. For a write command, the slave PLC data area is the
destination for the data. For example, when you want to read
registers (600300 ... 600399) from a slave PLC, enter 300 in this
field. When you want to write data from a master PLC and place
it into register (600100) of a slave PLC, enter 100 in this field.
Depending on the type of Modbus command (write or read), the
source and destination data areas must be as defined in the
Source and Destination Data Areas table below. The lowest
extended register is addressed as register "zero" (600000). The
lowest holding register is addressed as register "one" (400001).
Master PLC data area For a read command, the master PLC data area is the destination
(MSG_OUT[5]) for the data returned by the slave. For a write command, the
master PLC data area is the source of the data. For example,
when you want to write registers (40016 ... 40032) located in the
master PLC to 6x registers in a slave PLC, enter 16 in the filed.
When you want to read 6x registers (600001 ... 600100) from a
slave PLC and place the data into the master PLC data area
(40100 ... 40199), enter 100 in this field. Depending on the type of
Modbus command (write or read), the source and destination data
areas must be as defined in the Source and Destination Data
Areas table below. The lowest extended register is addressed as
register "zero" (600000). The lowest holding register is addressed
as register "one" (400001).
File number Enter the file number for the 6x registers to be written to or read
(MSG_OUT[6]) from. (1 ... 10) depending on the size of the extended register data
area. 600001 is 60001 file 1 and 690001 is 60001 file 10 as viewed
by the Reference Data Editor.
Source and Destination Data Areas for Function Codes (20, 21)
Function Code Master PLC Data Area Slave PLC Data Area
20 (Read general reference 6x) 4x (destination) 6x (source)
21 (Write general reference 6x) 4x (source) 6x (destination)
When you want to send 20 Modbus messages out of the PLC, you must transfer 20
Modbus definition tables one after another into MSG_OUT after each successful
operation of XMIT, or you may program 20 separate XMIT blocks and then activate
them one at a time through user logic.
187
Introduction
This chapter describes the instruction XMIT Communication Block.
Short Description
Function Description
The purpose of the XMIT communication block is to receive and transmit ASCII
messages and Modbus Master messages using your PLC ports.
The XMIT instruction block will not operate correctly if:
z The NSUP and XMIT loadables are not installed
z The NSUP loadable is installed after the XMIT loadable
z The NSUP and XMIT loadables are installed in a Quantum PLC with an out-of-
date executive (older than version 2.10 or 2.12)
For an overview of the XMIT instruction please see Short Description, page 1096.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Parameter Description
Parameter Description
(4x + 8) Command Word Function Command word bits Command word bits
that must be set to 1 that must be set to 0
Terminated ASCII input (Bit 5=1) 2,3,9,10,11,12 6,7,8,13,14,15,16
Simple ASCII input (Bit 6=1) 2,3,9,10,11,12 5,7,8,13,14,15,16
Simple ASCII output (Bit 7=1) 2,3,9,10,11,12 5,6,8,13,14,15,16
Modem output (Bit 7=1) 2,3,13,14,15,16 5,6,8,9,10,11,12
(plus one, but ONLY
one, of the following bits
is set to 1: 13,14,15 or
16, while the other three
bits must be set to 0)
Modbus master messaging output 2,3 5,6,7,9,10,11,12,13,14,
(Bit 8=1) 15,16
Enable ASCII receive input FIFO ONLY 2,3,10,11,12 5,6,7,8,13,14,15,16
(Bit 9=1)
188
Introduction
This chapter describes the instruction XMIT Port Status Block.
Short Description
Function Description
The XMIT port status block shows the current port status, Modbus slave activity,
ASCII input FIFO, and flow control information that may be used in ladder logic for
some applications. The XMIT port status block is totally passive. It does not take,
release, or control the PLC port.
For an overview of the XMIT instruction, please see Short Description, page 1096.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Overview
This topic provides detailed information relevant to the middle node. There are six
units in this topic.
z Port Status Display Table
z Fault Code Generation Table
z Status Generation Table
z Port Ownership Table
z Input FIFO Status Table
z Input FIFO Length Table
189
Introduction
This chapter describes the instruction XMIT Conversion Block.
Short Description
Function Description
The purpose of the XMIT conversion block is to take data and convert it into other
usable forms based upon your application needs. The convert block performs 11
different functions or options. Some functions include ASCII to binary, integer to
ASCII, byte swapping, searching ASCII strings, and others. This block allows
internal conversions using 4xxxx source blocks to 4xxxx destination blocks.
For an overview of the XMIT instruction please see Short Description, page 1096.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
Overview
This topic provides detailed information relevant to the middle node. There are four
units in this topic.
z Conversion Block Control Table
z Fault Code Generation Table
z Data Conversion Control Bits Table
z Data Conversion Opcodes Table
Bit # Definition 1= 0=
2 CRC 16 seed 0x0000 0xFFFF
3 Error check type LRC 8 CRC 16
4 Error check Validate Append
7 Conversion case Upper to Lower Lower to Upper
8 Case sensitivity No Yes
9 Format leading Zeros Blanks
10 Output format Fixed Variable
11 Conversion type Unsigned Signed
12 Conversion word 32-bit 16-bit
13 Automatic advance source pointer Yes No
(points to the next character after the
last character purged)
14 Automatic advance destination pointer Yes No
(points to the next character after the
last character purged)
15 Begin reading ASCII at source Low byte High byte (normal)
beginning with ...
16 Begin saving ASCII at destination Low byte High byte (normal)
beginning with ...
190
Introduction
This chapter describes the instruction XMRD.
Short Description
Function Description
The XMRD instruction is used to copy a table of 6x extended memory registers to a
table of 4x holding registers in state RAM.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
If you are in multi-scan mode, these six registers should be unique to this function
block.
Bit Function
1 1 = power-up diagnostic error
2 1 = parity error in extended memory
3 1 = extended memory does not exist
4 0 = transfer not running
1 = busy
5 0 = transfer in progress
1 = transfer complete
6 1 = file boundary crossed
7 1 = offset parameter too large
8-9 Not used
10 1 = nonexistent state RAM
11 Not used
12 1 = maximum registers parameter error
13 1 = offset parameter error
14 1 = count parameter error
15 1 = starting address parameter error
16 1 = file number parameter error
191
Introduction
This chapter describes the instruction XMWT.
Short Description
Function Description
The XMWT instruction is used to write data from a block of input registers or holding
registers in state RAM to a block of 6x registers in an extended memory file.
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
Parameter Description
If you are in multi-scan mode, these six registers should be unique to this function
block.
Bit Function
1 1 = power-up diagnostic error
2 1 = parity error in extended memory
3 1 = extended memory does not exist
4 0 = transfer not running
1 = busy
5 0 = transfer in progress
1 = transfer complete
6 1 = file boundary crossed
7 1 = offset parameter too large
8-9 Not used
10 1 = nonexistent state RAM
11 Not used
12 1 = maximum registers parameter error
13 1 = offset parameter error
14 1 = count parameter error
15 1 = starting address parameter error
16 1 = file number parameter error
XOR: Exclusive OR
192
Introduction
This chapter describes the instruction XOR.
Short Description
Function Description
WARNING
XOR will override any disabled coils within the destination matrix without en-
abling them.
This can cause personal injury if a coil has disabled an operation for maintenance
or repair because the coil’s state can be changed by the XOR operation.
Failure to follow these instructions can result in death, serious injury, or
equipment damage.
The XOR instruction performs a Boolean Exclusive OR operation on the bit patterns
in the source and destination matrices.
The XORed bit pattern is then posted in the destination matrix, overwriting its
previous contents:
Representation
Symbol
Representation of the instruction
Parameter Description
Description of the instruction’s parameters
An XOR Example
When contact 10001 passes power, the source matrix formed by the bit pattern in
registers 40600 and 40601 is XORed with the destination matrix formed by the bit
pattern in registers 40608 and 40609, overwriting the original destination bit pattern.
NOTE: If you want to reatin the original destination bit pattern of registers 40608 and
40609, copy the information into another table using a BLKIM before performing the
XOR operation.
Parameter Description
Glossary
active window
The window, which is currently selected. Only one window can be active at any one
given time. When a window is active, the heading changes color, in order to
distinguish it from other windows. Unselected windows are inactive.
Actual parameter
Currently connected Input/Output parameters.
Addresses
(Direct) addresses are memory areas on the PLC. These are found in the State RAM
and can be assigned input/output modules.
The display/input of direct addresses is possible in the following formats:
z Standard format (400001)
z Separator format (4:00001)
z Compact format (4:1)
z IEC format (QW1)
ANL_IN
ANL_IN stands for the data type "Analog Input" and is used for processing analog
values. The 3x References of the configured analog input module, which is specified
in the I/O component list is automatically assigned the data type and should
therefore only be occupied by Unlocated variables.
ANL_OUT
ANL_OUT stands for the data type "Analog Output" and is used for processing
analog values. The 4x-References of the configured analog output module, which is
specified in the I/O component list is automatically assigned the data type and
should therefore only be occupied by Unlocated variables.
ANY
In the existing version "ANY" covers the elementary data types BOOL, BYTE, DINT,
INT, REAL, UDINT, UINT, TIME and WORD and therefore derived data types.
ANY_BIT
In the existing version, "ANY_BIT" covers the data types BOOL, BYTE and WORD.
ANY_ELEM
In the existing version "ANY_ELEM" covers the elementary data types BOOL,
BYTE, DINT, INT, REAL, UDINT, UINT, TIME and WORD.
ANY_INT
In the existing version, "ANY_INT" covers the data types DINT, INT, UDINT and
UINT.
ANY_NUM
In the existing version, "ANY_NUM" covers the data types DINT, INT, REAL, UDINT
and UINT.
ANY_REAL
In the existing version "ANY_REAL" covers the data type REAL.
Application window
The window, which contains the working area, the menu bar and the tool bar for the
application. The name of the application appears in the heading. An application
window can contain several document windows. In Concept the application window
corresponds to a Project.
Argument
Synonymous with Actual parameters.
ASCII mode
American Standard Code for Information Interchange. The ASCII mode is used for
communication with various host devices. ASCII works with 7 data bits.
Atrium
The PC based controller is located on a standard AT board, and can be operated
within a host computer in an ISA bus slot. The module occupies a motherboard
(requires SA85 driver) with two slots for PC104 daughter boards. From this, a
PC104 daughter board is used as a CPU and the others for INTERBUS control.
Base 16 literals
Base 16 literals function as the input of whole number values in the hexadecimal
system. The base must be denoted by the prefix 16#. The values may not be
preceded by signs (+/-). Single underline signs ( _ ) between figures are not
significant.
Example
16#F_F or 16#FF (decimal 255)
16#E_0 or 16#E0 (decimal 224)
Base 8 literal
Base 8 literals function as the input of whole number values in the octal system. The
base must be denoted by the prefix 3.63kg. The values may not be preceded by
signs (+/-). Single underline signs ( _ ) between figures are not significant.
Example
8#3_1111 or 8#377 (decimal 255)
8#34_1111 or 8#340 (decimal 224)
Basis 2 literals
Base 2 literals function as the input of whole number values in the dual system. The
base must be denoted by the prefix 0.91kg. The values may not be preceded by
signs (+/-). Single underline signs ( _ ) between figures are not significant.
Example
2#1111_1111 or 2#11111111 (decimal 255)
2#1110_1111 or 2#11100000 (decimal 224)
Binary connections
Connections between outputs and inputs of FFBs of data type BOOL.
Bit sequence
A data element, which is made up from one or more bits.
BOOL
BOOL stands for the data type "Boolean". The length of the data elements is 1 bit
(in the memory contained in 1 byte). The range of values for variables of this type is
0 (FALSE) and 1 (TRUE).
Bridge
A bridge serves to connect networks. It enables communication between nodes on
the two networks. Each network has its own token rotation sequence – the token is
not deployed via bridges.
BYTE
BYTE stands for the data type "Bit sequence 8". The input appears as Base 2 literal,
Base 8 literal or Base 1 16 literal. The length of the data element is 8 bit. A numerical
range of values cannot be assigned to this data type.
Cache
The cache is a temporary memory for cut or copied objects. These objects can be
inserted into sections. The old content in the cache is overwritten for each new Cut
or Copy.
Call up
The operation, by which the execution of an operation is initiated.
Coil
A coil is a LD element, which transfers (without alteration) the status of the horizontal
link on the left side to the horizontal link on the right side. In this way, the status is
saved in the associated Variable/ direct address.
Connection
A check or flow of data connection between graphic objects (e.g. steps in the SFC
editor, Function blocks in the FBD editor) within a section, is graphically shown as a
line.
Constants
Constants are Unlocated variables, which are assigned a value that cannot be
altered from the program logic (write protected).
Contact
A contact is a LD element, which transfers a horizontal connection status onto the
right side. This status is from the Boolean AND- operation of the horizontal
connection status on the left side with the status of the associated Variables/direct
Address. A contact does not alter the value of the associated variables/direct
address.
Data types
The overview shows the hierarchy of data types, as they are used with inputs and
outputs of Functions and Function blocks. Generic data types are denoted by the
prefix "ANY".
z ANY_ELEM
z ANY_NUM
ANY_REAL (REAL)
ANY_INT (DINT, INT, UDINT, UINT)
z ANY_BIT (BOOL, BYTE, WORD)
z TIME
Declaration
Mechanism for determining the definition of a Language element. A declaration
normally covers the connection of an Identifier with a language element and the
assignment of attributes such as Data types and algorithms.
DINT
DINT stands for the data type "double integer". The input appears as Integer literal,
Base 2 literal, Base 8 literal or Base 16 literal. The length of the data element is 32
bit. The range of values for variables of this data type is from –2 exp (31) to 2 exp
(31) –1.
Direct display
A method of displaying variables in the PLC program, from which the assignment of
configured memory can be directly and indirectly derived from the physical memory.
Document window
A window within an Application window. Several document windows can be opened
at the same time in an application window. However, only one document window
can be active. Document windows in Concept are, for example, sections, the
message window, the reference data editor and the PLC configuration.
Dummy
An empty data file, which consists of a text header with general file information, i.e.
author, date of creation, EFB identifier etc. The user must complete this dummy file
with additional entries.
DX Zoom
This property enables connection to a programming object to observe and, if
necessary, change its data value.
Error
When processing a FFB or a Step an error is detected (e.g. unauthorized input value
or a time error), an error message appears, which can be viewed with the menu
command Online → Event display... . With FFBs the ENO output is set to "0".
Evaluation
The process, by which a value for a Function or for the outputs of a Function block
during the Program execution is transmitted.
Expression
Expressions consist of operators and operands.
Field variables
Variables, one of which is assigned, with the assistance of the key word ARRAY
(field), a defined Derived data type. A field is a collection of data elements of the
same Data type.
FIR filter
Finite Impulse Response Filter
Formal parameters
Input/Output parameters, which are used within the logic of a FFB and led out of the
FFB as inputs/outputs.
Function (FUNC)
A Program organization unit, which exactly supplies a data element when executing.
A function has no internal status information. Multiple call ups of the same function
with the same input parameter values always supply the same output values.
Details of the graphic form of function call up can be found in the definition " Function
block (Item)". In contrast to the call up of function blocks, the function call ups only
have one unnamed output, whose name is the name of the function itself. In FBD
each call up is denoted by a unique number over the graphic block; this number is
automatically generated and cannot be altered.
Function counter
The function counter serves as a unique identifier for the function in a Program or
DFB. The function counter cannot be edited and is automatically assigned. The
function counter always has the structure: .n.m
n = Section number (number running)
m = Number of the FFB object in the section (number running)
Generic literal
If the Data type of a literal is not relevant, simply enter the value for the literal. In this
case Concept automatically assigns the literal to a suitable data type.
Global DFBs
Global DFBs are available in every Concept project and are contained in the DFB
directory directly under the Concept directory.
Global macros
Global Macros are available in every Concept project and are contained in the DFB
directory directly under the Concept directory.
Groups (EFBs)
Some EFB libraries (e.g. the IEC library) are subdivided into groups. This facilitates
the search for FFBs, especially in extensive libraries.
IEC 61131-3
International norm: Programmable controllers – part 3: Programming languages.
IIR filter
Infinite Impulse Response Filter
Initial value
The allocated value of one of the variables when starting the program. The value
assignment appears in the form of a Literal.
Instantiation
The generation of an Item.
Instruction (984LL)
When programming electric controllers, the task of implementing operational coded
instructions in the form of picture objects, which are divided into recognizable
contact forms, must be executed. The designed program objects are, on the user
level, converted to computer useable OP codes during the loading process. The OP
codes are deciphered in the CPU and processed by the controller’s firmware
functions so that the desired controller is implemented.
Instruction (IL)
Instructions are "commands" of the IL programming language. Each operation
begins on a new line and is succeeded by an operator (with modifier if needed) and,
if necessary for each relevant operation, by one or more operands. If several
operands are used, they are separated by commas. A tag can stand before the
instruction, which is followed by a colon. The commentary must, if available, be the
last element in the line.
INT
INT stands for the data type "whole number". The input appears as Integer literal,
Base 2 literal, Base 8 literal or Base 16 literal. The length of the data element is 16
bit. The range of values for variables of this data type is from –2 exp (15) to 2 exp
(15) –1.
Integer literals
Integer literals function as the input of whole number values in the decimal system.
The values may be preceded by the signs (+/-). Single underline signs ( _ ) between
figures are not significant.
Example
-12, 0, 123_456, +986
INTERBUS (PCP)
To use the INTERBUS PCP channel and the INTERBUS process data
preprocessing (PDP), the new I/O station type INTERBUS (PCP) is led into the
Concept configurator. This I/O station type is assigned fixed to the INTERBUS
connection module 180-CRP-660-01.
The 180-CRP-660-01 differs from the 180-CRP-660-00 only by a clearly larger I/O
area in the state RAM of the controller.
Item name
An Identifier, which belongs to a certain Function block item. The item name serves
as a unique identifier for the function block in a program organization unit. The item
name is automatically generated, but can be edited. The item name must be unique
throughout the Program organization unit, and no distinction is made between
upper/lower case. If the given name already exists, a warning is given and another
name must be selected. The item name must conform to the IEC name conventions,
otherwise an error message appears. The automatically generated instance name
always has the structure: FBI_n_m
FBI = Function block item
n = Section number (number running)
m = Number of the FFB object in the section (number running)
Jump
Element of the SFC language. Jumps are used to jump over areas of the chain.
Key words
Key words are unique combinations of figures, which are used as special syntactic
elements, as is defined in appendix B of the IEC 1131-3. All key words, which are
used in the IEC 1131-3 and in Concept, are listed in appendix C of the IEC 1131-3.
These listed keywords cannot be used for any other purpose, i.e. not as variable
names, section names, item names etc.
Landscape format
Landscape format means that the page is wider than it is long when looking at the
printed text.
Language element
Each basic element in one of the IEC programming languages, e.g. a Step in SFC,
a Function block item in FBD or the Start value of a variable.
Library
Collection of software objects, which are provided for reuse when programming new
projects, or even when building new libraries. Examples are the Elementary function
block types libraries.
EFB libraries can be subdivided into Groups.
Literals
Literals serve to directly supply values to inputs of FFBs, transition conditions etc.
These values cannot be overwritten by the program logic (write protected). In this
way, generic and standardized literals are differentiated.
Furthermore literals serve to assign a Constant a value or a Variable an Initial value.
The input appears as Base 2 literal, Base 8 literal, Base 16 literal, Integer literal, Real
literal or Real literal with exponent.
Local DFBs
Local DFBs are only available in a single Concept project and are contained in the
DFB directory under the project directory.
Local link
The local network link is the network, which links the local nodes with other nodes
either directly or via a bus amplifier.
Local macros
Local Macros are only available in a single Concept project and are contained in the
DFB directory under the project directory.
Located variable
Located variables are assigned a state RAM address (reference addresses 0x,1x,
3x, 4x). The value of these variables is saved in the state RAM and can be altered
online with the reference data editor. These variables can be addressed by symbolic
names or the reference addresses.
Collective PLC inputs and outputs are connected to the state RAM. The program
access to the peripheral signals, which are connected to the PLC, appears only via
located variables. PLC access from external sides via Modbus or Modbus plus
interfaces, i.e. from visualizing systems, are likewise possible via located variables.
Macro
Macros are created with help from the software Concept DFB.
Macros function to duplicate frequently used sections and networks (including the
logic, variables, and variable declaration).
Distinctions are made between local and global macros.
Macros have the following properties:
z Macros can only be created in the programming languages FBD and LD.
z Macros only contain one single section.
z Macros can contain any complex section.
z From a program technical point of view, there is no differentiation between an
instanced macro, i.e. a macro inserted into a section, and a conventionally
created macro.
z Calling up DFBs in a macro
z Variable declaration
z Use of macro-own data structures
z Automatic acceptance of the variables declared in the macro
z Initial value for variables
z Multiple instancing of a macro in the whole program with different variables
z The section name, the variable name and the data structure name can contain up
to 10 different exchange markings (@0 to @9).
MMI
Man Machine Interface
Network
A network is the connection of devices to a common data path, which communicate
with each other via a common protocol.
Network node
A node is a device with an address (164) on the Modbus Plus network.
Node address
The node address serves a unique identifier for the network in the routing path. The
address is set directly on the node, e.g. with a rotary switch on the back of the
module.
Operand
An operand is a Literal, a Variable, a Function call up or an Expression.
Operator
An operator is a symbol for an arithmetic or Boolean operation to be executed.
Peer processor
The peer processor processes the token run and the flow of data between the
Modbus Plus network and the PLC application logic.
PLC
Programmable controller
Program
The uppermost Program organization unit. A program is closed and loaded onto a
single PLC.
Program cycle
A program cycle consists of reading in the inputs, processing the program logic and
the output of the outputs.
Programming device
Hardware and software, which supports programming, configuring, testing,
implementing and error searching in PLC applications as well as in remote system
applications, to enable source documentation and archiving. The programming
device could also be used for process visualization.
Project
General identification of the uppermost level of a software tree structure, which
specifies the parent project name of a PLC application. After specifying the project
name, the system configuration and control program can be saved under this name.
All data, which results during the creation of the configuration and the program,
belongs to this parent project for this special automation.
General identification for the complete set of programming and configuring
information in the Project data bank, which displays the source code that describes
the automation of a system.
REAL
REAL stands for the data type "real". The input appears as Real literal or as Real
literal with exponent. The length of the data element is 32 bit. The value range for
variables of this data type reaches from 8.43E-37 to 3.36E+38.
NOTE: Depending on the mathematic processor type of the CPU, various areas
within this valid value range cannot be represented. This is valid for values nearing
ZERO and for values nearing INFINITY. In these cases, a number value is not
shown in animation, instead NAN (Not A Number) oder INF (INFinite).
Real literal
Real literals function as the input of real values in the decimal system. Real literals
are denoted by the input of the decimal point. The values may be preceded by the
signs (+/-). Single underline signs ( _ ) between figures are not significant.
Example
-12.0, 0.0, +0.456, 3.14159_26
Reference
Each direct address is a reference, which starts with an ID, specifying whether it
concerns an input or an output and whether it concerns a bit or a word. References,
which start with the code 6, display the register in the extended memory of the state
RAM.
0x area = Discrete outputs
1x area = Input bits
3x area = Input words
4x area = Output bits/Marker words
6x area = Register in the extended memory
NOTE: The x, which comes after the first figure of each reference type, represents
a five figure storage location in the application data store, i.e. if the reference 400201
signifies a 16 bit output or marker word in the address 201 of the State RAM.
RP (PROFIBUS)
RP = Remote Peripheral
RTU mode
Remote Terminal Unit
The RTU mode is used for communication between the PLC and an IBM compatible
personal computer. RTU works with 8 data bits.
Rum-time error
Error, which occurs during program processing on the PLC, with SFC objects (i.e.
steps) or FFBs. These are, for example, over-runs of value ranges with figures, or
time errors with steps.
SA85 module
The SA85 module is a Modbus Plus adapter for an IBM-AT or compatible computer.
Section
A section can be used, for example, to describe the functioning method of a
technological unit, such as a motor.
A Program or DFB consist of one or more sections. Sections can be programmed
with the IEC programming languages FBD and SFC. Only one of the named
programming languages can be used within a section.
Each section has its own Document window in Concept. For reasons of clarity, it is
recommended to subdivide a very large section into several small ones. The scroll
bar serves to assist scrolling in a section.
Serial ports
With serial ports (COM) the information is transferred bit by bit.
Standardized literals
If the data type for the literal is to be automatically determined, use the following
construction: ’Data type name’#’Literal value’.
Example
INT#15 (Data type: Integer, value: 15),
BYTE#00001111 (data type: Byte, value: 00001111)
REAL#23.0 (Data type: Real, value: 23.0)
For the assignment of REAL data types, there is also the possibility to enter the
value in the following way: 23.0.
Entering a comma will automatically assign the data type REAL.
State RAM
The state RAM is the storage for all sizes, which are addressed in the user program
via References (Direct display). For example, input bits, discretes, input words, and
discrete words are located in the state RAM.
Statement (ST)
Instructions are "commands" of the ST programming language. Instructions must be
terminated with semicolons. Several instructions (separated by semi-colons) can
occupy the same line.
Status bits
There is a status bit for every node with a global input or specific input/output of Peer
Cop data. If a defined group of data was successfully transferred within the set time
out, the corresponding status bit is set to 1. Alternatively, this bit is set to 0 and all
data belonging to this group (of 0) is deleted.
Step
SFC Language element: Situations, in which the Program behavior follows in
relation to the inputs and outputs of the same operations, which are defined by the
associated actions of the step.
Step name
The step name functions as the unique flag of a step in a Program organization unit.
The step name is automatically generated, but can be edited. The step name must
be unique throughout the whole program organization unit, otherwise an Error
message appears.
The automatically generated step name always has the structure: S_n_m
S = Step
n = Section number (number running)
m = Number of steps in the section (number running)
Structured variables
Variables, one of which is assigned a Derived data type defined with STRUCT
(structure).
A structure is a collection of data elements with generally differing data types (
Elementary data types and/or derived data types).
SY/MAX
In Quantum control devices, Concept closes the mounting on the I/O population
SY/MAX I/O modules for RIO control via the Quantum PLC with on. The SY/MAX
remote subrack has a remote I/O adapter in slot 1, which communicates via a
Modicon S908 R I/O system. The SY/MAX I/O modules are performed when
highlighting and including in the I/O population of the Concept configuration.
Symbol (Icon)
Graphic display of various objects in Windows, e.g. drives, user programs and
Document windows.
TIME
TIME stands for the data type "Time span". The input appears as Time span literal.
The length of the data element is 32 bit. The value range for variables of this type
stretches from 0 to 2exp(32)-1. The unit for the data type TIME is 1 ms.
Token
The network "Token" controls the temporary property of the transfer rights via a
single node. The token runs through the node in a circulating (rising) address
sequence. All nodes track the Token run through and can contain all possible data
sent with it.
Traffic Cop
The Traffic Cop is a component list, which is compiled from the user component list.
The Traffic Cop is managed in the PLC and in addition contains the user component
list e.g. Status information of the I/O stations and modules.
Transition
The condition with which the control of one or more Previous steps transfers to one
or more ensuing steps along a directional Link.
UDEFB
User defined elementary functions/function blocks
Functions or Function blocks, which were created in the programming language C,
and are available in Concept Libraries.
UDINT
UDINT stands for the data type "unsigned double integer". The input appears as
Integer literal, Base 2 literal, Base 8 literal or Base 16 literal. The length of the data
element is 32 bit. The value range for variables of this type stretches from 0 to
2exp(32)-1.
UINT
UINT stands for the data type "unsigned integer". The input appears as Integer
literal, Base 2 literal, Base 8 literal or Base 16 literal. The length of the data element
is 16 bit. The value range for variables of this type stretches from 0 to (2exp16)-1.
Unlocated variable
Unlocated variables are not assigned any state RAM addresses. They therefore do
not occupy any state RAM addresses. The value of these variables is saved in the
system and can be altered with the reference data editor. These variables are only
addressed by symbolic names.
Signals requiring no peripheral access, e.g. intermediate results, system tags etc,
should primarily be declared as unlocated variables.
Variables
Variables function as a data exchange within sections between several sections and
between the Program and the PLC.
Variables consist of at least a variable name and a Data type.
Should a variable be assigned a direct Address (Reference), it is referred to as a
Located variable. Should a variable not be assigned a direct address, it is referred
to as an unlocated variable. If the variable is assigned a Derived data type, it is
referred to as a Multi-element variable.
Otherwise there are Constants and Literals.
Vertical format
Vertical format means that the page is higher than it is wide when looking at the
printed text.
Warning
When processing a FFB or a Step a critical status is detected (e.g. critical input value
or a time out), a warning appears, which can be viewed with the menu command
Online → Event display... . With FFBs the ENO output remains at "1".
WORD
WORD stands for the data type "Bit sequence 16". The input appears as Base 2
literal, Base 8 literal or Base 1 16 literal. The length of the data element is 16 bit. A
numerical range of values cannot be assigned to this data type.
Index
B
AC
0-9 984LL
1x3x, 79
1 millisecond timer, 1059
AD16, 81
1 second timer, 1055
ADD, 83
1/100th of a second timer, 1047
AND, 85
1/10th of a second timer, 1051
BCD, 91
1x3x, 79
BLKM, 93
4-station ratio controller, 893
BLKT, 97
BMDI, 101
BROT, 103
CALL, 107
CANT, 115
CCPF, 121
CCPV, 125
CFGC, 129
CFGF, 133
CFGI, 137
CFGR, 141
CFGS, 145
CHS, 149
CKSM, 155
closed loop control / analog values, 43
CMPR, 159
coils, 163
coils, contacts, and interconnects, 65
COMM, 167
COMP, 171
contacts, 177
CONV, 181
CTIF, 185
DCTR, 193
DIOH, 197
BLKM, 93 communications
BLKT, 97 MSTR, 713
block move, 93 communications, ASCII
block move with interrupts disabled, 101 COMM, 167
block to table, 97 COMP, 171
BMDI, 101 compare register, 159
boolean exclusive OR, 1143 complement a matrix, 171
BROT, 103 comprehensive ISA non interacting PID, 841
contacts, 65, 177
CANT, 115
C controller, 4-station ratio
calculated preset formula, 821 PCFL-RATIO, 893
calculation, derivative rate over specified CONV, 181
time conversion
PCFL-RATE, 889 binary to BCD, 91
CALL, 107 conversion
cam profile BCD to binary, 91
CCPF, 121 conversion block
CCPV, 125 XMIT, 1123
CamProfile type, 122 conversion of degrees to radians
CANT, 115 EMTH-CNVDR, 305
CCPF, 121 conversion of radians to degrees
CCPV, 125 EMTH-CNVRD, 323
central alarm handler, 805 convert data
CFGC, 129 CONV, 181
CFGF, 133 coordinated set
CFGI, 137 CFGC, 129
CFGR, 141 cosine of an angle (in radians)
CFGS, 145 EMTH-COS, 329
changing the sign of a floating point number cosine, floating point arc
EMTH-CHSIN, 287 EMTH-ARCOS, 271
check sum counter
CKSM, 155 CTIF, 185
CHS, 149 counters
CKSM, 155 DCTR, 193
closed loop control, 43 counters / timers
CMPR, 159 T.01 timer, 1047
coils, 65, 163 T0.1 timer, 1051
CANT, 115 T1.0 timer, 1055
COMM, 167 T1MS timer, 1059
common logarithm UCTR, 1077
EMTH-LOGFP, 375 CTIF, 185
communication block
XMIT, 1103
R S
R −−> T, 931 SAVE, 963
radians to degrees, conversion SBIT, 967
EMTH-CNVRD, 323 SCIF, 971
raising a floating point number to an integer search, 987
power selection, input
EMTH-POW, 403 PCFL-SEL, 901
ramp to set point at a constant rate, 885 SENS, 975
ramp, logarithmic, to set point sequencer, drum
PCFL-RMPLN, 897 DRUM, 225
rate, derivative sequential control interfaces, 971
PCFL-RATE, 889 SERCOS axis
ratio, 4-station controller CFGS, 145
PCFL-RATIO, 893 seriplex
RBIT, 935 MSPX, 709
READ, 939 set bit, 967
MSTR, 724 set point variable, 44
read shorts, 979
VME, 1081 sign, floating point number
read ASCII message EMTH-CHSIN, 287
ESI, 457 sine, of an angle (in radians)
read, extended memory EMTH-SINE, 407
XMRD, 1131 skipping networks, 983
READ/WRIT operations, 57 skips / specials
read/write, data logging RET, 945
DLOG, 211 skips/specials
recording, event/alarm JSR, 639
EARS, 239 LAB, 643
register to input table, 949 SKP, 983
register to table, 931 special
register, compare PCFL, 793
CMPR, 159
transmit
XMIT, 1095
TTR, 1037
U
UCTR, 1077
up counter, 1077
V
variable increments
CCPV, 125
variable instruments
CCPF, 121
velocity limiter for changes in the Pv, 851
VME bit swap, 1029
VMER, 1081
VMEW, 1085
W
WRIT, 1089
Write
MSTR, 722
write
VME, 1085
write ASCII message
ESI, 457
write, extended memory
XMWT, 1137
write/read, data logging
DLOG, 211
X
XMIT, 1095
XMIT communication block, 1103
XMIT conversion block, 1123
XMIT port status block, 1115
XMRD, 1131
XMWT, 1137
XOR, 1143