4-2
IM DLM4038-17EN
Response Message Unit Syntax
The response message unit syntax is as follows:
,
<Response header>
<Response data>
Space
<Response Header>
A response header sometimes precedes the response
data. A space separates the data from the header. For
details, see page 4-4.
<Response Data>
Response data contains the content of the response.
If there are multiple data values, each data value is
separated by a comma. For details, see page 4-5.
Example
1.25E-02<RMT> :ACQUIRE:MODE NORMAL<RMT>
Header
Data
Data
If there are multiple queries in a program message,
responses are returned in the same order that the
queries were received in. The DLM4000 returns a
single response message unit to most queries, but
there are queries that the DLM4000 returns multiple
units to. The first response message unit always
corresponds to the first query, but the n
th
response unit
may not necessarily correspond to the n
th
query. If you
want to make sure that every response is retrieved,
divide the program messages into individual messages.
Precautions to Be Taken when Exchanging
Messages
• If the controller sends a program message that does
not contain a query, the controller can send the next
program message at any time.
• If the controller sends a program message that
contains a query, the controller must finish receiving
the response message before it can send the next
program message. If the controller sends the next
program message before receiving the response
message in its entirety, an error will occur. A
response message that is not received in its entirety
will be discarded.
• If the controller tries to receive a response message
when there is none, an error will occur. If the
controller tries to receive a response message
before the transmission of the program message is
complete, an error will occur.
• If the controller sends a program message
containing multiple message units, but the message
contains incomplete units, the DLM4000 will try to
execute the ones that are believed to be complete.
However, these attempts may not always be
successful. In addition, if such a message contains
queries, the DLM4000 may not necessary return
responses.
Deadlock
The DLM4000 can store at least 1024 bytes of
messages in its transmit and receive buffers (the
number of available bytes varies depending on the
operating conditions). If both the transmit and receive
buffers become full at the same time, the DLM4000 will
no longer be able to operate. This condition is called a
deadlock. If this happens, you can resume operation
after you have discarded response messages.
Deadlock will not occur if the program message
(including the <PMT>) is kept below 1024 bytes.
Program messages that do not contain queries never
cause deadlocks.
4.1 Messages