Communication Tools and Protocols for Opto 22 Products
Development environment and integration support
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.
Remember 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-compatible programming language | 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, JavaScript, Perl, Python, or any other Raspberry Pi-compatible programming 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 processors |
Requires Linux Secure Shell access license, GROOV-LIC-SHELL. See licensing steps in the groov EPIC User's Guide and groov RIO User's Guide. |
C++ | Read or write to memory map addresses in the device. |
- groov EPIC processors |
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 processors | 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 processors (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 processors |
Requires GROOV-LIC-EDGE (Ignition Edge version 7) or GROOV-LIC-EDGE8 (version 8). For groov Box, version 7 only; also requires groov Admin 1.570.47 or higher. |
.NET | Read or write to I/O point and variable 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 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 (including SoftPAC) |
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 processors | 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 controller | 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 communication 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 communication module with firmware R2.0d or higher and PAC Control R9.2a or higher. |
|
DF1 | Communicate with older Allen-Bradley® drivers or PLCs using the DF1 protocol. | PAC Project and SNAP PAC controller | PAC-INT-ABDF1 |
OptoControl and SNAP-LCM4 or M4 controller | OPTOINTAB | ||
DNP3 | Communicate with systems using the DNP3 protocol. | PAC Project and SNAP PAC controller | DNP3 Integration Kit for PAC Control (free download) Requires PAC Control Professional R8.1 or higher. |
DNS/DHCP | Dynamically receive an IP address and communicate with other devices on an Ethernet network using human-understandable names. | - groov EPIC processors - groov RIO modules |
Built-in support. |
EtherNet/IP™ | Allow Allen-Bradley PLCs to use SNAP-PAC I/O, using the EtherNet/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 controller 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 protocols. | PAC Project and SNAP PAC controller | PAC-INT-IEC60870-5 Requires PAC Control Professional R9.3a or higher. |
LDAP | Manage user authentication and permissions through an LDAP service | - groov EPIC processors - groov RIO modules |
Work with your IT department to set up connections in groov Manage. Requires groov EPIC or groov RIO firmware version R3.0 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 processors groov RIO modules |
Direct Modbus slave-only communication. |
groov View on groov EPIC, groov Server for Windows, or (legacy) groov Box | Direct Modbus master. | ||
Ignition Edge and groov EPIC or (legacy) groov Box | Requires GROOV-LIC-EDGE (Ignition Edge version 7) or GROOV-LIC-EDGE8 (version 8). For groov Box, version 7 only; also requires groov Admin 1.570.47 or higher. |
||
PAC Project and SNAP PAC controller |
For I/O and memory map addresses, direct Modbus slave-only communication. For PAC Control strategy tags, use PAC-INT-MB (includes master and slave for both Ethernet and serial networks). |
||
SNAP PAC EB 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 controller | 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 (GRV-R7-MM2001-10 model only), or (legacy) groov Box |
Requires GROOV-LIC-EDGE (Ignition Edge version 7) or GROOV-LIC-EDGE8 (version 8). For groov Box, version 7 only; also requires groov Admin 1.570.47 or higher. |
||
OPC UA | Communicate as a client with systems and equipment compatible with OPC UA. | groov View on groov EPIC, groov Server for Windows, or (legacy) , groov Box | Function built in. |
Ignition Edge and groov EPIC processor, groov RIO module (GRV-R7-MM2001-10 model only), or (legacy) groov Box |
Requires GROOV-LIC-EDGE (Ignition Edge version 7) or GROOV-LIC-EDGE8 (version 8). For groov Box, version 7 only; 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 Windows Professional 10-7). |
Peer-to-peer | Communicate between devices. | - groov EPIC processors - groov RIO modules |
Use Node-RED, MQTT, or Scratch Pad method through groov Manage. |
- groov EPIC processors - SNAP PAC controllers |
Use Scratch Pad method via PAC Control. See PAC Control User’s Guide. 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. |
Node-RED and groov EPIC, groov RIO, or (legacy) 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 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 |
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. | Node-RED and groov EPIC, groov RIO, or (legacy) 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 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 RESTful 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 synchronous interface (SSI) protocol. | SNAP-SCM-SSI communication module and SNAP PAC R-series controller 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 controllers (see note 2) - SNAP Ultimate I/O - SNAP Ethernet I/O |
Built-in communication. | ||
VPN | Create a private network “tunnel” (typically through the internet) to provide a secure link between devices on separate private networks. | groov EPIC processors groov RIO modules |
Built-in OpenVPN client. |
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 |