SNAP PAC to groov EPIC - Serial modules and I/O configurations

Posted by Ben Orchard on Nov 10, 2022 7:57:08 AM

Honest answers to your questions about making the move from SNAP PAC controllers to groov EPIC.

I’d like to try and feed two birds with one handful of grain in this blog…

We often get these two questions from existing Opto 22 customers who are moving or migrating from SNAP PAC controllers to groov EPIC (or sometimes keeping SNAP I/O to work with an EPIC system).

  1. Are they the same?
  2. Which should I configure first, groov Manage or PAC Control?

Two big questions for sure, but I’d like to answer them from the point of view of a post that I was reflecting on in the Opto 22 Forums, which talks about the use of groov EPIC serial modules.

This one post touched on both of these questions, so let's take a closer look at it. If you make it through my answers, you'll find the link to the OptoForum post at the end of this blog.

Are SNAP PAC Controllers and groov EPIC controllers the same?

EPIC-SNAPWell, just from a visual perspective, clearly not. Also from an operating system perspective, clearly not: Linux with real-time extensions vs. embedded RTOS. And from a CPU perspective, not even close: quad-core ARM vs. single-core ColdFire.

What about from the perspective of PAC Control? Here is where the fun really starts. EPIC uses the same code base as our SoftPAC runtime engine that our  Windows-based controller uses. It supports 64 charts and is multi-threaded to work very well on multi-core CPUs as you find on Windows PCs and the groov EPIC platform.

Our engineers wrote the PAC Control engine to be cross-platform from the very beginning. So in a lot of ways, PAC Control on SNAP, EPIC, and Windows is very similar.

Of course, the way the control engine code plugs into the OS it's running on has its differences. It just so happens that interfacing with serial ports is one of them. For example, SoftPAC running on Windows cannot access any serial ports on the host PC.

On SNAP R-series controllers, the serial port module interfaces with the controller via ARCnet, and shows up differently in PAC Control. On the S1/2 controller, they interface differently again, but we are able to present them to the PAC Control engine the same as the rack-mounted controller and modules.

On EPIC, the serial module interfaces with the controller via USB (which is also why the module must be installed in one of the first 4 module positions, since those first 4 slots have a USB bus), and the Linux OS sees them differently than on the SNAP rack-mounted controller.


So the PAC Control Command Reference manual has broken out command structure differences like these. We try to keep them the same where possible, but there are a few that just need to be tweaked.

This sort of then flows into….

Where should I configure my settings, PAC Control or groov Manage?

I'm going to have a little fun here and try my best odd Australian sense of humor: Feel free to spend a lot of time setting up groov Manage. But as soon as you download your PAC Control strategy, some/most/all of those changes will disappear.

Ok, let's put the Aussie away…

Since PAC Control is configuring the same settings as groov Manage, any time you download or run the strategy, its configuration will override any configuration in groov Manage.

This is an important thing to note since people have asked, "Why are only some I/O (discrete or analog) points configured?"
The answer: because only some I/O have been configured in PAC Control. Quick example: let's say you configure an analog input module in groov Manage with channels Analog_In_0 through Analog_In_11. Then you download a PAC Control strategy that has only the first point configured, as Air_Temperature. In groov Manage, then, Analog_In_0 becomes Air_Temperature, but all the others remain as they were. This can throw you off a little if you are not expecting it.

I always strongly recommend that in PAC Control you name any unused points (in the strategy) as Unused_1, etc. That way, in groov Manage, you can clearly see what points are unused in the strategy.

Of course, there are always exceptions and the serial module is one such exception. You can't see the serial modules in PAC Control for a SNAP PAC I/O listing, But you do see them in groov Manage for an EPIC rack after you download the strategy.

Last unasked question

Can you connect to a groov serial module over TCP like you could with the SNAP modules? For that answer, check out the OptoForums thread that I was reflecting on... it has the answer to that one at the bottom!

And for more technical tips on making the move from SNAP PAC to groov EPIC, you can download the tech note:
Migrating from SNAP PAC to groov EPIC.

Cheers Mate.


Topics: PAC Control, groov EPIC, snap pac

Written by Ben Orchard

    Subscribe to Email Updates

    Recent Posts

    Posts by Topic

    see all