0:05
Good morning everyone thank you for joining us on this webinar on getting started with Cscape 10 and Micro OCS.
0:11
It’s a small bit longer than some of our previous, we’re coming in about 27 minutes for this presentation but if you have any questions at any point you can put them in the question window and we can get to them at the end. Hello and welcome to today’s webinar.
0:26
Today we’ll be looking at how to get started with Cscape 10 and Micro OCS.
0:31
We will start with Cscape and micro OCS. Let’s look at our agenda for today.
0:36
We’re going to start with a quick introduction to micro OCS all-in-one controller from Horner and then we’re going to dive right into setting up Cscape 10 all-in-one software making a connection between your computer and micro OCS and then we will go into configuring the hardware, programming logic, configuring the screens.
0:55
There will be demonstrations throughout and we will finish with the Q &A session.
0:58
Let’s take a look at the two primary product lines of all-in-one controllers from Horner.
1:03
Now we have more than this, but we are going to focus for the next two weeks on the Micro OCS series, which we will be covering today, and Canvas, which we will be covering next week.
1:13
All of these product lines are an all-in-one controller with PLC and a built-in HMI.
1:19
The Micro OCS is ideal for simple applications, and Canvas also features advanced graphics, some built-in IIoT protocols, and really just more memory more speed. So those are two product lines we’ll be focusing on for the next two weeks.
1:34
Let’s start with Micro OCS.
1:36
The Micro OCS is available in color touchscreen, models in sizes of 4.3 inches, 7 inches and 10.1 inches and you can configure more than 200 user screens for each of these models. All of these models as an all-in-one controller features a built-in PLC.
1:54
You can program this PLC from a logic standpoint using either advanced ladder logic or you can use the full IEC 61131 programming languages if that is your preference.
2:06
They are both available in same all-in-one software as well for free from Horner.
2:11
In addition to the three color touchscreen models we also offer a nomochrome model that is the key base that is called X2Now.
2:20
In addition the built-in touchscreen with HMI capability and the built-in PLC with logic capability. You have also got the built IO.
2:29
You can order the micro OCS in addition to the different screen size.
2:33
You can order either a model A option for IO or a model R option for IO and both of these options are almost identical.
2:42
The only difference is in the outputs and that are provided with each the two models.
2:48
All models A and R include 12 DC inputs four of which are for high speed for things like totalizing high speed counting or quadrature type inputs.
2:58
For instance the model A features is 12 solid state DC outputs which is good for high speed signals like PWM type signals for instance and then if you choose the model R you will get six relay outputs as your primary outputs and two lower power, high speed, solid state outputs.
3:18
Now the model A and R both feature analog inputs and analog outputs.
3:23
Four on the input side and two on the output side.
3:27
They are primarily 4 to 20 milliamp, although the touchscreen models also support RTD sensors on the analog inputs with the limited range of minus 50 to plus 200 C.
3:39
Now let’s demonstrate how to set up Cscape 10 so you can connect program screens, logic and everything needed for your control application.
3:48
First, ensure you have downloaded Cscape 10 from the Horner website.
3:52
If you using or have an account, create one by filling out a simple form with your email and password.
3:58
These credentials will be used for all Horner related logins.
4:02
After logging in and downloading the installation package, install it on your computer.
4:06
When you open the software for the first time, it will prompt you to log in.
4:10
Enter the email and password you registered with on the Horner website.
4:15
Once logged in, we will begin by clicking on the seascape icon in the top left corner and navigating to Set.
4:21
The first thing to set up is the logic styles you want to use.
4:25
In the Setup section under Supporter Program Types, you will see three options.
4:29
At Horner we provide flexibility so you can select all three options or choose just one based on your preferences.
4:37
The first option is traditional advanced ladder which is register based requiring you to map every variable to a specific memory location.
4:46
This is the classic approach for programming.
4:48
The second option is advanced ladder with variable based addressing which simplifies things by allowing Cscape to automatically assign memory locations for most variables.
4:58
This is ideal for most projects since it reduces manual mapping except in special cases like variable tied to special IO points or network communication.
5:09
The third option is the IEC editor which supports in structured text sequential function charts and function block program as well as slightly different ladder logic for enhanced IEC capabilities.
5:23
You may explore those options later especially if working with campus controller.
5:28
For now make sure all three options are selected to keep your project options open.
5:33
Once settings are configured, create a new project, click the seascape icon again and select new control project.
5:41
You will see a list of program styles, that much what you enabled earlier.
5:46
Select advanced ladder with variable based addressing for this demonstration. The workspace or desktop will now load.
5:53
You can begin customizing layout. By default the layout may not be ideal for you.
5:59
On the home tab under view you can access different elements of the desktop such as project navigator, the project variable window and the project toolbox.
6:09
Arrange these elements based on your preference for instance you might place the project navigator on the left, the program variable window at the bottom and the project toolbox on the right.
6:20
To rearrange click and drag the top bar of each window to a new position.
6:25
As you move your mouse, placement options will appear and you can place the window into position.
6:31
You can also resize windows by dragging their edges.
6:34
If you prefer, you can leave windows floating instead of placing them into position.
6:39
For example, the program variable window could be moved to a second monitor if you’re using one.
6:44
This gives you more flexibility to arrange the workspace based on your setup and project needs.
6:50
Once the layout is arranged, it will remain the same for the next time you open Cscape.
6:55
If you change the layout during a session, those changes will be saved for your next login.
6:59
This ensures that your desktop always matches your preference or the setup you last used.
7:04
Now that Cscape is set up and ready to go, we are ready to establish a connection between our computer and our Micro OCS. And we have got two different options.
7:14
The first option that is available on the Micro OCS is USB.
7:18
So you can connect a standard USB cable which has a USB-A or maybe USB-C, whatever matches your computer on the computer side, a mini-B on the OCS side.
7:29
It is just a standard cable, that cable is the HE-PRG-MINI, that cable is a USB-A on one end and a USB-MINI-B on the other end.
7:40
The other option for the configuration is just use Ethernet and for that you just use a standard ethernet batch cable that is only on touchscreen models.
7:50
The entry-level X2 monochrome key-based model only supports USB.
7:55
The first method we are going to use to communicate between Cscape 10 on our computer and the Micro OCS is using USB.
8:03
The Micro OCS uses Mini-B USB connection, not to be confused with the USB-C or Micro-B, which are slimmer.
8:10
Locate the Mini-B USB port the back of your micro OCS and plug in the cable.
8:16
With physical connections established we need to set up the virtual connection between Cscape on our computer and the micro OCS.
8:24
Look at the lower right corner on the screen in Cscape.
8:27
Here you will notice that there is no active communication it shows local no coms.
8:33
The default address for the target controller or the one we are trying communicate with is 253 which is the default CAN.
8:42
This is the default CAN or the node address for an OCS.
8:46
To establish communication over USB go to the home menu in Cscape and click on connection wizard. This menu displays all the available connection options for Horner OCS.
8:56
Since we’re using USB, select the USB option and click next.
9:00
The wizard will detect the micro OCS connected to computer via a USB COM port.
9:06
If multiple COM ports are available on your computer you may need to select the correct one from the pull down list.
9:12
Once the correct USB COM port is displayed click finish.
9:16
In the lower right corner of seascape you should see local 253 target 253.
9:23
This indicates a successful connection or you may also notice an R indicating the controller is in run mode which is common if a demo program is running.
9:32
For users with a Mac laptop running Windows, for users with a Mac laptop running Windows through virtualization software like Parallels or VMware, the connection progress differs slightly.
9:44
Open the connection wizard but instead of selecting USB choose Serial.
9:49
Proceed with the wizard which will prompt you to select or identify the correct port.
9:54
If you do not know the port number click the I don’t know button.
9:58
The wizard will detect the device and provide the port number for example, port three, finish the setup and establish the connection.
10:06
The results will be the same, a successful connection to micro OCS.
10:11
Now let us demonstrate how to connect using ethernet.
10:14
First, connect an ethernet cable to the back of the micro OCS.
10:18
If your OCS displays a message such as no program, do not be alarmed.
10:23
This simply means there is no program currently loaded or the screen for display is not configured.
10:28
For first-time users, the factory demo program may still be active and you will not see this error.
10:35
With the Ethernet cable connected, we need to configure the OCS with the IP address that works with your local network.
10:42
Open the built-in system menu.
10:44
For units without a dedicated system button, tap the upper right corner of the screen to display the system menu button.
10:51
Select it, then choose Set Networks.
10:54
To configure the Ethernet connection, assign an IP address compatible with your local network.
11:00
The default IP address will be displayed, but it may need to be changed.
11:05
In our case, we need to modify the third and fourth octets.
11:09
First press Enter to make the field editable.
11:12
Then update the address change, the third octant to zero and set the fourth octant to 253.
11:19
The subnet mask is already set to a valid entry of 255.255.255.0.
11:27
For basic communications, the getaway configuration is not essential, so you can leave it as it is.
11:33
With these settings in place, we are ready to establish a connection over Ethernet.
11:37
Return to the connection wizard in Cscape, this time select the LAN option and click Next.
11:43
Configure the IP address to match the address set earlier in the OCS system menu.
11:50
192.168.0.253 and confirm by clicking finish.
11:55
Once this is done, look at the lower right corner of Cscape.
11:59
You should now see a confirmation of successful connection with local 253 and target 253 displayed.
12:05
Now that the connection is established, we can move on to the hardware configuration.
12:09
It is important to ensure that Cscape software recognizes the specific controller we are working with.
12:15
By default, when you start Cscape without being connected to the controller, it’s the default OCS controller.
12:22
If we had been physically connected to the micro OCS at the time of starting Cscape, it would have automatically detected and displayed the correct model.
12:30
To manually update the controller configuration, click Auto-Config in the lower right corner of the Hardware Configuration tab.
12:38
This will automatically populate the controller details to match the micro OCS we are communicating with.
12:44
Once the correct control is identified, it is a good idea to configure the LAN port.
12:50
This ensures the controller retains the IP address you want it to have for future communication.
12:56
Update the LAN configuration with the same IP address set earlier, 192.168.0.253.
13:04
If a getaway is required for internet access or internet interrogation, you can also configure it at this stage.
13:10
By programming the IP address into LAN settings, you can ensure it will persist after program downloads, avoiding accidental changes that could interrupt communication.
13:20
Next, we will configure the I.O. setting for the Micro OCS.
13:23
Open the Local I.O. tab, then click on Config and select Model Setup.
13:29
Here you can manage the input and output configuration of the controller.
13:33
For additional inputs, confirm the logic type.
13:35
For instance, if you are using a positive logic, 24 volt signals on the inputs pin will register as logical ones.
13:43
If high speed counting is required, it can be enabled here.
13:47
Though we will skip this feature for now, on the digital output side, you can configure high speed outputs or PWM outputs here if needed.
13:56
For this demonstration, we will leave the default settings for a model or controller, which includes six relay outputs and two solid state outputs.
14:04
You can set the outputs as either sourcing or syncing out and we will keep the defaults.
14:10
For the analog input side, we need to enable any of the four analog inputs that we want to use.
14:16
Suppose you want to use all four channels in 4 to 20 milliamp mode.
14:21
Configure this setting accordingly.
14:23
If you need to use an RTD-PT100 sensor on one of the channels, that can also be set here.
14:29
We will stick to 4 to 20 milliamps for all four inputs.
14:33
You can also configure the filtering level of the analog signals.
14:37
The filter constant ranges from 0 to 7, where 7 provides the most filtering for a steadier signal with slight lag, and 0 offers no filtering but allows for a quicker signal response.
14:49
For this demonstration, we will set the filter to 3.
14:52
And on the analog output side, we need to decide if we want to enable these or not in 4 to 20 mA mode or not.
14:59
We are going to go ahead and enable these.
15:01
Now that basic IO configuration is complete, we can proceed to program some simple ladder logic.
15:07
Let’s begin with the basic start stop circuit.
15:09
First open the logic editor in the main region which is visible under the main loop model section.
15:14
Select the normally open contact tool and place it in row A of the logic desktop.
15:19
This will serve as a starting point for our circuit.
15:22
Let’s just do a simple motor start stop.
15:24
We are going to create a variable called start push button.
15:28
When prompted, to create the variable, confirm by selecting Yes.
15:32
This variable will be tied to a specific input terminal on the OCS controller, where a physical push button is wired.
15:39
Leave the default data type as boolean, and under the mapping section, specify the input terminal.
15:45
This variable corresponds to four instances.
15:48
If it is connected to the first digital input, enter%i1.
15:52
The% sign indicates an address.
15:55
i indicates the digital input and won’t specify the first terminal.
15:59
If the button was wired to the third input, you would enter%i3 instead.
16:05
Confirm the setup and the variable will be mapped to the appropriate terminal.
16:09
The rung will automatically populate with the start push button as the first element.
16:14
Next, insert a normally closed contact to represent the stop push button.
16:19
Place it in the same line creating another variable on the fly.
16:22
Assign this variable to the appropriate input terminal, for example, percent i phi, for the 5th digital input.
16:29
To complete the circuit, define a variable for the motor output. Use a digital output for this purpose, which is represented by percent q in the Horner mapping scheme.
16:39
For instance, assign percent q i for the first digital output to ensure the circuit holds after the start button is pressed.
16:48
Add a parallel contact to the start push button.
16:52
If you need more space, you can click and drag the start push button further to the right.
16:57
If this action breaks the connection to the left power rail, right click the affected area and select new run.
17:02
To re-establish the connection, to create the parallel path, use the branch tool to draw a branch around the start push button, drop a normally open contact into this branch and assign it to the motor variable.
17:14
This action completes the salient circuit, allowing the motor to stay active even after the start push button is released.
17:21
It is worth noting that when working in column A of the logic editor, you should always draw the branches first before adding the parallel contact.
17:29
If the parallel contact is placed without the branches, it will start a new run instead of interrogating into the existing circuit.
17:36
Now let’s create a simple timer so that you can see how timers work quickly.
17:40
let us say we want to measure how long the motor is running.
17:44
We will use a normally open contact and place it in the second column this time.
17:48
It could be dropped in the first column but in this case it will again be on the motor contact because whenever the motor is running we want to time it.
17:57
Placing in second column means we must manually create a new run.
18:01
If it had been dropped in the first column the run would have been created automatically.
18:06
Next we will grab a timer from area and place it into our logic.
18:10
We need to assign a variable number for this timer so let us call it motor timer.
18:15
Let us set it to 100 milliseconds and assume we want to ask the power flow after 30 seconds.
18:20
That would equal to 310 ticks of 1 tenth of a second each. Then we hit OK.
18:26
Since we are defining everything on the fly messages will pop up indicating that these variables do not yet exist.
18:33
We do not need to create them in this case and we can leave everything else at the This timer is not mapped to any real world input, it is purely internal so we do not need to fill in the mapping.
18:44
Once the timer runs out, we want the coil to turn on.
18:47
We will drop that here and let us assign it a name.
18:50
Since it is not tied to any real time IO point, we will name it motor run 30 seconds.
18:56
The 30 second timeout could have been variable but in this case we made it fixed.
19:01
Because we are creating these variables on the fly, we do not need to map it.
19:05
Now we have some straightforward start stop logic along with another bit of logic that activates a coil after the motor has been running for 30 seconds.
19:14
Now let us create a screen to display some of this information or even allow us to start or stop the motor.
19:21
We will go into project navigator, expand the user interface section and right click under main screen to select new screen. Let us name it motor start.
19:30
Now a motor start tab will appear along with screen editing area, we want this area to fit entirely with within the window.
19:38
So we will zoom out a couple of times.
19:40
Now we see a screen editing area with a gray background and a grid for alignment.
19:46
Let us adjust the grid by right clicking on the background and selecting grid settings.
19:51
This will allow us to configure the primary grid made of large squares and the secondary grid made of dots in terms of pixel spacing for the X and the Y direction.
19:59
In this case we do not want to see or snap to the primary grid so we only use the secondary grid.
20:05
This adjustment will change the appearance slightly, note that only the grey background is visible on the screen, not the grid. Let us now add a flash light to indicate whether the motor is running.
20:16
From the project toolbox which now displays graphical objects instead of logic objects we will select the live graphic data and choose the lamp or indicator.
20:26
Dragging it onto the we will size it appropriately and link it to the motor’s running state.
20:32
By default, the indicator uses the light bulb sign.
20:35
To change this, we double-click it and update the default appearance from bulb to round, giving us a round pilot light, and give us the 3D binsel.
20:43
Now we need to tie the pilot light to a variable.
20:46
The variable will tie it to the motor.
20:48
We can either type in motor or select the arrow key and choose it from the list of variables.
20:53
Scrolling down, we find motor in the list.
20:55
Once located, we double click to select it.
20:58
Instead of using the default label lamp, let us configure the legend plate to display something more meaningful.
21:04
We will select it to motor.
21:05
From our color standpoint, when the motor is running, we will use bright green. When it is not running, we will use dark green.
21:12
After confirming these settings, we now have a legend plate at the top that says motor.
21:18
If we want the legend text to be larger, we can double click again, Navigate to the legend plate properties and adjust the font size under legend section. This allows us to customize the size of the text as needed.
21:32
Now we have the pilot light that turns on whenever the motor is running.
21:35
Next we will add a data field that displays how long the motor has been running.
21:41
This field will be tied to a timer accumulator of the motor run timer.
21:45
To do this we minimize the live graphic data section and open the live text data section.
21:51
Here we select a numerical data field which is generally more common than timer specific fields, we click and drag to size the numerical data field and then double click it to configure it. The first step is to tie it to a variable.
22:06
Since we are connected to a standard timer accumulator, we must specify whether the variable is a 16 bit or a 32 bit.
22:13
In this case it is a 16 bit variable.
22:16
We browse the variables list, locate the motor timer and expand it select the accumulator. The format of this data is unassigned decimals.
22:25
Since the timer counts from 0 to 300, representing 30.0 seconds in increments of 1 tenth of a second, we limit the display of 3 digits.
22:35
To enhance readability, we include a decimal point to display the time as tenth of a second.
22:40
For example, when the accumulator reaches 300, it will display 30.0 under the engineering units. We add an optional label S for seconds.
22:50
This field is not right enabled meaning users cannot modify the value. This data originates from the timer value.
22:57
We will label it elapsed runtime.
23:00
Next we will increase the font size of the data for better visibility. Adjustments can always be made after if needed.
23:08
The display will show elapsed runtime seconds. To make this stand out we will give the background a white color.
23:15
Now we have the motor run indicator and an elapsed run time displayed.
23:20
Next on the logic side we will create a start button to initiate the motor directly from a touch screen.
23:26
To do this we will return to the logic section by clicking the main tab.
23:30
In the start stop circuit we will add another parallel branch to start the motor.
23:34
Using the branching tool we will create branches and add another contact, naming it startTB for touch button.
23:41
The name can vary but for clarity we will use startTB.
23:45
Since this variable does not exist yet, we will create it.
23:48
However, because it is not tied to any real-time IO point, we do not need to map it.
23:53
To confirm the creation and now we have a contact, when activated we will start a motor.
23:59
Returning to the screen design, we will select touch objects and clicking and dragging will allow us to size the button appropriately. In this case, we will select a round button design.
24:09
The variable to tie The button is to start BT, which we just created.
24:14
Under indicator properties, we decide whether to display text such as start, stop, on or off.
24:20
For this example, we will opt not to include text.
24:24
Next, we configure button colors.
24:26
When the button is pressed and is active, it will display bright green.
24:30
When it is not pressed and inactive, it will display dark green.
24:34
After confirming these settings, we move to the legend place section where we assign the legend label it start.
24:41
To ensure clarity we increase the legend size before finalizing the configuration.
24:46
Now we have a functional start push button, a motor indicator light and then a last runtime indicator.
24:54
Adjustments can be made to the sizes of these elements if desired.
24:57
Finally we need to download this program to the controller.
25:01
First we verify communications then we press the download button using the smart load option ensures only changes are downloaded during the process.
25:12
A warning may appear, this occurs because the configuration is being done over Ethernet.
25:18
If the IP address in the hardware configuration is incorrect, communications could be lost midway through the download process due to the accidental change to the controller’s IP address.
25:28
We previously verified that the IP address is correct, so we can safely continue by selecting yes or continue, the download process will begin.
25:37
We will now allow the download process to complete.
25:41
One common mistake to avoid is failing to verify that the controller is in run mode after the download.
25:47
This can be checked in the lower right corner of the interface.
25:50
If the controller is not in run mode, the program will not execute.
25:54
If the controller was already in run mode before the download, it will automatically exit run mode, perform the and then return to run mode.
26:02
However if the controller was in stop mode or IDL mode prior to the download it would need to be manually started.
26:09
To start the controller press run button.
26:12
Once initiated you can verify that the controller is running by observing the status in the lower right corner.
26:19
Next we will test the system.
26:21
Returning to the setup we will confirm that everything operates as needed although we should have programmed the stop button on the screen for demonstration purposes.
26:31
The current configuration is sufficient since no physical start buttons are wired. Press the start button on the screen and the motor should begin running.
26:40
Additionally, the elapsed run timer will increment confirming that the program functions as expected.
26:46
Returning to the escape, navigate to the main tab where the logic reassigned.
26:50
Press the debug button to enter debug mode and view live logic activity.
26:55
The debug mode can be accessed via debug icon at the top of the interface or through the debug tab.
27:01
Once enabled, debug mode displays live logic activity.
27:04
Areas where power flow is present will be detected in red.
27:08
In this case, although the start push button is not being pressed, the motor circuit remains sealed, allowing the motor to run.
27:15
This process provides the overview of setting seascape, establishing connection, creating basic logic and incorporating a simple touchscreen interface.
27:23
That That concludes our webinar for today.
27:25
Thank you so much for listening and the Q &A session will begin shortly.
27:35
Okay, hopefully that was beneficial to you.
27:37
I know the Cscape 10 outlay is a bit different to what you may be used to.
27:42
So that was a good little walkthrough for a lot of the bits you’ll be using.
27:48
I’m not seeing any questions on it as yet.
27:52
So next week we are getting started with Cscape 10 in Canvas.
27:57so if you’d like to do that the links are up on the website again as usual okay yeah still nothing in so I think we’ll call it there thank you all very much and we’ll see you next week