Because Opto 22 products—both current and legacy—are based on open standards, you can use them with
a variety of programming tools and communication protocols. In addition to monitoring and controlling
sensors, machines, and equipment, you can exchange data with devices, databases, systems, software
applications on your premises or in the cloud, and web services.
Thanks to open standards, Opto 22 products can make data available for integration, storage, analysis, and
industrial internet of things (IIoT) applications.
This technical note describes the programming tools, protocols, and options you can use and shows you
which Opto 22 products work with each. Some require free Opto 22 software development kits (SDKs) and
integration kits, which are available for groov EPIC®, SNAP PAC, and legacy products.
•The table beginning on page 2 lists development environments and the products that support them.
•The table starting on page 3 lists protocols and communication methods and the products that work
with them.
•Programming and communication tools, APIs, SDKs, and integration kits are briefly described starting on
page 7.
•Protocols and other communication options are described starting on page 11.
•See developer.opto22.com for complete information on RESTful APIs, Node-RED nodes, Ignition and
Ignition Edge® from Inductive Automation®, MQTT and Sparkplug, code samples, and more.
•You can also see and contribute to additional methods of communication developed by our user
community in the OptoForums at www.opto22.com.
Many of the tools and protocols in this tech note apply to these Opto 22 products. Follow the links to see
descriptions and specifications:
•groov EPIC processors
•groov RIO® edge I/O modules
•PAC Project™ automation software suite
•SNAP PAC controllers (SNAP PAC S-series, R-series, and SoftPAC)
•SNAP PAC brains (I/O processors)
•groov View mobile operator interface tool
If you have questions on tools, protocols, or the use of Opto 22 products, contact Pre-Sales Engineering by
phone or email. Pre-Sales Engineering is free, and we’re glad to help.
Phone: 800-321-6786 (toll-free in the U.S.) or 951-695-3000
Contact via website: https://www.opto22.com/support/contact-us
After you purchase Opto 22 products, you’ll also receive free product support from the experienced engineers
in our Temecula, California headquarters.
NOTE: Legacy products are listed in the table but are not recommended for new development. For information on most legacy equipment,
see Legacy and Current SNAP Product Comparison Charts, form 1693.
PAGE 2
Development
Environment
C, C++, C#,
Java, JavaScript,
Perl, Python, or any
other
JSON-compatible
programming
language
C, C++, Java,
JavaScript, Perl,
Python, or any other
Raspberry
Pi-compatible
programming
language
C/C++, Java, Python,
and other languages
C++
CODESYS®
Development System
with any IEC-61131-3
compliant language
Ignition from Inductive
Automation
Ignition Edge
PurposeOpto 22 ProductsNotes
Access I/O point and variable data in
a groov EPIC processor or SNAP
PAC controller, using the controller’s
REST API.
Access data in a groov® View Data
Store using the groov View API.
Use a Raspberry Pi to monitor and
control industrial digital sensors &
devices.
Build custom programs to run on
Linux® OS.
Read or write to memory map
addresses in the device.
Create and run control programs.groov EPIC processor
Integrate full-featured Ignition HMI
with Opto 22 systems.
Add external access to OPC-UA
server, scripting, database support,
and all Ignition modules.
Connect to PLCs using OPC UA.
Connect to Modbus/TCP devices and
software.
Communicate data using MQTT with
Sparkplug or string payloads.
PAC Project and
groov EPIC processor, or
SNAP PAC R-series or
S-series controller
groov View on groov EPIC,
groov Edge Appliance
(groov Box), or groov
Server for Windows
Digital I/O Carrier Board for
Raspberry Pi
G4PB8H or G4PB16H rack
and G4 digital I/O modules
or SNAP-D4M rack and
SNAP digital I/O modules
groov EPIC, groov RIO, and groov Box (with groov
Admin 1.570.44 or higher) include Node-RED. Free
Node-RED nodes are available for groov I/O and
groov View. See developer.opto22.com.
Node-RED does not run on SNAP PACs but can talk
to them via free SNAP PAC nodes (requires PAC
firmware R9.5a or higher).
See developer.opto22.com.
Free PAC Project Basic for control and HMI.
PAC Project Professional adds other functions.
Protocols and Communication Methods
NOTE: Legacy products are listed in the table but are not recommended for new development. For information on most legacy equipment,
see Legacy and Current SNAP Product Comparison Charts, form 1693
Protocol or
Communication
Method
BACnet/IP
BACnet MS/TP
Communicate with devices on a
BACnet/IP network.
Communicate with systems using the
BACnet protocol over RS-485 (serial).
PurposeOpto 22 ProductsNotes
Requires Opto 22 Library Package for CODESYS
Development System 1.0.0.1 or higher and
groov EPIC
PAC Project and
SNAP PAC controller
PAC Project and
SNAP PAC S-series
controller
CODESYS BACnet SL version 1.2.1.0, available at
the CODESYS Store (“Previous Versions” tab; a
higher numbered release will not work).
PAC-INT-BAC-IP
Requires PAC Project R9.4a or higher and PAC
firmware R9.4a or higher.
Read and write memory map data in
Opto 22’s OptoMMP-based products.
Use Optomux protocol with I/O.E1 & E2 brain boards
Perform high-speed control of
digital I/O.
Communicate with PROFIBUS DP
systems.
Allow network management systems
to communicate with non-IT devices,
including controllers, brains, and their
connected I/O, through an SNMP
management console.
Use Optomux Protocol Drivers & Utilities (compatible
with Win XP/2000 only).
PC-PAMUX-SDK (compatible with Windows
Professional 10–7).
Use Node-RED or MQTT.
See PAC Control User’s Guide for Scratch Pad
method.
See developer.Opto22.com for using RESTful APIs.
See PAC Control User’s Guide for Scratch Pad
information.
Direct communication.
PROFIBUS-DP Master Software
Requires SNAP-SCM-PROFI module.
SMTP client with authentication and attachments.
groov EPIC, groov RIO, and groov Box (with groov
Admin 1.570.44 or higher) include Node-RED. Free
Node-RED nodes are available to send email. See
developer.opto22.com.
SMTP client.
Direct communication.
• Use OPTOMIB1 for SNMP v1-compliant
Management Systems.
• Use OPTOMIB2 for SNMP v2-compliant
Management Systems (Requires firmware version
R8.2a or higher, or R9.4b or higher for
high-density digital modules).
Direct communication.
Use OPTOMIB1 (SNMP v1-compliant Management
Systems).
Requires firmware version R5.0 or higher on SNAP
Ultimate I/O.
1.570.44 or higher) include Node-RED. Free
Node-RED nodes are available for SQL databases,
groov EPIC, and groov View. See
developer.opto22.com.
Node-RED does not run on SNAP PACs but can talk
to them and to SQL databases via free SQL and
SNAP PAC nodes (requires PAC firmware R9.5a or
higher). See developer.opto22.com.
OptoDataLink is included in PAC Project Professional
or can be purchased separately.
Custom programs using the device’s RESTful API.
SNAP PAC requires firmware R9.5a or higher.
Custom programs using the groov View REST API.
Requires groov View R3.3a or higher.
IEC 61131-3—Standard languages for programming industrial controllers. Languages include Function Block
Diagram (FBD), Structured Text (ST), Sequential Function Charts (SFC), and Ladder Diagram (LD). groov EPIC
processors can be programmed with any of these languages using the CODESYS® Development System.
Ignition and Ignition Edge from Inductive Automation®—Ignition Edge is included in groov EPIC processors
and groov Edge Appliances (groov Boxes) for communication using OPC or MQTT. groov EPIC processors also
offer full Ignition as an option, which adds external access to the OPC-UA server, scripting, database support,
and a wide array of Ignition modules.
Node-RED—An open-source software program used to wire together devices, databases, cloud applications,
and APIs with simple logic flows. Flows are made using pre-built nodes offered by a wide variety of
manufacturers and software companies, including Opto 22. Node-RED is included with groov EPIC processors,
groov RIO modules, and groov Edge Appliances.
PAC Control—Opto 22 control programming software for groov EPIC processors and SNAP PAC controllers
Secure Shell (SSH)—groov EPIC processors run an open-source Linux OS, and custom programs for EPIC can
be built with C/C++, Python, Java, or other languages using Secure Shell Access.
RESTful APIs
For software developers and internet of things (IoT ) applications, a RESTful API and HTTP/HTTPS server allow
secure access to data in groov EPIC processors, groov RIO modules, SNAP PAC hardware controllers, and
groov View mobile operator interfaces. These RESTful APIs are compatible with any programming language
that supports JavaScript Object Notation (JSON).
groov EPIC REST APIs—Three APIs are available for groov EPIC processors: groov Manage REST API, groov
View REST API, and PAC Control REST API. For groov RIO, the groov Manage REST API is available. Data is
returned in JSON. For more information, see “Getting Started with the REST APIs for groov EPIC” on
developer.opto22.com.
SNAP PAC REST API—The SNAP PAC REST API gives you access to PAC Control variable and I/O data in any
SNAP PAC S-series or R-series programmable automation controller with firmware R9.5a or higher. Each
controller includes a RESTful server and API (for secure access, always use HTTPS). Data is returned in JSON. For
more information, see the SNAP PAC REST API Resources page. Complete API documentation and steps to get
started are on developer.opto22.com.
groov View Data Store REST API—You can create a Data Store in groov View to hold data from databases,
online services, and other software. This data can then be used in your groov View operator interface. For
example, data from a database can be placed in the interface for your users to see. Or an operator can change
data in the interface, which is then read and changed in the database. API documentation is available from
within groov View’s Build mode (choose Help > groov Public API). Additional information is on
developer.opto22.com.
Software development kits (SDKs)
C++ OptoMMP Software Development Kit for groov EPIC and SNAP PAC (Part number
PAC-DEV-OPTOMMP-CPLUS)—This SDK is for C++ developers and works with Windows 10 Professional. This
SDK provides access to I/O and the OptoMMP memory map areas of groov EPIC processors, groov RIO
modules, and SNAP PAC brains and controllers. It does not provide access to objects in a PAC Control strategy
running on the controller.
.NET OptoMMP Software Development Kit for groov EPIC and SNAP PAC (Part number
PAC-DEV-OPTOMMP-DOTNET)—This 100% managed SDK is for .NET developers and supports Microsoft's
.NET frameworks 4.0 through 4.8, Visual Studio 2010-2019, and Windows 10 Professional. This SDK provides
access to I/O and the OptoMMP memory map areas of groov EPIC processors, groov RIO modules, and SNAP
PAC brains and controllers. It does not provide access to objects in a PAC Control strategy running on a
controller.
.NET Controller SDK for groov EPIC and SNAP PAC (Part number PAC-DEV-CONTROLLER-DOTNET) —This
SDK supports Windows 10 Professional, .NET Framework 4.0 through 4.8, and Visual Studio 2010 through
2019. This SDK helps you build .NET applications to access objects in a PAC Control strategy running on a groov
EPIC processor or SNAP PAC controller. These objects include integer, float, and string variables and tables as
well as analog and discrete input and output points. This SDK does not provide access to the memory map
areas of the controller; it provides access only to strategy tags.
.NET HART Software Development Kit for SNAP PAC (Part number PAC-DEV-HART-DOTNET)—This SNAP
PAC .NET HART SDK helps you develop or add to a .NET or Mono custom program communicating with
Opto 22 HART SNAP I/O modules (SNAP-AIMA-iH current input module and SNAP-AOA-23-iH current output
module). These modules talk with other Highway Addressable Remote Transducer (HART) current loop
devices. The SDK supports Visual Studio 2005, 2008, and 2010, as well as Mono 3.2.7 or newer.
Note that if you are controlling HART SNAP I/O modules through a SNAP PAC controller running a PAC Control
strategy, you do not need this SDK.
Optomux Protocol drivers and utilities—Optomux Protocol drivers and utilities is a download that installs
Optomux drivers for E1, E2, B1, B2, and serial B3000 and B3000-B-OMUX brains. This download is
recommended for all new Optomux-based applications, because it supports Optomux communications over
both Ethernet and serial networks. It is compatible with Windows 2000/XP but does not support .NET.
PAMUX Systems SDK for PCI Adapter Cards (Part number PC-PAMUX-SDK)—This SDK is for high-speed
control of multiple digital I/O points using a Pamux brain (I/O processor) and the Pamux protocol. Analog I/O
is also supported. The SDK requires a PCI-AC51 or a PCIe-AC51 adapter card.
Integration kits for PAC Project
The PAC Project industrial automation software suite includes PAC Control for programming a groov EPIC
processor or SNAP PAC controller and PAC Display for HMI development and runtime. The integration kits in
this section help you use I/O and variable data from the PAC Control strategy (control program) with other
systems and equipment.
Allen-Bradley DF1 Integration Kit for PAC Control (Part number PAC-INT-ABDF1)—The Allen-Bradley DF1
Integration Kit provides users of Opto 22’s PAC Control software an easy method of communicating with
Allen-Bradley devices or PLCs that support the DF1 protocol.
The Allen-Bradley DF1 Integration Kit consists of a set of PAC Control subroutines, which can be called from
any flowchart in the PAC Control strategy.
BACnet IP Integration Kit for PAC Control (Part number PAC-INT-BAC-IP)—The BACnet IP Integration Kit
enables your SNAP PAC controller to communicate with devices on a BACnet/IP network. BACnet is a
communication protocol for building automation and control networks. The integration kit contains
BACnet_IP_Protocol, BACnet_Master, and VAV_Poll_Example charts. The kit is a full BACnet/IP master with
slave functions.
BACnet MS/TP Integration Kit for SNAP-PAC-S (Part number PAC-INT-BAC)—The BACnet MS/TP
Integration Kit for PAC Control enables your SNAP PAC S-series controller to communicate with a BACnet
MS/TP network via RS-485. BACnet is a communications protocol for building automation and control
networks. MS/TP is a Master-Slave / Token-Passing specification of BACnet. The integration kit contains the
BACnet_Protocol and Master_Sub charts, which contain everything you need to use the BACnet MS/TP
protocol in your own PAC Control strategy.
Basler DGC-2020 Digital Genset Controller Integration Kit for PAC Control (Part number
PAC-INT-MBBAS)—The Basler Integration Kit provides an interface to use a SNAP PAC controller to read and
write Modbus parameters to a DGC-2020 Digital Genset Controller by Basler Electric. The PAC Control and PAC
Display files take advantage of an optional feature of the DGC-2020 that performs Modbus communications
by emulating a subset of the Modicon 984 PLC.
CAN Integration Kits for PAC Project—The CAN Integration Kits provide sample PAC Control subroutines
and charts so that your Opto 22 SNAP PAC System equipped with one or more SNAP-SCM-CAN2B modules
can communicate with devices on a Controller Area Network (CAN). The SNAP-SCM-CAN2B is a high-speed
serial communications module that can transmit to and receive data from CAN devices. Two integration kits
are available:
•PAC-INT-CAN-RXTX (Transmit & receive)—Requires SNAP-SCM-CAN2B CAN module, module firmware
R2.0d or higher, and PAC Control R9.2a or higher.
•PAC-INT-CAN-RX (Receive only)—Requires SNAP-SCM-CAN2B CAN module, module firmware R1.0d or
lower, and PAC Control R9.2a or higher.
DNP3 Integration Kit for PAC Control (Part number PAC-INT-DNP3)—The DNP3 Integration Kit for PAC
Control allows Opto 22 SNAP PAC controllers, using PAC Control, to connect via an Ethernet network or serial
port and communicate using DNP3, the Distributed Network Protocol. The integration kit contains a set of PAC
Control subroutines that are added to a strategy to add DNP events, an example DNP3 strategy containing the
DNP3_protocol, and DNP3_CROB charts that are imported into a strategy to enable an Opto 22 controller to
communicate as a DNP3 Level 2 Master or Outstation.
IEC60870-5 Integration Kit (Part number PAC-INT-IEC60870-5)—The IEC60870-5 Integration Kit for PAC
Project allows Opto 22 SNAP PAC controllers using PAC Control to connect via an Ethernet network and serial
port or serial module and communicate using the 60870-5-101 and 60870-5-104 protocol.
It supports 60870-5-101 outstation over serial and Ethernet and 60870-5-104 outstation over Ethernet. The
60870-5 outstation can connect to 1–4 masters using Ethernet and Serial ports.
Modbus Integration Kit for PAC Control (Part number PAC-INT-MB)—The Modbus Integration Kit allows
Opto 22 SNAP PAC controllers using PAC Control to communicate using the Modbus Serial RTU, Modbus Serial
ASCII, or Modbus/TCP protocol. The Integration Kit contains a set of PAC Control master subroutines, an
example Modbus Master strategy, a PAC Control slave subroutine, an example Modbus slave strategy, a demo
data chart, and example initialization files.
PROFIBUS-DP Master Software—PROFIBUS-DP Master Software, though not officially an integration kit, is
an example of how to use Opto 22’s PAC Control (or legacy ioControl) software to monitor and control a
PROFIBUS DP network through a SNAP-SCM-PROFI module. The example includes a configuration utility and
a sample ioControl strategy.
SNMP MIB Files—Also not officially integration kits, these are management information base (MIB) files that
describe the Opto 22 network objects, such as SNAP Ethernet-based brains or controllers, that can be
managed using the Simple Network Management Protocol (SNMP):
•OPTOMIB1 is for systems compatible with SNMP version 1.
•OPTOMIB2 is for systems compatible with SNMP version 2.
TL1 Integration Kit for PAC Control (Part number PAC-INT-TL1)—The TL1 Integration Kit for PAC Control
allows Opto 22 SNAP PAC controllers using PAC Control to manage telecommunication network elements
(NEs) using the Transaction Language 1 (TL1) protocol, an element management protocol widely used in
North America. The integration kit contains an example strategy, which contains everything you need to use
the TL1 protocol in your own PAC Control strategy.
Legacy integration kits (ioControl, OptoControl)
These legacy integration kits work with the older control software ioControl and OptoControl, which were
used with legacy controllers.
(Legacy) Allen-Bradley DF1 Integration Kit for OptoControl (Part number OPTOINTAB)—The
Allen-Bradley DF1 Integration Kit for OptoControl allows communication between OptoControl controllers
and Allen-Bradley DF1 protocol devices. The integration kit includes subroutines, an example strategy, and
documentation.
(Legacy) Modbus Serial Integration Kit for ioControl (Part number IOP-INT-MBSER)—The Modbus Serial
Integration Kit for ioControl allows Opto 22 Ultimate I/O controllers, using ioControl, to connect via a serial
network to any Modbus device and communicate using the Modbus RTU or ASCII protocols. The Integration
Kit contains a set of ioControl master subroutines, an example Modbus slave strategy, and ioDisplay master
and slave projects to show communication between the example strategies and a Modbus device.
(Legacy) Modbus/TCP Integration Kit for ioControl (Part number IOP-INT-MBTCP)—The Modbus/TCP
Integration Kit for ioControl allows Opto 22 Ultimate controllers using ioControl to connect via Ethernet to
Modbus/TCP devices. This Integration Kit contains a set of ioControl master subroutines, an example
Modbus/TCP slave strategy, and ioDisplay master and slave projects to show communication between the
example strategies and a Modbus/TCP device.
(Legacy) Modbus Serial Integration Kit for OptoControl (Part number OPTOINTMB)—The OPTOINTMB
integration kit allows communication between OptoControl controllers and third-party serial Modbus RTU or
ASCII protocol devices. The integration kit includes subroutines, example strategies, and documentation.
PROTOCOL AND COMMUNICATION OPTION DEFINITIONS
Protocol types
Form 1820-200629
PAGE 11
Industrial Ethernet protocols run over an Ethernet network or a wireless LAN (local area network) and are used
in industrial automation applications.
Internet protocols are open protocols originally designed for use on the internet and in information technology
(IT). All run over a wired Ethernet network or wireless LAN. Detailed information about internet protocols is
available on (curiously enough) the internet.
Serial protocols run over a standard serial physical network, either RS-485/422 or RS-232.
Communication options
In addition to protocols, many options exist for exchanging data among automation systems, equipment,
devices, and databases.
Definitions
•BACnet—BACnet is a communications protocol for building automation and control networks. BACnet
MS/TP runs on a serial network. BACnet IP runs on Ethernet.
•CAN—Controller Area Network (serial protocol), originally developed for use in the automotive industry
but now used more widely in automation.
•DF1—An Allen-Bradley serial protocol used to communicate with older A-B devices and PLCs over an
RS-232 serial link.
•DNP3—Distributed Network Protocol (serial protocol), primarily used in the electrical and water utility
industries. DNP3 is often used for communication between a SCADA master station and RTUs or
intelligent electronic devices (IEDs).
•EtherNet/IP—An open industrial Ethernet protocol originally developed by Rockwell Automation and
now managed by ODVA (Open Device Vendors’ Association). To set up communication, see Opto 22 form
1770, EtherNet/IP for SNAP PAC Protocol Guide.
•FTP—File Transfer Protocol (internet protocol). An application layer protocol used to manage files on the
internet, for example to move files from one device to another or add data to them.
•HART—Used to communicate with Highway Addressable Remote Transducer (HART) devices over
analog wires.
•HTTP—Hypertext Transfer Protocol (internet protocol). Another application layer protocol, HTTP is
fundamental to the World Wide Web and used for communication between servers and clients.
•HTTPS—Hypertext Transfer Protocol Secure (or HTTP over TLS, an internet protocol). HTTPS incorporates
authentication of a website on the internet and additional privacy and integrity for exchanged data, to
make online communications more secure.
•IEC60870-5—Used for telecontrol and telecommunications in electric power systems.
•Mass storage—microSD card—A microSD card is a tiny flash memory card used to store data. The
card can be physically moved between devices that have microSD card slots in order to exchange data
between devices.
•mistic—An open serial protocol developed by Opto 22. Runs on RS-485/422.
•Modbus/TCP—Open industrial Ethernet protocol developed by Modicon, Inc., Industrial Automation
Systems. See Opto 22 form 1678, the Modbus/TCP Protocol Guide, for details on setting up
communication.
•Modbus RTU—Modbus is an open protocol originally developed by Modicon for its serial-based PLCs.
Modbus RTU is the binary version of the serial protocol and often used for remote telemetry units (RTUs)
in a supervisory control and data acquisition (SCADA) application.
•Modbus ASCII—Also the Modbus serial protocol, but this version presents numerical data in ASCII for
easier reading. One major difference between the binary and ASCII versions of Modbus is the checksum
calculation method.
•MQTT—MQTT is an internet of things protocol originally developed by IBM for remote industrial
equipment in the oil and gas industry, and it is now an OASIS open standard. A publish-subscribe
method of communication, MQTT is efficient and secure. Data is typically sent in Sparkplug B or string
formats.
•OPC UA (Unified Architecture)—Successor to OPC DA; also developed and managed by the OPC
Foundation. OPC UA is a cross-platform standard for interoperability among industrial automation
devices. The platform independence, multi-layered approach, and better security of OPC UA are utilized
by Opto 22’s groov View tool for building and using mobile operator interfaces for virtually any
automation system or equipment. (Learn more about groov View.)
•OPC DA (Data Access)—Predecessor to OPC UA (see above). OLE (Object Linking and Embedding) for
Process Control. Not a protocol, but a series of standards for exchanging data among devices in industrial
automation. These standards can be used over an Ethernet or serial physical layer. Managed by the OPC
Foundation. Use the following Opto 22 software for the OPC versions shown:
–OPC DA 2.0—OptoOPCServer—An Opto 22 OPC server for exchanging data between OPC
clients and the SNAP PAC System or legacy SNAP Ethernet-based I/O units. OptoOPCServer is OPC
2.0 compliant.
–OPC DA 1.0—OptoServer—An older Opto 22 OPC server used with legacy FactoryFloor systems.
For OPC 1.0-compliant or DDE clients.
•OptoMMP—An open industrial Ethernet protocol developed by Opto 22 for accessing the memory
map in its Ethernet-based controllers and brains. Documented in Opto 22 form 1465, OptoMMP Protocol
Guide.
•Optomux—An open serial protocol developed by Opto 22, which became an industry standard.
Optomux runs on RS-485/422 and is documented in form 1572, the Optomux Protocol Guide.
•Pamux—An open parallel protocol developed by Opto 22 for fast digital control over a parallel cable.
Also supports analog I/O. See individual product documentation and form 726, the Pamux Manual.
•Peer-to-peer—Peer-to-peer communication allows devices such as controllers and brains to exchange
data among themselves. Opto 22 devices have a variety of ways to communicate peer to peer.
•PPP—Point-to-Point Protocol (internet protocol) is at the link layer, just above the physical layer. While
technically an internet Protocol, PPP requires a serial connection to a dial-up modem for communication.
•PROFIBUS DP—An open serial fieldbus protocol originally developed by an industry group in Germany
and widely used in Europe today.
•SMTP—Simple Mail Transfer Protocol (internet protocol). Also an application layer protocol, SMTP is used
to send email.
•SNMP—Simple Network Management Protocol (internet protocol). Runs at the application layer, over
TCP or UDP. SNMP is primarily used by IT departments for managing devices on an Ethernet network.
•SQL database—A type of relational database, either on premises or in the cloud, frequently used in the
industrial field to store substantial quantities of data from devices and systems. This data can then be
used for many purposes, such as analyzing processes for improvement, tracking and predicting
maintenance, informing business decisions, and meeting regulatory requirements. Opto 22 products can
interact with databases in several ways to exchange data.
•SSI—Serial Synchronous Interface (serial protocol). Often used for communication between an absolute
position sensor and a controller for motion control. Runs on RS-422.
•TL1—Transaction Language 1 (a serial protocol) is an element management protocol widely used in
telecommunications in North America.
•TCP/IP—Transmission Control Protocol/Internet Protocol (internet protocol), the first two networking
protocols defined in the Internet Protocol Suite. IP is just above the link layer and provides for the delivery
of data packets. TCP runs at the transport layer, above IP, and delivers data reliably by setting up initial
data channels and verifying receipt of data. TCP also resends data if no response is received within a given
time.
•UDP/IP—User Datagram Protocol (internet protocol), also running at the transport layer over IP. UDP, in
contrast to TCP, delivers data quickly by sending it without having to set up data channels in advance and
without waiting for a response. UDP is useful for time-sensitive data because it is faster, but data may be
lost. The application must verify data delivery.