Communication Tools and Protocols for Opto 22 Products

Development environment and integration support

Opto 22 products support a wide variety of development environments and protocols.

Because Opto 22 products 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. 

The table below shows the programming tools, protocols, and options you can use with Opto 22 products. Some require free software development kits (SDKs) or integration kits, listed in the Notes column.

made_in_the_usa.pnggroovEPIC-16-640x368Remember that Pre-sales Engineers are available to help you with your application, and you receive free Product Support on all products you buy. All Opto 22 products are designed, manufactured, and supported in the U.S.A. from our headquarters and factory in Temecula, California. 

You can also download this information as a PDF.

Note: Shaded cells indicate legacy products, which are not recommended for new development. 

 

 

Development Environment and/or Protocol Purpose Opto 22 Products Notes
Development Environments
C, C++, C#, Java, JavaScript, Perl, Python, or any other JSON-compati­ble programming lan­guage Access I/O point and variable data in a groov EPIC processor or SNAP PAC controller, using the controller's REST API. PAC Project and groov EPIC processor, or SNAP-PAC R-series or S-series controller See developer.Opto22.com for complete API documentation and steps for getting started.
For SNAP PAC, requires firmware R9.5a or higher.
Access data in a groov® View Data Store using the groov View API. groov View See groov View User’s Guide (form 2027). See API documentation in groov Build (choose Help > groov Public API).
Requires groov View R3.3a or higher.
C, C++, Java, JavaS­cript, Perl, Python, or any other Raspberry Pi-compatible pro­gramming language Use a Raspberry Pi to monitor and control industrial digital sensors & devices. - Digital I/O Carrier Board for Raspberry Pi
- G4PB8H or G4PB16H rack and G4 digital I/O modules
- SNAP-D4M rack and SNAP digital I/O modules
See developer.Opto22.com for getting started steps and code samples.
C/C++, Java, Python,
and other languages
Build custom programs to run on
Linux® OS.
groov EPIC processor Requires Linux Secure Shell access license, GROOV-LIC-SHELL
C++ Read or write to memory map addresses in the device.

- groov EPIC processors
- groov RIO modules
- SNAP PAC controllers
- SNAP PAC brains
- G4EB2 brain
- E1 and E2 brain boards

PAC-DEV-OPTOMMP-CPLUS
(Legacy)
- SNAP Ethernet I/O
- SNAP Simple I/O
- SNAP Ultimate I/O
- SNAP-LCE controller
CODESYS®
Development System
with any IEC-61131-3
compliant language
Create and run control programs. groov EPIC processor Requires groov EPIC firmware 1.3.0 or higher and free GROOV-LIC-CRE. See licensing steps in the groov EPIC User's Guide.
Ignition from Inductive
Automation®
Integrate full-featured Ignition HMI with Opto 22 systems.
Add external access to OPC-UA server, scripting, database support, and all Ignition modules.
groov EPIC (with firmware
R1.4.0 or higher)
Requires Ignition license. Contact an Opto 22 Pre-Sales engineer for information.
Ignition Edge Connect to PLCs using OPC UA.
Connect to Modbus/TCP devices and
software.
Communicate data using MQTT with
Sparkplug or string payloads.
groov EPIC
groov Box
Requires GROOV-LIC-EDGE.
For groov Box, also requires groov Admin 1.570.47 or higher.
.NET Read or write to I/O point and vari­able data in a PAC Control™ strategy. PAC Project and groov EPIC processor or SNAP PAC controller PAC-DEV-CONTROLLER-DOTNET

Read or write to memory map addresses in the brain or controller.

- groov EPIC processors
- groov RIO modules
- SNAP PAC controllers
- SNAP PAC brains
- G4EB2 brain
- E1 and E2 brain boards
PAC-DEV-OPTOMMP-DOTNET
Communicate with current loop devices using the HART® protocol. HART SNAP I/O module(s) PAC-DEV-HART-DOTNET
Requires HART SNAP I/O module(s): SNAP-AIMA-iH, SNAP-AOA-23iH
Node-RED Communicate data among hardware devices, databases, web services, APIs.

groov EPIC processors
groov RIO modules
groov Box

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.
- SNAP-PAC R-series
- SNAP-PAC-S series
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.
PAC Project Automation Software Suite Create and run control programs, build Microsoft® Windows® HMI, use OPC server, connect to databases. groov EPIC processors
SNAP PAC controllers
Free PAC Project Basic for control and HMI.
PAC Project Professional adds other functions.
Protocols and Communication Methods
BACnet/IP Communicate with devices on a BACnet/IP network. groov EPIC Requires Opto 22 Library Package for CODESYS Development System 1.0.0.1 or higher and CODESYS BACnet SL version 1.2.1.0, available at the CODESYS Store (“Previous Versions” tab; a higher numbered release will not work).
PAC Project and SNAP PAC controller PAC-INT-BAC-IP
Requires PAC Project R9.4a or higher and PAC firmware R9.4a or higher.
BACnet MS/TP Communicate with systems using the BACnet protocol over RS-485 (serial). PAC Project and SNAP PAC S-series con­troller PAC-INT-BAC 
Requires PAC Project R8.2a or higher.
CAN Communicate with systems using the
Controller Area Network (CAN) protocol.
groov EPIC and
GRV-CCANI-2 module
Requires groov EPIC Firmware 1.5.0 or higher. Works with custom programs developed with shell access or with CODESYS applications (requires Opto 22 Library Package for CODESYS Development System 1.0.2.0 or higher).
Receive data from systems using the CAN protocol. PAC Project and SNAP PAC controller and SNAP-SCM-CAN2B PAC-INT-CAN-RX (Receive only)
Requires SNAP-SCM-CAN2B CAN com­munication module with firmware R1.0d or lower and PAC Control R9.2a or higher.
Transmit to and receive data from devices using the CAN protocol. PAC Project and SNAP PAC controller and SNAP-SCM-CAN2B PAC-INT-CAN-RXTX (Transmit & receive)
Requires SNAP-SCM-CAN2B CAN com­munication module with firmware R2.0d or higher and PAC Control R9.2a or higher.
DF1 Communicate with older Allen-Brad­ley® drivers or PLCs using the DF1 protocol. PAC Project and SNAP PAC controller PAC-INT-ABDF1
OptoControl and SNAP-LCM4 or M4 con­troller OPTOINTAB
DNP3 Communicate with systems using the DNP3 protocol. PAC Project and SNAP PAC controller PAC-INT-DNP3 
Requires PAC Control Professional R8.1 or higher.
EtherNet/IP™ Allow Allen-Bradley PLCs to use SNAP-PAC I/O, using the Ether­Net/IP protocol. - SNAP PAC controllers
- SNAP PAC EB brains
- G4EB2 brains
Direct communication over EtherNet/IP.
FTP (client) Work with data files. SNAP PAC controllers
SNAP Ultimate I/O
Direct communication over Ethernet.
FTP (server) Work with data files. - SNAP PAC controllers 
- SNAP PAC EB brains
- G4EB2 brains
Direct communication over Ethernet.
SNAP Ultimate I/O
SNAP Ethernet I/O
Direct communication over Ethernet.
HART Communicate with current loop devices using the HART protocol. PAC Project and SNAP PAC controller and HART SNAP I/O module(s) Requires HART SNAP I/O module(s).
HART SNAP I/O module(s) and SNAP PAC R-series con­troller or SNAP PAC brain Custom program built using PAC-DEV-HART-DOTNET.
Requires HART SNAP I/O module(s).
HTTP
HTTPS
Communicate with other devices & software. - groov EPIC processors
- groov RIO modules
-
SNAP PAC S-series
SNAP PAC R-series
HTTP/HTTPS server is built in. 
SNAP PAC requires firmware R9.5a or higher.
IEC-60870 Communicate with systems using the 60870-5-101 and 60870-5-104 proto­cols. PAC Project and SNAP PAC controller PAC-INT-IEC60870-5 
Requires PAC Control Professional R9.3a or higher.
microSD card Local data storage. - groov EPIC processors
- groov RIO modules
SNAP PAC S-series
SNAP PAC R-series
groov EPIC and groov RIO: via USB port (to 32 GB)
SNAP PAC: built-in microSD card slot (to 32 GB) (See note 1)
mistic Communicate with legacy mistic I/O. SNAP PAC S-series and PAC Project Professional Use legacy versions of the PAC Control, PAC Display™, and PAC Manager™ User’s Guides.
Also see the FactoryFloor to PAC Project Migration Technical Note.
Modbus®/TCP Exchange data with Modbus devices over Ethernet. groov EPIC
groov
RIO
Direct Modbus slave-only communication.
groov View on groov EPIC, groov Box, or groov Server for Windows Direct Modbus master.
groov EPIC or groov Box
and Ignition Edge
Requires GROOV-LIC-EDGE.
For groov Box, also requires groov Admin 1.570.47 or higher.
PAC Project and
SNAP PAC controller
For I/O and memory map addresses, direct Mod­bus slave-only communication.
For PAC Control strategy tags, use PAC-INT-MB (includes master and slave for both Ether­net and serial networks).

SNAP PAC EB brains
G4EB2 brains

Direct Modbus slave-only communication.
E1 and E2 brain boards Direct Modbus slave-only communication.
ioProject and SNAP Ultimate I/O IOP-INT-MBTCP
Modbus RTU
Modbus ASCII
Exchange data with Modbus devices over a serial network. PAC Project and SNAP PAC controller PAC-INT-MB (includes master and slave for both Ethernet and serial network).
ioProject and SNAP Ultimate I/O IOP-INT-MBSER
OptoControl and SNAP-LCM4 or M4 con­troller OPTOINTMB
Exchange data with Basler DGC-2020 Digital Genset Controller. PAC Project and SNAP PAC controller PAC-INT-MBBAS 
Requires PAC Control R9.0a or higher.
MQTT Communicate data using MQTT publish/subscribe method. groov EPIC processors
groov RIO modules
Built-in MQTT client
Ignition Edge and groov EPIC processor,
groov RIO module, or
groov Box
Requires GROOV-LIC-EDGE.
For groov Box, also requires groov Admin 1.570.47 or higher.
OPC UA Communicate as a client with sys­tems and equipment compatible with OPC UA. groov View on groov EPIC, groov Box, or groov Server for Windows Function built in.
groov EPIC processor,
groov RIO module, or
groov Box and Ignition
Edge
Requires GROOV-LIC-EDGE.
For groov Box, also requires groov Admin 1.570.47 or higher.
OPC DA 2.0 Communicate as a server with OPC DA 2.0-compatible systems and equipment. OptoOPCServer™ Included in PAC Project Professional or available for separate purchase.
OPC DA 1.0 Communicate as a server with OPC DA 1.0-compatible systems and equipment. OptoServer Included in legacy FactoryFloor software suite.
OptoMMP Read and write memory map data in Opto 22’s OptoMMP-based brains and controllers. - groov EPIC processors
- groov RIO modules
- SNAP PAC controllers
- SNAP PAC brains
- G4EB2 brain
- E1 and E2 brain boards
PAC-DEV-OPTOMMP-DOTNET or 
PAC-DEV-OPTOMMP-CPLUS
SNAP Ultimate I/O
SNAP Ethernet I/O
SNAP Simple I/O
SNAP-LCE controller
PAC-DEV-OPTOMMP-CPLUS
Optomux (serial)
Optomux (Ethernet)
Use Optomux protocol with I/O. E1 & E2 brain boards Use Optomux Protocol Drivers & Utilities (compatible with Win XP/2000 only).
Pamux High-speed control of digital I/O. PCI-AC51 or PCIe-AC51 adapter card and B4, B5, or SNAP-B4 brain PC-PAMUX-SDK (compatible with Win­dows Professional 10-7).
Peer-to-peer Communicate between devices. - groov EPIC processors
- groov RIO modules
Use Node-RED or MQTT.
- groov EPIC processors
- SNAP PAC controllers
See PAC Control User’s Guide for Scratch Pad method.
See developer.opto22.com for using PAC's RESTful API.
SNAP Ultimate I/O
SNAP-LCE controller
See PAC Control User’s Guide (Legacy Edition) for Scratch Pad information.
PPP Communicate over a dial-up modem. SNAP PAC S-series
SNAP PAC R-series
Direct communication.
PROFIBUS® DP Communicate with PROFIBUS DP systems. PAC Project and SNAP PAC controller and SNAP-SCM-PROFI PROFIBUS-DP Master Software 
Requires SNAP-SCM-PROFI module.
SMTP Send email. - PAC Control strategy
running on groov EPIC or
SNAP PAC controllers
SMTP client with authentication and attachments.
groov EPIC, groov RIO, or groov Box and Node-RED 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.
SNAP Ultimate I/O
SNAP Ethernet I/O
SMTP client.
SNMP Allow network management systems to communicate with non-IT devices, including controllers, brains, and their connected I/O, through an SNMP management console.

SNAP PAC controllers
SNAP PAC EB brains
- G4EB2 brain

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).
SNAP Ultimate I/O
SNAP Ethernet I/O
Direct communication.
Use OPTOMIB1 (SNMP v1-compliant Management Systems). Requires firmware version R5.0 or higher on SNAP Ultimate I/O.
SQL database Exchange data between Opto 22 system and SQL databases. groov EPIC, groov RIO, or
groov Box and Node-RED
groov EPIC and groov Box (with groov Admin 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.
SNAP-PAC R-series
SNAP-PAC-S series
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.
PAC Display or OptoDataLink™ and groov EPIC or SNAP PAC controller OptoDataLink is included in PAC Project Professional or can be purchased separately
PAC Project and groov EPIC or SNAP PAC controller Custom programs using the device's REST­ful API. SNAP PAC requires firmware R9.5a or higher.
groov View Custom programs using the groov View  REST API. Requires groov R3.3a or higher.
SSI Acquire data from linear or rotary transducers using the serial synchro­nous interface (SSI) protocol. SNAP-SCM-SSI communi­cation module and SNAP PAC R-series con­troller or SNAP PAC brain See the SNAP SSI Module User’s Guide.
TL1 Integrate PAC Control with systems using the TL1 protocol. PAC Project and SNAP PAC controller PAC-INT-TL1 (Requires PAC Project R8.2a or higher.)
TCP/IP
UDP/IP
Communicate over this Internet layer. - groov EPIC processors
- groov RIO modules
- groov View
- SNAP PAC controllers
- SNAP PAC EB brains
- G4EB2 brain
- E1 and E2 brain boards
Built-in communication.
SNAP-LCM4 and M4 con­trollers (see note 2)
SNAP Ultimate I/O
SNAP Ethernet I/O
Built-in communication.
1 PACs manufactured after November 2008 have a card slot; firmware R9.4a and loader R6.1a or higher required for microSD cards above 2 GB.
2 Requires an M4SENET-100 Ethernet card