1678 Modbus TCP Protocol Guide
1678 Modbus TCP Protocol Guide
Wired+Wireless controllers and brains are licensed under one or more of the following patents: U.S. Patent No(s). 5282222,
RE37802, 6963617; Canadian Patent No. 2064975; European Patent No. 1142245; French Patent No. 1142245; British Patent
No. 1142245; Japanese Patent No. 2002535925A; German Patent No. 60011224.
Opto 22 FactoryFloor, groov, Optomux, and Pamux are registered trademarks of Opto 22. Generation 4, groov Server,
ioControl, ioDisplay, ioManager, ioProject, ioUtilities, mistic, Nvio, Nvio.net Web Portal, OptoConnect, OptoControl,
OptoDataLink, OptoDisplay, OptoEMU, OptoEMU Sensor, OptoEMU Server, OptoOPCServer, OptoScript, OptoServer,
OptoTerminal, OptoUtilities, PAC Control, PAC Display, PAC Manager, PAC Project, SNAP Ethernet I/O, SNAP I/O, SNAP OEM
I/O, SNAP PAC System, SNAP Simple I/O, SNAP Ultimate I/O, and Wired+Wireless are trademarks of Opto 22.
ActiveX, JScript, Microsoft, MS-DOS, VBScript, Visual Basic, Visual C++, Windows, and Windows Vista are either registered
trademarks or trademarks of Microsoft Corporation in the United States and other countries. Linux is a registered
trademark of Linus Torvalds. ARCNET is a registered trademark of Datapoint Corporation. Modbus is a registered trademark
of Schneider Electric, licensed to the Modbus Organization, Inc. Wiegand is a registered trademark of Sensor Engineering
Corporation. Allen-Bradley, CompactLogix, ControlLogix, MicroLogix, SLC, and RSLogix are either registered trademarks or
trademarks of Rockwell Automation. CIP and EtherNet/IP are trademarks of ODVA.
groov includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org)
All other brand or product names are trademarks or registered trademarks of their respective companies or organizations.
Opto 22
Automation Made Simple.
Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Other Guides You May Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
For Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
About Opto 22 Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Opto 22 Devices as Modbus Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Communication Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Overview of Modbus Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Understanding Opto 22 and Modbus Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Function Codes Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Report Slave ID Function Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Communication Packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Exception Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1: Introduction
Opto 22’s groov Box and groov Server also communicate with Modbus/TCP devices, but this
guide does not apply to groov. This guide discusses Opto 22 products that act as a Modbus slave;
groov acts as a Modbus master. For information about using Modbus/TCP devices with groov, see
form 2027, groov Build and View User’s Guide.
This guide assumes that you already understand Modbus/TCP programming and communications.
Use this guide in conjunction with the Modbus/TCP specification, available at
http://www.modbus.org/specs.php. The Modicon Modbus Protocol Reference Guide may also be
useful; at the time this guide was written it was available from Schneider Electric at
http://www.schneider-electric.com/download/hk/en/details/2052374-Modbus-Protocol-Reference
-Guide-Version-J/?reference=PIMBUS300
IMPORTANT: Before you start, be sure to read form 2011, the Using Modbus Devices with Opto 22
Products technical note, available on our website. The technical note will help you get started with
Modbus and troubleshoot communication.
NOTE: For energy monitoring units, this guide is only a reference. Find primary information for Modbus
communication in form 1958, OptoEMU Sensor Communication Guide.
Contents
This guide includes the following:
Chapter 1: Introduction—Supported Modbus function codes, communication packet, and
exception codes, as well as details about this guide and Opto 22 Product Support.
Chapter 2: Configuring I/O for Modbus/TCP—How to configure and use input/output (I/O) points
and point features with Modbus/TCP.
Chapter 3: The Modbus Memory Map—Coils, inputs, input registers, and holding registers used by
most Opto 22 devices.
Chapter 4: Accessing Other Data—Ways to access data not included in coils, inputs, and registers.
Modbus basics and troubleshooting Using Modbus Devices with Opto 22 Products 2011
Installing and using SNAP PAC R-series controllers SNAP PAC R-Series Controller User’s Guide 1595
Installing and using SNAP PAC S-series controllers SNAP PAC S-Series Controller User’s Guide 1592
Installing and using SNAP PAC brains SNAP PAC Brain User’s Guide 1690
Installing and using OPTOEMU Sensors OptoEMU Sensor User’s Guide 1932
Installing and using E1 and E2 brain boards E1 and E2 User’s Guide 1563
For Help
If you have problems using Modbus/TCP with Opto 22 products and cannot find the help you need
in this guide or on our website, contact Opto 22 Product Support.
Phone: 800-TEK-OPTO (800-835-6786 NOTE: Email messages and phone
toll-free in the U.S. and Canada) calls to Opto 22 Product Support
951-695-3080 are grouped together and
Monday through Friday, answered in the order received.
7 a.m. to 5 p.m. Pacific Time
Fax: 951-695-3017
Email: [email protected]
When calling for technical support, you can help us help you faster if you can provide the following
information to the Product Support engineer:
• Opto 22 hardware part numbers or models that you’re working with
• Software version (available by clicking Help > About in the application’s menu bar)
• Firmware version
• Specific error messages you saw
• Version of your computer’s operating system
Although the most common use for communication between Modbus systems and Opto 22
systems is sending and receiving I/O point data on an I/O unit, you may also need to obtain other
data, from either an I/O unit or a controller. This other data, such as Scratch Pad data, exists in the I/O
unit’s or controller’s memory map and can be accessed by following the steps in Chapter 4.
In all these cases the Opto 22 device acts as the Modbus slave.
Communication Example
The diagram on the following page shows an example of how an Opto 22 system might
communicate with a Modbus system. This is just one example; many other configurations are
possible.
In this example, the SNAP-PAC-S1 standalone controller runs a PAC Control strategy that monitors
and controls the I/O units and all the I/O points on them. Simultaneously, the Modbus system can
exchange data with the Opto 22 system.
Because the two Ethernet network interfaces on the SNAP-PAC-S1 are independent interfaces with
separate IP addresses, the Opto 22 control network can be segmented from the computer network.
This example shows this type of segmentation, as the PC is attached to Ethernet switch #1 and the
control network is on Ethernet switch #2.
Because the Modbus/TCP hardware is also on switch #2, it can send data to and from every I/O unit
shown. In this example the Modbus/TCP software running on the PC, attached to switch #1, can
access data only from the controller; for instance, it might access data placed in the controller’s
Scratch Pad by the PAC Control strategy.
CAUTION: If you use PAC Control, use the Modbus/TCP integration kit or be careful that Modbus writes
to I/O points do not conflict with strategy logic.
If you are not using PAC Control, Modbus/TCP hardware or software on the same network segment
as I/O units can provide full control for I/O points.
Ethernet switch #1
SNAP-PAC-S1
controller (runs
a PAC Control
strategy to Ethernet switch #2 Modbus/TCP
control all I/O hardware
units)
E2 I/O unit
The following table shows Modbus function codes supported for I/O units. (Function codes for a
specific I/O unit depend on the analog/digital capabilities of the brain.)
Modbus Function Definition Opto 22 Equivalent
Code (Hex)
Communication Packet
As the Modbus/TCP specification requires, Opto 22 devices use a Modbus packet inside a TCP/IP
packet. The Modbus checksum is not used; instead, the Ethernet TCP/IP link layer checksum
guarantees data. The size of the packet is limited to 256 bytes. The packet follows the standard
Modbus/TCP format.
Note: You can read a maximum of 127 input or holding registers in one command 03 or 04.
Exception Errors
If an error occurs, standard Modbus exception codes are returned in the Modbus packet. The
following table, reprinted from the Modicon Modbus Protocol Reference Guide, shows the Modbus
exception codes. If you need more information, see the Modicon documentation.
The function code received in the query is not an allowable action for the
01 ILLEGAL FUNCTION
slave.
ILLEGAL DATA The data address received in the query is not an allowable address for the
02
ADDRESS slave.
A value contained in the query data field is not an allowable value for the
03 ILLEGAL DATA VALUE
slave.
SLAVE DEVICE FAIL- An unrecoverable error occurred while the slave was attempting to perform
04
URE the requested action.
The slave has accepted the request and is processing it, but a long duration
of time will be required to do so. This response is returned to prevent a time-
05 ACKNOWLEDGE
out error from occurring in the master. The master can next issue a Poll Pro-
gram Complete message to determine if processing is completed.
The slave cannot perform the program function received in the query. This
NEGATIVE code is returned for an unsuccessful programming request using function
07
ACKNOWLEDGE code 13 or 14 decimal. The master should request diagnostic or error infor-
mation from the slave.
The slave attempted to read extended memory, but detected a parity error in
MEMORY PARITY
08 the memory. The master can retry the request, but service may be required
ERROR
on the slave device.
Introduction
This chapter includes the following:
• Illustrations of module and point positions on I/O units and how they relate to coils, inputs, and
registers in Modbus/TCP (below)
• I/O point configuration required for communication with Modbus/TCP systems (page 17)
• Point features and how to use them with Modbus/TCP (page 25).
The following examples show how SNAP module and point numbers relate to Modbus coils, inputs,
and registers.
SNAP 4-Channel Digital I/O SNAP 4-Channel Digital I/O SNAP 4-Channel Digital I/O
Module Point Coil/Input Module Point Coil/Input Module Point Coil/Input
0 1 0 25 0 45
1 2 1 26 1 46
0 6 11
2 3 2 27 2 47
3 4 3 28 3 48
0 5 0 29 0 49
1 6 1 30 1 50
1 7 12
2 7 2 31 2 51
3 8 3 32 3 52
0 9 0 33 0 53
1 10 1 34 1 54
2 8 13
2 11 2 35 2 55
3 12 3 36 3 56
0 13 0 37 0 57
1 14 1 38 1 58
3 9 14
2 15 2 39 2 59
3 16 3 40 3 60
0 17 0 41 0 61
1 18 1 42 1 62
4 10 15
2 19 2 43 2 63
3 20 3 44 3 64
0 21
1 22
5
2 23
3 24
Reading/Writing Analog Point Values to Input and Holding Registers (Modules with four
channels or less. Only the first eight modules are shown; the rack may hold up to 16.)
SNAP 4-Channel Analog I/O SNAP 2-Channel Analog I/O SNAP 1-Channel Analog I/O
Module Point Registers Module Point Registers Module Point Registers
0 1-2 0 1-2 0 0 1-2
0
1 3-4 1 3-4 -- -- --
0
2 5-6 -- -- -- -- -- --
3 7-8 -- -- -- -- -- --
0 9-10 0 9-10 1 0 9-10
1
1 11-12 1 11-12 -- -- --
1
2 13-14 -- -- -- -- -- --
3 15-16 -- -- -- -- -- --
0 17-18 0 17-18 2 0 17-18
2
1 19-20 1 19-20 -- -- --
2
2 21-22 -- -- -- -- -- --
3 23-24 -- -- -- -- -- --
0 25-26 0 25-26 3 0 25-26
3
1 27-28 1 27-28 -- -- --
3
2 29-30 -- -- -- -- -- --
3 31-32 -- -- -- -- -- --
0 33-34 0 33-34 4 0 33-34
4
1 35-36 1 35-36 -- -- --
4
2 37-38 -- -- -- -- -- --
3 39-40 -- -- -- -- -- --
0 41-42 0 41-42 5 0 41-42
5
1 43-44 1 43-44 -- -- --
5
2 45-46 -- -- -- -- -- --
3 47-48 -- -- -- -- -- --
0 49-50 0 49-50 6 0 49-50
6
1 51-52 1 51-52 -- -- --
6
2 53-54 -- -- -- -- -- --
3 55-56 -- -- -- -- -- --
0 57-58 0 57-58 7 0 57-58
7
1 59-60 1 59-60 -- -- --
7
2 61-62 -- -- -- -- -- --
3 63-64 -- -- -- -- -- --
E1 with G4 modules
Module position 0
E2 with G1 modules
Module position 0
Module position 0
The following examples illustrate how E1 and E2 module and point numbers relate to Modbus coils,
inputs, and registers. For complete coil, input, and register information, see Chapter 3, “3: The
Modbus Memory Map,” on page 31.
Module position 0
The following table shows the coils or inputs you would read or write to for point states on G4
modules.
The following table shows the coils or inputs you would read or write to for point states on Quad Pak
modules.
If you are not using these firmware and software versions (or if you prefer to use the previous method to
reconfigure existing E1s or E2s), see Opto 22 form 1576, I/O Configuration for E1 and E2 Brain Boards.
(For SNAP digital-only I/O units, see page 25.) All SNAP analog/digital I/O units recognize analog,
serial, and high-density digital modules on the rack. Positions on the rack that don’t contain
modules the I/O unit recognizes are assumed to contain digital input modules. If the individual
point types on the module differ from the default type for that module, you must configure the
points using the tables below.
Analog Inputs
Default Unit of
Description
Measurement
Underrange
Overrange
Low Scale
Full Scale
SNAP-AIARMS: 0 - 10 A AC/DC 71 47 71 2 A 0.0 0.0 10.0 11.0
SNAP-AIARMS-i: 0 - 10 A AC/DC 71 47 29 2 A 0.0 0.0 10.0 11.0
SNAP-AIARMS-i-FM: 0 - 10 A AC/DC 71 47 29 2 A 0.0 0.0 10.0 11.0
SNAP-AICTD: ICTD Temp. Probe 4 4 04 2 Degrees C -273.0 -40.0 150.0 150.0
SNAP-AICTD-4: ICTD Temp. Probe 4 4 42 4 Degrees C -273.0 -40.0 150.0 150.0
SNAP-AICTD-8: ICTD Temp. Probe 4 4 4C 8 Degrees C -273.0 -40.0 150.0 150.0
SNAP-AILC: -2 - +2 mV/V Fast 34 22 0B 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC: -2 - +2 mV/V Slow 36 24 0B 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC: -3 - +3 mV/V Fast 35 23 0B 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC: -3 - +3 mV/V Slow 37 25 0B 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC: Filter of 1st channel 0 0 0B 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC-2: -3 - +3 mV/V Fast 35 23 0C 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC-2: -3 - +3 mV/V Slow 37 25 0C 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC-2: -4 - +4 mV/V Fast 34 22 0C 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC-2: -4 - +4 mV/V Slow 36 24 0C 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AILC-2: Filter of 1st channel 0 0 0C 2 Percent -110.0 -100.0 100.0 110.0
SNAP-AIMA: -20 - +20 mA 64 40 64 2 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA: 0 - +20 mA 2 2 64 2 mA -22.0 0.0 20.0 22.0
SNAP-AIMA: 4 - +20 mA 3 3 64 2 mA -22.0 4.0 20.0 22.0
SNAP-AIMA2-i: -1 to +1 mA 85 55 27 2 mA -1.1 -1.0 1.0 1.1
SNAP-AIMA-i: -20 - +20 mA 64 40 22 2 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-i: 0 - +20 mA 2 2 22 2 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-i: 4 - +20 mA 3 3 22 2 mA -22.0 4.0 20.0 22.0
SNAP-AIMA-iH: 4 - +20 mA 3 3 2A 2 mA 3.2 4.0 20.0 24.0
SNAP-AIMA-iSRC: -20 - +20 mA 64 40 26 2 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-iSRC: 0 - +20 mA 2 2 26 2 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-iSRC: 4 - +20 mA 3 3 26 2 mA -22.0 4.0 20.0 22.0
SNAP-AIMA-iSRC-FM: -20 - +20 mA 64 40 26 2 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-iSRC-FM: 0 - +20 mA 2 2 26 2 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-iSRC-FM: 4 - +20 mA 3 3 26 2 mA -22.0 4.0 20.0 22.0
SNAP-AIMA-4: -20 - +20 mA 64 40 40 4 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-4: 0 - +20 mA 2 2 40 4 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-4: 4 - +20 mA 3 3 40 4 mA -22.0 4.0 20.0 22.0
SNAP-AIMA-8: -20 - +20 mA 64 40 4A 8 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-8: 0 - +20 mA 2 2 4A 8 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-8: 4 - +20 mA 3 3 4A 8 mA -22.0 4.0 20.0 22.0
Default Unit of
Description
Measurement
Underrange
Overrange
Low Scale
Full Scale
SNAP-AIMA-32: -20 to +20 mA 64 40 4D 32 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-32: 0 - +20 mA 2 2 4D 32 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-32: 4 - +20 mA 3 3 4D 32 mA -22.0 4.0 20.0 22.0
SNAP-AIMA-32-FM: -20 to +20 mA 64 40 4D 32 mA -22.0 -20.0 20.0 22.0
SNAP-AIMA-32-FM: 0 - +20 mA 2 2 4D 32 mA -22.0 0.0 20.0 22.0
SNAP-AIMA-32-FM: 4 - +20 mA 3 3 4D 32 mA -22.0 4.0 20.0 22.0
SNAP-AIMV-4: -150 - +150 mV 66 42 44 4 mV -165.0 -150.0 150.0 165.0
SNAP-AIMV-4: -75 - +75 mV 68 44 44 4 mV -82.5 -75.0 75.0 82.5
SNAP-AIMV2-4: -50 - +50 mV 9 9 45 4 mV -55.0 -50.0 50.0 55.0
SNAP-AIMV2-4: -25 - +25 mV 67 43 45 4 mV -27.5 -25.0 25.0 27.5
SNAP-AIPM (point 0 only) 70 46 0A * AC VRMS 0.0 0 250 275
SNAP-AIPM (point 1 only) 71 47 0A * AC ARMS 0.0 0 10 11.0
SNAP-AIPM (point 2 only) 82 52 0A * True power n/a n/a n/a n/a
SNAP-AIPM (point 3 only) 83 53 0A * Volt/Amps n/a n/a n/a n/a
SNAP-AIPM-3 (points 0, 4, & 8) 70 46 49 * AC VRMS 0.0 0 300 330
SNAP-AIPM-3 (points 1, 5, & 9) 71 47 49 * AC ARMS 0.0 0 5 5.5
SNAP-AIPM-3 (points 2, 6, & 10) 82 52 49 * True power n/a n/a n/a n/a
SNAP-AIPM-3 (points 3, 7, & 11) 83 53 49 * Volt/Amps n/a n/a n/a n/a
SNAP-AIPM-3 (points 12 & 13) 86 56 49 * True power n/a n/a n/a n/a
SNAP-AIPM-3V (points 0, 4, & 8) 100 64 48 * AC VRMS 0.0 0 300 330
SNAP-AIPM-3V (points 1, 5, & 9) 89 59 48 * VAC from CT 0.0 0 0.333 0.366
SNAP-AIPM-3V (points 2, 6, & 10) 90 5A 48 * True power n/a n/a n/a n/a
SNAP-AIPM-3V (points 3, 7, & 11) 90 5A 48 * Volt/Amps n/a n/a n/a n/a
SNAP-AIPM-3V (points 12 & 13) 184 B8 48 * True power n/a n/a n/a n/a
SNAP-AIRATE: Rate (Frequency) 69 45 69 2 Hz 0.0 0.0 25000.0 27500.0
SNAP-AIRATE-HFi: Rate (0.1 s data
68 44 2B 2 Hz 2 2 500,000 500,000
freshness)
SNAP-AIRATE-HFi: Rate (1 s data
69 45 2B 2 Hz 20 20 500,000 500,000
freshness)
SNAP-AIRTD: 100 Ohm Pt 3-wire 10 0A 10 2 Degrees C -200.0 -200.0 850.0 850.0
SNAP-AIRTD: 100 Ohm Ni 3-wire 46 2E 10 2 Degrees C -60.0 -60.0 250.0 250.0
SNAP-AIRTD: 0 - 400 Ohms, Lead
15 0F 10 2 Ohms 0 0 400 440
Compensated
SNAP-AIRTD: 120 Ohm Ni 3-wire 48 30 10 2 Degrees C -80.0 -80.0 260.0 260.0
SNAP-AIRTD-10: 10 Ohm Cu 3-wire 14 0E 0E 2 Degrees C -180.0 -180.0 260.0 260.0
SNAP-AIRTD-10: 0 - 25 Ohms, Lead
15 0F 0E 2 Ohms 0 0 25 27.5
Compensated
SNAP-AIRTD-1K: 1000 Ohm Pt 3-wire 92 5C 0F 2 Degrees C -200.0 -200.0 850.0 850.0
Default Unit of
Description
Measurement
Underrange
Overrange
Low Scale
Full Scale
SNAP-AIRTD-1K: 1000 Ohm Ni 3-wire 93 5D 0F 2 Degrees C -60.0 -60.0 250.0 250.0
SNAP-AIRTD-1K: 1000 Ohm Ni 3-wire 94 5E 0F 2 Degrees F -50.0 -50.0 275.0 275.0
SNAP-AIRTD-1K: 0 - 4000 Ohms, Lead
15 0F 0F 2 Ohms 0 0 4000 4400
Compensated
SNAP-AIRTD-8U: 0-8000 Ohms - Fixed 155 9B 55 8 Ohms 0 0 8000 8800
SNAP-AIRTD-8U: 1000 Ohm Ni 3-wire
182 B6 55 8 Degrees F -46 -46 148.9 148.9
@ 70° F
SNAP-AIRTD-8U: 1000 Ohm Ni 3-wire
181 B5 55 8 Degrees C -40 -40 135 135
@ 0 °C
SNAP-AIRTD-8U: 1000 Ohm Pt @ 0 °C 180 B4 55 8 Degrees C -200 -200 850 850
SNAP-AIRTD-8U: 120 Ohm Ni @ 0 °C 179 B3 55 8 Degrees C -80 -80 260 260
SNAP-AIRTD-8U: 100 Ohm Ni @ 0 °C 178 B2 55 8 Degrees C -60 -60 250 250
SNAP-AIRTD-8U: 100 Ohm Pt @ 0 °C 177 B1 55 8 Degrees C -200 -200 850 850
SNAP-AIRTD-8U: 10 Ohm Cu 176 B0 55 8 Degrees C -60 -60 355 355
SNAP-AIRTD-8U: 0-8000 Ohms - Auto 171 AB 55 8 Ohms 0 0 8000 8800
SNAP-AIRTD-8U: 0-4000 Ohms - Auto 170 AA 55 8 Ohms 0 0 4000 4400
SNAP-AIRTD-8U: 0-2000 Ohms - Auto 169 A9 55 8 Ohms 0 0 2000 2200
SNAP-AIRTD-8U: 0-1000 Ohms - Auto 168 A8 55 8 Ohms 0 0 1000 1100
SNAP-AIRTD-8U: 0-800 Ohms - Auto 167 A7 55 8 Ohms 0 0 800 880
SNAP-AIRTD-8U: 0-400 Ohms - Auto 166 A6 55 8 Ohms 0 0 400 440
SNAP-AIRTD-8U: 0-200 Ohms - Auto 165 A5 55 8 Ohms 0 0 200 220
SNAP-AIRTD-8U: 0-100 Ohms - Auto 164 A4 55 8 Ohms 0 0 100 110
SNAP-AIRTD-8U: 0-80 Ohms - Auto 163 A3 55 8 Ohms 0 0 80 88
SNAP-AIRTD-8U: 0-40 Ohms - Auto 162 A2 55 8 Ohms 0 0 40 44
SNAP-AIRTD-8U: 0-20 Ohms - Auto 161 A1 55 8 Ohms 0 0 20 22
SNAP-AIRTD-8U: 0-10 Ohms - Auto 160 A0 55 8 Ohms 0 0 10 11
SNAP-AIRTD-8U: 0-4000 Ohms - Fixed 154 9A 55 8 Ohms 0 0 4000 4400
SNAP-AIRTD-8U: 0-2000 Ohms - Fixed 153 99 55 8 Ohms 0 0 2000 2200
SNAP-AIRTD-8U: 0-1000 Ohms - Fixed 152 98 55 8 Ohms 0 0 1000 1100
SNAP-AIRTD-8U: 0-800 Ohms - Fixed 151 97 55 8 Ohms 0 0 800 880
SNAP-AIRTD-8U: 0-400 Ohms - Fixed 150 96 55 8 Ohms 0 0 400 440
SNAP-AIRTD-8U: 0-200 Ohms - Fixed 149 95 55 8 Ohms 0 0 200 220
SNAP-AIRTD-8U: 0-100 Ohms - Fixed 148 94 55 8 Ohms 0 0 100 110
SNAP-AIRTD-8U: 0-80 Ohms - Fixed 147 93 55 8 Ohms 0 0 80 88
SNAP-AIRTD-8U: 0-40 Ohms - Fixed 146 92 55 8 Ohms 0 0 40 44
SNAP-AIRTD-8U: 0-20 Ohms - Fixed 145 91 55 8 Ohms 0 0 20 22
SNAP-AIRTD-8U: 0-10 Ohms - Fixed 144 90 55 8 Ohms 0 0 10 11
Default Unit of
Description
Measurement
Underrange
Overrange
Low Scale
Full Scale
SNAP-AITM: -150 - +150 mV 66 42 66 2 mV -165.0 -150.0 150.0 165.0
SNAP-AITM: -75 - +75 mV 68 44 66 2 mV -82.5 -75.0 75.0 82.5
SNAP-AITM: Type E Thermocouple 19 13 66 2 Degrees C -270.0 -270.0 1000.0 1000.0
SNAP-AITM: Type J Thermocouple 5 5 66 2 Degrees C -210.0 -210.0 1200.0 1200.0
SNAP-AITM: Type K Thermocouple 8 8 66 2 Degrees C -270.0 -270.0 1372.0 1372.0
SNAP-AITM-i: -150 - +150 mV 66 42 20 2 mV -165.0 -150.0 150.0 165.0
SNAP-AITM-i: -75 - +75 mV 68 44 20 2 mV -82.5 -75.0 75.0 82.5
SNAP-AITM-i: Type E Thermocouple 19 13 20 2 Degrees C -270.0 -270.0 1000.0 1000.0
SNAP-AITM-i: Type J Thermocouple 5 5 20 2 Degrees C -210.0 -210.0 1200.0 1200.0
SNAP-AITM-i: Type K Thermocouple 8 8 20 2 Degrees C -270.0 -270.0 1372.0 1372.0
SNAP-AITM-4i: -150 - +150 mV 66 42 32 4 mV -165.0 -150.0 150.0 165.0
SNAP-AITM-4i: -75 - +75 mV 68 44 32 4 mV -82.5 -75.0 75 82.5
SNAP-AITM-4i: -50 - +50 mV 9 9 32 4 mV -55.0 -50.0 50.0 55.0
SNAP-AITM-4i: -25 - +25 mV 67 43 32 4 mV -27.5 -25.0 25.0 27.5
SNAP-AITM-4i: Type B Thermocouple 24 18 32 4 Degrees C 42.0 42.0 1820.0 1820.0
SNAP-AITM-4i: Type C Thermocouple 32 20 32 4 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-4i: Type D Thermocouple 33 21 32 4 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-4i: Type E Thermocouple 19 13 32 4 Degrees C -270.0 -270.0 1000.0 1000.0
SNAP-AITM-4i: Type G Thermocouple 31 1F 32 4 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-4i: Type J Thermocouple 5 5 32 4 Degrees C -210.0 -210.0 1200.0 1200.0
SNAP-AITM-4i: Type K Thermocouple 8 8 32 4 Degrees C -270.0 -270.0 1372.0 1372.0
SNAP-AITM-4i: Type N Thermocouple 30 1E 32 4 Degrees C -270.0 -270.0 1300.0 1300.0
SNAP-AITM-4i: Type R Thermocouple 17 11 32 4 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM-4i: Type S Thermocouple 23 17 32 4 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM-4i: Type T Thermocouple 18 12 32 4 Degrees C -270.0 -270.0 400.0 400.0
SNAP-AITM-8: -75 - +75 mV 68 44 4F 8 mV -82.5 -75.0 75.0 82.5
SNAP-AITM-8: -50 - +50 mV 9 9 4F 8 mV -55.0 -50.0 50.0 55.0
SNAP-AITM-8: -25 - +25 mV 67 43 4F 8 mV -27.5 -25.0 25.0 27.5
SNAP-AITM-8: Type B Thermocouple 24 18 4F 8 Degrees C 42.0 42.0 1820.0 1820.0
SNAP-AITM-8: Type C Thermocouple 32 20 4F 8 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-8: Type D Thermocouple 33 21 4F 8 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-8: Type E Thermocouple 19 13 4F 8 Degrees C -270.0 -270.0 1000.0 1000.0
SNAP-AITM-8: Type G Thermocouple 31 1F 4F 8 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-8: Type J Thermocouple 5 5 4F 8 Degrees C -210.0 -210.0 1200.0 1200.0
SNAP-AITM-8: Type K Thermocouple 8 8 4F 8 Degrees C -270.0 -270.0 1372.0 1372.0
SNAP-AITM-8: Type N Thermocouple 30 1E 4F 8 Degrees C -270.0 -270.0 1300.0 1300.0
SNAP-AITM-8: Type R Thermocouple 17 11 4F 8 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM-8: Type S Thermocouple 23 17 4F 8 Degrees C -50.0 -50.0 1768.0 1768.0
Default Unit of
Description
Measurement
Underrange
Overrange
Low Scale
Full Scale
SNAP-AITM-8: Type T Thermocouple 18 12 4F 8 Degrees C -270.0 -270.0 400.0 400.0
SNAP-AITM-8-FM: -75 - +75 mV 68 44 4F 8 mV -82.5 -75.0 75.0 82.5
SNAP-AITM-8-FM: -50 - +50 mV 9 9 4F 8 mV -55.0 -50.0 50.0 55.0
SNAP-AITM-8-FM: -25 - +25 mV 67 43 4F 8 mV -27.5 -25.0 25.0 27.5
SNAP-AITM-8-FM: Type B Thermocple 24 18 4F 8 Degrees C 42.0 42.0 1820.0 1820.0
SNAP-AITM-8-FM: Type C Thermocple 32 20 4F 8 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-8-FM: Type D Thermocple 33 21 4F 8 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-8-FM: Type E Thermocple 19 13 4F 8 Degrees C -270.0 -270.0 1000.0 1000.0
SNAP-AITM-8-FM: Type G Thermocple 31 1F 4F 8 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM-8-FM: Type J Thermocple 5 5 4F 8 Degrees C -210.0 -210.0 1200.0 1200.0
SNAP-AITM-8-FM: Type K Thermocple 8 8 4F 8 Degrees C -270.0 -270.0 1372.0 1372.0
SNAP-AITM-8-FM: Type N Thermocple 30 1E 4F 8 Degrees C -270.0 -270.0 1300.0 1300.0
SNAP-AITM-8-FM: Type R Thermocple 17 11 4F 8 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM-8-FM: Type S Thermocple 23 17 4F 8 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM-8-FM: Type T Thermocple 18 12 4F 8 Degrees C -270.0 -270.0 400.0 400.0
SNAP-AITM2: -50 - +50 mV 9 9 09 2 mV -55.0 -50.0 50.0 55.0
SNAP-AITM2: -25 - +25 mV 67 43 09 2 mV -27.5 -25.0 25.0 27.5
SNAP-AITM2: Type B Thermocouple 24 18 09 2 Degrees C 42.0 42.0 1820.0 1820.0
SNAP-AITM2: Type C Thermocouple 32 20 09 2 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM2: Type D Thermocouple 33 21 09 2 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM2: Type G Thermocouple 31 1F 09 2 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM2: Type N Thermocouple 30 1E 09 2 Degrees C -270.0 -270.0 1300.0 1300.0
SNAP-AITM2: Type R Thermocouple 17 11 09 2 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM2: Type S Thermocouple 23 17 09 2 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM2: Type T Thermocouple 18 12 09 2 Degrees C -270.0 -270.0 400.0 400.0
SNAP-AITM2-i: -50 - +50 mV 9 9 21 2 mV -55.0 -50.0 50.0 55.0
SNAP-AITM2-i: -25 - +25 mV 67 43 21 2 mV -27.5 -25.0 25.0 27.5
SNAP-AITM2-i: Type B Thermocouple 24 18 21 2 Degrees C 42.0 42.0 1820.0 1820.0
SNAP-AITM2-i: Type C Thermocouple 32 20 21 2 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM2-i: Type D Thermocouple 33 21 21 2 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM2-i: Type G Thermocouple 31 1F 21 2 Degrees C 0.0 0.0 2320.0 2320.0
SNAP-AITM2-i: Type N Thermocouple 30 1E 21 2 Degrees C -270.0 -270.0 1300.0 1300.0
SNAP-AITM2-i: Type R Thermocouple 17 11 21 2 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM2-i: Type S Thermocouple 23 17 21 2 Degrees C -50.0 -50.0 1768.0 1768.0
SNAP-AITM2-i: Type T Thermocouple 18 12 21 2 Degrees C -270.0 -270.0 400.0 400.0
SNAP-AIV: -10 - +10 VDC 12 C 12 2 VDC -11.0 -10.0 10.0 11.0
SNAP-AIV: -5 - +5 VDC 11 B 12 2 VDC -5.5 -5.0 5.0 5.5
Default Unit of
Description
Measurement
Underrange
Overrange
Low Scale
Full Scale
SNAP-AIV-i: -10 - +10 VDC 12 C 23 2 VDC -11.0 -10.0 10.0 11.0
SNAP-AIV-i: -5 - +5 VDC 11 B 23 2 VDC -5.5 -5.0 5.0 5.5
SNAP-AIV-4: -10 - +10 VDC 12 C 41 4 VDC -11.0 -10.0 10.0 11.0
SNAP-AIV-4: -5 - +5 VDC 11 B 41 4 VDC -5.5 -5.0 5.0 5.5
SNAP-AIV-8: -10 - +10 VDC 12 C 4B 8 VDC -11.0 -10.0 10.0 11.0
SNAP-AIV-8: -5 - +5 VDC 11 B 4B 8 VDC -5.5 -5.0 5.0 5.5
SNAP-AIV-32: -10 - +10 VDC 12 C 4E 32 VDC -11.0 -10.0 10.0 11.0
SNAP-AIV-32: -5 - +5 VDC 11 B 4E 32 VDC -5.5 -5.0 5.0 5.5
SNAP-AIV-32-FM: -10 - +10 VDC 12 C 4E 32 VDC -11.0 -10.0 10.0 11.0
SNAP-AIV-32-FM: -5 - +5 VDC 11 B 4E 32 VDC -5.5 -5.0 5.0 5.5
SNAP-AIV2-i: -100 - +100 VDC 72 48 24 2 VDC -110.0 -100.0 100.0 110.0
SNAP-AIV2-i: -50 - +50 VDC 73 49 24 2 VDC -55.0 -50.0 50.0 55.0
SNAP-AIVRMS: 0 - 250 VAC/VDC 70 46 70 2 VAC/VDC 0.0 0.0 250.0 275.0
SNAP-AIVRMS-i: 0 - 250 VAC/VDC 70 46 28 2 VAC/VDC 0.0 0.0 250.0 275.0
SNAP-AIVRMS-i-FM: 0–250 VAC/VDC 70 46 28 2 VAC/VDC 0.0 0.0 250.0 275.0
SNAP-AIR40K-4: 0 to 40K Ohms 74 4A 43 4 Ohms 0 0 40,000 44,000
SNAP-AIR40K-4: 0 to 20K Ohms 75 4B 43 4 Ohms 0 0 20,000 22,000
SNAP-AIR40K-4: 0 to 10K Ohms 76 4C 43 4 Ohms 0 0 10,000 11,000
SNAP-AIR40K-4: 0 to 5K Ohms 77 4D 43 4 Ohms 0 0 5000 5500
SNAP-AIR400K-8: 0 to 400K Ohms 105 69 54 8 Ohms 0 0 400,000 440,000
SNAP-AIR400K-8: 0 to 400K Autorange 188 BC 54 8 Ohms 0 0 400,000 440,000
SNAP-AIR400K-8: 0 to 200K Ohms 106 6A 54 8 Ohms 0 0 200,000 220,000
SNAP-AIR400K-8: 0 to 100K Ohms 107 6B 54 8 Ohms 0 0 100,000 110,000
SNAP-AIR400K-8: 0 to 50K Ohms 108 6C 54 8 Ohms 0 0 50,000 55,000
SNAP-AIR400K-8: 0 to 40K Ohms 74 4A 54 8 Ohms 0 0 40,000 44,000
SNAP-AIR400K-8: 0 to 20K Ohms 75 4B 54 8 Ohms 0 0 20,000 22,000
SNAP-AIR400K-8: 0 to 10K Ohms 76 4C 54 8 Ohms 0 0 10,000 11,000
SNAP-AIR400K-8: 0 to 5K Ohms 77 4D 54 8 Ohms 0 0 5000 5500
SNAP-AIR400K-8: 0 to 4K Ohms 38 26 54 8 Ohms 0 0 4000 4400
SNAP-AIR400K-8: 0 to 2K Ohms 39 27 54 8 Ohms 0 0 2000 2200
SNAP-AIR400K-8: 0 to 1K Ohms 40 28 54 8 Ohms 0 0 1000 1100
SNAP-AIR400K-8: 0 to 500 Ohms 41 29 54 8 Ohms 0 0 500 550
SNAP-pH/ORP: -1 - +1 VDC 78 4E 25 2 VDC -1.1 -1.0 1.0 1.1
SNAP-pH/ORP: 0 - 14 pH 79 4F 25 2 pH -1.4 0.0 14.0 15.4
SNAP-pH/ORP: -0.5 - +0.5 VDC 80 50 25 2 VDC -0.55 -0.5 0.5 0.55
SNAP-PID-V 99 63 D0 4 Percent 0 0 100.0 110.0
* The SNAP-AIPM module monitors one device from point 0 (volts) and point 1 (amps). Points 2 and 3 return calculated val-
ues. The SNAP-AIPM-3 and SNAP-AIPM-3V monitor three phases from points 0,4, & 8 (volts) and points 1,5, & 9 (amps).
All other points return calculated values. See Opto 22 form 1453, the SNAP AIPM Modules Data Sheet, for details.
Analog Outputs
Default Unit of
Description
Measurement
Underrange
Overrange
Low scale
Full scale
SNAP-AOA-3: 4 - 20 mA 131 83 83 1 mA 4.0 4.0 20.0 20.0
SNAP-AOV-5: 0 - 10 VDC 133 85 85 1 VDC 0.0 0.0 10.0 10.0
SNAP-AOA-23: 4 - 20 mA 163 A3 A3 2 mA 4.0 4.0 20.0 20.0
SNAP-AOA-23-iSRC: 4 - 20 mA 163 A3 B3 2 mA 4.0 4.0 20.0 20.0
SNAP-AOA-23-iSRC-FM: 4 - 20 mA 163 A3 B3 2 mA 4.0 4.0 20.0 20.0
SNAP-AOA-23-iH: 4 - 20 mA 163 A3 AB 2 mA 4.0 4.0 20.0 20.0
SNAP-AOV-25: 0 - 10 VDC 165 A5 A5 2 VDC 0.0 0.0 10.0 10.0
SNAP-AOV-27: -10 - +10 VDC 167 A7 A7 2 VDC -10.0 -10.0 10.0 10.0
SNAP-AOA-28: 0 - 20 mA 168 A8 A8 2 mA 0.0 0.0 20.0 20.0
SNAP-AOVA-8: 0 - 5 VDC 144 90 CF 8 VDC 0.0 0.0 5.0 5.0
SNAP-AOVA-8: 0 - 10 VDC 145 91 CF 8 VDC 0.0 0.0 10.0 10.0
SNAP-AOVA-8: -5 to +5 VDC 146 92 CF 8 VDC -5.0 -5.0 5.0 5.0
SNAP-AOVA-8: -10 to +10 VDC 147 93 CF 8 VDC -10.0 -10.0 10.0 10.0
SNAP-AOVA-8: 4 - 20 mA 148 94 CF 8 mA 4.0 4.0 20.0 20.0
SNAP-AOVA-8: 0 - 20 mA 149 95 CF 8 mA 0.0 0.0 20.0 20.0
SNAP-AOD-29: TPO 5 - 60 VDC 169 A9 A9 2 percent n/a 0.0 100.0 n/a
SNAP-AOD-29-HFi: TPO 2.5-24 VDC 131 83 B9 2 percent n/a 0.0 100.0 n/a
Latches
Latches are a point feature automatically available on SNAP Ethernet-based I/O units; they do not
require configuration. To use latches, see the Modbus memory maps beginning on page 31.
Counters
Other Counters. Points on high-density digital modules automatically provide counting. These
counters are not high speed; see the module’s data sheet for specific information.
Using Counters. High-speed counters involve two steps: configure the counter and read data.
Counters on high-density digital modules do not need configuration for Modbus/TCP.
• To configure a high-speed counter, write to holding registers 13319–15366. Remember that you
use two consecutive registers for each point, since the data is in the form of a 32-bit integer. For
example, to configure module 0, point 0 as a counter, you would write the following:
To these registers: 13319 13320
Write this: 0 1
• To read high-speed counter data, read input registers 385–512. Read two consecutive registers
per point.
• To clear a high-speed counter, write to coils 257–320. For example, to clear the counter on
module 0, point 0, you would write a 1 to coil 257.
• To read counters on high-density digital modules, read input registers 513–2560 (or read and
clear counters using input registers 2561–4608). Read two consecutive registers per point.
Analog point features generally require that you read or write to two consecutive registers for each
point, since the data is in the form of a 32-bit IEEE float. Data is in Big Endian format. You can change
the word order if you wish, using the Modbus memory map. See Holding Register 1029 on page 36.
If you change word order, be sure to store configuration information to flash (Holding Register 1026)
so it will be saved when the I/O unit is turned off.
Scaling
To scale an analog point, write the low-scale value to holding registers 7175–9222 and the
high-scale value to holding registers 9223–11270. Write to two consecutive registers for each point
you are scaling.
Latches
Latches are a digital point feature available on E1 brain boards. They do not require configuration.
Read and clear latches as shown in the following table and the Modbus memory map beginning on
page 31.
Counters
Using counters involves three steps: configure the counter (holding registers 769-800), activate the
counter (coils 65-80), and read data (input registers 385-416). See the Modbus memory map
beginning on page 31 to find the coils and registers mentioned.
Write to coils 65-80. For example, to activate the counter for point #1, you would
Activate a counter
write to coil number 65.
Read counter data Read input registers 385–416. Read two consecutive registers per point.
Write to coils 257–272. For example, to clear the counter on point #1, you would
Clear a counter
write a 1 to coil 257.
• To read min/max values, read input registers 129–160 (min) and 257–288 (max). Read two
consecutive registers per point.
• To clear min/max values, write 1 bits to coils 321–336 (min) and 385–400 (max).
Introduction
The following tables show the coils, inputs, input registers, and holding registers that apply to
Opto 22 devices supporting Modbus/TCP. We call these the Modbus memory map.
New areas have been added to the Modbus memory map to accommodate new higher-density
digital and analog modules. As a result, the functions of some coil, input, and register numbers have
been duplicated in larger areas. In the following tables, the older numbers are shown in brackets.
These older numbers can still be used for backward compatibility, but we recommend using the
referenced larger areas for new development.
NOTE: Because digital counters and module configuration require more than one bit, they are handled in
input and holding registers.
Coils number
For SNAP 4-channel digital I/O modules: For these modules, up to 64 points are available on the
largest SNAP I/O rack; therefore, digital coils contain 64 numbers. Each number contains the data for
one point. Data is either 0 or 1.
For digital and analog I/O on E1 and E2 I/O units: These racks contain up to 16 points, so coils
contain 16 numbers, each with the data for one point. Data is either 0 or 1.
For SNAP high-density digital I/O and SNAP analog minimum/maximum: Coils contain 512
numbers, with an extra 512 coils reserved. See “Notes for High-Density Digital (HDD) Modules” on
page 38 and “The following table shows starting registers for the first point on each module on the
largest rack.” on page 38.
The Coils table begins on the following page.
E1 E2
SNAP-B3000-ENET
SNAP-ENET-D64
SNAP-ENET-S64
SNAP-PAC-R1-B
SNAP-PAC-EB1
SNAP-PAC-EB2
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-PAC-R1
SNAP-PAC-R2
Read or Write Point State on
4-channel or 1-channel digital 1–64 1–64 1–64 1–16 -- 1 = On, 0 = Off
outputs
Clear On-latch
1537–2560 1537–2560 -- -- -- 1 = clear latches; 0 = do nothing
(HDD2 modules)
Clear Off-latch
2561–3584 2561–3584 -- -- -- 1 = clear latches; 0 = do nothing
(HDD2 modules)
(See 257 (or (See (See Using Modbus Command 05, write 1
Store Configuration to Flash Holding Holding 257 Holding Holding to store point configuration data to
Registers) Register) Registers) Registers) flash. Reading always returns 0.
E1 E2
SNAP-B3000-ENET
SNAP-ENET-D64
SNAP-ENET-S64
SNAP-PAC-R1-B
SNAP-PAC-EB1
SNAP-PAC-EB2
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-PAC-R1
SNAP-PAC-R2
(See 259 (or (See (See Using Modbus Command 05, write 1
Clear Point Configuration
Holding Holding 259 Holding Holding to set point configuration data to
(4-channel digital)
Registers) Register) Registers) Registers) defaults. Reading always returns 0.
1 These coil numbers were used in the past and still work, but for new development, use the referenced coil numbers instead.
2 High-density digital (digital modules with more than 4 points)
Inputs
SNAP 4-channel digital input modules: inputs contain 64 numbers, each with the data for one
point. Data is either 0 or 1.
I/O modules for E1 and E2 I/O units: inputs contain 16 numbers, each with the data for one point.
Data is either 0 or 1.
SNAP high-density digital input modules: inputs contain 512 numbers, with an extra 512
numbers reserved. See “Notes for High-Density Digital (HDD) Modules” on page 38.
E1 E2
SNAP-B3000-ENET
SNAP-ENET-D64
SNAP-ENET-S64
SNAP-PAC-R1-B
SNAP-PAC-EB1
SNAP-PAC-EB2
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-PAC-R1
SNAP-PAC-R2
Read 4-channel Digital Inputs 1–64 1–64 1–64 1–16 -- 1 = On, 0 = Off
Read State of On-latches (4-channel digital modules) 65–128 65–128 65–128 65–80 -- 1 = On, 0 = Off
129–
Read State of Off-latches (4-channel digital modules) 129–192 129–192 129–144 -- 1 = On, 0 = Off
192
Input Registers
Input register data is in the form of 32-bit floats or 32-bit integers. Because Modbus registers contain
only 16 bits, you must use two consecutive registers to read the data for one point, starting with an
odd-numbered register.
This table includes registers for 1-, 2-, 4-, 8-, and 32-channel analog modules. For help in working
with analog modules, see “Notes for All Analog Modules” on page 36.
For high-density digital modules, see “Notes for High-Density Digital (HDD) Modules” on page 38.
E1 E2
SNAP-B3000-ENET
SNAP-ENET-D64
SNAP-ENET-S64
SNAP-PAC-R1-B
SNAP-UP1-ADS
SNAP-PAC-EB1
SNAP-PAC-EB2
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-PAC-R1
SNAP-PAC-R2
Read Analog Values on analog modules with 4 points [1–128]1 [1–128]1
-- -- 1–32 IEEE 32-bit float
or less Use 4609 Use 4609
Read Digital Counter Data on HDD2 modules 513–2560 513–2560 -- -- -- 32-bit integer
Read & Clear Digital Counter Data on HDD2 modules 2561–4608 2561–4608 -- -- -- 32-bit integer
Read Analog Values (all analog modules) 4609–6656 4609–6656 -- -- -- IEEE 32-bit float
1 These register numbers were used in the past and still work, but for new development, use the referenced numbers instead.
2 High-density digital (digital modules with more than 4 points)
Holding Registers
Most of this data is also in the form of 32-bit integers or 32-bit floats. For these formats, you must use
two consecutive registers to read or write the data for one point, starting with an odd-numbered
register.
This table includes registers for 1-, 2-, 4-, 8-, and 32-channel analog modules. For help in working
with analog modules, see “Notes for All Analog Modules” on page 36.
E1 E2
SNAP-B3000-ENET
SNAP-ENET-D64
SNAP-ENET-S64
SNAP-PAC-R1-B
SNAP-UP1-ADS
SNAP-PAC-EB1
SNAP-PAC-EB2
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-PAC-R1
SNAP-PAC-R2
Configure Points (modules with 4 [641–768]1 [641–768]1 See 32-bit integer (See page 17 for
641–6722 641–6722
points or less) Use 11271 Use 11271 Coils information on configuring points.)
E1 E2
SNAP-B3000-ENET
SNAP-ENET-D64
SNAP-ENET-S64
SNAP-PAC-R1-B
SNAP-UP1-ADS
SNAP-PAC-EB1
SNAP-PAC-EB2
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-PAC-R1
SNAP-PAC-R2
16-bit integer. 0 = Big Endian;
Set 32-bit Float Format 1029 1029 -- 1029 1029
1 = Word-swapped Big Endian.
1 These register numbers were used in the past and still work, but for new development, use the referenced numbers instead.
2 The method to configure E1 and E2 brain boards is simplified in E1/E2 firmware R1.2a (and higher) and in PAC Project 9.5000 (and
higher). Also, if a SNAP PAC controller communications with the E1 or E2, the controller must have PAC firmware R9.5a (or higher) to
use the simplified configuration method. If you are not using these firmware and software versions (or if you prefer to use the previous
method to reconfigure existing E1s or E2s), see Opto 22 form 1576, I/O Configuration for E1 and E2 Brain Boards.
Coils contain 32 numbers per module for clearing analog minimum and maximum values. Data for
each coil is either 0 or 1. Registers and corresponding points for a 32-channel analog module in
position 0 are shown below as an example:
Coil 3585 3586 3587 3588 3589 3590 3591 3592 3609 3610 3611 3612 3613 3614 3615 3616
Point 1 2 3 4 5 6 7 8 25 26 27 28 29 30 31 32
Input and holding registers contain 64 registers for each module (since the data for each point
requires two registers). For example, on a 32-channel analog module in position 0:
Register 4609 4611 4613 4615 4617 4619 4621 4623 4657 4659 4661 4663 4665 4667 4669 4671
4610 4612 4614 4616 4618 4620 4622 4624 4658 4660 4662 4664 4666 4668 4670 4672
Point 1 2 3 4 5 6 7 8 25 26 27 28 29 30 31 32
Read/Write Output
Clear Max Value
Calculate Offset
Read Max Value
Clear Min Value
Config Feature
Calculate Gain
Config Point
Read Value
0 3585 4609 4609 6657 8705 1031 3079 5127 7175 9223 11271 13319
1 3617 4641 4737 6785 8833 1159 3207 5255 7303 9351 11335 13383
2 3649 4673 4865 6913 8961 1287 3335 5383 7431 9479 11399 13447
3 3681 4705 4993 7041 9089 1415 3463 5511 7559 9607 11463 13511
4 3713 4737 5121 7169 9217 1543 3591 5639 7687 9735 11527 13575
5 3745 4769 5249 7297 9345 1671 3719 5767 7815 9863 11591 13639
6 3777 4801 5377 7425 9473 1799 3847 5895 7943 9991 11655 13703
7 3809 4833 5505 7553 9601 1927 3975 6023 8071 10119 11719 13767
8 3841 4865 5633 7681 9729 2055 4103 6151 8199 10247 11783 13831
9 3873 4897 5761 7809 9857 2183 4231 6279 8327 10375 11847 13895
10 3905 4929 5889 7937 9985 2311 4359 6407 8455 10503 11911 13959
11 3937 4961 6017 8065 10113 2439 4487 6535 8583 10631 11975 14023
12 3969 4993 6145 8193 10241 2567 4615 6663 8711 10759 12039 14087
13 4001 5025 6273 8321 10369 2695 4743 6791 8839 10887 12103 14151
14 4033 5057 6401 8449 10497 2823 4871 6919 8967 11015 12167 14215
15 4065 5089 6529 8577 10625 2951 4999 7047 9095 11143 12231 14279
Coils or inputs from 545–576 are reserved, and then Module 1 starts at 577. On a 16-point HDD
module, module 0 would use coils or inputs 513–528; numbers 529–576 are reserved; and module
1 would still start at 577. See “High-Density Digital Module Register Table” on page 38 for additional
module starting numbers.
Registers contain 64 numbers for each module (since the data for each point requires two
registers), and an additional 64 registers are reserved. For example, on a 32-channel module in
position 0:
Register 513 515 517 519 521 523 525 527 561 563 565 567 569 571 573 575
514 516 518 520 522 524 526 528 562 564 566 568 570 572 574 576
Point 1 2 3 4 5 6 7 8 25 26 27 28 29 30 31 32
Registers 577–640 are reserved, and then module 1 starts at 641. See the table below for additional
modules.
Introduction
In most cases, communication between Modbus/TCP and Opto 22 systems uses the Modbus
memory map detailed in Chapter 3, which was designed to make communication easier. Always
look in Chapter 3 first to see if the data you want is available there.
However, if you need to read and write data in additional areas of the device’s memory map not
covered in Chapter 3, you can do so with any of the following controllers or I/O units:
SNAP-PAC-S1 OPTOEMU-SNR-DR1
SNAP-PAC-R1 OPTOEMU-SNR-DR2
SNAP-PAC-R1-B SNAP-B3000-ENET
SNAP-PAC-R2 SNAP-ENET-S64
SNAP-PAC-EB1 SNAP-UP1-M64
SNAP-PAC-EB2 SNAP-UP1-ADS
OPTOEMU-SNR-3V
NOTE: Digital-only I/O units and E1 and E2 I/O units do not support this advanced Modbus programming.
Accessible Data
All of the Opto 22 device’s regular OptoMMP memory map addresses in the range F000 0000 to
F1EB FFFE are directly available for reading and writing.
Addresses outside that range (or scattered addresses) may be indirectly accessed in one contiguous
chunk by using the Custom Data Access Area (F0D6 0000 to F0D6 0FFC) and Custom Configuration
Area (F0D5 0000 to F0D5 0FFC) to map selected addresses into one area that is available for Modbus
reads and writes.
The complete OptoMMP memory map is in an appendix in Opto 22 form 1465, OptoMMP Protocol
Guide. This guide is available on our website, www.opto22.com; you’ll need it to obtain memory
map addresses, data type, and data length. For some addresses you’ll also need this guide to
interpret the data you receive (for example, a firmware version) or to know what data to send.
You can also use the Modbus Calculator in PAC Manager to convert memory map addresses to their
corresponding Modbus values.
When you’re working with the memory map addresses in the OptoMMP Protocol Guide, remember
that they refer to Opto 22 input/output points, which are zero-based. That is, the first module
position is position 0, and the first point on any module is point 0.
3. Type the device’s name or IP address in the Device Name field. Then click the button on the left
side of the window that corresponds to the memory map address you need to find.
For example, to find the memory map address for the device’s firmware version, click Status
Read.
You need to know only the last eight digits of the memory map address, in this case, F030001C.
2. To convert an I/O unit memory map address to a Modbus Unit ID and Register Address, type
the last eight digits of the I/O unit’s memory map address in the MemMap Address field.
Make sure there are no spaces in the address (for example, type F0300020).
A definition, 25
E1 digital point, 28
analog point SNAP digital point, 26
gain, definition, 26
maximum value, definition, 25
minimum value, definition, 25 D
offset, definition, 26
on E2 data, Modbus float format, 27, 28
counts, 38 digital point
features, 28 counter, definition, 25
gain, 29 latch, definition, 25
minimum/maximum values, 28 on E1
offset, 29 counters, 28
reading and writing value, 14 features, 27
scaling, 28 latches, 27
on SNAP, 36 reading and writing value, 14
configuration example, 24 on SNAP
features, 26 configuration example, 24
gain, 27 counters, 26
minimum/maximum values, 27 features, 26
offset, 27 high-density digital, 38
reading and writing value, 11 latches, 26
scaling, 27 reading and writing state, 10
point types, inputs, 18 state, definition, 25
point types, outputs, 24 documentation, 2
scaling, definition, 25
value, definition, 25
E
E2 analog counts, 38
C error codes, 7
calibrating analog input points, 26 exception codes, 7
coils, 31
communication overview, 5
communication packet format, 7 F
configuring I/O point firmware revision, determining, 41
SNAP analog/digital, 17 float format, Modbus, 27, 28
SNAP digital-only, 25 format
control strategy and Modbus, 4 of communication packet, 7
counter of Modbus float, 27, 28
G
G4 I/O, 14 M
G4D32EB2 maximum value, 25
I/O module position, 14 minimum value, 25
G4EB2 minimum/maximum value
I/O module position, 14 E2 analog point, 28
gain SNAP analog point, 27
definition, 26 Modbus
E2 analog point, 29 and PAC Control strategy, 4
SNAP analog point, 27 coils, 31
communicating with Opto 22 devices, 3
communication diagram, 4
H communication overview, 5
hardware used with Modbus/TCP, 3 communication packet, 7
help, 3 exception errors, 7
high-density digital modules, 38 float format, 27, 28
holding registers, 35 function codes supported, 6
holding registers, 35
input registers, 34
I inputs, 33
I/O features
definitions, 25
E1 digital point, 27
O
E2 analog point, 28 off-latch, 25
SNAP analog point, 26 offset
SNAP digital point, 26 definition, 26
I/O module E2 analog point, 29
position on E1 rack, 13 SNAP analog point, 27
position on E2 rack, 13 on-latch, 25
position on G4EB2 or G4D32EB2 rack, 14 Opto 22 hardware, 3
position on SNAP rack, 9 Opto 22 memory-mapped protocol, 3
I/O point Opto 22 product support, 3
configuring SNAP analog/digital, 17 OptoMMP, 3
configuring SNAP digital-only, 25 finding memory map addresses, 42
features, 26 memory map, reading and writing to, 41
point types, 17
position on E1 rack, 13
position on E2 rack, 13 P
position on SNAP rack, 9 PAC Control, 4
SNAP configuration examples, 24 PAC Manager, 42
I/O, SNAP, high-density digital, 38 peak, 25
input registers, 34 point types, SNAP, 17
inputs, 33 product support, 3
L Q
latches Quad Pak, 13
definition, 25 Quad Pak I/O, 14
S W
scaling writing
description, 25 E1 digital points, 14
E2 analog point, 28 E2 analog points, 14
SNAP analog point, 27 SNAP analog modules, 36
Scratch Pad, reading or writing to, 41 SNAP analog points, 11
SNAP I/O SNAP digital points, 10
point configuration examples, 24 SNAP high-density digital modules, 38
point types, 17
state of digital point, definition, 25