Start
A value of 1 on the Start signal triggers the XXMIT operation. The value of 1 must be applied until the operation has finished or until an error has occurred.
Command
The XXMIT interprets each bit of the command word as a function to perform. If bit 9 and 8 are on simultaneously or if any two or more of bits 3, 2, 1 or 0 are on simultaneously or if bit 9 is not on when bits 3, 2, 1, or 0 are on error 129 will be generated. For more details refer to XXMIT Communication Functions. The individual bit definitions are shown in the following table.
Command Word Layout

XXMIT Command Word Bit Definitions
Bit |
Definition |
---|---|
Bit 15 (msb) |
With Momentum processors, once XMIT, XXMIT or L9_XMIT block becomes active, the serial port will not revert back to a Slave mode. This command bit has been created to set the Momentum serial port to its initial configuration. Set to 1 will set the port configuration as it was in application configuration. The DONE bit is set to 1 when the action is done. |
Bit 14 Enable RTS/CTS modem control |
Set to 1 when a DCE connected to the PLC requires hardware handshaking using RTS/CTS control. This bit may be used in conjunction with values contained in StartDly and EndDly. Start of transmission delay keeps RTS asserted for the time in StartDly (ms) before XXMIT sends a message out of PLC port. Likewise, end of transmission delay keeps RTS asserted for the time in EndDly (ms) after XXMIT has finished sending a message out of the PLC port. Once the end of transmission delay expires XXMIT de-assert RTS. |
Bit 13 Enable RS485 mode |
Set to 1 when the selected port should operate in RS485 mode. Otherwise it defaults to 0, which is RS232 mode. When using the Modbus port in RS485 mode with Modbus Messaging, make sure to use exactly the same parameters (baudrate, databits, stopbits, parity) for the XXMIT function block as configured for that port. |
Bit 12 ASCII word inversion |
Set to 1 to use with the ASCII_IN, ASCII_OUT, and TERM_ASCII_IN communication commands to change the byte order of the MSGIN array in the Concept format. When not set (0), these commands retain the current MSGIN byte format. |
Bit 11 Terminated ASCII input |
Set to 1 to remove and discard all characters from FIFO until the starting string is matched, then these starting characters and subsequent characters are written into MsgIn until the terminator sequence is matched. The terminator string is also written into the MsgIn. Refer to Terminated ASCII Input Function for more details. |
Bit 10 Simple ASCII input |
Set to 1 to remove the ASCII characters from FIFO for writing into MsgIn array. Refer to Simple ASCII Input Function for more details. |
Bit 9 Enable ASCII string messaging |
Set to 1 when you want to send ASCII messages out of the PLC. XXMIT sends ASCII strings up to 1024 characters in length. You program the ASCII message into the MsgOut. Only use Bit 9 OR Bit 8, do not try to use both. |
Bit 8 Enable Modbus messaging |
Set to 1 when you want to send Modbus messages out of the PLC. Modbus messages may be in either RTU or ASCII formats. When data bits=8, XXMIT uses Modbus RTU format. When data bits=7, XXMIT uses Modbus ASCII format. Only use Bit 9 OR Bit 8, do not try to use both. |
Bit 7 Enable ASCII receive FIFO |
Set to 1 to allow the XXMIT function block to take control over the selected port (1) from the PLC. The block begins to receive ASCII characters into an empty 512 byte circular FIFO. Refer to ASCII Receive FIFO for more details. |
Bit 6 Enable back space |
Set to 1 to allow special handling of ASCII back space character (BS, 8Hex) when using either Simple ASCII Input (Bit 10) or Terminated ASCII Input (Bit 11). If Bit 6 is set, each back space character will NOT be stored into MsgIn. Refer to Enable Back space for more details. |
Bit 5 Enable RTS/CTS flow control |
Set to 1 to allow full duplex hardware flow control using the RTS and CTS handshaking signals for ASCII massaging. The RTS/CTS operates in both the input and output modes. Refer to Enable RTS/CTS Flow Control for more details. |
Bit 4 Enable Xon/Xoff flow control |
Set to 1 to allow full duplex software flow control using the ASCII Xon character (DC1, 11 Hex) and the ASCII Xoff character (DC3, 13 Hex). The Xon/Xoff operates in both the input and output modes. Refer to Enable Xon/Xoff Flow Control for more details. |
Bit 3 Pulse dial modem |
Set to 1 when using a Hayes compatible dial-up modem and you wish to pulse dial a telephone number. You program the phone number into the MsgOut. The length of the message must be in MsgLen. Pulse dialed numbers are sent to the modem automatically preceded by ATDT and with carriage return <CR> and line feed <LF> appended. Since the dial message is an ASCII string, bit 9 must be ON prior to sending the number to be dialed. |
Bit 2 hangup modem |
Set to 1 when using a Hayes compatible dial-up modem and you want to hangup the modem. You must use user logic to turn this bit ON. Since the hangup message is an ASCII string, bit 9 must be ON prior to sending the message. Hang up messages are sent to the modem automatically preceded by +++AT and with carriage return <CR> and line feed <LF> appended. XXMIT looks for a correct disconnect response from the modem before it turns ON the Done output signal, noting a successful completion. |
Bit 1 Tone dial modem |
Set to 1 when using a Hayes compatible dial-up modem and you wish to tone dial a telephone number. You program the phone number into the MsgOut. The length of the message must be in MsgLen. Tone dial numbers are sent to the modem automatically preceded by ATDT and with carriage return <CR> and line feed <LF> appended. Since the dial message is an ASCII string, bit 9 must be ON prior to sending the number to be dialed. |
Bit 0 Initialize modem |
Set to 1 when using a Hayes compatible dial-up modem and you want to initialize the modem. You program the initialization message into MsgOut and the length of the message into MsgLen. All messages are sent to the modem automatically preceded by AT and with a carriage return <CR> and line feed <LF> appended. Since the initialization message is an ASCII string, bit 9 must be ON prior to sending the message. |
Command word conversion

In case of application from Concept to Control Expert, the new bit numeration has to be taken into account when the Command word is accessed by bits. This does NOT apply when communication word is accessed by word.
MsgOut
MsgOut contains the message data to be transferred, for example, ASCII characters for an ASCII transfer, definition of termination characters for terminated ASCII input or Modbus templates for Modbus master messages.
The data type that must be assigned to the parameter has to match the requirements of the function to be performed. In the case of Modbus operation, the Data Type of MsgOut and MsgIn must be equal.
MsgLen
You must enter the length of the current message according to the selected XXMIT function.
The following table gives an overview for Modbus and ASCII functions:
XXMIT function |
Subfunction |
Message Length |
---|---|---|
Modbus Messaging |
01, 02, 03, 04, 05, 06, 08, 15, 16 |
5 |
Terminated ASCII Input |
5 |
|
Simple ASCII Input |
1...1024. |
|
ASCII String Messaging |
1...1024. The selected length must match the size of the array assigned to MsgOut. Otherwise you get error 129. |
Port
Port specifies the communications interface. The authorized values are 0 or 1.
Baudrate
XXMIT supports the following data rates: 50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600, 19200. To configure a data rate, enter its decimal number. When an invalid data rate is entered, the block displays an illegal configuration error (error code 127) in the XXMIT Status element.
Databits
XXMIT supports the following data bits: 7 and 8. To configure a data bit size, enter its decimal number into this element. Modbus messages may be sent in ASCII mode or RTU mode. ASCII mode requires 7 data bits, while RTU mode requires 8 data bits. When sending ASCII character message you may use either 7 or 8 data bits. When an invalid data bit is entered, the block displays an illegal configuration error (error code 127) in the XXMIT Status element. For more details on Modbus message formats refer to Modicon Modbus Protocol Reference Guide (www.modbus.org).
Stopbits
XXMIT supports one or two stop bits. Enter a decimal of either: 1 = one stop bit, or 2 = two stop bits. When an invalid stop bit is entered, the block displays an illegal configuration error (error code 127) in the XXMIT Status element.
Parity
XXMIT supports the following parity: none, odd and even. Enter a decimal of either: 0 = no parity, 1 = odd parity, or 2 = even parity. When an invalid parity is entered, the block displays an illegal configuration error (error code 127) in the XXMIT Status element.
RespTout
You enter the time value in milliseconds (ms) to determine how long XXMIT waits for a valid response message from a slave device (PLC, modem, etc.). In addition, the time applies to ASCII transmissions and flow control operations. When the response message is not completely formed within this specified time, XXMIT issues a fault. The valid range is 0... 32767 ms. The timeout is initiated after the last character in the message is sent.
RetryLmt
You enter the quantity of retries to determine how many times XXMIT sends a message to get a valid response from a slave device (PLC, modem, etc.). When the response message is not completely formed within this specified time, XXMIT issues a fault and a fault code. The valid range is 0... 32767 number of retries. This field is used in conjunction with RespTout.
StartDly
You enter the time value in milliseconds (ms) when RTS/CTS control is enabled, to determine how long XXMIT waits after CTS is received before it transmits a message out of the PLC port. Also, you may use this register even when RTS/CTS is NOT in control. In this situation, the entered time value determines how long XXMIT waits before it sends a message out of the PLC port. You may use this as a pre message delay timer. The valid range is 0... 32767 ms.
EndDly
You enter the time value in milliseconds (ms) when RTS/CTS control is enabled, to determine how long XXMIT keeps RTS asserted once the message is sent out of the PLC port. After the time expires, XXMIT dessert RTS. Also, you may use this register even when RTS/CTS is NOT in control. In this situation, the entered time value determines how long XXMIT waits after it sends a message out of the PLC port. You may use this as a post message delay timer. The valid range is 0... 32767 ms.

Active
A value of 1 indicates that an XXMIT operation is in progress.
Done
A value of 1 indicates that the XXMIT operation has been completed successfully.
Error
A value of 1 indicates that an error has occurred or that the current XXMIT operation is terminated.
MsgIn
MsgIn contains the incoming message data, for terminated ASCII input or simple ASCII input.
In case of Modbus operation, the data type must be equal to the type of the MsgOut field.
RecCount
This element displays the number of received characters.
Status
This element displays a fault code generated by the XXMIT.
A complete list is shown in the table below.
Fault Status
Fault Code |
Fault Description |
---|---|
1 |
Modbus exception - Illegal function |
2 |
Modbus exception - Illegal data address |
3 |
Modbus exception - Illegal data value |
4 |
Modbus exception - Slave device failure |
5 |
Modbus exception - Acknowledge |
6 |
Modbus exception - Slave device busy |
7 |
Modbus exception -Negative acknowledge |
8 |
Modbus exception -Memory parity error |
9... 99 |
Reserved |
100 |
Slave PLC data area cannot equal zero |
101 |
Master PLC data area cannot equal zero |
102 |
bit (%M) not configured |
103 |
Master PLC memory word (%MW) not configured |
104 |
Data length cannot equal zero |
105, 106 |
Reserved |
107 |
Transmit message time-out (This error is generated when the UART cannot complete a transmission in 10 seconds or less. This error bypasses the retry counter and will activate the error output on the first error, see Additional information for error 107 below). |
108 |
Undefined error |
109 |
Modem returned ERROR |
110 |
Modem returned NO CARRIER |
111 |
Modem returned NO DIALTONE |
112 |
Modem returned BUSY |
113 |
Invalid LRC checksum from the slave PLC, see 1) below |
114 |
Invalid CRC checksum from the slave PLC, see 1) below |
115 |
Invalid Modbus function code |
116 |
Modbus response message time-out, see 2 below) |
117 |
Modem reply time-out |
118 |
XXMIT could not gain access to PLC communication port number 1 |
119 |
XXMIT could not enable PLC port receiver |
120 |
XXMIT could not set PLC UART |
121 |
Reserved |
122 |
Invalid Port |
123 |
Reserved |
124 |
Undefined internal state |
125 |
Broadcast mode not allowed with this Modbus function code |
126 |
DCE did not assert CTS |
127 |
|
128 |
Unexpected response received from Modbus slave, see 1) below |
129 |
Illegal command word setting |
130 |
Command word changed while active |
131 |
Invalid character count |
132 |
Reserved |
133 |
ASCII input FIFO overflow error |
134 |
Invalid number of start characters or termination characters |
135...149 |
Reserved |
150 |
Either configured port already taken by another instance of the XXMIT or the configured port is not supported on that PLC |
151 |
MsgOut is smaller than 12 Bytes while 'Modbus Master Messaging' function is selected. Also includes MsgLen parameter value less than 5 |
152 |
Variable connected to MsgOut is smaller than the value of the MsgLen parameter while 'ASCII String Messaging' is selected |
153 |
Variable connected to MsgIn is smaller than the value of the MsgLen parameter while either 'Terminated ASCII Input' or 'Simple ASCII Input' is selected |
154 |
XXMIT start bit set to 1 in a Quantum Hot Standby PLC that is not in the Primary mode. |
In case the used Modbus slave is a Modicon
PLC, please check the Modbus Port Setup
of that PLC’s
configuration.
2) For the XXMIT function block in Modbus master mode, if error 116 persists after performing correct configuration using keypad or online modifications, rebuild and transfer application to the PLC.
Additional information for error 107
Error 107 appears when a discrepancy is detected on the XXMIT configuration. If XXMIT internal port setting is in RS232 mode and command word is in RS485 mode (#2100). The communication mode must be changed.
The following table shows how to change the communication mode if error 107 occurs:
Step |
Action |
---|---|
1 |
Connect the PC to Control Expert |
2 |
Put the PLC in STOP |
3 |
Change Modbus port settings (RS232 or RS 485) |
4 |
Change command word according to the requested mode |
5 |
Rebuild application |
6 |
Download application |
7 |
Put the PLC in RUN |
Switch from RS232 to RS485 mode takes 3 seconds when both internal ports settings and command words match. During those 3 seconds the error code 126 (DCE not asserted, only for RS232 mode) appears.
Switch from RS485 to RS232 mode is immediate as it matches the default configuration.
Retry
The value displayed here indicates the number of retry attempts made by XXMIT. This element is read only.
This Output is updated one time only when the operation is complete.
For Modicon Quantum the Retry output is updated each time there is a new retry.
For Modicon Momentum the Retry output is updated once the operation is complete, with or without success.