diff --git a/.gitattributes b/.gitattributes index 53508c03e..34dd08ecd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,7 +17,7 @@ # # Merging from the command prompt will add diff markers to the files if there # are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following +# the diff markers are never inserted). Diff markers may cause the following # file extensions to fail to load in VS. An alternative would be to treat # these files as binary and thus will always conflict and require user # intervention with every merge. To do so, just uncomment the entries below @@ -46,9 +46,9 @@ ############################################################################### # diff behavior for common document formats -# +# # Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the +# is only available from the command line. Turn it on by uncommenting the # entries below. ############################################################################### #*.doc diff=astextplain @@ -72,4 +72,4 @@ #*.wixproj -text merge=union #*.modelproj -text merge=union #*.sqlproj -text merge=union -#*.wwaproj -text merge=union \ No newline at end of file +#*.wwaproj -text merge=union diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 3328f5f03..708fb358e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,7 +4,6 @@ about: Create a report to help us improve title: "[BUG]" labels: bug, question assignees: PTKu - --- **Describe the bug** @@ -12,6 +11,7 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -24,10 +24,11 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - - OS: [e.g. Microsoft Windows [Version 10.0.18363.1082]] - - Visual Studio version [e.g. Microsoft Visual Studio Professional 2019 Version 16.7.3] - - TwinCAT3 version [eg. 4024.10] - - Version [e.g. 22] + +- OS: [e.g. Microsoft Windows [Version 10.0.18363.1082]] +- Visual Studio version [e.g. Microsoft Visual Studio Professional 2019 Version 16.7.3] +- TwinCAT3 version [eg. 4024.10] +- Version [e.g. 22] **Additional context** Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/documentation_issue.md b/.github/ISSUE_TEMPLATE/documentation_issue.md index 6441fd664..61fa70b3f 100644 --- a/.github/ISSUE_TEMPLATE/documentation_issue.md +++ b/.github/ISSUE_TEMPLATE/documentation_issue.md @@ -4,7 +4,6 @@ about: Create a report to help us improve the documentation title: "[DOCUMENTATION]" labels: documentation assignees: TomKovac - --- **Describe the documentation issue** @@ -12,4 +11,3 @@ What are you missing in the documentantion, please be specific about topic or th **Provide links** Provide link to existing documentation where you would like to see changes or fixies. - diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 92c7bda62..79672b0de 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -3,8 +3,7 @@ name: Feature request about: Suggest an idea for this project title: "[NEW-FEATURE]" labels: feature-request -assignees: '' - +assignees: "" --- **Is your feature request related to a problem? Please describe.** diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 92bff7d61..8edf8487d 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -4,7 +4,6 @@ about: Ask question title: "[QUESTION]" labels: question assignees: PTKu - --- # State topic of your question diff --git a/.github/ISSUE_TEMPLATE/suggestion.md b/.github/ISSUE_TEMPLATE/suggestion.md index d7dd4dfa9..8070ad97f 100644 --- a/.github/ISSUE_TEMPLATE/suggestion.md +++ b/.github/ISSUE_TEMPLATE/suggestion.md @@ -2,9 +2,8 @@ name: Suggestion about: Suggest an idea for this project title: "[IDEA]" -labels: '' -assignees: '' - +labels: "" +assignees: "" --- **Is your suggestion related to a problem? Please describe.** diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md index 0720d9ee3..8d2dc4fdf 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -21,10 +21,11 @@ Please describe the tests that you ran to verify your changes. Provide instructi - [ ] Test B **Test Configuration**: -* Firmware version: -* Hardware: -* Toolchain: -* SDK: + +- Firmware version: +- Hardware: +- Toolchain: +- SDK: # Checklist: diff --git a/.github/issue-branch.yml b/.github/issue-branch.yml index 2c57abf67..6eb751e10 100644 --- a/.github/issue-branch.yml +++ b/.github/issue-branch.yml @@ -1,3 +1,3 @@ mode: chatops -branchName: '${issue.number}-${issue.title}' -openDraftPR: true \ No newline at end of file +branchName: "${issue.number}-${issue.title}" +openDraftPR: true diff --git a/.github/workflows/create_issue.yml b/.github/workflows/create_issue.yml index abda27a77..86cb33927 100644 --- a/.github/workflows/create_issue.yml +++ b/.github/workflows/create_issue.yml @@ -1,16 +1,16 @@ on: - issues: - types: [assigned] - issue_comment: - types: [created] - pull_request: - types: [closed] + issues: + types: [assigned] + issue_comment: + types: [created] + pull_request: + types: [closed] jobs: - create_issue_branch_job: - runs-on: ubuntu-latest - steps: - - name: Create Issue Branch - uses: robvanderleek/create-issue-branch@main - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + create_issue_branch_job: + runs-on: ubuntu-latest + steps: + - name: Create Issue Branch + uses: robvanderleek/create-issue-branch@main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/docu.yml b/.github/workflows/docu.yml index 39ae69a58..9ed7e3b3a 100644 --- a/.github/workflows/docu.yml +++ b/.github/workflows/docu.yml @@ -1,6 +1,6 @@ name: Documentation -on: +on: workflow_dispatch: jobs: build: @@ -20,19 +20,19 @@ jobs: path: docu/TcOpen.Documentation token: ${{ secrets.TC_OPEN_GROUP_USER_PAT }} ### - - name : Build TcOpen + - name: Build TcOpen run: | - cd docu/TcOpen - git fetch --unshallow - .\pipelines\runbuild.ps1 -properties @{"buildConfig" = "Release"; "updateAssemblyInfo" = $true} - cd ..\.. + cd docu/TcOpen + git fetch --unshallow + .\pipelines\runbuild.ps1 -properties @{"buildConfig" = "Release"; "updateAssemblyInfo" = $true} + cd ..\.. ### - - name : Build TcOpen.Documentation + - name: Build TcOpen.Documentation env: TC_OPEN_GROUP_USER_PAT: ${{ secrets.TC_OPEN_GROUP_USER_PAT }} run: | - cd docu/TcOpen.Documentation - dotnet build - git add -A - git commit -m "Automated update of documentation" - git push "https://token:$env:TC_OPEN_GROUP_USER_PAT@github.com/TcOpenGroup/TcOpen.Documentation.git" + cd docu/TcOpen.Documentation + dotnet build + git add -A + git commit -m "Automated update of documentation" + git push "https://token:$env:TC_OPEN_GROUP_USER_PAT@github.com/TcOpenGroup/TcOpen.Documentation.git" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d1288d40b..3e0c477ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,14 +1,14 @@ name: dev -on: +on: push: - branches : + branches: - dev - pull_request: + pull_request: paths: - - 'src/**' - - 'pipelines/**' - - '.github/**' + - "src/**" + - "pipelines/**" + - ".github/**" workflow_dispatch: jobs: build: @@ -16,18 +16,18 @@ jobs: timeout-minutes: 180 steps: - uses: actions/checkout@v2 - with : - path : '.' + with: + path: "." fetch-depth: 0 - name: Run Psake env: - _PK_PHOENY_ : ${{ secrets._PK_PHOENY_ }} - _TK_PHOENY_ : ${{ secrets._TK_PHOENY_ }} - _TW_PHOENY : ${{ secrets._TW_PHOENY }} - _TW_TOKEN_ : ${{ secrets._TW_TOKEN_ }} - _TW_USER_ : ${{ secrets._TW_USER_ }} + _PK_PHOENY_: ${{ secrets._PK_PHOENY_ }} + _TK_PHOENY_: ${{ secrets._TK_PHOENY_ }} + _TW_PHOENY: ${{ secrets._TW_PHOENY }} + _TW_TOKEN_: ${{ secrets._TW_TOKEN_ }} + _TW_USER_: ${{ secrets._TW_USER_ }} run: > - .\pipelines\runbuild.ps1 -properties + .\pipelines\runbuild.ps1 -properties @{ "buildConfig" = "Release"; "updateAssemblyInfo" = $true; @@ -35,13 +35,13 @@ jobs: "isTestingEnabled" = $true; "packNugets" = $false; } - - name : Create Tag - if : env.BuildNumber && success() && github.event_name != 'pull_request' - run : | + - name: Create Tag + if: env.BuildNumber && success() && github.event_name != 'pull_request' + run: | git config --global user.email "gh-action@tcopengroup.com" git config --global user.name "gh-action" $tag = "GH-${{github.run_id}}-${{env.BuildNumber}}" - git tag $tag + git tag $tag git push --tags continue-on-error: true - name: Test Report @@ -49,11 +49,11 @@ jobs: if: success() || failure() with: name: Test report - path: '**/TestResults/*.xml' + path: "**/TestResults/*.xml" reporter: dotnet-trx - name: Upload PLC libraries - uses: actions/upload-artifact@v2 - if: success() + uses: actions/upload-artifact@v2 + if: success() with: - name: plcLibs + name: plcLibs path: ${{ github.workspace }}\plcLibs\*.library diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 33d31b83e..466e0dc64 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1,11 +1,11 @@ name: nightly -on: - workflow_dispatch : - branches : +on: + workflow_dispatch: + branches: - dev schedule: - - cron: '0 0 * * *' + - cron: "0 0 * * *" jobs: build: @@ -13,18 +13,18 @@ jobs: timeout-minutes: 180 steps: - uses: actions/checkout@v2 - with : - path : '.' + with: + path: "." fetch-depth: 0 - name: Run Psake env: - _PK_PHOENY_ : ${{ secrets._PK_PHOENY_ }} - _TK_PHOENY_ : ${{ secrets._TK_PHOENY_ }} - _TW_PHOENY : ${{ secrets._TW_PHOENY }} - _TW_TOKEN_ : ${{ secrets._TW_TOKEN_ }} - _TW_USER_ : ${{ secrets._TW_USER_ }} + _PK_PHOENY_: ${{ secrets._PK_PHOENY_ }} + _TK_PHOENY_: ${{ secrets._TK_PHOENY_ }} + _TW_PHOENY: ${{ secrets._TW_PHOENY }} + _TW_TOKEN_: ${{ secrets._TW_TOKEN_ }} + _TW_USER_: ${{ secrets._TW_USER_ }} run: > - .\pipelines\runbuild.ps1 -properties + .\pipelines\runbuild.ps1 -properties @{ "buildConfig" = "Release"; "updateAssemblyInfo" = $true; @@ -32,13 +32,13 @@ jobs: "testingStrength" = 10; "packNugets" = $true; } - - name : Create Tag - if : env.BuildNumber && success() && github.event_name != 'pull_request' - run : | + - name: Create Tag + if: env.BuildNumber && success() && github.event_name != 'pull_request' + run: | git config --global user.email "gh-action@tcopengroup.com" git config --global user.name "gh-action" $tag = "GH-${{github.run_id}}-${{env.BuildNumber}}" - git tag $tag + git tag $tag git push --tags continue-on-error: true - name: Test Report @@ -46,22 +46,22 @@ jobs: if: success() || failure() with: name: Test report - path: '**/TestResults/*.xml' - reporter: dotnet-trx + path: "**/TestResults/*.xml" + reporter: dotnet-trx - name: Upload NuGets artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v2 if: success() with: name: nugets path: ${{ github.workspace }}/nugets/*.nupkg - name: Upload PLC libraries - uses: actions/upload-artifact@v2 - if: success() + uses: actions/upload-artifact@v2 + if: success() with: name: plcLibs - path: ${{ github.workspace }}\plcLibs\*.library + path: ${{ github.workspace }}\plcLibs\*.library - name: Cake-Draft-Release-OrgsNugets env: - TC_OPEN_GROUP_USER_PAT : ${{ secrets.TC_OPEN_GROUP_USER_PAT }} + TC_OPEN_GROUP_USER_PAT: ${{ secrets.TC_OPEN_GROUP_USER_PAT }} run: > - .\pipelines\release-to-gh.ps1 + .\pipelines\release-to-gh.ps1 diff --git a/.github/workflows/publish_packages.yml b/.github/workflows/publish_packages.yml index f7bebdab7..90dc1c80a 100644 --- a/.github/workflows/publish_packages.yml +++ b/.github/workflows/publish_packages.yml @@ -1,24 +1,24 @@ name: Publish -on: +on: workflow_dispatch: jobs: artifacts: runs-on: windows-latest timeout-minutes: 30 steps: - - name: Download artifacts - uses: dawidd6/action-download-artifact@v2 - with: - workflow: nightly.yml - workflow_conclusion: success - branch: dev - name: nugets - path: nugets - ### - - name : Remove TcProber - run : Get-ChildItem .\nugets -Filter "TcOpen.Tc.Prober.*" | Remove-Item - - name: Push NuGets - env: - NUGET_ORG_PAT: ${{ secrets.TCOOPENNUGETDOTORGPAT }} - run : dotnet nuget push "nugets\*.nupkg" -k ($env:NUGET_ORG_PAT) --skip-duplicate -s https://api.nuget.org/v3/index.json + - name: Download artifacts + uses: dawidd6/action-download-artifact@v2 + with: + workflow: nightly.yml + workflow_conclusion: success + branch: dev + name: nugets + path: nugets + ### + - name: Remove TcProber + run: Get-ChildItem .\nugets -Filter "TcOpen.Tc.Prober.*" | Remove-Item + - name: Push NuGets + env: + NUGET_ORG_PAT: ${{ secrets.TCOOPENNUGETDOTORGPAT }} + run: dotnet nuget push "nugets\*.nupkg" -k ($env:NUGET_ORG_PAT) --skip-duplicate -s https://api.nuget.org/v3/index.json diff --git a/.gitignore b/.gitignore index 1aadab1dc..2936f4f94 100644 --- a/.gitignore +++ b/.gitignore @@ -194,14 +194,14 @@ _Pvt_Extensions/ ModelManifest.xml .vs/ -# TwinCAT3 +# TwinCAT3 _Boot/ _CompileInfo/ _Libraries/ *.~u -*.tmc +*.tmc *.tmcRefac *.tmy *.tpy @@ -214,7 +214,7 @@ _Libraries/ *.xti.bak LineIDs.dbg -# Inxton.Vortex.Framework +# Inxton.Vortex.Framework _Vortex/ CompilerCache.md log.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..b299aeadb --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,64 @@ +exclude: '.*\.(resx|Designer.cs|xti|tcscopex)' +repos: + - repo: https://github.com/pcdshub/pre-commit-hooks.git + rev: v1.7.0 + hooks: + # Replace leading tabs with 4 spaces + - id: twincat-leading-tabs-remover + # remove TwinCAT line ID lines + - id: twincat-lineids-remover + # Use lxml to beautify TwinCAT xml files + - id: twincat-xml-format + # Check if all used libraries' version numbers are fixed + - id: check-fixed-library-versions + # Checks if the product version is saved in the TwinCAT source file. + - id: no-product-version + # Check if minimize id changes is selected in the plc project file. + # See https://www.youtube.com/watch?v=KKpBtaYjfWo&t=935s why to do this. + - id: minimize-id-changes + # Checks if TwinCAT versions match in different tsproj files, or if it matches the targeted one. + - id: check-twincat-versions + # Possible optional arguments + # --target-version: Set a version that you want the tsproj file to have + # --fix: Fix the version numbers if a target version is set + # --reason: Add a reason to the error message in case of a non-matching version. + # --pinned: Require the TwinCAT version to be pinned. Apply pinning if combined with --fix. + # --no-pinned: Require the TwinCAT version to not be pinned. Remove pinning if combined with --fix. + # uncomment and change to use the arguments + args: [--target-version=3.1.4024.55, --pinned, --fix] + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.5.0 # Use the ref you want to point at + hooks: + # Removes trailing white spaces + - id: trailing-whitespace + # Checks yaml files for parseable syntax + - id: check-yaml + - id: end-of-file-fixer + # These files are either edited in the IDE or auto generated. No point in adding a new line at the end. + exclude: '\.(TcPOU|TcDUT|TcTTO|TcGVL|TcGTLO|TcVMO|TcIO|TcVis|plcproj|tsproj|tcdmproj|tcdmdrv|tcmproj|xti|STweep)$' + # For this hook you need to have the Stweep.CLI installed and buy a license + # See https://www.stweep.com/stweep-cli-beta-releases/ + - repo: local + hooks: + - id: stweep + name: Format TwinCAT files with STweep + entry: python stweep_format.py --settingsFile=TcOpen.STweep + language: python + # All files need to be passed at once, or else the license activation/deactivation fails + require_serial: true + files: '.*\.(TcPOU|TcDUT|TcTTO|TcGVL)' + - repo: local + hooks: + - id: CSharpier + name: Format C# files + entry: dotnet csharpier + language: system + files: '.*\.(cs$)' + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v2.7.1 + hooks: + - id: prettier + exclude_types: ["svg"] + additional_dependencies: + - prettier@2.6.2 + - "@prettier/plugin-xml@0.12.0" diff --git a/CHANGELOG.md b/CHANGELOG.md index 5831706f2..c293d0c7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # This doument is not being maintaned!!! + # IMPORTANT from 0.7.0-alpha.863 we will maintain release logs in Releases [here](https://github.com/TcOpenGroup/TcOpen/releases) -# Please make sure you create commits with proper descripions and document your changes in respective PRs. +# Please make sure you create commits with proper descripions and document your changes in respective PRs. # v0.7.x @@ -11,10 +12,10 @@ Added posibility to provide authentication token via serial interface. Usage -~~~C# +```C# SecurityProvider.Get.AuthenticationService; authService.ExternalAuthorization = ExternalTokenAuthorization.CreateComReader("COM3"); -~~~ +``` ## TcoIo @@ -25,6 +26,7 @@ Added TcoIo library for details see [here](https://github.com/TcOpenGroup/TcOpen ## TcoCore ### Changes + - WPF Update MaterialDesign 4.4.0 - TcoTask now accesses the PLC data via cyclic or lastvalue instead of synchron due to performance degradation. - Clears sequencers cycle timer on `Restore` @@ -34,21 +36,21 @@ Added TcoIo library for details see [here](https://github.com/TcOpenGroup/TcOpen - WPF `ViewModelizer` simple mechanism to create ViewModel when required for the view, the call must be placed in the view like this: - ViewModelizer simple mechanism to create ViewModel when required for the view, the call must be placed in the view like this: -~~~ +``` protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == DataContextProperty) - { + { this.DataContext = this.DataContext.ViewModelizeDataContext(); } } -~~~ +``` ### Breaking -- `GetSignal` is now an FB the symbol is retrieved only when the pointer changes (performance issue) +- `GetSignal` is now an FB the symbol is retrieved only when the pointer changes (performance issue) ## TcOpen.Inxton.Local.Security @@ -68,42 +70,40 @@ protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) ## TcoCore -### TcoObject.FB_init +### TcoObject.FB_init **FB_init when object is in another FUNCTION_BLOCK** (**No change just reminder**) -~~~ +``` FUNCTION_BLOCK myFunctionBlock : EXTENDS TcoCore.TcoObject -VAR - myObject : SomeTcoObject(THIS^); -END_VAR -~~~ +VAR + myObject : SomeTcoObject(THIS^); +END_VAR +``` ### TcoStruct initialization `TcoStruct` has been added to allow structure and inner objects to access `TcoContext` and take advantage of the framework features. -~~~ +``` Data : ExampleInspectorsStruct := (Parent := THIS^); -~~~ +``` **IMPORTANT!!!** The compiler will not warn you about missing parent assignment. Missing parent assignment may result in invalid pointer/reference exceptions. **FB_init when object is in another STRUCTURE** -~~~ +``` TYPE MyStructure EXTENDS TcoCore.TcoStruct : STRUCT - // Before not possible + // Before not possible // Now myObject : TcoObject(THISSTRUCT); END_STRUCT END_TYPE -~~~ - - +``` ## Enchancements @@ -112,5 +112,5 @@ END_TYPE - [Dialogs](https://docs.tcopengroup.org/articles/TcOpenFramework/TcoCore/TcoDialogs.html) ### TcoInspectors -- [Introduction](https://docs.tcopengroup.org/articles/TcOpenFramework/TcoInspectors/Introduction.html) +- [Introduction](https://docs.tcopengroup.org/articles/TcOpenFramework/TcoInspectors/Introduction.html) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index e9a68166a..3015d175d 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,10 +1,10 @@ ## Code of Conduct -We do not adopt any document describing conduct at this point. +We do not adopt any document describing conduct at this point. However, there are a few straightforward rules to observe: 1. Treat others as you would like others to treat you. 1. Everyone is free to express ideas. 1. Truth is more important than kindness, but be kind. -1. Your contributions are under MIT license. +1. Your contributions are under MIT license. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6e3d6b0c2..5c9a6c30b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,10 +11,35 @@ When contributing to this repository, please first discuss the change you wish t - Additions or changes to the code should contain in-code documentation. - Addition or changes should contain tests. -## Code format +## Pre-Commit hooks + +Make sure you have python installed [download here](https://www.python.org/downloads/). + +Install pre-commit running the following line in you command prompt: + +``` +pip install pre-commit +``` + +Install `csharpier` by running the following line: + +``` +dotnet tool install -g csharpier +``` + +Make sure you have STweep installed [see bellow](#code-format). + +**Prior to publishing your code for rewiew please run** + +``` + pre-commit run --all-files +``` + +## Code format + TcOpen is powered by STweep for TwinCAT a source code formatter for Structured Text. -When contributing to TcOpen please use this set of settings for STweep: [TCOpen.zip](https://github.com/Barteling/TcOpen/files/6455049/TCOpen.zip) +When contributing to TcOpen please use the set of settings for STweep located in main directory of the repository `TCOpen.STweep`. STweep is free of charge for active contributers to this project. @@ -22,21 +47,20 @@ For requesting a license for STweep visit www.stweep.com/Opensource - ## Pull Request Process -1. Ensure any install or build dependencies are removed before the end of the layer when doing a +1. Ensure any install or build dependencies are removed before the end of the layer when doing a build. 1. Update the [CHANGELOG.md](CHANGELOG.md) with details about changes. 1. Pull requests will be reviewed and merged by repository maintainers. ## Code of Conduct -We do not adopt any document describing conduct at this point. +We do not adopt any document describing conduct at this point. However, there are a few straightforward rules to observe: 1. Treat others as you would like others to treat you. 1. Everyone is free to express ideas. 1. Truth is more important than kindness, but be kind. -1. Your contributions are under MIT license. \ No newline at end of file +1. Your contributions are under MIT license. diff --git a/GitVersion.yml b/GitVersion.yml index dff800970..0cff2d890 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -4,11 +4,11 @@ branches: main: regex: ^master$|^main$ mode: ContinuousDelivery - tag: '' + tag: "" increment: Patch prevent-increment-of-merged-branch-version: true track-merge-target: false - source-branches: [ 'develop', 'release' ] + source-branches: ["develop", "release"] tracks-release-branches: false is-release-branch: false is-mainline: true @@ -32,19 +32,19 @@ branches: increment: None prevent-increment-of-merged-branch-version: true track-merge-target: false - source-branches: [ 'develop', 'main', 'support', 'release' ] + source-branches: ["develop", "main", "support", "release"] tracks-release-branches: false is-release-branch: true is-mainline: false - pre-release-weight: 30000 + pre-release-weight: 30000 support: regex: ^support[/-] mode: ContinuousDelivery - tag: '' + tag: "" increment: Patch prevent-increment-of-merged-branch-version: true track-merge-target: false - source-branches: [ 'main' ] + source-branches: ["main"] tracks-release-branches: false is-release-branch: false is-mainline: true diff --git a/README.md b/README.md index ca533bd9f..e2098e13e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ [![nightly](https://github.com/TcOpenGroup/TcOpen/actions/workflows/nightly.yml/badge.svg)](https://github.com/TcOpenGroup/TcOpen/actions/workflows/nightly.yml) [![NuGet](https://img.shields.io/nuget/v/TcOpen.Group.svg?style=flat)](https://www.nuget.org/packages/TcOpen.Group/) - # TcOpen ## Introduction @@ -17,14 +16,13 @@ TcOpen aims to provide standard classes to start building any **real deployable application**. TcOpen happened to develop into an application framework that addresses several pains of PLC programming (coordination, composition, componentization, connecting to IT technologies). -The software in industrial automation developed historically on a very different trajectory than traditional software. We introduce modern software development practices to the PLC world so developers can shift from low-value work to high-value work. Open-source offers a solid ground upon which many can build and bring ideas from all over the world. +The software in industrial automation developed historically on a very different trajectory than traditional software. We introduce modern software development practices to the PLC world so developers can shift from low-value work to high-value work. Open-source offers a solid ground upon which many can build and bring ideas from all over the world. -TcOpen is an **object oriented** framework capitalizing on **OOP** extension as defined in [IEC 61131-3](https://webstore.iec.ch/publication/4552) **ST** (structured text) and implemented by CoDeSys and [TwinCAT3](https://www.beckhoff.com/en-us/products/automation/twincat/te1xxx-twincat-3-engineering/te1000.html). +TcOpen is an **object oriented** framework capitalizing on **OOP** extension as defined in [IEC 61131-3](https://webstore.iec.ch/publication/4552) **ST** (structured text) and implemented by CoDeSys and [TwinCAT3](https://www.beckhoff.com/en-us/products/automation/twincat/te1xxx-twincat-3-engineering/te1000.html). TwinCAT turns almost any compatible PC into a real-time controller with a multi-PLC system, NC axis control, programming environment, and operating station. TwinCAT replaces conventional PLC and NC/CNC, controllers. - - ## Features +## Features ### [Application framework](https://docs.tcopengroup.org/articles/TcOpenFramework/TcoCore/Introduction.html) @@ -46,15 +44,15 @@ TwinCAT turns almost any compatible PC into a real-time controller with a multi- ### [Data framework](https://docs.tcopengroup.org/articles/TcOpenFramework/TcoData/Introduction.html) -*Data framework requires inxton framework.* +_Data framework requires inxton framework._ - [CreateReadUpdateDelete (CRUD) operations directly from the plc](https://docs.tcopengroup.org/api/TcoData/PlcDocu.TcoData.TcoDataExchange.html) - [Generic interface for implementation of any repository](https://docs.tcopengroup.org/api/TcOpen.Inxton/TcOpen.Inxton.Abstractions/TcOpen.Inxton.Data.IRepository-1.html) -- TcOpen contains implementation for [MongoDB](https://docs.tcopengroup.org/api/TcoData/TcOpen.Inxton.Data.MongoDb.html), [Json](https://docs.tcopengroup.org/api/TcoData/TcOpen.Inxton.Data.Json.html), [InMemory](https://docs.tcopengroup.org/api/TcoData/TcOpen.Inxton.Data.InMemory.html) +- TcOpen contains implementation for [MongoDB](https://docs.tcopengroup.org/api/TcoData/TcOpen.Inxton.Data.MongoDb.html), [Json](https://docs.tcopengroup.org/api/TcoData/TcOpen.Inxton.Data.Json.html), [InMemory](https://docs.tcopengroup.org/api/TcoData/TcOpen.Inxton.Data.InMemory.html) ### [Inspectors](https://docs.tcopengroup.org/articles/TcOpenFramework/TcoInspectors/Introduction.html) -*Advanced handling of signal inspections* +_Advanced handling of signal inspections_ ![](https://user-images.githubusercontent.com/61538034/156205362-9e21f32f-5d3a-4790-9f28-b9ecd3fb346c.png) @@ -75,24 +73,22 @@ TwinCAT turns almost any compatible PC into a real-time controller with a multi- As you may notice, TcOpen is under development, and no stable version has been released yet. We expect the first release to see the light of the day in 2022. TcOpen aims to be a continuous development project in which we will be delivering small incremental features frequently. Substantial parts of the framework are being used by different companies and individuals at this time. - ## Maturity of the framework At this time we channel our efforts into the building and testing of the PLC libraries, WPF GUI and extensions based on the Inxton platform. You will also find Blazor based components in this repository. Blazor is considered to be experimental by both Inxton and TcOpen. So far the resources dedicated to the Blazor platform has been limited; however, we believe it to be the future of TcOpen UI in the long run. - ## The role of Inxton.Vortex.Framework (IVF) -IVF is a set of tools and libraries for creating industrial .NET applications based on the TwinCAT 3 platform. From Inxton v2 (that now being used in TcOpen) there no need for license registration as it was with previous versions, here is the license to honor when using inxton libraries +IVF is a set of tools and libraries for creating industrial .NET applications based on the TwinCAT 3 platform. From Inxton v2 (that now being used in TcOpen) there no need for license registration as it was with previous versions, here is the license to honor when using inxton libraries [Inxton license](https://docs.inxton.com/index.html#licencing). # Documentation -There is a separate documentation repository for this project [here](https://github.com/TcOpenGroup/TcOpen.Documentation). At this moment we use [docfx](https://github.com/dotnet/docfx) to generate documentation. The ```docfx``` uses IVF twin objects of PLC code to generate the API documentation. There is room for improvement in generated documentation; we do plan - in the course of the development of TcOpen - to improve that. +There is a separate documentation repository for this project [here](https://github.com/TcOpenGroup/TcOpen.Documentation). At this moment we use [docfx](https://github.com/dotnet/docfx) to generate documentation. The `docfx` uses IVF twin objects of PLC code to generate the API documentation. There is room for improvement in generated documentation; we do plan - in the course of the development of TcOpen - to improve that. ## Working with TcOpen -### If you just want to use TcOpen +### If you just want to use TcOpen If you want to use TcOpen in your application you may prefer using the libraries delivered as NuGet packages instead of this repository. Have a look at this [video playlist](https://www.youtube.com/playlist?list=PL-0IxLiTmB6IMKKtGn5bDb9e35CSZZaB7) where you can find more about the structure of the TcOpen application. @@ -100,24 +96,27 @@ If you want to use TcOpen in your application you may prefer using the libraries Details about contribution [here](CONTRIBUTING.md) ----------------------------------- +--- + #### Prerequisites + 1. [Visual Studio 2019 (at least Community Edition)](https://visualstudio.microsoft.com/vs/older-downloads/) v16.8.3+ English version (other language mutation may not work properly). 1. [TwinCAT 3.1 eXtended Automation Engineering (XAE)](https://www.beckhoff.com/english.asp?download/tc3-downloads.htm) TwinCAT 3.1 4024.17+ 1. [.NET Framework 4.8 developer pack](https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer) 1. [.NET6 developer pack](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) (6.0.5) 1. [Inxton Vortex Builder extension](https://marketplace.visualstudio.com/items?itemName=Inxton.InxtonVortexBuilderExtensionPre) ----------------------------------- + +--- **Clone this repository** -~~~bash +```bash git clone https://github.com/TcOpenGroup/TcOpen.git -~~~ +``` **Environment variables** -You should set up Windows environment variable ```Tc3Target``` with the value of AMS ID of your testing target system. +You should set up Windows environment variable `Tc3Target` with the value of AMS ID of your testing target system. ![Environment](assets/pics/environment.png) @@ -126,7 +125,8 @@ You should set up Windows environment variable ```Tc3Target``` with the value of ### BEFORE RUNNING THE SCRIPT MAKE SURE ALL INSTANCES OF VISUAL STUDIO ARE CLOSED. THE SCRIPT WILL OPEN VS TO COMPLETE THE BUILD OF THE PROJECT. _VS 2019 Community edition_ -~~~ PowerShell + +```PowerShell cd your_tcopen_folder .\pipelines\runbuild.ps1 -properties @{"buildConfig" = "Debug"; "isTestingEnabled" = $false; @@ -136,10 +136,11 @@ cd your_tcopen_folder "msbuild" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"; "dotnet" = "C:\Program Files\dotnet\dotnet.exe"; "devenv" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.com"} -~~~ +``` _VS 2019 Pro edition_ -~~~ PowerShell + +```PowerShell cd your_tcopen_folder .\pipelines\runbuild.ps1 -properties @{"buildConfig" = "Debug"; "isTestingEnabled" = $false; @@ -149,13 +150,12 @@ cd your_tcopen_folder "msbuild" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"; "dotnet" = "C:\Program Files\dotnet\dotnet.exe"; "devenv" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com"} -~~~ +``` **In the initial part of the build, you may see some errors popping up due to missing g.cs files (untracked by git). You can ignore those messages as long as the build completes like this:** ![build](assets/pics/build.png) - **Open visual studio TcOpen.sln** Switch profile to Debug|TwinCAT RT (x64) @@ -164,8 +164,8 @@ Switch profile to Debug|TwinCAT RT (x64) **The build process might be susceptible to some issues due to configuration and environment differences. Should you encounter a problem, please report the issue [here](https://github.com/TcOpenGroup/TcOpen/issues)** +## Code format -## Code format TcOpen is powered by STweep for TwinCAT, a source code formatter for Structured Text. When contributing to TcOpen, please use this set of settings for STweep: [TCOpen.zip](https://github.com/Barteling/TcOpen/files/6455049/TCOpen.zip) @@ -178,13 +178,12 @@ For requesting a license for STweep, visit www.stweep.com/Opensource ## Learning resources -* Jakob Sagatowski's excellent series on TwinCAT programming on [youtube](https://www.youtube.com/playlist?list=PLimaF0nZKYHz3I3kFP4myaAYjmYk1SowO) and his [blogsite](https://alltwincat.com/). -* Beckhoff's [infosys](https://infosys.beckhoff.com/). - +- Jakob Sagatowski's excellent series on TwinCAT programming on [youtube](https://www.youtube.com/playlist?list=PLimaF0nZKYHz3I3kFP4myaAYjmYk1SowO) and his [blogsite](https://alltwincat.com/). +- Beckhoff's [infosys](https://infosys.beckhoff.com/). ### Awesome TwinCAT 3 projects 🌐 -- An xUnit testing framework for Beckhoff TwinCAT3. [TcUnit](https://github.com/tcunit/TcUnit) +- An xUnit testing framework for Beckhoff TwinCAT3. [TcUnit](https://github.com/tcunit/TcUnit) - Unofficial TwinCAT function for HTTP requests with json conversion [Beckhoff Http Client ](https://github.com/fbarresi/BeckhoffHttpClient) - Opinionated code formatter for TwinCAT. [TcBlack](https://github.com/Roald87/TcBlack) - Bring the power of Json.Net to TwinCAT [TwinCAT.JsonExtension](https://github.com/fbarresi/TwinCAT.JsonExtension) diff --git a/SECURITY.md b/SECURITY.md index 4162c1288..09dbae443 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,7 +2,7 @@ ## Reporting a Vulnerability -*Please do not publish security related information in publicly visible parts of this repository (issues, discussion, readme(s)...).* +_Please do not publish security related information in publicly visible parts of this repository (issues, discussion, readme(s)...)._ -Security related vulnerabilities are to be reported to TcOpenGroup@protonmail.com. +Security related vulnerabilities are to be reported to TcOpenGroup@protonmail.com. The team will deal with security related issues in a dedicated workflow. diff --git a/TcOpen.STweep b/TcOpen.STweep new file mode 100644 index 000000000..f33aa8a88 --- /dev/null +++ b/TcOpen.STweep @@ -0,0 +1,132 @@ +{ + "CheckSum": "A7561507648F865DDB52DC79717DE7F6", + "Settings": { + "BlankLines": { + "BlankLinesAfterMultiLineCase": 0, + "BlankLinesAfterMultiLineComment": 0, + "BlankLinesAfterMultiLineDeclaration": 1, + "BlankLinesAfterMultiLineStatement": 1, + "BlankLinesAfterSingleLineCase": 0, + "BlankLinesAfterSingleLineComment": 0, + "BlankLinesAfterSingleLineDeclaration": 0, + "BlankLinesAfterSingleLineStatement": 0, + "BlankLinesAfterStatementWithBody": 1, + "BlankLinesAfterVarBlocks": 0, + "BlankLinesAtImplementationFileEnd": 0, + "BlankLinesBeforeMultiLineComment": 0, + "BlankLinesBeforeMultiLineDeclaration": 0, + "BlankLinesBeforeMultiLineStatement": 1, + "BlankLinesBeforeSingleLineComment": 0, + "BlankLinesBeforeSingleLineDeclaration": 0, + "BlankLinesBeforeSingleLineStatement": 0, + "BlankLinesBeforeStatementWithBody": 0, + "MaximumBlankLinesToKeepInImplementationCode": 0 + }, + "LineBreaksAndWrapping": { + "ArrayInitializerParametersLineBreakMode": 0, + "ChainedBinaryExpressionLineBreakMode": 0, + "ChainedMethodsLineBreakMode": 0, + "FunctionBlockInitializerParametersLineBreakMode": 0, + "InvocationParametersLineBreakMode": 0, + "KeepExistingLineBreaksInImplementationCode": false, + "LineBreakAfterLeftBracketInArrayInitializer": true, + "LineBreakAfterLeftParenthesisInFunctionBlockInitializer": true, + "LineBreakAfterLeftParenthesisInInvocation": false, + "LineBreakAfterLeftParenthesisInStructureInitializer": true, + "LineBreakAfterPragma": 0, + "LineBreakAfterTypeKeyWord": false, + "LineBreakBeforeLeftBracketInArrayInitializer": false, + "LineBreakBeforeLeftParenthesisInFunctionBlockInitializer": false, + "LineBreakBeforeLeftParenthesisInInvocation": false, + "LineBreakBeforeLeftParenthesisInStructureInitializer": false, + "LineBreakBeforeRightBracketInArrayInitializer": false, + "LineBreakBeforeRightParenthesisInFunctionBlockInitializer": false, + "LineBreakBeforeRightParenthesisInInvocation": false, + "LineBreakBeforeRightParenthesisInStructureInitializer": false, + "LineBreakBeforeStatementsInCase": true, + "MaxArrayInitializersOnSingleLine": 3, + "MaxFunctionBlockInitializerParametersOnSingleLine": 3, + "MaxInvocationParametersOnSingleLine": 3, + "MaxStructureInitializerParametersOnSingleLine": 3, + "PlaceStructKeywordOnNewLine": true, + "PreferWrapBeforeBinaryExpressionOperator": false, + "StructureInitializerParametersLineBreakMode": 0, + "WrapBeforeComma": false, + "WrapLongLinesAtInImplementationCode": 150, + "WrapLongLinesInImplementationCode": true + }, + "Spaces": { + "AfterComma": true, + "AfterVariableDeclarationColon": true, + "AroundAdditiveOperator": true, + "AroundAssignmentOperator": true, + "AroundAssignmentOperatorInParameterAssignInInvocationCall": true, + "AroundAssignmentOperatorInParameterAssignInStructureAndFunctionBlockInitializers": true, + "AroundComment": true, + "AroundComparisonOperator": true, + "AroundDot": false, + "AroundEqualityOperator": true, + "AroundTermOperator": true, + "BeforeArrayBrackets": false, + "BeforeArrayInitializerBrackets": false, + "BeforeComma": false, + "BeforeFunctionBlockInitializerParentheses": false, + "BeforeInvocationParentheses": false, + "BeforeSemiColon": false, + "BeforeStructureInitializerParentheses": false, + "BeforeSubRangeParentheses": false, + "BeforeVariableDeclarationColon": true, + "InsideArrayBrackets": false, + "InsideArrayInitializerBrackets": false, + "InsideExpressionParentheses": false, + "InsideFunctionBlockInitializerParentheses": false, + "InsideInvocationParentheses": false, + "InsideStructureInitializerParentheses": false, + "InsideSubRangeParentheses": false, + "SpacesAroundPragma": true + }, + "TabsIndentAlignment": { + "AlignMultilineConstructs": { + "ArrayInitializers": false, + "ChainedBinaryExpression": false, + "FunctionBlockInitializerParameterAssignments": false, + "FunctionBlockInitializerParameters": false, + "InvocationCallParameters": false, + "InvocationCallVariableAssignments": false, + "MultilineConstructsAlignmentStyleWhenTabsAreUsed": 0, + "StructureInitializerParameterAssignments": false, + "StructureInitializerParameters": false + }, + "AlignSimilarCodeInColumns": { + "AddressAssignments": false, + "Assignments": false, + "EndOfLineComments": false, + "EnumMemberInitializers": false, + "VariableDeclaration": false, + "VariableInitializers": false + }, + "ContinuousLineIndentMultiplier": 1, + "IndentCasesInCaseStatement": true, + "IndentDerivedDataTypesInTypeDeclaration": false, + "IndentElseCaseInCaseStatement": false, + "IndentSize": 4, + "IndentStatementsInCase": true, + "IndentStyle": 0, + "ParenthesesAlignment": { + "ArrayInitializerParenthesesStyle": 0, + "FunctionBlockInitializerParenthesesStyle": 0, + "FunctionCallParenthesesStyle": 0, + "StructureInitializerParenthesesStyle": 0 + }, + "TabSize": 4 + } + }, + "Version": { + "Major": 3, + "Minor": 4, + "Build": 0, + "Revision": 0, + "MajorRevision": 0, + "MinorRevision": 0 + } +} \ No newline at end of file diff --git a/TcOpen.XAEs.slnf b/TcOpen.XAEs.slnf index bf7cb9d5c..2be750518 100644 --- a/TcOpen.XAEs.slnf +++ b/TcOpen.XAEs.slnf @@ -2,10 +2,10 @@ "solution": { "path": "TcOpen.sln", "projects": [ - "src\\IntegrationProjects\\src\\XAE\\XAE\\XAEIntegrationProjects.tsproj", + "src\\IntegrationProjects\\src\\XAE\\XAE\\XAEIntegrationProjects.tsproj", "src\\librarytemplate\\src\\XAE\\XAE\\XAEPlcTemplate.tsproj", - "src\\Tc.Prober\\tests\\TcProber\\TcProber.tsproj", - "src\\TcoAbstractions\\src\\XAE\\XAE\\XAETcoAbstractions.tsproj", + "src\\Tc.Prober\\tests\\TcProber\\TcProber.tsproj", + "src\\TcoAbstractions\\src\\XAE\\XAE\\XAETcoAbstractions.tsproj", "src\\TcoApplicationExamples\\XaeAppExamples\\XaeAppExamples.tsproj", "src\\TcoCore\\src\\XaeTcoCore\\XaeTcoCore.tsproj", "src\\TcoData\\src\\XAE\\XAE\\XAETcoData.tsproj", @@ -16,13 +16,13 @@ "src\\TcoPneumatics\\src\\XaeTcoPneumatics\\XaeTcoPneumatics.tsproj", "src\\TcoAbbRobotics\\src\\XaeTcoAbbRobotics\\XaeTcoAbbRobotics.tsproj", "src\\TcoUtilities\\src\\XAE\\XAE\\XAETcoUtilities.tsproj", - "src\\TcoCognexVision\\src\\XAE\\XAE\\XAETcoCognexVision.tsproj", + "src\\TcoCognexVision\\src\\XAE\\XAE\\XAETcoCognexVision.tsproj", "src\\TcoRexrothPress\\src\\XAE\\XAE\\XAETcoRexrothPress.tsproj", "src\\TcoMitsubishiRobotics\src\\XaeTcoMitsubishiRobotics\\XaeTcoMitsubishiRobotics.tsproj", "src\\TcoAimTtiPowerSupply\\src\\XaeTcoAimTtiPowerSupply\\XaeTcoAimTtiPowerSupply.tsproj", "src\\TcoUrRobotics\\src\\XaeTcoUrRobotics\\XaeTcoUrRobotics.tsproj", "src\\TcoKukaRobotics\\src\\XaeTcoKukaRobotics\\XaeTcoKukaRobotics.tsproj", - "src\\TcoTixonFeeding\\src\\XaeTcoTixonFeeding\\XaeTcoTixonFeeding.tsproj" + "src\\TcoTixonFeeding\\src\\XaeTcoTixonFeeding\\XaeTcoTixonFeeding.tsproj" ] } -} \ No newline at end of file +} diff --git a/TcOpen.asm b/TcOpen.asm index 38aeb636f..fc9a7a098 100644 --- a/TcOpen.asm +++ b/TcOpen.asm @@ -728,5 +728,3 @@ No Disassembly available! Code for POU: __RELOCATE__CODE (TopLevel) Location: Area: 0, Offset: 0x6EDD8(454104), Size: 520 No Disassembly available! - - diff --git a/TcOpen.build.slnf b/TcOpen.build.slnf index 7cb1e1f66..b6f112f8f 100644 --- a/TcOpen.build.slnf +++ b/TcOpen.build.slnf @@ -143,4 +143,4 @@ "src\\librarytemplate\\tests\\Sandbox.PlcTemplate.Wpf\\Sandbox.PlcTemplate.Wpf.csproj" ] } -} \ No newline at end of file +} diff --git a/TcOpen.libcat.xml b/TcOpen.libcat.xml index e731de29f..932c5f6a1 100644 --- a/TcOpen.libcat.xml +++ b/TcOpen.libcat.xml @@ -1,8 +1,11 @@ - - - - f4ac9ad6-b898-40ba-9327-ae3ee59c6440 - 1.0.0.0 - TcOpen - - \ No newline at end of file + + + + f4ac9ad6-b898-40ba-9327-ae3ee59c6440 + 1.0.0.0 + TcOpen + + diff --git a/TcOpen.plc.slnf b/TcOpen.plc.slnf index 965bc2e02..3a17e02e9 100644 --- a/TcOpen.plc.slnf +++ b/TcOpen.plc.slnf @@ -66,8 +66,8 @@ "src\\TcoTixonFeeding\\src\\TcoTixonFeedingConnector\\TcoTixonFeedingConnector.csproj", "src\\TcoTixonFeeding\\src\\XaeTcoTixonFeeding\\XaeTcoTixonFeeding.tsproj", "src\\TcoTixonFeeding\\tests\\TcoTixonFeedingTestsConnector\\TcoTixonFeedingTestsConnector.csproj" - - + + ] } -} \ No newline at end of file +} diff --git a/TcOpen.sln b/TcOpen.sln index a80221897..9ca922a52 100644 --- a/TcOpen.sln +++ b/TcOpen.sln @@ -5371,6 +5371,986 @@ Global {F0B9D98E-E39E-4F6F-B03A-2CB58ED5C2F2}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|Any CPU {F0B9D98E-E39E-4F6F-B03A-2CB58ED5C2F2}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|Any CPU {F0B9D98E-E39E-4F6F-B03A-2CB58ED5C2F2}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|Any CPU + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {2266F99A-9250-4E68-A8BB-FC036A975355}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {3F433F3D-9648-4FAC-AAFD-9FA134BFD44D}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {6D5BD0DF-0C04-46C3-A05C-0FC422597B46}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {37585681-C225-40E0-832C-EB8E077A5CE7}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {7DB1F25E-9FE8-42FD-A45E-F8FD0ACF6EA7}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {69FD542B-8D82-415F-9189-1193D0B5F069}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {B8CE161A-872B-4092-B0F7-49898E4206A5}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {CFBC043B-C3FB-403E-B3EC-38B73B6C9F17}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {711D4247-A0B7-46C4-92AB-BEA8CAD07A56}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {84AF4B0E-F835-4083-910E-C0AA0BB9E50D}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {BF3E9621-3F23-47E0-B5CF-D3280EF53276}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {C03634C4-AC7A-4A21-803F-218553AAE7F4}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {4F0E1158-49EA-45D6-89E6-C1A4D3AF626F}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {6025FACE-83D2-4500-B4A4-6C4CD6227637}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {C292F353-C8D8-4BBB-BE1E-9772558B17F8}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {F2EE7FEF-C378-46BC-BB6A-865036F0C8ED}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {266FDC45-DB60-4534-88C6-BE73DD0A5D11}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {47AF85FD-FC42-4B01-92A9-AD6521E891DE}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {8C2F48E5-DE0C-4887-BF0E-4C2DEC178EB8}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {E673B74A-2441-4259-BB0C-1ACE02A8C111}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {E1A3BB78-5E60-4D4D-945B-594757F57C84}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {FDA3EF9A-4EFF-4450-8B41-A03BD3F0D043}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {ACC15569-A043-4BAB-BB81-6AF48B41871C}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {FC83BAF7-9480-4C64-8D5C-B812256F7D0A}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {B057D1C0-C1A0-4E87-8DE3-42F28C9DD315}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {1A3A997F-3A69-4755-9306-5A95A9AF73BF}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {7056F838-A3A0-4803-B4E4-B49F60A1106B}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {974C1006-62D3-48EB-8124-17F82E1EB01C}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {3378ED7E-C651-454F-A6A3-91EFE59C7B89}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {20FEF108-471B-4D50-A210-154818B5D824}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {C4D9013E-3EDC-4D77-BD13-1437E40A0F72}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {66B028FC-1645-4333-BD8B-FD99CB41F267}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {7F3BB913-B542-4FF5-83A6-0A5E9DB27A3F}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {D979D980-7689-4F72-A7B2-277F60EA6770}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|Any CPU.ActiveCfg = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|Any CPU.Build.0 = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {EF5C2F9B-C2D8-4E57-8889-660FBFCE8A20}.ReleaseDevelop|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) {1A8AEF48-E46A-4F71-9A81-CC4F1E86A442}.Debug|Any CPU.ActiveCfg = Debug|TwinCAT RT (x86) {1A8AEF48-E46A-4F71-9A81-CC4F1E86A442}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) {1A8AEF48-E46A-4F71-9A81-CC4F1E86A442}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) diff --git a/TcOpen.slnf b/TcOpen.slnf index 5ed2cbe7b..d783e977e 100644 --- a/TcOpen.slnf +++ b/TcOpen.slnf @@ -14,7 +14,7 @@ "src\\TcoAbstractions\\src\\TcoAbstractionsConnector\\TcoAbstractionsConnector.csproj", "src\\TcoAbstractions\\src\\XAE\\XAE\\XAETcoAbstractions.tsproj", "src\\TcoAbstractions\\tests\\PlcUnitTests\\TcoAbstractionsUnitTests.csproj", - "src\\TcoAbstractions\\tests\\TcoAbstractionsTestsConnector\\TcoAbstractionsTestsConnector.csproj", + "src\\TcoAbstractions\\tests\\TcoAbstractionsTestsConnector\\TcoAbstractionsTestsConnector.csproj", "src\\TcoCore\\src\\TcoCore.Wpf\\TcOpen.Inxton.TcoCore.Wpf.csproj", "src\\TcoCore\\src\\TcoCoreConnector\\TcoCoreConnector.csproj", "src\\TcoCore\\src\\XaeTcoCore\\XaeTcoCore.tsproj", @@ -61,7 +61,7 @@ "src\\TcoPneumatics\\tests\\TcoPneumaticsTestsConnector\\TcoPneumaticsTestsConnector.csproj", "src\\TcoPneumatics\\tests\\TcoPneumaticsTests_nUnit\\TcoPneumaticsTests_nUnit.csproj", "src\\TcoUtilities\\src\\TcoUtilitiesConnector\\TcoUtilitiesConnector.csproj", - "src\\TcoUtilities\\src\\Wpf\\TcOpen.Inxton.TcoUtilities.Wpf\\TcOpen.Inxton.TcoUtilities.Wpf.csproj", + "src\\TcoUtilities\\src\\Wpf\\TcOpen.Inxton.TcoUtilities.Wpf\\TcOpen.Inxton.TcoUtilities.Wpf.csproj", "src\\TcoUtilities\\tests\\PlcUnitTests\\TcoUtilitiesUnitTests.csproj", "src\\TcoUtilities\\tests\\Sandbox.TcoUtilities.Wpf\\Sandbox.TcoUtilities.Wpf.csproj", "src\\TcoUtilities\\tests\\TcoUtilitiesTestsConnector\\TcoUtilitiesTestsConnector.csproj", @@ -110,8 +110,8 @@ "src\\librarytemplate\\tests\\PlcUnitTests\\PlcTemplateUnitTests.csproj", "src\\librarytemplate\\tests\\Sandbox.PlcTemplate.Wpf\\Sandbox.PlcTemplate.Wpf.csproj", "src\\TcOpenAppTemplates\\StandardMtsTemplate\\src\\HmiTemplate.Wpf\\HmiTemplate.Wpf.csproj", - "src\\TcOpenAppTemplates\\StandardMtsTemplate\\src\\MainPlcConnector\\MainPlcConnector.csproj", + "src\\TcOpenAppTemplates\\StandardMtsTemplate\\src\\MainPlcConnector\\MainPlcConnector.csproj", "src\\TcOpenAppTemplates\\StandardMtsTemplate\\tests\\TemplateTests\\TemplateTests.csproj" ] } -} \ No newline at end of file +} diff --git a/TcOpen.test.build.plc.slnf b/TcOpen.test.build.plc.slnf index ae55da9da..e13a1094b 100644 --- a/TcOpen.test.build.plc.slnf +++ b/TcOpen.test.build.plc.slnf @@ -2,49 +2,49 @@ "solution": { "path": "TcOpen.sln", "projects": [ - - + + "src\\TcoCore\\src\\XaeTcoCore\\XaeTcoCore.tsproj", - - "src\\Tc.Prober\\tests\\TcProber\\TcProber.tsproj", - + + "src\\Tc.Prober\\tests\\TcProber\\TcProber.tsproj", + "src\\TcoElements\\src\\XAE\\XAE\\XAETcoElements.tsproj", - "src\\TcoInspectors\\src\\XAE\\XAE\\XAETcoInspectors.tsproj", + "src\\TcoInspectors\\src\\XAE\\XAE\\XAETcoInspectors.tsproj", + + "src\\TcoIo\\src\\XAE\\XAE\\XAETcoIo.tsproj", - "src\\TcoIo\\src\\XAE\\XAE\\XAETcoIo.tsproj", - "src\\TcoPneumatics\\src\\XaeTcoPneumatics\\XaeTcoPneumatics.tsproj", "src\\TcoDrivesBeckhoff\\src\\XaeTcoDrivesBeckhoff\\XaeTcoDrivesBeckhoff.tsproj", "src\\TcoAbbRobotics\\src\\XaeTcoAbbRobotics\\XaeTcoAbbRobotics.tsproj", - + "src\\librarytemplate\\src\\XAE\\XAE\\XAEPlcTemplate.tsproj", - + "src\\TcoApplicationExamples\\XaeAppExamples\\XaeAppExamples.tsproj", "src\\TcoData\\src\\XAE\\XAE\\XAETcoData.tsproj", "src\\TcoUtilities\\src\\XAE\\XAE\\XAETcoUtilities.tsproj", - "src\\IntegrationProjects\\src\\XAE\\XAE\\XAEIntegrationProjects.tsproj", + "src\\IntegrationProjects\\src\\XAE\\XAE\\XAEIntegrationProjects.tsproj", "src\\TcOpen.Hammer\\TcOpenHammer\\TcOpenHammer\\TcOpenHammer.tsproj", "src\\TcoCognexVision\\src\\XAE\\XAE\\XAETcoCognexVision.tsproj", - + "src\\TcoRexrothPress\\src\\XAE\\XAE\\XAETcoRexrothPress.tsproj", - + "src\\TcoMitsubishiRobotics\\src\\XaeTcoMitsubishiRobotics\\XaeTcoMitsubishiRobotics.tsproj", - + "src\\TcoAimTtiPowerSupply\\src\\XaeTcoAimTtiPowerSupply\\XaeTcoAimTtiPowerSupply.tsproj", "src\\TcoUrRobotics\\src\\XaeTcoUrRobotics\\XaeTcoUrRobotics.tsproj", "src\\TcoKukaRobotics\\src\\XaeTcoKukaRobotics\\XaeTcoKukaRobotics.tsproj", - + "src\\TcoTcoTixonFeeding\\src\\XaeTcoTixonFeeding\\XaeTcoTixonFeeding.tsproj" ] } -} \ No newline at end of file +} diff --git a/cake/Build.csproj b/cake/Build.csproj index ee8dced90..0d6a9f653 100644 --- a/cake/Build.csproj +++ b/cake/Build.csproj @@ -8,14 +8,16 @@ all - runtime; build; native; contentfiles; analyzers; buildtransitive + runtime; build; native; contentfiles; analyzers; buildtransitive all - runtime; build; native; contentfiles; analyzers; buildtransitive + runtime; build; native; contentfiles; analyzers; buildtransitive - \ No newline at end of file + diff --git a/cake/BuildContext.cs b/cake/BuildContext.cs index d1795bcbe..0b062e331 100644 --- a/cake/BuildContext.cs +++ b/cake/BuildContext.cs @@ -1,57 +1,101 @@ -using Cake.Core; -using Cake.Frosting; using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Cake.Core; +using Cake.Frosting; + public class BuildContext : FrostingContext { public string ArtifactsFolder { get; } - public string SourceDirectory { get; } + public string SourceDirectory { get; } public void Clean() { // Clean directories - Directory.EnumerateDirectories(SourceDirectory, "bin", SearchOption.AllDirectories) - .Concat(Directory.EnumerateDirectories(SourceDirectory, "obj", SearchOption.AllDirectories)) - .Concat(Directory.EnumerateDirectories(SourceDirectory, "_Boot", SearchOption.AllDirectories)) - .Concat(Directory.EnumerateDirectories(SourceDirectory, "_CompileInfo", SearchOption.AllDirectories)) - .Concat(Directory.EnumerateDirectories(SourceDirectory, "_generated", SearchOption.AllDirectories)) - .Concat(Directory.EnumerateDirectories(SourceDirectory, "_meta", SearchOption.AllDirectories)) - .ToList().ForEach(dir => { Directory.Delete(dir, true); }); + Directory + .EnumerateDirectories(SourceDirectory, "bin", SearchOption.AllDirectories) + .Concat( + Directory.EnumerateDirectories(SourceDirectory, "obj", SearchOption.AllDirectories) + ) + .Concat( + Directory.EnumerateDirectories( + SourceDirectory, + "_Boot", + SearchOption.AllDirectories + ) + ) + .Concat( + Directory.EnumerateDirectories( + SourceDirectory, + "_CompileInfo", + SearchOption.AllDirectories + ) + ) + .Concat( + Directory.EnumerateDirectories( + SourceDirectory, + "_generated", + SearchOption.AllDirectories + ) + ) + .Concat( + Directory.EnumerateDirectories( + SourceDirectory, + "_meta", + SearchOption.AllDirectories + ) + ) + .ToList() + .ForEach(dir => + { + Directory.Delete(dir, true); + }); } - public IEnumerable Libraries { get; } = new List - { - // "TcoAbstractions", - "TcoUtilities", - "TcoCore", - "TcoData", - "TcoDrivesBeckhoff", - "TcoElements", - "TcoInspectors", - "TcoIo", - "TcoPneumatics", - "TcoUtilities" - }; - + public IEnumerable Libraries { get; } = + new List + { + // "TcoAbstractions", + "TcoUtilities", + "TcoCore", + "TcoData", + "TcoDrivesBeckhoff", + "TcoElements", + "TcoInspectors", + "TcoIo", + "TcoPneumatics", + "TcoUtilities" + }; + public string GetLibraryRootFolder(string library) { - return Path.GetFullPath(Path.Combine(Environment.WorkingDirectory.FullPath, "..//src", library)); + return Path.GetFullPath( + Path.Combine(Environment.WorkingDirectory.FullPath, "..//src", library) + ); } public string GetLibraryFilteredSolution(string library) { - return Path.GetFullPath(Path.Combine(Environment.WorkingDirectory.FullPath, "..//src", library, $"{library}.slnf")); + return Path.GetFullPath( + Path.Combine( + Environment.WorkingDirectory.FullPath, + "..//src", + library, + $"{library}.slnf" + ) + ); } public BuildContext(ICakeContext context) : base(context) { - ArtifactsFolder = Path.GetFullPath(Path.Combine(Environment.WorkingDirectory.FullPath, "..//nugets")); - SourceDirectory = Path.GetFullPath(Path.Combine(Environment.WorkingDirectory.FullPath, "..//src")); + ArtifactsFolder = Path.GetFullPath( + Path.Combine(Environment.WorkingDirectory.FullPath, "..//nugets") + ); + SourceDirectory = Path.GetFullPath( + Path.Combine(Environment.WorkingDirectory.FullPath, "..//src") + ); } - - } diff --git a/cake/Program.cs b/cake/Program.cs index 2e75b5b30..60d93c938 100644 --- a/cake/Program.cs +++ b/cake/Program.cs @@ -1,22 +1,19 @@ +using System; using System.IO; +using System.Linq; using System.Threading.Tasks; +using Cake.Common.Tools.DotNet; +using Cake.Common.Tools.MSBuild; using Cake.Core; using Cake.Core.Diagnostics; using Cake.Frosting; using Octokit; -using System; -using System.Linq; -using Cake.Common.Tools.DotNet; -using Cake.Common.Tools.MSBuild; - public static class Program { public static int Main(string[] args) { - return new CakeHost() - .UseContext() - .Run(args); + return new CakeHost().UseContext().Run(args); } } @@ -36,7 +33,7 @@ public static int Main(string[] args) // public override void Run(BuildContext context) // { // foreach (var solution in context.Libraries.Select(p => context.GetLibraryFilteredSolution(p))) -// { +// { // context.MSBuild(solution, new MSBuildSettings() { Configuration = "Release" }); // } // } @@ -47,15 +44,22 @@ public static int Main(string[] args) public sealed class PushTcOpenGroupPackages : FrostingTask { public override void Run(BuildContext context) - { - foreach (var nugetFile in Directory.EnumerateFiles(context.ArtifactsFolder, "*.nupkg").Select(p => new FileInfo(p))) + { + foreach ( + var nugetFile in Directory + .EnumerateFiles(context.ArtifactsFolder, "*.nupkg") + .Select(p => new FileInfo(p)) + ) { - context.DotNetNuGetPush(nugetFile.FullName, new Cake.Common.Tools.DotNet.NuGet.Push.DotNetNuGetPushSettings() - { - Source = "https://nuget.pkg.github.com/TcOpenGroup/index.json", - ApiKey = System.Environment.GetEnvironmentVariable("TC_OPEN_GROUP_USER_PAT"), - SkipDuplicate = true - }); + context.DotNetNuGetPush( + nugetFile.FullName, + new Cake.Common.Tools.DotNet.NuGet.Push.DotNetNuGetPushSettings() + { + Source = "https://nuget.pkg.github.com/TcOpenGroup/index.json", + ApiKey = System.Environment.GetEnvironmentVariable("TC_OPEN_GROUP_USER_PAT"), + SkipDuplicate = true + } + ); } } } @@ -66,40 +70,41 @@ public sealed class ReleaseTask : FrostingTask { public override void Run(BuildContext context) { - { var githubToken = context.Environment.GetEnvironmentVariable("TC_OPEN_GROUP_USER_PAT"); var githubClient = new GitHubClient(new ProductHeaderValue("TcOpen")); githubClient.Credentials = new Credentials(githubToken); - var doesExists = githubClient.Repository.Release.GetAll("TcOpenGroup", "TcOpen", ApiOptions.None).Result.Any(p => p.Name == GitVersionInformation.SemVer); + var doesExists = githubClient + .Repository.Release.GetAll("TcOpenGroup", "TcOpen", ApiOptions.None) + .Result.Any(p => p.Name == GitVersionInformation.SemVer); if (!doesExists) { - var release = githubClient.Repository.Release.Create( - "TcOpenGroup", - "TcOpen", - new NewRelease($"{GitVersionInformation.SemVer}") - { - Name = $"{GitVersionInformation.SemVer}", - TargetCommitish = GitVersionInformation.Sha, - Body = $"Release v{GitVersionInformation.SemVer}", - Draft = true, - Prerelease = true - } - ).Result; + var release = githubClient + .Repository.Release.Create( + "TcOpenGroup", + "TcOpen", + new NewRelease($"{GitVersionInformation.SemVer}") + { + Name = $"{GitVersionInformation.SemVer}", + TargetCommitish = GitVersionInformation.Sha, + Body = $"Release v{GitVersionInformation.SemVer}", + Draft = true, + Prerelease = true + } + ) + .Result; } //foreach (var artifact in Directory.EnumerateFiles(context.ArtifactsFolder, "*.nupkg").Select(p => new FileInfo(p))) //{ // var asset = new ReleaseAssetUpload(artifact.Name, "application/nupkg", new StreamReader(artifact.FullName).BaseStream, TimeSpan.FromSeconds(3600)); // githubClient.Repository.Release.UploadAsset(release, asset).Wait(); - //} + //} } } } [TaskName("Default")] [IsDependentOn(typeof(ReleaseTask))] -public class DefaultTask : FrostingTask -{ -} \ No newline at end of file +public class DefaultTask : FrostingTask { } diff --git a/cleanupsolutionfile.ps1 b/cleanupsolutionfile.ps1 index 5d1070cf7..d417fa61d 100644 --- a/cleanupsolutionfile.ps1 +++ b/cleanupsolutionfile.ps1 @@ -3,5 +3,3 @@ (Get-Content TcOpen_.sln) | Where-Object {$_ -notmatch "ReleaseDevelop"} | Set-Content TcOpen_.sln (Get-Content TcOpen_.sln) | Where-Object {$_ -notmatch "Debug|Any CPU"} | Set-Content TcOpen_.sln (Get-Content TcOpen_.sln) | Where-Object {$_ -notmatch "Release|Any CPU"} | Set-Content TcOpen_.sln - - diff --git a/docs/Colors_wpf.md b/docs/Colors_wpf.md index 22eb165cd..b2f7430f3 100644 --- a/docs/Colors_wpf.md +++ b/docs/Colors_wpf.md @@ -5,11 +5,12 @@ To be moved to the documentation When it comes to theming and colors of WPF applications, we rely on [MaterialDesignInXamlToolkit](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit). It's very well explained here + - https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/Brush-Names - https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/Advanced-Theming - https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/Custom-Palette-Hues -## How to use +## How to use In your `App.xaml` add this dictionary. @@ -39,16 +40,16 @@ The `materialDesign:BundledTheme` is a MatrialDesignXaml theme. Second `ResourceDictionary` contains resources for the theme. -`TcoResources` is a resource dictionary generated from `TcoCore.Wpf.TcoColors`. Adding this resource dictionary to your project will enable you to use static brushes defined in `TcoCore.Wpf.TcoColors` like this +`TcoResources` is a resource dictionary generated from `TcoCore.Wpf.TcoColors`. Adding this resource dictionary to your project will enable you to use static brushes defined in `TcoCore.Wpf.TcoColors` like this + ```xml -