Opto 22

43044 Business Park Drive, Temecula, CA 92590 USA
Local & outside the USA:(951) 695-3000
Toll-Free within the USA:(800) 321-6786
Fax: (951) 695-3095
Email: sales@opto22.com

All Opto 22 industrial control and automation software and firmware can be downloaded at any time. While most software is free, some software must be purchased and will require an OptoPassword to install.
> If I bought software and a new version is released, can I get the upgrade for free?
> For more sample files, see the OptoForum.
> Looking for groov files? Go to groov.com/use-groov.

Search Downloads:

Filter by:
   What are these?
CategoryDescription/File NameVersionDate
Samples & Freeware SNAP PAC Sim Control Engine Simulator
SNAP PAC Sim

SNAP PAC Sim is Microsoft Windows-based software that simulates the control engine of an Opto 22 programmable automation controller (PAC). You can use SNAP PAC Sim with Opto 22 PAC Project software to develop, download, and debug your PAC Control strategy without a hardware PAC.

Note that PAC Sim is a control engine simulator, not an I/O simulator. If you configure I/O units in your strategy, and the I/O units are not on the Ethernet network of the computer running PAC Sim, you will get errors. For more information, click the Related Documents tab below and read the Readme.

IMPORTANT: SNAP PAC Sim is intended for demonstration and testing only and is NOT intended to be used in an actual application. SNAP PAC Sim is time limited and will operate for only 12 hours at one time. After this time has elapsed, the software must be restarted before it can be used again.

R9.5d11/16/2016
Samples & Freeware SNAP PAC RESTful API to Excel Spreadsheet Example
SNAP PAC RESTful API to Excel Spreadsheet Example

This download contains sample spreadsheets you can use to read from and write to an Opto 22 SNAP PAC programmable automation controller via the PAC’s RESTful API. In this way you can securely share I/O point and variable data in your SNAP PAC controller with an Excel spreadsheet.

The download includes all files needed and a technical note documenting the samples. Watch the video below for an introduction to the samples.

 
1.010/27/2016
Samples & Freeware SNAP PAC RESTful API to Access Database Example
SNAP PAC RESTful API to Access Database Example

This download is an interactive Access database sample that builds commands to read data from an Opto 22 SNAP PAC programmable automation controller and store the data in a Microsoft Access table.

The download includes all files needed and a technical note documenting the sample. Watch the video below for an introduction to the samples.

 
1.010/27/2016
Samples & Freeware PAC Project Demo
PAC Project Demo

PAC Project Demo contains everything you need to demonstrate or experiment with Opto 22's PAC Project Software Suite:

The PAC Display project includes some highly graphical HMI examples, including a bottling plant and a yacht.
R9.500109/02/2016
Samples & Freeware Controller Time Synchronization Application
Controller Time Synchronization Application
This software application updates the internal clock for an Ethernet-connected Opto 22 controller. The application runs in Windows at the command prompt, and can update controller clocks regularly or just once.

This application is used with the following Opto 22 controllers:

- SNAP PAC S- and R-Series
- Ultimate I/O (UIO)
- SNAP-LCE
- SNAP-LCM4
- M4
- M4RTU
- M4IO

1.4a01/07/2016
Samples & Freeware FTP and Data Logging Example
FTP_and_Data_Logging_Example
The logic in this sample strategy "FTP and Data Logging" shows how to log data at a fixed interval, store the data in the controller temporarily, and then transmit the data as a file to an FTP server. Due to the nature of the application, the logic is also a good example of how to write code that is robust and handles errors effectively.
1.1012/10/2015
Samples & Freeware
Digicert High Assurance EV Root Certificate
The Digicert High Assurance EV Root Certificate is required for some email servers when using the Send Email and Send Email with Attachment commands, which are available in firmware R9.1b or newer.

Here's a link to the OptoForums discussion on the topic: Email commands

R1.003/03/2015
Samples & Freeware Modbus Test Utility for PAC Display
Modbus Test Utility for PAC Display
This download is freeware. Before downloading, read the Legal Agreement.
8.1b01/22/2015
Samples & Freeware HART Sample Subroutines for PAC Control
HART Sample Subroutines for PAC Control
The HART (Highway Addressable Remote Transducer) Sample Subroutines for PAC Control allow Opto 22 controllers, using PAC Control to communicate with a HART transmitter via an Opto 22 HART input module (SNAP-AIMA-iH).

What’s included:

  • • 14 PAC Control subroutines—one subroutine for each of 14 universal HART commands
  • • An Example Chart using the subroutines
Once you've wired the HART device to the module and run the example strategy, you'll be able to communicate with the device.
1.010/09/2014
Samples & Freeware Sample PAC Control Basic chart to send email
Sample PAC Control Basic Chart to Send Email
A PAC Control Basic chart to show how to send email from a controller using the SendEmail and SendEmailWithAttachment commands. These commands are available in firmware R9.1b or newer. Import this chart into your PAC Control Basic or Pro strategy.
R1.0b04/30/2014
Samples & Freeware OptoEMU Browser Toolbar
OPTOEMU-SNR-TB

OPTOEMU-SNR-TB is a free toolbar for the Firefox browser that shows real-time energy usage data from an OptoEMU Sensor, right in your browser while you surf the web. You choose the data you want to see. You can also see data in a browser window as a table or graph, or in a desktop widget.

This free toolbar was developed by JayNick.com, LLC, an experienced developer of standalone and browser-based applications for sensor and device communication, data acquisition, and real-time data monitoring.

 05/01/2012
Samples & Freeware OptoDataLink Example
OptoDataLink Example
 05/01/2012
Samples & Freeware PAC Display Basic Example (Control): ioCookies strategy
PAC Display Basic Example (Control): ioCookies strategy
 04/30/2012
Samples & Freeware PAC Display Basic Example (Control): Message Logger Strategy
PAC Display Basic Example (Control): Message Logger Strategy
 04/30/2012
Samples & Freeware PAC Display Basic Example (Display): Alarming
PAC Display Basic Example (Display): Alarming
 04/30/2012
Samples & Freeware PAC Display Basic Example (Display): Example1
PAC Display Basic Example (Display): Example1
 04/30/2012
Samples & Freeware PAC Display Basic Example (Display): ioCookies
PAC Display Basic Example (Display): ioCookies
 04/30/2012
Samples & Freeware PAC Display Basic Example (Display): Message Logger
PAC Display Basic Example (Display): Message Logger
 04/30/2012
Samples & Freeware PAC Display Basic Example (Display): SuperTrend
PAC Display Basic Example (Display): SuperTrend
 04/30/2012
Samples & Freeware PAC Display Basic Example (Display): XYPlot
PAC Display Basic Example (Display): XYPlot
 04/30/2012
Samples & Freeware PAC Control Basic Example: InitVariables
PAC Control Basic Example: InitVariables
 04/30/2012
Samples & Freeware PAC Control Basic Example: ioCookies
PAC Control Basic Example: ioCookies
 04/30/2012
Samples & Freeware PAC Control Basic Example: OptoScript Examples.
PAC Control Basic Example: OptoScript Examples
Opens in PAC Control Basic (or Pro) version 8.0 and newer. As a whole, the example code doesn't do anything meaningful. Each block demonstrates a particular aspect of OptoScript. (Helpful when learning the OptoScript syntax.)
 04/30/2012
Samples & Freeware PAC Control Basic Example: Powerup Message
PAC Control Basic Example: Powerup Message
 04/30/2012
Samples & Freeware PAC Control Pro Example: RPM Measurement
PAC Control Pro Example: RPM Meaurement
 04/30/2012
Samples & Freeware Pulse Energy Quick Start
Pulse Energy Quick Start

Pulse Energy is an online service you can use to view data about your electrical energy usage. Support for Pulse Energy is integrated into the OptoEMU Sensor™; however, if you are not using the Sensor but acquiring energy data using the SNAP PAC System, you can still see that data through Pulse Energy.

This sample chart shows you how to move data from PAC Control into Pulse. Import the included chart into your PAC Control strategy to make integration with a Pulse Energy account easier. The included technical note, form 1992, shows you how to configure a Pulse Energy account and use the chart to visualize your monitored energy values.

1.0a01/16/2012
Samples & Freeware Sample custom keypad (for touchscreens) in PAC Control/Display
Sample custom keypad (for touchscreens) in PAC Control/Display
A PAC Control Basic strategy and PAC Display Basic project to show how to do a custom keypad/keyboard useful for those who'd like to create their own keyboard rather than using the built-in one in PAC Display. PAC Control/Display versions R9.0 and newer (because the PAC Display project includes the new-to-9.0 "button" in it). Here's a link to the OptoForums discussion on the topic: Custom Keyboard
R1.0a10/11/2011
Samples & Freeware Sample PAC Control Basic Chart to do a PING (ICMP)
Sample PAC Control Basic Chart to do a PING (ICMP)
A PAC Control Basic chart to show how to do a PING via the mem map. PAC Control versions R8.2 and newer. Import this chart into your PAC Control Basic or Pro strategy. Here's a link to the OptoForums discussion on the topic: PING from mem map
R1.0a10/10/2011
Samples & Freeware Sample PAC Control Basic Chart to do HTTP Get or Post
Sample PAC Control Basic Chart to do HTTP Get or Post
A PAC Control Basic chart to show how to do an HTTP Get or Post. For example, to GET the Internet IP address of the device running this chart. These commands are available in firmware R9.1b or newer, PAC Control versions R9.1 and newer. Import this chart into your PAC Control Basic or Pro strategy.
R1.0a08/18/2011
Samples & Freeware OptoMMP Server
OptoMMP Server

The OptoMMP Server is a 100% managed .NET Windows Service that emulates the I/O Unit "Scratchpad" functionality found in Opto 22's SNAP PAC family of Ethernet-connected products. Running on a Windows-based PC, OptoMMP Server provides a high-performance scratchpad engine.

Features:
- Provides a method to back up system setpoints or states from PAC controllers.
- In multiple-controller configurations that share data with scratchpads, the OptoMMP Server creates a single high-performance scratchpad array.
- Support for extended numeric scratchpad arrays.

OptoMMP Server supports IPv4 and IPv6 network connectivity (Windows XP installations support IPv4 only).
R1.008/09/2011
Samples & Freeware AdHocConfig.zip
AdHocConfig.zip

The included AdHocSettings.ciw file makes ad-hoc wireless configuration in PAC Manager easier.

The included technical note, form 1970, shows you how to configure ad-hoc mode on the OptoEMU Sensor, controller, or brain using PAC Manager. It also includes steps for configuring ad-hoc mode on a smart phone.

OptoEMU Sensor energy monitoring units and Opto 22 Wired+Wireless™ SNAP PAC controllers and brains can communicate wirelessly with other wireless devices in either infrastructure or ad-hoc mode.

In ad-hoc mode, wireless devices communicate directly with each other, peer-to-peer. Ad-hoc mode is less secure but useful for temporary wireless connections, because it can be set up quickly.

1.0b08/03/2011
Samples & Freeware Sample PAC Control Basic Chart to do Base64 encode/decode
Sample PAC Control Basic Chart to do Base64 encode/decode

A PAC Control Basic chart to do Base64 encoding and decoding.

Base64 encoding is often used on binary data to be stored and/or transferred (such as in email via MIME) or for encoding passwords.

Import this chart into your PAC Control Basic or Pro strategy. (The chart was developed in PAC Control Basic 8.2 so it can be imported into any PAC Control versions 8.2 or newer.)

Here's a link to the OptoForums discussion on the topic: Base64
R1.0a08/03/2011
Samples & Freeware Equifax Secure Certificate Authority
Equifax Root Certificate
The Equifax Secure Certificate Authority (DER encoded X.509) root certificate is required for some email servers when using the Send Email and Send Email with Attachment commands, which are available in firmware R9.1b or newer.

Here's a link to the OptoForums discussion on the topic: Email commands

R1.007/25/2011
Samples & Freeware Sample OptoEMU PAC Display Project
Sample OptoEMU PAC Display Project
A PAC Display Project to show options for displaying data from an OptoEMU. See form 1958 for more infomation on using PAC Display with an OptoEMU Sensor.
R1.007/11/2011
Samples & Freeware Time of Day Scheduler Example
Time of Day Scheduler Example
These PAC Project files provide an introductory example of how to implement time of day scheduling for events.
R8.5d04/04/2011
Samples & Freeware SNAP-SCM-MCH16 Counts/Cycle Conversion Formulas
SNAP-SCM-MCH16 Counts/Cycle Conversion Formulas
If you are using motion commands with the SNAP PAC Motion Control Subsystem, use the conversion formulas on this table to convert Counts/Cycle which is used by some of the motion commands.
 02/18/2011
Samples & Freeware Scaling and Linearization Example
Scaling and Linearization Example
A example strategy written in PAC Control Basic 8.2 that demonstrates how to scale and linearize values. This example strategy uses subroutines to perform most calculations.
R1.0.008/23/2010
Samples & Freeware SNAP Ethernet I/O BootP Server - Linux
bootp.zip
A BootP server for configuring the IP address of the SNAP Ethernet brains and the M4SENET-100 adapter card.
R2.007/15/2010
Samples & Freeware Sample Motion Control Strategies
Motion_Control_Example_Strategies.zip

The Motion Control example strategies show how to achieve four different motion control maneuvers using OptoMotion commands in a PAC Control strategy. You can use the example strategies as a starting point for creating your own control strategies.

These are sample files. Before you download, read the Legal Agreement.

n/a03/20/2009
Samples & Freeware RPM Measurement
RPM_Measurement
This strategy demonstrates how to measure revolutions per minute (RPM).

The strategy was originally created in PAC Control Professional 8.1d.

For instructions, see the documentation included in zip archive.

109/04/2008
Samples & Freeware Powerup Message for Controller Message Queue
Powerup_Message
This is a simple strategy that adds a message to the controller's message queue when the controller powers up and each time the strategy is started. This makes it easy to use the message queue to determine if the controller has been turned off and back on, or if the strategy has been stopped and restarted.
108/13/2008
Samples & Freeware I/O Enabler for Ethernet, SNAP PAC, and Multifunction and Remote Simple (RS) mistic Brains
IO_Enabler_for_ENET_PAC_mistic_RS_Brains
The logic in this sample strategy "IO Enabler" is designed to automatically recover communications to any I/O unit that temporarily goes offline (that is, has communications disabled) for any reason.

It is compatible with strategies that communicate with Ethernet-based and serial SNAP PAC brains, and legacy SNAP Ultimate I/O and SNAP Ethernet I/O brains. It is also compatible with serial mistic Multifunction and "Simple" or "Remote Simple (RS)" brains.
108/08/2008
Samples & Freeware I/O Enabler for Ethernet, SNAP PAC, and Multifunction mistic Brains
IO_Enabler_for_ENET_PAC_mistic_Brains
The logic in this sample strategy "IO Enabler" is designed to automatically recover communications to any I/O unit that temporarily goes offline (that is, has communications disabled) for any reason.

It is compatible with strategies that communicate with Ethernet-based and serial SNAP PAC brains, as well as legacy SNAP Ultimate I/O and SNAP Ethernet I/O brains. It is also compatible with serial mistic Multifunction brains. It does not support Mistic "Simple" or "Remote Simple (RS)" brains.
108/07/2008
Samples & Freeware I/O Enabler for Ethernet and SNAP PAC Brains
IO_Enabler_for_ENET_PAC_Brains
The logic in this sample strategy "IO Enabler" is designed to automatically recover communications to any I/O unit that temporarily goes offline (that is, has communications disabled) for any reason.

It is compatible with strategies that communicate with Ethernet-based and serial SNAP PAC brains, as well as legacy SNAP Ultimate I/O and SNAP Ethernet I/O brains.
108/07/2008
Samples & Freeware Message Queue Logger
Message_logger
This strategy and project demonstrate how to log messages from a controller's error (or "message") queue to the computer's hard drive. Having this information can make any troubleshooting needed easier.

The message log created provides a history of how your system runs under normal conditions. When problems occur, you will have a history of normal messages as well as error messages to help troubleshoot the cause.

The strategy and project were originally created in ioProject 7.0 Basic, and can be used with ioProject 7.0 and 7.1 as well as PAC Project 8.0, 8.1, and 8.2. It can also be used with Basic or Pro versions.

These are sample files. Before you download, read the Legal Agreement.

107/17/2008
Samples & Freeware ioDoor Access Manager
ioDoorInstall.zip

ioDoor Access Manager is a sample utility program for use with SNAP-SCM-W2 serial communication modules. These modules comply with the Security industry Association Access Control Standard Protocol for the 26-bit Wiegand(R) Reader Interface.

The utility program, written in Visual Basic, manages user names and entry permissions. It is designed to be used with the sample ioControl strategy Door Control, which is a separate download.

This file is freeware. Before you download, read the Legal Agreement.

 03/10/2005
Samples & Freeware PPP sample code and configuration for ioControl
Sample_PPP_ioControl.zip

The zip file contains sample ioControl code for the SNAP Ultimate I/O and SNAP-LCE. The code demonstrates how these controllers can exchange information via PPP and modems. A document is included to explain the samples.

This file contains sample code. Before you download, read the Legal Agreement.

R1.011/10/2004
Samples & Freeware Sample Analog Trip Strategy
Analog_32Ch_Trip_Amp.zip

Application code demonstrating how to implement an analog trip amp software in ioControl. If an analog input rises above its corresponding alarm setpoint value for more than a specified time, its associated output alarm contact is activated. On falling below the alarm value the output contact switches off again. Both timer setpoint and alarm deadband are configurable for individual analog inputs.

Both ioControl and ioScript examples are included to demonstrate differences in code design. The program was developed in answer to the 09-Sep-2004 OptoForums post "ioControl- timing in strategy."

This file contains sample code. Before you download, read the Legal Agreement.

 10/05/2004
Samples & Freeware Sample Door Control Strategy
Door Controller.zip

The Door Control Strategy is a sample ioControl strategy for use with SNAP-SCM-W2 serial communication modules. These modules comply with the Security Industry Association Access Control Standard Protocol for the 26-bit Wiegand(R) Reader Interface. The sample strategy configures modules and handles access for up to 16 doors and up to 4200 users.

Also download ioDoorAccessManager, a utility program for managing user data.

This file contains sample code. Before you download, read the Legal Agreement.

 05/04/2004
Samples & Freeware Optomation Systems ioControl Functions
ioControl_Functions.zip

A piecewise linear interpolator function PLI under ioControl 5.1. The ioScript version can be easily copied to your program. It can be used for any of the following applications:

  • Calculating volume from tank level measurement (PV=Level Q=Volume)
  • Setpoint Generator (PV=Elapsed Time Q=Required Setpoint, eg Temp or Flow)
  • Flow rate profiling (PV=Dif Pressure Q=Flow Rate)
  • Split Range Control (PV=Common Output Q=Valve1 profile)
  • Adaptive Gain (PV=Secondary Variable Q=PID Gain Value)
1.004/30/2004
Samples & Freeware OptoSQL Proxy sample files and installation program
OptoSQLProxy.zip

OptoSQL Proxy is a free utility that allows our SNAP Ultimate I/O and SNAP-LCE controllers to send data to and request data from an OLE-DB data source. It was built to show how to send data to a Microsoft SQL Server but uses features supported by any OLE-DB data source. We also include the source code for customers who wish to adapt the program to their particular application. Hence, we do not support it as a product; rather we provide it as an example.

You can learn more by downloading the application note (1428_AppNote_OptoSQLProxy.pdf - see Related Documents below), but here is a summary:

OptoSQL Proxy requires the .NET framework, and runs as a service on any suitably equipped workstation or server.

A user interface referred to as the Virtual Link Manager allows you to create links to any OLE-DB data source using a series of configuration screens. For example, you might create a link called "MySQLDatabase" which links to an specific database on a specific server. Once created, an Opto 22 controller can send a TCP string to OptoSQL proxy. The string contains the link name and any text that is meaningful to the database. OptoSQL Proxy receives the string and forwards text to the database. Typically, the text is an SQL statement (e.g., "Insert into Table(Field1, Field2) values (23.48, 'C')") or a stored procedure call. OptoSQL Proxy also forwards the reply from the database to the Opto 22 controller.

OptoSQL proxy also includes a link testing utility that lets you send data to and request data from your database in order to test the links you create.

The following files are available:

OptoSQL_InstallProxyOnly.zip -- This installs OptoSQL Proxy but not the .NET framework OptoSQLProxySamples.zip -- Sample ioControl strategy for use with MS SQL Server and MS Access 2002. OptoSQLProxy-Source 9-12-03.zip -- Source code
 03/11/2004
Samples & Freeware OptoTagger aka OptoTagRetrieveRewrite
OptoTagger_Source_Install.zip

** NOTE: For a newer alternative compatible with Windows 7, 8, and 10, see the utility, OptoTagPreserve. **

The freeware on this page allows users to:

  • 1. Retrieve values of various tags/variables from a controller
  • 2. Open/create a text file with a list of variables, either by hand or by reading tag names from a strategy (.cdb) file
  • 3. Save the current values of variables to that same text file
  • 4. Read those values back from the text file then
  • 5. Send the values to the controller.

(You can skip steps 2-4 if you just want to read and write values but don't need to save the values.)

1.012/22/2003
Samples & Freeware VB6.0 source code for OptoTagger
Source.zip
This utility allows users to:
  • 1. Retrieve values of various tags/variables from a controller
  • 2. Open/create a text file with a list of variables, either by hand or by reading tag names from a strategy (.cdb) file
  • 3. Save the current values of variables to that same text file
  • 4. Read those values back from the text file then
  • 5. Send the values to the controller.
(You can skip steps 2-4 if you just want to read and write values but don't need to save the values.)
 12/22/2003

My.Opto22

All Opto22

Request Information
  • FREE Product Brochure
  • Product Demonstration
  • PreSales Engineering Assistance

Opto 22 Product Support

Opto 22 Product Support is FREE Monday through Friday 7 a.m. to 5 p.m. Pacific Time

Product Support Numbers:

Local: (951) 695-3080
Toll-Free: (800) 835-6786
Fax: (951) 695-3017
support@opto22.com

Products

None

Downloads

None

Documents

None