2500_Users_Manual- - 第404页
#includ e <stdio.h> /* include standar d IO file */ FILE *f p; /* declare file po inter */ char lb [] = /* initialize inpu t buffer */ " "; .() { int i = 0; /* i ndex variable */ char l, c, d, chksum; /* …

Q1
0C
4C
41
42
45
4C
0D
54
45
58
54
0D
34
Q2
02
01
FC
Q6
02
02
FB
Q7
02
13
EA
Q9
01
Computer
Remote
Control
Label
record
type
—
QI
indicates
a
data
record
containing
labeling
information.
The
ASCII
character
CR
(OD
hex)
forces
a
new
line
(may
contain
up
to
8
lines).
Record
length
—
Indicates
that
12
hex
bytes
follow
in
the
record:
L
A
S
E
R
cr
T
E
X
T
cr
Checksum
The
Q2
record
consists
of
the
following:
Label
record
type
—
Q2
indicates
a
data
record
containing
device
type
information.
Record
length
—
Indicates
that
2
hex
bytes
follow
in
the
record.
Indicates
28
pin
PLCC
device
type
Checksum
The
Q6
record
consists
of
the
following:
Label
record
type
—
Q6
indicates
a
data
record
containing
labeling
information.
Record
length
—
Indicates
that
2
hex
bytes
follow
in
the
record.
Indicates
26
s
CPI
text.
Checksum.
The
Q7
record
consists
of
the
following:
Label
record
type
—
Q7
indicates
a
data
record
containing
pin
1
orientation
data.
Record
length
—
Indicates
that
2
hex
bytes
follow
in
the
record.
Indicates
the
following:
Parts
exiting
the
input
tube
are
pin
1
=
3.
Label
orientation
with
respect
to
pin
1
=
0.
Parts
entering
receiving
tube
are
pin
1
=
1.
Checksum.
The
Q9
record
consists
of
the
following:
Label
record
type
—
Q9
indicates
a
termination
record.
Record
length
—
Indicates
that
1
hex
byte
follows
in
the
record,
representing
1
byte
of
binary
data,
follows.
ProMaster
2500
User
Manual
E-15

#include <stdio.h> /* include standard IO file */
FILE *fp; /* declare file pointer */
char lb[] = /* initialize input buffer */
" ";
.()
{
int i = 0; /* index variable */
char l, c, d, chksum; /* work and checksum variables */
fp = fopen("LABEL.HEX","w"); /* open output file */
fputs("Q001FE\n",fp); /* write header record to file */
fputs("Q20201FC\n",fp); /* write part type record to file*/
/* select 28 pin PLCC */
fputs("Q7020EEF",fp); /* write rotation record to file */
/* get label information */
l = 1; /* init length */
fputc('\n',stdout);
for (d = 0; d 4; d++){
fputs("Enter label line ",stdout);
fputc(d+49,stdout);
fputs(": ",stdout);
while ((c = getchar()) != '\n'){
lb[i++] = c; /* store character in buffer */
++l; /* inc length counter */
}
lb[i++] = 13; /* write a cr to delimit each line */
++l;
}
fputs("\nQ1",fp); /* write data record */
cput(l); /* write length */
for (i=0,chksum=l; i1; ++i){ /* write re.der data record */
cput(lb[i]); /* write character */
chksum += lb[i]; /* update checksum */
}
cput(~chksum); /* write checksum */
fputs("\nQ901FE\n",fp); /* write termination record */
fclose(fp); /* close output file */
} /* exit */
cput(a) /* write byte in ASCII format */
char a; /* input parameter */
{
char c; /* temporary character variable */
c = ((a > 4) & 15)+48; /* convert left nibble */
if (c 57) c += 7;
fputc(c,fp); /* write character */
c = (a & 15)+48; /* convert right nibble */
if (c 57) c += 7;
fputc(c,fp); /* write character */
} /* return to caller */
Computer
Remote
Control
Source
Code
of
LABEL.
C
Program
*
LABEL.
C
-
Create
Hex
Label
Format
containing
label
info
*
*
*
*
This
program
is
written
using
only
standard
C
file
functions
*
*
and
can
be
compiled
with
any
C
compiler.
*
E-16
ProMaster
2500
User
Manual

↵
Computer
Remote
Control
Programming
Electronics
Computer
Remote
Control
This
section
describes
the
CRC
commands
used
for
the
ProMaster
2500's
programming
electronics.
It
includes
the
following
information:
•
System
Setup
—
Explains
how
to
set
up
the
2500
programming
electronics
for
remote
control
operation.
Includes
information
on
entering
and
exiting
CRC
mode.
•
CRC
Commands
—
lists
the
available
CRC
commands.
•
CRC
Error
Codes
—
Lists
the
error
codes
that
may
be
returned
while
the
2500
programming
electronics
is
being
operated
in
CRC
mode.
System
Setup
The
2500
programming
electronics
receives
CRC
commands
and
sends
responses
to
the
host
computer
through
the
RS-
232c
port
labeled
“Programmer
Port”
on
the
back
of
the
2500.
This
is
the
only
port
that
will
respond
to
programming
electronics
CRC
commands.
To
ensure
correct
operation
of
the
2500
port
with
the
host
computer,
set
the
parameters
for
the
2500
port
according
to
the
host
computer
requirements.
Halting
CRC
Operations
To
halt
any
command
or
any
ongoing
CRC
operation,
send
one
of
the
following
commands
to
the
Programmer
port
(neither
command
requires
a
).
Both
commands
act
immediately,
terminating
any
preceding
command
operation.
ASCII
Command
Hex
Code
Description
Esc
IB
Causes
the
2500
programming
electronics
to
unconditionally
halt
any
operation
except
a
binary
transfer.
Break
n/a
Causes
the
2500
programming
electronics
to
unconditionally
halt
any
operation
in
progress.
This
includes
all
data
communications
transfers.
The
data
line
must
be
held
in
the
spacing
condition
for
110
ms
to
700
ms.
ProMaster
2500
User
Manual
E-17