8-27
8.95: Port Control Block (41729-44544)
QDescription: Port Control Registers included in this block (see Chapter 5):
Port Control Command (41729): When written, this Register receives commands meant to control
the ports. Valid commands are:
0x00100 = Lock Port 4 (I/O) for my use
0x00101 = Lock Port 3 for my use
0x00102 = Lock Port 2 for my use
0x00103 = Lock Port 1 (232/485) for my use
0x00104 = Lock the Diagnostic Port for my use (currently not use)
0x00200 = Unlock Port 4
0x00201 = Unlock Port 3
0x00202 = Unlock Port 2
0x00203 = Unlock Port 1
0x00204 = Unlock the Diagnostic Port (currently not used)
You cannot lock your own port. You cannot lock a port that is already locked. Aport can only be
unlocked by the port that locked it originally.
Lock States (41730-41732): These Registers contain 6 bytes. The first five bytes contain codes
indicating whether a port is locked by another port or not.
Initially, these bytes read as 0x0FF. When a port requests that another port be locked to its use
(0x00100 - 0x00104 to Register 41731), these bytes will read with one of the following codes,
indicating which port is the locked owner of which port:
0x000 = Locked by Port 4 (I/O)
0x001 = Locked by Port 3
0x002 = Locked by Port 2
0x003 = Locked by Port 1 (232/485)
0x004 = Locked by the Diagnostic Port (currently not used)
0x0FF = Unlocked
Pointers (41733-41752): These Registers, when read, return the values of the pointers controlling
the Communication Buffers in the EPM device. They are unsigned integers and represent the index-
es of the series of bytes that are the Receive and Transmit Circular Buffers. Since the buffers are
512 bytes long, valid values should range from 0x00000 to 0x001FF.
The order of the Registers is:
Register High Byte Low Byte
41731 Port 4 (I/O) Port 3
41732 Port 2 Port 1 (232/485)
41733 Diagnostic Port Unused
Port Control Lock States