1.4.1 RS-232
• This standard is based on a high being +3 to +15V, and an off being -3 to -15V (+/-12V is commonly used).
• The typical connection scheme is shown below. notice that the lines are crossed between connectors. Also note that in some cases the dsr/dtr lines are not used. (Note: these are the lines used when connecting to a modem)
• The line names are,
TXD/RXD - (transmit data, receive data) these lines pass data one way from sender to receiver.
DSR/DTR - (data set ready, data terminal ready) these handshaking lines indicate when the remote machine is ready to receive data.
COM - a common ground to keep things from blowing up, etc.
• A cable that emulates a modem connection between two devices is shown below and is called a null modem cable.
• There are typically two connectors used for these devices. (Note: the connectors have very fine numbers on them)
• The main pin assignments for the DB-25 are,
Commonly used pins
1 - GND (chassis ground)
2 - TXD (transmit data)
3 - RXD (receive data)
4 - RTS (request to send)
5 - CTS (clear to send)
6 - DSR (data set ready)
7 - COM (common)
8 - DCD ()
20 - DTR (data terminal ready)
Other pins
9 - Positive Voltage
10 - Negative Voltage
11 - not used
12 - Secondary Received Line Signal Detector
13 - Secondary Clear to Send
14 - Secondary Transmitted Data
15 - Transmission Signal Element Timing (DCE)
16 - Secondary Received Data
17 - Receiver Signal Element Timing (DCE)
18 - not used
19 - Secondary Request to Send
21 - Signal Quality Detector
22 - Ring Indicator (RI)
23 - Data Signal Rate Selector (DTE/DCE)
24 - Transmit Signal Element Timing (DTE)
25 - Busy
• The pin assignments for the DB-9 are,
1 - DCD
2 - RXD
3 - TXD
4 - DTR
5 - COM
6 - DSR
7 - RTS
8 - CTS
9 - RI
• There are other settings such as half/full duplex.
• When communicating between two devices the setting must agree baud rate, stop bits, parity, data bits, full/half duplex, etc.
• The figure below shows a PLC connected to a data terminal with a serial line. This is followed by ladder logic to use the serial connection.
1.4.1.1 - ASCII Functions
• ASCII functions can be used to interpret and manipulate strings in PLCs.
• These functions include,
ABL(channel, control, )- reports the number of ASCII characters including line endings
ACB(channel, control, ) - reports the numbers of ASCII characters in buffer
ACI(string, dest) - convert ASCII string to integer
ACN(string, string,dest) - concatenate strings
AEX(string, start, length, dest) - this will cut a segment of a string out of a larger string
AIC(integer, string) - convert an integer to a string
AHL(channel, mask, mask, control) - does data handshaking
ARD(channel, dest, control, length) - will get characters from the ASCII buffer
ARL(channel, dest, control, length) - will get characters from an ASCII buffer
ASC(string, start, string, result) - this will look for one string inside another
AWT(channel, string, control, length) - will write characters to an ASCII output
• An example of this function is given below,
• Try the problem below,