HP 2500 HP PCL/PJL reference - Printer Job Language Technical Reference Manual - Page 217

Programming Tips for Using PJL 11-23

Page 217 highlights

When processing a job, I/O switching paces off all I/O interfaces except for the one which is providing the current print job. However, it is possible for an application to get a few bytes of data into the inactive I/O interface before the printer paces off that I/O interface. If the application times out while trying to send the initial UEL command after one or more bytes of the command are sent, but before the entire UEL command is sent, then the application can proceed using one of the following choices: 1) continue attempting to send the data to the printer, 2) remember how much of the initial UEL command has been sent to the printer and attempt to send the rest of the command at a later time, or 3) stop trying to send the command, making sure the next command the application sends to the printer is the UEL command. This is done so the parser inside the printer properly recognizes all commands following the previously sent partial UEL command. The printer will properly recognize the UEL command, even if the command appears after a partial UEL command. For example, assume the initial query is: %-12345X@PJL ECHO 08/27/92 09:53:46.5 ~033288925 If the printer only accepts "%-12", and if the application later sends: %-12345X@PJL ECHO 08/27/92 09:57:46.5 ~6202323802 The printer accepts the query and responds with: @PJL ECHO 08/27/92 09:57:46.5 6202323802 One of the conditions I/O-switching printers use to determine when to switch to another I/O interface is the idle time of the I/O interface supplying the current print job. Idle time is defined as the time elapsed since the I/O interface received the last data byte. If the application queries the printer and waits for a response, it is possible for I/O interface idle time to exceed the set timeout value (the TIMEOUT environment variable). When the printer detects the current I/O interface timed out, the printer allows I/O switching and treats any data received over the I/O interface as unrelated to the data previously received over that interface. EN Programming Tips for Using PJL 11-23

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342

EN
Programming Tips for Using PJL 11-23
When processing a job, I/O switching paces off all I/O interfaces
except for the one which is providing the current print job. However, it
is possible for an application to get a few bytes of data into the
inactive I/O interface before the printer paces off that I/O interface. If
the application times out while trying to send the initial UEL command
after one or more bytes of the command are sent, but before the
entire UEL command is sent, then the application can proceed using
one of the following choices: 1) continue attempting to send the data
to the printer, 2) remember how much of the initial UEL command has
been sent to the printer and attempt to send the rest of the command
at a later time, or 3) stop trying to send the command, making sure
the next command the application sends to the printer is the UEL
command. This is done so the parser inside the printer properly
recognizes all commands following the previously sent partial UEL
command. The printer will properly recognize the UEL command,
even if the
command appears after a partial UEL command.
For example, assume the initial query is:
<ESC>%-12345X@PJL ECHO 08/27/92 09:53:46.5
~
033288925
If the printer only accepts "
<ESC>%-12
", and if the application later
sends:
<ESC>%-12345X@PJL ECHO 08/27/92 09:57:46.5
~
6202323802 <LF>
The printer accepts the query and responds with:
@PJL ECHO 08/27/92 09:57:46.5 6202323802<LF>
<FF>
One of the conditions I/O-switching printers use to determine when to
switch to another I/O interface is the idle time of the I/O interface
supplying the current print job. Idle time is defined as the time elapsed
since the I/O interface received the last data byte. If the application
queries the printer and waits for a response, it is possible for I/O
interface idle time to exceed the set timeout value (the TIMEOUT
environment variable). When the printer detects the current I/O
interface timed out, the printer allows I/O switching and treats any
data received over the I/O interface as unrelated to the data
previously received over that interface.