Russian readme is here.
Program ptusa_main
directly controls technological process.
- General system architecture
- Common description
- How to build the project
- Using PLCnext Technology C++ Toolchain in Windows
- How to run a project
General system architecture of the automated process control system (APCS) is shown below:
Controller logic implemented by Lua-script. At runtime, control is passed through special Lua functions that are responsible for the various stages of the control program.
- Execution of the technological process:
%%{ init: {'theme': 'neutral'} }%%
flowchart TD
A([<b>2 Process execution</b>]) --- B[/<p style='width:150px'> For each unit\]
B --- C[[3 Execution of the unit <br/> procedure]]
C --- D[\<p style='width:150px'> Next unit/]
D --- E([End])
%%{ init: {'theme': 'neutral'} }%%
flowchart TD
A([<b>3 Execution <br/> of the unit procedure</b>]) --- B[/<p style='width:150px'> For each operation\]
B --- C[[<p style='width:150px'>4 Execution <br/> of the operation]]
C --- D[\<p style='width:150px'> Next operation/]
D --- E([End])
%%{ init: {'theme': 'neutral'} }%%
flowchart TD
A([<b>5 Execution of the steps</b>]) --- A1[[6 Execution of the <br/> main step]]
A1 --- B[/<p style='width:150px'> For each extra step\]
B --- C[[6 Execution of the step]]
C --- D[\<p style='width:150px'> Next extra step/]
D --- E([End])
%%{ init: {'theme': 'neutral'} }%%
flowchart TD
A([<b>6 Execution of the step</b>]) --- B[/<p style='width:150px'> For each step\]
B --- C[[7 Execution of the action]]
C --- D[\<p style='width:150px'> Next action/]
D --- E([End])
%%{ init: {'theme': 'neutral'} }%%
flowchart TD
A([<b>7 Execution of the action</b>]) --- B(<p style='width:150px'>Action logic)
B --- E([End])
- When operation is turned on (off) happens next:
- During the execution of command happens next:
You could clone repository by next command:
git clone --recurse-submodules https://github.com/savushkin-r-d/ptusa_main.git
or, if you are cloned without initializing and updating submodules, try next:
git submodules update --init --recursive
Requirements:
- Qt Creator
You could open file CMakeLists.txt cloned repository in Qt.
Or clone repository in Qt: New -> Import Project -> Git Clone specify the repository link and check the box Recursive
- Microsoft Visual Studio Community 2022
Before starting the project, you need to make sure that you have installed C++ CMake tools for Windows. C++ CMake tools for Windows are installed using:
Visual Studio Installer -> Development of classic applications in C++ -> C++ CMake tools for Windows
Detailed installation information can be obtained here. The CMake version required for the build is 3.13 and above.
You should open (in Visual Studio) root directory. This you get a CMake based project.
If an error occurs after startup, then you should clear the CMake cache Project -> Delete cache and perform reconfiguration
.
Eclipse IDE with CMake based project on Linux.
Download the latest versions from the Phoenix Contact website (for example, from the AXC F 2152 area) PLCnext Technology C++ toolchain for Windows
(current is 2023.0 LTS) and sdk for Windows 64 bit
(current is 2022.0.4 LTS), in the section Downloads->Software
Navigate to the folder where downloads are located (typical path %userprofile%/Downloads
), unzip the archive (SDK_2021.9_Windows_AXC_F_2152.tar.xz.zip
).
Navigate to the folder where downloads are previously unzipped, Call the CLI in the console using the following command:
plcncli.exe install sdk –d [installation path] –p [path to archive file]
If you install several SDKs, Phoenix Contact recommends to use the "target name/firmware version" folder structure.
Also your installation path must match with path in CMake.
E.g.:
plcncli.exe install sdk -d C:\CLI\sdks\AXCF2152\2022_0\ -p pxc-glibc-x86_64-mingw32-axcf2152-image-mingw-cortexa9t2hf-neon-axcf2152-toolchain-2022.0.tar.xz
The SDK is specified to the controller. The full list of controllers can be found on the PHOENIX CONTACT International site (Home > Products > PLCs and I/O systems > PLCnext Control > Product list PLCnext Technology components).
To run demo project you should use this command line:
- After building and deploying
windows-default
cmake-configuration:
bin\install\windows-default\Release\ptusa_main.exe ^
--path demo_projects/T1-PLCnext-Demo/ ^
--sys_path demo_projects/T1-PLCnext-Demo/sys/ ^
--debug ^
demo_projects/T1-PLCnext-Demo/main.plua
- Launching a project in Microsoft Visual Studio Community 2022:
Select a launch item -> ptusa_main.exe
.