0:02
Morning everyone, thanks for joining us on this webinar of converting your machine.io to OCS.io If you have any questions at any point, just put them into the questions and then we’ll get to them at the end Hello and welcome to today’s webinar In this webinar, we will look at how to convert your machine.io to OCS.io There are many reasons why you might choose to switch from your existing.io system to an alternative Whether it’s due to cost obsolescence issues, delivery, or something else entirely, Horner is here to help.
0:34
Today, we are going to show you how simple, efficient, and painless it is to switch to Horner’s OCS.io. We have a lot to cover, so let’s take a look at the agenda for today.
0:46
We will start with a quick review of OCS.io, including all of its features and benefits.
0:52
Then, we will go through all the information needed for a smooth transition.
0:56
That includes the materials needed, how to deal with different IO types, actual installation guidelines, and finally, we’ll give you some tips on how to line up an existing IO map to OCSIO.
1:10
There will be demonstrations throughout, and we will finish with a Q &A session.
1:15
Let’s begin. First, let’s go through a review of the core components.
1:20
With Horner OCSIO, there are basically two workflows.
1:24
On the left we can see OCSIO being used as expansion I O or remote I O from a Horner all-in-one controller, in this case a Canvas 10D.
1:36
On the right we can see OCSIO in use with one of our modular controllers.
1:42
This setup should look familiar to anyone who has worked with traditional PLCs in the past.
1:47
The OCSIO can be used in two different ways either plugged directly into the side of the CPU, or as expansion I.O., like in the example on the left.
1:58
When switching I.O.
1:59
systems, first we must decide on a CPU and base to build everything around.
2:05
Our most popular products today include the Canvas CPU 300, which has all the power of a mid-sized PLC, with the capability of touchscreen support with one of our HMIs, and the Micro CPU 250, a well-performing and cost-effective Micro PLC choice.
2:21
With the CPU picked out, we next need an IO base.
2:25
Two popular choices with Horner are the CNX100, a cost-effective solution with no built-in IO, or the CNX116, which comes with a mix of six built-in IO points.
2:38
Next, before we start plugging anything in, we need to gather some resources.
2:42
Head to the Horner website using the link below or the link in our channel’s about page, Navigate to the Products tab at the top, and then under Expansion and Remote I.O.
2:54
click on CSCAN-based I.O., and here we click into OCS I.O.
2:59
On this page you can find Horner product documentation, including user manuals, data sheets, and drawings, all available to download from the links provided.
3:10
Now we’re going to discuss all the different I.O.
3:13
types, and how they interface with OCS I.O.
3:16
Firstly, DC inputs and outputs.
3:19
These are likely the most prevalent and numerous I.O.
3:22
types in machine control today, and with OCSIO, the most popular I.O. modules are the 16-point input and output modules.
3:31
We also offer an 8-input and output module as well.
3:35
All inputs support 12 and 24 volt levels, and positive or negative logic.
3:41
For instance, with the 16-point input module, each input can be individually configured for either positive or negative logic.
3:50
All outputs also support 12 and 24-volt levels, and they can handle loads as large as half an amp.
3:57
But they only support positive logic.
4:00
This is because, as of 2026, negative logic outputs are considered unsafe, and so they are not supported by Horner.
4:08
Next – Relay Outputs There are many relay output modules available.
4:13
The most popular is an 8-channel relay output in two groups, which has 2 amps per point, 5 amps per group.
4:21
Then the 4-channel relay, because of its slightly higher current capacity.
4:26
And finally, a 4-channel DC in and relay out module is also available.
4:32
In line with the topic of today’s webinar, Horner also offers the AC input module.
4:37
The DIM620 is an 8-channel AC input which supports up to 120 VAC.
4:44
This is ideal for retrofitting ALTER systems when only the PLC or controls are being replaced.
4:51
If your system requires a high-speed counter module, Horner can provide that as well.
4:56
The HCS840 is a new product which comes with 8 high-speed DC input channels and 4 high-speed DC output channels.
5:05
It also comes with several modes and configurations, making it the perfect choice for a wide range of applications.
5:12
When it comes to analog inputs, Horner has two options.
5:16
The ADU100 is a 4-channel input module, and the ADC270 is an 8-channel input module.
5:23
Both support voltage and current inputs, but the ADU100 includes support for even more, including RTDs, a wide range of thermocouple types, and even milliamp measuring, which is useful for certain load cell applications.
5:38
If you’re looking for thermistor support, we have the NTC 800, which is an 8-channel thermistor input module.
5:45
And then, on the analog output side, we have the DAC 107, which is a 4-channel output, and the ADC 270, which is an 8-channel input.
5:57
Both modules boast a 12-bit resolution and include support for a wide range of voltage and amperage levels.
6:05
With that covered, let’s now discuss some installation guidelines for your transition to Horner OCS-IO.
6:12
Here we have the same diagram we showed earlier, and of note is how we connect CPUs and I-O bases.
6:20
We use standard RJ45 patch cables to connect everything together.
6:25
Beyond these patch cables, there are some important accessories we need to discuss.
6:29
Most of these will come included with the purchase of the product they are needed for.
6:34
First, we have back-place connectors. These allow all the modules to connect and exchange data.
6:41
These are quite important, and so they are included with all bases, CPUs and I-O modules.
6:47
Then we have DIN rail clamps. These are required when mounting your system on DIN rails.
6:53
These come included with all bases and CPUs.
6:57
And finally, Terminator plugs, which are required for any I.O. base at the end of a chain.
7:03
These are included with all bases.
7:05
For this next section of our presentation, we are going to discuss I.O. terminals and wiring.
7:10
All OCS I.O. field connections are spring clamp style blocks, which are made to be removable.
7:17
All positions are also labeled to ensure everything is installed correctly.
7:21
Generally, there are two styles of terminal, 6-pin 8-amp at 160V maximum or 4-pin 8-amp at 300V maximum.
7:31
These terminals are very easy to work with, requiring no tools for installation, just a small screwdriver for conductor removal.
7:39
This greatly reduces wiring time and allows you to get up and running faster.
7:44
When it comes to digital IO wiring, we recommend 18 gauge for most applications.
7:49
It comes with plenty of ampacity and is easy to work with.
7:53
The ferrules with 10mm barrels make insertion and removal simple.
7:58
Next, with analog I.O. wiring, we have more options.
8:03
For standard analog signals, shielded twisted pair works best.
8:07
We recommend Belden 8441.
8:10
For thermocouples, we must use the extension wire of the correct type for each thermocouple.
8:16
For RTDs, 3 conductor shielded cable, specifically Belden 8770, is a reliable choice.
8:23
And finally, always remember to earth any shielded cabling you might use, and never at the OCSIO terminal, as they are signal ground, not earth ground.
8:34
And that covers the most popular products for OCSIO.
8:37
Finally, we’re going to touch on something that will only apply if you’re transitioning from one HornerIO system to another.
8:45
For example, from Smart Rail to OCSIO.
8:48
For the easiest transition, try to replicate as closely as possible the IO map of the original IO system.
8:56
In the tables on the right, we can see a sample IO map conversion.
9:00
We have lined up the modules as close as possible and, for the most part, everything lines up quite well, except for the relay output.
9:10
Smart Rail is an older system, which was designed under different regulations.
9:14
and so OCSIO can no longer offer a 16-channel relay output.
9:20
Instead, we must use two 8-channel relay outputs to replicate the same functionality.
9:27
If we were remapping in a variable-based language, all we would need to do is make adjustments in the Program Variables window.
9:33
Before we discuss how to remap in a register-based language, we’re going to have a quick demonstration of the variable-based remapping in Cscape.
9:43
Here we are in Cscape. We have installed a Smart Rail program that we are going to convert to OCSIO.
9:50
Always create a backup of your program before starting.
9:53
First, navigate to Hardware Configuration. In this demonstration, we are working with an XL7 Prime.
10:00
Select CAN1 from the tabs at the top, and here we have the base and the five modules installed on it.
10:08
This is what we are going to convert to OCS IO.
10:12
This base has a name, an IO address, as well as a two word main IO status variable.
10:20
We are also using the standard IQ, AI and AQ locations for our base. We note down all of this and then we return to the menu.
10:32
Here we can delete this existing base configuration.
10:35
Now let’s add our OCSIO base instead.
10:39
For today’s demonstration, we are using the CNX100, so we will select that.
10:45
We start by assigning a name for the base, and then we will not assign a UUID value.
10:52
For more information on UUID values and their uses, consult one of our previous webinars on UUIDs available on our channel.
11:00
Next, we are going to use the same status block variable as before, but we need to make one change.
11:08
We are going to change its dimension from 2 to 15.
11:12
This way, all the information needed for OCSIO can be stored in this variable.
11:18
Then we are going to assign the same locations for I, Q, AI and AQ, as we had for the Smart Rail configuration.
11:28
Now we can start adding our I0 modules.
11:31
First we have a 16-point input module, then we have a solid-state 16-point output module, and so far we are matching up one to one with our original SmartRail system.
11:43
But now we have to allocate two 8-point output modules in place of the singular 16-point output module that we had originally.
11:54
To finish we are going to add our analog input and output modules.
11:58
From here, we could go into each module and configure them as needed.
12:03
However, for the sake of this demonstration, we will assume that this is already completed.
12:08
More importantly, we are going to show you how to adjust your mappings for the 16-point output module becoming two 8-point output modules.
12:17
First, navigate to Program Variables and then into Global Variables.
12:22
Then, we scroll down until we find the points that need to be changed.
12:26
In this instance, those registers start at Q537.
12:31
The variable currently at register Q537 needs to be shifted up by 8, and the 7 variables after it also need to be shifted up by the same amount.
12:41
This can be done simply by typing the new value in.
12:45
And that’s all you need to know to remap your I.O. using a variable-based language.
12:52
Next, we are going to discuss the same process, but this time using a register-based language instead.
12:59
In this case, remapping is most easily performed using the replace function in Cscape.
13:05
Let’s head back to Cscape for the demonstration of this process.
13:11
So now we are going to perform the same conversion we did earlier, but with a register-based approach.
13:16
If we navigate to hardware configuration, we can see we’re still working with an XL7.
13:23
And, for the sake of this demonstration, we have already added all the modules to our map, in exactly the same way as the last demonstration.
13:32
All we need to do is remap some of the registers for the output modules.
13:36
To do this, we first navigate to the Edit tab, and we click on the Replace function.
13:42
Here is where we can start replacing registers.
13:45
First, we ensure that we are replacing throughout the entire program, and then one by one we can start adding in our registers and replacing them with the altered versions, which in this case are just 8 steps away from their original register.
14:02
Then we click Replace All, and we can see that it successfully replaces one, in this case all, of the occurrences of that register in our program.
14:11
You would continue like this until all registers are replaced, and that’s all you need to know to remap your IOS system using a register-based language.
14:22
That concludes our webinar for today. Thank you so much for listening, and the Q &A session will begin shortly.
14:45
there for the upcoming webinars.
14:48
We’ve got no questions on this one so I think we can leave it there for today. Thank you all for joining and I’ll see you next time.







