Introduction to the Selec Selpro Software

In this article, I will give a basic overview of the Selec Selpro software’s setup and its ladder logic elements. This article will focus only on the basics of the Selpro software and its elements, with more information about the Selpro software functions to be provided in future articles.

Selec Selpro Software

The Selec Selpro software uses ladder logic as its IEC 61131-3 standard PLC programing language. The Selpro software does not use all the IEC 61131-3 data types for its variables, but the data types it uses do follow the IEC 61131-3 standards. The Selpro software also contains a variety of function blocks that allow it to complete different types of tasks. These function blocks include things such as timer blocks, mathematics blocks, a PID control block, and data converter blocks to name a few.

Software Setup.

To set up the Selpro software for programming the PLC, you will first need to download and install the software**, which** you can find on Selec’s website. Once you have finished downloading the software, open the Selpro software and it will display Figure 1. On this screen, you can click the ‘New Project’ icon or select ‘New’ under the ‘File’ dropdown menu at the top. This will bring up a popup window labeled ‘New Project,’ where you can select the PLC for your project.

Figure 1: The main screen for Selec Selpro

In Figure 2, I have selected the MIBRX-2M-1-0-0-24VDC PLC with the MIBRX-DSP-2M-7-1-04-A HMI for this project. The ‘New Project’ window is where you name the project and select where you want it stored on your computer.

Figure 2
Figure 2: The ‘New Project’ Screen

Once you click ‘Next,’ it will bring up the ‘Project Information’ screen that will have information about your project, and this is also where you will find the hardware model for your PLC.

Figure 3
Figure 3: ‘Project Information’ screen

You will also need to add the module cards to the project in the ‘Project Information’ pop-up, and this is done in the ‘Card Selection’ tab (shown in Figure 4) of the ‘Project Information’ window. To select the module, simply click the module slot and select the card that you have placed in the slot. I have set this up so that my inputs will all be at the top of the DIN rail and my output card is at the bottom of the DIN rail.

Figure 4
Figure 4: ‘Card Selection’ tab with expansion cards selected.

After selecting the expansion cards, click the ‘Finish’ button, and it will bring you to the ladder diagram screen of your project. If you have done everything right, your screen will look like Figure 5, and I will talk about some of the basics of the Selpro programming variables and some basic ladder logic setups.

Figure 5: main page after finishing setting up the project, a blank ladder logic program.

Ladder Logic Symbols

In this section, I will go over some of the different symbols you will need to use to build programs in the Selpro software. The Selpro software does not have prebuilt ladder rungs, so you will have to build the rungs yourself as you need them. Along with building the rungs, you will need symbols for your inputs and outputs. I will cover all of these symbols and how they work in the Selpro software. There are also function blocks in the Selpro software that perform different tasks, and I will cover those function blocks in future articles as I use them.

Ladder Elements

In Selpro, there are four different lines you can use to build your rungs: they are the horizontal ‘- ‘line, vertical ‘|’ line, a horizontal jumper, and a vertical jumper. These lines are used to connect different ladder logic variables and symbols together to make a working project. How you lay out your ladder elements is very important since the program will read from left to right top to bottom. It is best to keep the ladder as simple as possible so that there will be less of a chance for errors in the program. There are three different ways to insert these lines: you can use the insert menu at the top and select the ladder rungs under basic elements, you can place them using the bar at the top of the ladder diagram, or by using the keyboard shortcuts.

Horizontal Jumper and Vertical Jumper Symbols

Normally Open (NO)

A NO contact is represented by a set of open lines | | and is used as an input in ladder logic. The NO contact uses a binary input to activate and deactivate the contact. When the NO contact is activated, it closes the contact and allows the circuit to continue to the next variable on that rung. You can also think of the NO contact as a button, when you push the button a light turns on and when you release the button the light turns off.

NO Contact

Normally Closed (NC)

An NC contact is represented by a set of lines with a slash in the middle |/| and is used as an input for ladder logic. The NC contact works opposite to the NO contact, where it is activated until it receives a signal, which opens the contact, stopping the program. You can also think of the NC contact as a button, when you push the button a light turns off and when you release the button the light turns back on.

NC Contact


On the other end of a ladder rung is a coil, which is represented by a set of parentheses (). These coils are used as an output variable that sends a signal out to a load. These coils must be activated by an input from the other side of the ladder, and if that input is active, the coil will be activated. If the input is deactivated, then the coil will also be deactivated since it can only be activated by the input.


Set/Reset Coil

The other type of coils are called the set and reset coils, which must be used in tandem with each other in order for them to work. The set/reset coils are shown as a set of coils with an ‘S’ in the middle for set (S) and an ‘R’ for reset (R). The set coil, as its name states, is activated by an input and the coil stays active even when the input is turned off. The reset coil is used to deactivate the set coil, but it only works if the input on the reset coil is on and the input on the set coil is off. These coils are very useful when you want to keep an output active until a specific input has been triggered or a certain amount of time has passed.

The Set/Reset coils working when inputs are turned on

Assigning Variables

Once you have placed your contacts and coils, you will need to assign a variable to them in order for them to function. To do this, you will click on the red dot on the left side of your element that you want to assign. This will bring up a popup window called ‘Select Variable’ that will have created a global variable and the correct data type for your element. If you have already written a variable that you would like to use, you can select it from the drop-down menu labeled ‘Select Variable’.

If you do not have a variable that is already made, and you do not want to use the default that comes up on the popup window, you can create it in that window. The steps you will need to follow are select the scope of the variable, name your variable, select the data type, and if needed, you can set the initial value of the variable.

The last way to choose a variable is by selecting one of the IO pins on the PLC, which can be done in the same drop-down menu as the pre-built variables that you have written. Once everything is done, you can click OK, and it will assign that variable to the element that you have selected.

Variable Screen
Select Variable Screen in Selpro

You may notice that the way Selpro brings up its default variable names is following a form of Hungarian notation. How Hungarian notation works is if the variable is a global variable it will start with a capital G whereas a local variable will start with a lower-case letter that matches it data type. Something to keep in mind is if you use a single variable for multiple elements, and you change the information for the variable, the program will automatically change it for the rest of the elements that variable is using. For example, if you have a variable labeled GVar listed in three spots, and you change it in one to read GxVar, then the other two will change to that name as well.


For this article, I have covered the very basics of installing, setting up, and using the Selec Selpro software. In future articles, I will cover more about different ladder logic gates, and function blocks, how to program an HMI, and how to download programs into the Selec PLCs. I will also be creating simple programs in future articles to show what the Selpro software can do and how it translates into real-world applications. Please feel free to leave any comments, feedback, or questions.

About this author

Anthony Fish is a passionate and skilled technician with five years of experience in the electronics industry. He graduated from Northland Community & Technical College with a degree in electronics technology and automation systems. Fish is currently working as an electronics technician at DigiKey, with a focus on automated and industrial control systems. He enjoys the challenge of answering your technical question via phone, chat, or this forum.