GFK-0467K Chapter 4 Series 90-30/20/Micro Instructions Set 4-83
4
COMMREQ
Use the Communication Request (COMMREQ) function if the program needs to communicate with
an intelligent module, such as a Genius Communications Module or a Programmable Coprocessor
Module.
Note
The information presented on the following pages shows the format of the
COMMREQ function. You will need additional information to program the
COMMREQ for each type of device. Programming requirements for each
module that uses the COMMREQ function are described in the module’s
documentation.
The COMMREQ function has three input parameters and one output parameter. When the
COMMREQ function receives power flow, a command block of data is sent to the intelligent
module. The command block begins at the reference specified using the parameter IN. The rack
and slot # of the intelligent module is specified in SYSID.
The COMMREQ may either send a message and wait for a reply, or send a message and continue
without waiting for a reply. If the command block specifies that the program will not wait for a
reply, the command block contents are sent to the receiving device and the program execution
resumes immediately. (The timeout value is ignored.) This is referred to as NOWAIT mode.
If the command block specifies that the program will wait for a reply, the command block contents
are sent to the receiving device and the CPU waits for a reply. The maximum length of time the
PLC will wait for the device to respond is specified in the command block. If the device does not
respond within that time, program execution resumes. This is referred to as WAIT mode.
The Function Faulted (FT) output may be set ON if:
1. The specified target address is not present (SYSID).
2. The specified task is not valid for the device (TASK).
3. The data length is 0.
4. The device’s status pointer address (part of the command block) does not exist. This may be
due to an incorrect memory type selection, or an address within that memory type that is out of
range.

Command Block

The command block provides information to the intelligent module on the command to be
performed.
The address of the command block is specified for the IN input to the COMMREQ function. This
address may be in any word-oriented area of memory (%R, %AI, or %AQ). The length of the
command block depends on the amount of data sent to the device.