Working with Eclipse
This section describes the general approach to C++ programming with Eclipse® IDE.
Creating a C++ project from a iCube Engineer Toolchain template
-
In Eclipse®, open the
File
→
New
→
Project...
menu.
The New Project window opens. -
Select the
iCube Engineer C++ Project
wizard from the selection list and confirm your selection with
Next.
The C++ Project window opens. - Enter a project name in the Project name input field.
- For this example select iCube Engineer C++ Project
-
In the
Toolchains
area, select the
iCube Engineer C++ Toolchain
entry and confirm with Next.
-
Enter a name for the program and component in the corresponding input fields
-
Select the controller and firmware version for the project.
- Finish the wizard and start creating the program.
Changing the settings later
You can change the above described settings after the project has been created:- Open the Project → Properties menu.
- Select the iCube Engineer Targets option.
- Remove controllers or add new controllers and their firmware version.
- Click the Finish button.
Creating a C++ program
To create a C++ program which can be imported as a library into iCube Engineer, you must first prepare a new project in accordance with the description above.The new project has a defined structure in which the C++ program is created, as shown in this example:
To create a program, proceed as follows:
- Open the *.cpp source file.
-
Program the code to be executed during each ESM task cycle in the
Execute()
function (search for this comment:
//TODO implement program).
After instantiation of a program, the assigned ESM task calls the Execute() function of the program instance in each cycle.
Adding or removing components and programs
Adding a component
- Right click on the project.
-
Select
New
→
iCube Engineer C++ Component.
- Give the component a name. The namespace is by default the project namespace.
-
Assign the component to a project and click
Finish.
Adding a program
- Right click on the project.
-
Select
New
→
iCube Engineer C++ Program.
- Give the program a name. The namespace is by default the project namespace.
- Assign the program to a project and select a parent component.
-
Click
Finish
and you will get the program source and header file.
Removing a component
Removing a C++ component from your project requires three steps exactly in this order:
- Deleting the component itself
- Reassigning all programs of the deleted component
- Deleting all intermediate files of the deleted component
Now go ahead:
-
Delete the corresponding source and header file of your component.
-
Delete all programs assigned to this component or reassign them to another existing component.
To reassign a program, open the header file of the program and change the references to the component that owns this program. Use the Find/Replace function of Eclipse and search and replace all references by the new component name. -
Remove all intermediate files from previous builds.
For this simply right click on your project and select Clean Project.
Removing a program
- To remove a program simply delete the corresponding source and header file.
-
Select the two files, right click on them and choose delete in the menu.
Compiling the project
Prerequisites
- In Eclipse®, open the Window → Preferences menu.
- Select General → Workspace → Build.
- Enable the Save automatically before build checkbox.
- Make this setting separately for each workspace.
Procedure
- Switch to the Project Explorer to compile the project.
-
Right-click to open the context menu for the project folder
(in the example: FirstProject1). - In the context menu, click on the Build Project.
If compilation was successful, a shared object (*.so) file for each target is generated. Otherwise, refer to the error and warning messages for remedy.
Using a C++ program with iCube Engineer
To be able to use your C++ program in iCube Engineer, you need it compiled into a *.pcwlx library for use with iCube Engineer. The LibraryBuilder (which is part of the C++ toolchain installed by PLCnext CLI) automatically generates the library within the process of compilation. The file is located in the project folder, e.g. C:/Users//workspace/FirstProject/Bin .- Import the library into your iCube Engineer project.
- Assign the C++ program to a task.