User`s manual

DSM314 COMM REQ
GFK-1742A Appendix B DSM314 Communications Request Instructions B-15
B
Data Block Length (Word 1):
The length of the Data Block header portion of the Command Block.
It should be set to 4 for the DSM. The Data Block header is stored in Words 7 through 10 of the
Command Block
WAIT/NOWAIT Flag (Word 2):
This must always be set to logic
zero
for the DSM.
Status Word Pointer Memory Type (Word 3):
This word specifies the memory type that will be used
for the Status Word. Each memory type has its own specific code number, shown in the Memory
Type Codes table below. So, for example, if you want to use %R memory for the Status Word, you
would put either the decimal code number 8 or the hexadecimal code number 08h in this word.
Note that if you select a discrete memory type (%I or %Q), 16 consecutive bits will be assigned to
the Status Word, beginning at the address specified in the Status Word Pointer Offset word,
described below.
Status Word Pointer Offset (Word 4):
This word contains the offset within the memory type
selected.
Note:
The Status Word Pointer Offset is a zero-based number.
In practical terms, this
means that you should subtract one from the address number that you wish to specify. For
example, to select %R0001, enter a zero (1 1 = 0). Or, if you want to specify %R0100, enter a
99 (100 1 = 99). Note that the memory type, %R in this example, is specified by the previous
word (see the Status Word Pointer Memory Type explanation above).
Idle Timeout Value (Word 5):
Since the DSM always uses the NOWAIT mode (WAIT/NOWAIT
flag always set to zero), this Idle Timeout Value parameter is not used for the DSM. Set it to zero.
Maximum Communication Time (Word 6):
Since the DSM always uses the NOWAIT mode
(WAIT/NOWAIT flag always set to zero), this Maximum Communication Time parameter is not
used for the DSM. Set it to zero.
Command Code (Word 7):
This is always E501(hexadecimal) for the DSM. To enter this value
directly as a hexadecimal value, use a Word-type MOVE instruction. Also, since this value is
58,625 in decimal, an Integer-type MOVE instruction (limited to a maximum decimal value of
32,767 because bit 16 is used for the sign) does not have the capacity to contain it. A Word-type
MOVE instruction can hold a decimal number up to 65,535 (FFFF in hex.).
Parameter Data Size (Word 8):
Specifies the Parameter Data size in bytes. This value depends
on the value in Word 12, which specifies the number of parameters to be loaded. This value may
be between 8 and 68. It is equal to 4 bytes (for the first two words of the Parameter Data section)
plus 4 additional bytes for each parameter loaded. For example, if you wish to load 16 parameters
(the maximum per COMM REQ), multiply 4 times 16 to arrive at 64. Add 4 to 64 for a total of
68 bytes.
Parameter Data Memory Type (Word 9):
This word specifies the memory type that will be used
for Parameter Data. Each memory type has a unique code number, shown in the Memory Type
Codes table below. So, for example, to specify %R memory, you would put either the decimal
code number 8 or the hexadecimal code number 08h in this word.
Note that if you select a discrete memory type (%I or %Q), a group of 32 consecutive bits will be
required for each parameter, and a group of 16 consecutive bits each will be required for Words 11
and 12.
Parameter Data Start Pointer Offset (Word 10):
This word contains the offset within the
memory type selected in the Parameter Data Memory Type parameter.
Note:
The Parameter
Data Pointer Offset is a zero-based number.
In practical terms, this means that you should
subtract one from the address number that you wish to specify. For example, to select %R0001 as