0:01
Go hands-on with the new micro modular controllers that we introduced last week The presentation is about 25 minutes long But as usual if you have any questions, feel free to pop them in and we’ll get to them at the end Hello and welcome to today’s webinar.
0:17
Today we will look at hands-on with the new micro modular controllers Let’s take a look at our agenda for today.
0:24
We are going to start with a quick introduction to these new CPUs We are going to give you a hardware tour we will talk about comms and connectivity.
0:33
We are going to talk about IO expansion and show you how to do physical assembly and then we are going to demonstrate how to connect with Cscape and we are going to exercise the IO on the bench and we will finish with a Q &A session.
0:46
These are the new micro modular controllers the CPU 200 and CPU 250.
0:52
These are the two newest members of the Horner micro series.
0:55
These are not all-in-one controllers but they share a lot of commonality with the micro series and can be used in a lot of the same applications.
1:03
They both have enough memory and built-in I.O. to cover most simple applications and they include a modular I.O.
1:10
expansion and a CPU logic capacity that allows it to swing above its weight or to handle even larger applications and generally these particular CPUs are going to be used in applications that do not need a screen.
1:24
We are going to do a tour of the hardware next.
1:26
We are going to show these slides just briefly on the screen.
1:30
Most of our work is going to be done just showing you these on the bench during our demonstration.
1:35
So here is what the CPU250 looks like with a couple of OCSIO modules plugged into it.
1:41
And here is what the CPU200 looks like also with a couple of OCSIO modules plugged in.
1:47
When you purchase these products there is no OCSIO included.
1:51
Let’s take a physical look at our CPUs.
1:54
Here is the package, you can see size wise it fits earth palm of our hands.
1:58
As we take a look at the hardware we can see that it is din rail mounted also comes with a black plane also comes with a back plane connector installed which can come out do not worry you cannot install it backwards or upside down it can only go in one way that is for adding ocsio off to the side if you want to do that also let’s take a look at what else we have here we have a standard ocs power plug three pins and this will take up to 12 gauge wire Now we do not see any reason to use a wired alert but it is available if you need it.
2:32
We would recommend 16, 18 or 14. Any of those would be much easier to work with than 12.
2:39
We tend to lean towards 16 and 18 based on current capacity and everything else.
2:44
Also we have got a micro SD slot up here. As you can see we have got one connected there.
2:50
The front of the micro SD slot is on the left and the contacts are on the right.
2:54
so if you just slide it in push it down and you are good to go also we have got a stop load switch it has got three positions in the upper position or the run position you can see that also maintained we can move it to the stop position which is also maintained and if we want to load a program this is a return to center or momentary type action on the load button so that is available here and then we have plenty of status LEDs over here for power run, module status, network status, the same type of LEDs you find on the Horner products all the time.
3:29
Also have an LED indication on the LAN port and LED indication which you cannot see, you will see later on on the bench when we power it up that you can actually see the LED indication on each of the IO connections as So that is the physical look at the CPU 250 and then we also got the CPU 200 here Which is identical every way except it does not have built-in IO It depends strictly on additional IO through OCS IO Which you can add to CPU 250 if you need more than what is built in.
4:02
One other little difference We will show you here on these two units we have here the unit on the right CPU 200 is a pre-production unit You can see the switch is a little longer than the switch on the CPU 200 on the left while you receive your production.
4:17
UNOS should be a shorter switch.
4:19
So this is the look at our two CPUs.
4:22
As we continue to explore the hardware of these two new products, let’s talk about CPU memory.
4:27
Because this is an area in which these products exceed what is normally available in the rest of the micro series, that is what allows them to handle louder programs.
4:36
they can handle larger programs from logic memory standpoint with 2 megabytes of capacity and they can also handle more variables with 50 ,000 words and 16 ,000 plus boolean variables and they have plenty of loading points support, MPID loop support just like the rest of the micro series.
4:55
When it comes to connectivity they are loaded and we are going to go through these primarily on the bench.
5:01
We are leaving this up here just briefly so you can do a freeze frame if you want the summary. Let’s take a look at connectivity.
5:08
Let’s start with USB-C.
5:09
It is strictly for programming but it offers best performance for a download standpoint.
5:15
From a data watch standpoint, you can also perform firmware updates through USB-C. So USB-C is the only way to go for programming.
5:24
Although Ethernet works fine, it does not have the same performance as USB-C. Let’s talk about Ethernet.
5:31
What can we do with ethernet?
5:33
Well if you need to connect to some sort of SCADA system or controlled room over Mudbus TCP this here can be a Mudbus TCP server but can also be a client.
5:44
So if you need to connect to a variable frequency drive or server drives or other devices Mudbus TCP client is one avenue to take.
5:54
Again with Mudbus TCP you can connect anything.
5:58
Now for those of you who are looking for connectivity in Rockwell environment that supports Ethernet IP as a server which means it cannot be a scanner but it can sit on Ethernet IP network and be pulled or connected to a Rockwell device where the Rockwell device maybe is controlling a machine and this is controlling a prohibable on the machine so it has a good Rockwell connectivity through Ethernet IP server from a serial port standpoint.
6:27
What if you want to interface to a low-cost variable frequency drive for instance well Modbus RTU is built in there and thus with every drive features Modbus RTU built in for free even low-cost drive so this is a good option here.
6:43
Barcode readers, serial printers can also be connected through serial port.
6:48
TAN can be used for a variety of things including adding IO expansion beyond locally so Local I.O. expansion is done over here over OCS I.O.
6:58
You can connect remote OCS I.O. based up to 16 of them through the scan port here.
7:04
And we also support J1939 as well as scan open.
7:09
Scan open more fulfilled but support J1939 for those mobile applications.
7:15
Now let’s talk about I.O. and the CPU250 has an incredible an array of I.O.
7:21
built into it.
7:22
Therefore built-in IO points in total, we are going to go through all the details on this during our seascape connectivity and configuration portion of the demonstration today.
7:32
But again we will leave this up here as a summary for all of the IO capability that is built into the CPU250 and a reminder the CPU200 does not have built-in IO, it depends on expansion IO but both of the CPU200 and the CPU250 can be expanded with up to 7 standard OCSIO modules. Plug straight into the side of the normal OCSIO backplane.
7:57
So local IO here is available as an expansion with OCSIO. And what OCSIO modules are available?
8:04
Well this is a product line with more being added all the time.
8:07
But these are the modules that are currently available and we have several more we will be launching later on.
8:13
So lots of choices. If you need to add relay, add relays.
8:16
If you need to add more analogue, add more analog, whatever the case may be, you have got the option with OCSIO.
8:23
So let’s show you how to go ahead and add additional IOs to CPUs through a demonstration.
8:29
So what we are going to do is we are going to put our CPU on the DIN rail and we are going to add three OCSIO expansion modules.
8:37
Let’s start with the CPU.
8:39
You can see we have got our backplane connector pre-installed.
8:43
That is how it comes from the factory but if it is loose you can just plug it right back in. It only goes in one way. Let’s start by putting it on the rail.
8:52
Make sure the top is pushed in and now it is on the rail.
8:55
So we have got our 3 OCSIO modules we are going to add.
8:59
They each came with their own backplane connector and we are going to assemble those now. And then we are going to push them up tight against the CPU.
9:08
And then we are going to assemble our OCSIO modules. And we can use the gin rail as a pull chrome.
9:17
The top in that way so that is the assembly on the rail.
9:20
Next let’s make sure that we have these secure so what we are going to do is we are going to add these clamps to the din rail we are going to back that off a little bit so that this piece of metal here is close to the edge and then we are going to assemble this on each side because we want to make sure that we have it on the I.O. and the CPU.
9:40
We are going to start with installing these clamps here again make sure this is backed off so we can get it easily on the rail get our screwdriver in there and we have got a stack of three but we can also have as many as seven OCS IO modules with our CPU and our end clamps and if this was the CPU 200 the process would be identical here we are in seascape 10.1 service pack 1 and now let’s try it and establish a connection with our CPU we are going to be connecting to the CPU 250. So let’s go to the connection wizard first and we would like to talk to the CPUs over USB.
10:19
It gives us best performance both for downloads as well as updates with data watch.
10:24
Selected USB it came up as COM3 on our computer. We are connected.
10:30
This CPU is in stop or IDL mode here as you can see.
10:34
Now let’s go to the hardware config because UCP was not connected when we fired up CScape. We are still showing the default controller here for the connection.
10:44
So let’s select from the OCSIO CPU series here the CPU 250 which matches what we have.
10:52
Now let’s go ahead and finish the configuration process.
10:55
So we will go back into the hardware configuration and let’s take a look at the local IO. Everything else in term of LAN configuration is standard.
11:03
That is normal default LAN configuration here, see scan is selected by default.
11:09
Let’s look at the local IO configuration which is going to be different and new.
11:14
So we have got our four different areas of configuration with built-in IO just like we have these same four different buttons for built-in IO for an OCS all in one controller.
11:25
So we will go through that and take a look at the details here but we also have the ability to add OCS IO modules to the site.
11:32
So let’s go ahead you’ll auto populate IO because in our case we do have some IO connected here so let’s hit auto populate then ask us are we sure we want to do that because it will bring everything back to default from a configuration standpoint so we are going to say yes and there we go we have got our three IO modules that auto populated let’s go ahead and configure this IO starting with digital inputs we can select between positive or negative logic on the digital inputs.
12:03
We can also select whether we want to use high speed counting on the first four inputs.
12:09
So we have our standard high speed counting options that we will find elsewhere in the micro series that is the options we have under digital inputs on the digital outputs that should look familiar.
12:20
As well with the one addition we can have normal q1 and q2 which are two high speed capable outputs can be selected For normal operation, PWM operation or frequency, you can use the outputs to fire based on encoder position.
12:36
For instance, everything else is similar for the digital output.
12:40
Now let’s take a look at these flexible inputs.
12:43
So we have eight standard digital inputs that we have already talked about.
12:47
Now we have eight flexible inputs.
12:49
They can either be digital or analog.
12:52
When you use them as digital, you can select the range as either 24 volts, 12 volts, or even 5 volts or you can set a custom on and off threshold we are going to leave these at 24 volts but you can also select analog for each point and again this is configurable on a pair point basis and the analog can either be 0 to 10 volts 0 to 20 milliamps or 4 to 20 milliamps and you can configure the scaling so full 0 to 32 000 if you choose or you can knock it down to 0 to 4000 plus or minus 2 or 0 to 1000. So lots of options here on the scaling.
13:32
Even again these are all setable channel by channel.
13:36
You also have filtering so if you set your channels for analog you are going to want to filter the values so you have a good mix between stability and responsiveness. And 0 is no filtering, 7 is max.
13:49
To select channels that you select, you can select between positive and negative logic.
13:54
Now, what are all these config registers?
13:57
Config blocks?
13:58
Where are these?
13:59
Well this is an advanced feature where you can assign variables to these if you choose and configure the flexible IO on the fly.
14:06
So as an OEM, if you want to be able to have different options for your customers that run the same Cscape program, you could change your IO configuration on the fly.
14:16
There we go, on the flexible input side of things, on the analogue output side of things we have got 4 milliamp based analogue outputs, we have got 4 0 to 10 volts based outputs on the milliamp side.
14:30
You can disable each individual output if you choose.
14:34
If you choose selected between 0 to 20 or 4 to 20, also select the scaling on the output side of things, then on the voltage side of things you can either disable them or leave them at 0, 10 volts.
14:47
All these can be set on a channel by channel basis and in terms of holding last state if the controller goes into stop mode.
14:54
This is where you can decide do you want to have it freeze as its current value or go into minimum value or go to the maximum value or go to the median or middle value.
15:04
In the case of 0 to 20 mA that would 10 milliamps but generally we select minimum 4 to 20 for our input ranges and 0 to 32 ,000 for our data ranges for voltage we do the same thing 0 to 32 ,000 0 to 10 volts and minimum but again these are all set double channel by channel and once again you can set them on deploy if you prefer we have not finished yet let’s go back into the edit IO here and Since we have IO added, we want to add a status block.
15:37
What is a status block?
15:39
Well, this is a 10 consecutive integer.
15:41
It is a variable that we are going to assign here, 10 consecutive integers, which is going to allow us to see the status of the IO.
15:49
So in this case, we could do something like, ocsiostatus, and we can hit the config button here and set that for a dimension of 10.
15:58
That is how many words we have here, and we have got that configured.
16:01
and then the default for where your OCSIO expansion starts in terms of addresses, leave it at the default. You can change that if you want but there is no reason to do so.
16:12
We have added our status register.
16:14
Now let’s go in and take a look at how to configure the OCSIO modules. Now this is the standard configuration you would do on any OCSIO module.
16:24
Again this is ADU module we have here which is a universal analog input 16-bit.
16:31
We can set things like filtering, we can set the range which you can see this is a flexible module and we can set the scaling if we choose and you can change the configuration on the fly and then you can also change how often this is scanned, how often we are going to take an update from this so that is the ADU. We have also got DAC here and a relay module as well.
16:54
Now if want to see specifically where the IO addresses start for each of these three modules we can go into more info tab here and it will show us where our AI, AQ and Q variables start for each of these three modules.
17:10
Now remember these are zero base terms shown in this dialog so the way this is written here is zero based so if you’re going to use addresses it is percent AI 17 through 20 percent AQ25-28% and AQ32-48% so that is the hardware configuration for the CPUs.
17:32
Before we do our bench demo lets go through with you another useful piece of information when you are starting with a new controller from Horner and that is what is the IOMAP that is used with that particular controller.
17:45
We are going to have these up on the screen here for you.
17:48
All this information is available in our user’s manuals for new CPUs.
17:53
The I.O. that is built in all starts with I1, Q1, AI1 and AQ1.
17:58
This table shows you how it is allocated and then when you start adding Expansion I.O.
18:04
there are the starting I.O. registers for Expansion I.O.
18:07
They are at the bottom of the screen.
18:09
When you are using the high-speed counter that is built into the CPUs here is the I.O. map for that functionality.
18:16
You can see there is a different IOMAP whether you are using totalization, frequency or pulse versus quadrature.
18:23
Now if you are using high speed outputs there are a couple different ways you can use them.
18:28
One is as a PWM, we have got the memory map shown here on the right for that and then on the left there is a stepper functionality.
18:36
Now when you add OCSIO you have to add that status register so you can get the status details.
18:42
And here is the details on what the status information gives you.
18:46
Let’s take a look at how we are exercising our CPU 250 today.
18:51
We are going to use our IO Stimulator.
18:53
We have got loads of ways of stimulating IO from digital inputs to digital outputs.
18:59
To encode our signals, we can stimulate analog input signals. We can stimulate RTD signals.
19:05
There are a million ways to connect this.
19:07
First of all, the first four inputs, as we have mentioned before are capable of high speed signals.
19:14
So what we have done is we have connected the encoder to inputs 1 and 2 here so inputs 1 or 2 are configured for high speed and this is a quadrature based encoder and then we have got 8 physical input switches which we have wired to inputs 3 through 10. Those are set for just physical inputs.
19:35
Now starting at input Number nine, we have eight consecutive flexible inputs.
19:39
We have configured the first two flexible inputs, just like the standard DC inputs.
19:45
To connect here is our digital input signal.
19:48
These last two digital input signals, which are these light switches here, and then the next two of the eight, input three and four of the eight flexible inputs, we have set for four to 20 milliamp input.
20:00
So those are inputs 11 and 12, and they are flexible.
20:04
So they are configured for 4 to 20 milliamps.
20:08
Now let’s go to the output side.
20:10
Now our first two digital outputs can be usable for high speed.
20:14
We have configured them for high speed and we can see the status for those high speed signals here which are currently off.
20:21
Now the next six digital outputs are those outputs 3 through 8.
20:26
Those are configured as standard DC outputs.
20:29
Now we do have the ability here to add a couple of these test leads.
20:33
from our multimeter for testing milliamp outputs.
20:37
If we had wanted to connect up maybe the milliamp one output here we could have done that.
20:43
We do not have any analog output testing happening here and then the signals for the RTD pot those are connected here to our first expansion module which is our 4 channel ADU100 which is a universal 16-bit analog in which can support RTDs and thermocouples in addition to standard 4 to 20 mA, 0 to 10 volts.
21:06
So we have got channel 1 here of our RTD POS set for RTD signals here on the ADU100 and we have got a recent pattern of LEDs 3 through 8 which you can see here that is in our program.
21:20
You can also see that we do have LED indications on the terminal strip so you can see that working.
21:26
Now on our high-speed outputs, what we have got that configured for is if we flip switch number one then our high-speed outputs turns on and we have got that set for a frequency of 5 Hertz, just something that we can easily see on the bench and we have done the same thing on switch number two.
21:44
So if we flip the switch number two up we have got our logic program to turn on a PWM signal at 5 Hertz on the second high-speed output.
21:54
So to exercise the encoder and analog inputs along with the RTD we turn to the data watch we have got variables that are tied to all those inputs here on the screen let’s start with the encoder position so that has a value of zero if we turn the encoder wheel on the stimulator you can see that came to off on the first of the two milliamp pots we will go ahead and increase the signal here we have got that configured from zero to a thousand scaling approximately and then the third one we will go ahead and start moving that down on the milliamp input and then on the RTD we are going to go ahead and slightly turn that pot here.
22:33
On the downside will cause our temperature to go up here and in reverse if we move the pot in clockwise direction you can see our temperature going down so on the IO stimulator the potentiometer has an inverse relationship with the temperature value here that is exercising the IO that we have on our bench.
22:52
Let’s go ahead take a look at how we configured the IO.
22:55
Now that we have exercised it we are going to go to the hardware config and go to the local IO tab and then here are our four normal IO configuration buttons for the built-in IO. Let’s take a look at how we have got the inputs configured.
23:10
Positive logic for everything.
23:12
Quaternary on the first two inputs one leads to the count up is what we have configured that for that is the digital input.
23:19
On the output side we do have the first two outputs Here is where we have configured those for high speed.
23:25
On the flexible inputs, the first two inputs are set for digital 24V range and the next two were set for analog.
23:32
So these are the two connected to the last two switches which is 7 and 8.
23:38
These are the two selected to the 2mA pots on our IO stimulator.
23:42
We did the scale from 0 to 1000 on the analog input side.
23:46
We did not do anything on the analog output side.
23:49
Now let’s go take a look at how we have configured this ADU 100 and the other modules.
23:55
So we will double click here and you can see here that we have disabled all the channels except for the first one which we have set for RTD PT 100 degrees C temperature range.
24:08
Our data is now coming back in 10 degrees Celsius increments and we have configured that at the default of updating readings every 100 milliseconds and then everything else default.
24:20
We did not do anything with the analog output configuration or the relay configuration so that is the IO configuration that we have here on our demo.
24:29
Just throwing you through the logic real quick just to show you what is happening here. This is some logic for creating recent LEDs.
24:37
This is the logic that turns on and off our five parts output.
24:41
We have a variable for duty cycle and another one for frequency.
24:45
Duty cycle is scaled for 32 ,000 so for both of the two PWM we have it set for 50% so 16 ,000 of the 32 ,000 which is the scale means a 50% duty cycle and then the frequency variable is where we set our frequency we vary between zero or five hertz depending on the position of the switch and we have the appropriate analog output registers tied to these particular variables let’s take a quick look at those now let’s go to the Program Variables here, here is our program variables and if we go to our global variables and we go down and take a look at our duty cycle and frequency for our two PWM you can see those are tied to AQ 13, 15, 17 and 19 as double integers because those are the controlled registers for PWM on the RTD input side.
25:40
we are just reading in the value from the ADU100 that first channeled there as a raw input and doing some scaling on it.
25:48
We have an additional relay exercising that we are using for our relay outputs that are tied to the relay module that is connected there on the bench.
25:57
Now let’s take a look at the high-speed counter variables because when we go to the data watch we have an encoder position variable.
26:04
Let’s take a look at that so we will go back to the program variable window and we will find the encoder position variable which we have found here and that one is tied to the accumulator of high-speed counter number one which is AI9 is the analog input register here so we have tied that to a double integer value over to the encoder position variable.
26:26
That concludes our webinar for today thank you so much for listening and the Q &A session will shortly.
26:39
Okay so we’re going to continue on with the micromodular controller next week where we use the CPU 250 with stepper motors so that registration link is up if you’d like to partake in that but if you would like to go back and re-watch this video we will have it uploaded to the website as usual.
26:59
I don’t see any questions on this so I think we can leave it there for today.
27:04
Thank you for joining us and I will see you next time.







