From 4ca1f6e110f02a750ade7c81b75cce98bfcc57b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20B=C3=B6gershausen?= Date: Wed, 4 Dec 2019 16:30:58 +0100 Subject: [PATCH] Normalize all line endings to LF in the repo Change the CRLF strategie: All (nearly all) files have LF in the repo, and CRLF in the working tree. When we started, all files had been commited "as is". Now it is more and more disturbing that Git shows "^M" in git diff when a line was added or chenged. To avoid this, store all files in the repo with LF. To normalzie existing repos for a crate, run: Step 1) (unless you have done that already) git remote add tc_generic_structure https://bitbucket.org/europeanspallationsource/tc_generic_structure.git Step 2) git fetch tc_generic_structure Step 3) (master below may be integration) git merge tc_generic_structure/master -X renormalize --- .gitattributes | 10 +- bitbucket-pipelines.yml | 22 +- solution.sln | 144 +- solution/Licenses/ReadMe_licenses.txt | 8 +- solution/_Config/NC/1.xml | 4 +- solution/solution.tsproj | 2250 ++++++++--------- solution/tc_project_app/GVLs/GVL_APP.TcGVL | 26 +- solution/tc_project_app/GlobalTextList.TcGTLO | 556 ++-- solution/tc_project_app/POUs/MAIN.TcPOU | 286 +-- solution/tc_project_app/PlcTask.TcTTO | 30 +- .../Visualization Manager.TcVMO | 1134 ++++----- .../tc_project_app/tc_project_app.plcproj | 804 +++--- twincat_version_manager.py | 80 +- 13 files changed, 2676 insertions(+), 2678 deletions(-) diff --git a/.gitattributes b/.gitattributes index d697d2e..a1aec5e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,8 +1,6 @@ # end of line conversion CLRF -- LF -# Default is no conversion (follow Visual Studio) -* -text +# Default is auto +* text=auto # -.gitattributes text -.gitignore text - - +# Shell scripts must be line feed +*.sh text eol=lf diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index d47cd1d..7c786ab 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -1,11 +1,11 @@ -image: python:3.7.3 -options: - max-time: 1 -pipelines: - default: - - step: - script: - - git submodule update --init - - git submodule - - python twincat_version_manager.py - - python check_fix_white_space.py +image: python:3.7.3 +options: + max-time: 1 +pipelines: + default: + - step: + script: + - git submodule update --init + - git submodule + - python twincat_version_manager.py + - python check_fix_white_space.py diff --git a/solution.sln b/solution.sln index 976e55d..9459e68 100644 --- a/solution.sln +++ b/solution.sln @@ -1,72 +1,72 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "solution", "solution\solution.tsproj", "{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) - Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) - Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) - Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) - Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) - Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) - Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) - Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) - {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) - {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) - {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "solution", "solution\solution.tsproj", "{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) + Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) + Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) + Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) + Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) + Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) + Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) + Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) + {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/solution/Licenses/ReadMe_licenses.txt b/solution/Licenses/ReadMe_licenses.txt index 79e6b36..1cc9be8 100644 --- a/solution/Licenses/ReadMe_licenses.txt +++ b/solution/Licenses/ReadMe_licenses.txt @@ -1,5 +1,5 @@ -Copy and paste in this folder the licenses contained inside the Beckhoff CPU in the path: - -C:\TwinCAT\3.1\Target\License - +Copy and paste in this folder the licenses contained inside the Beckhoff CPU in the path: + +C:\TwinCAT\3.1\Target\License + Thank you \ No newline at end of file diff --git a/solution/_Config/NC/1.xml b/solution/_Config/NC/1.xml index 02118c9..7447a9f 100644 --- a/solution/_Config/NC/1.xml +++ b/solution/_Config/NC/1.xml @@ -1,2 +1,2 @@ - -1mm15001500225015000150000130000000303010060020002000true5false0.1false100true2falsefalse000false10.010truefalsefalse5510.0001103600false21677721500.010.1false0false0false000falsetrue0false0false0104857500false005false1-1165535#x000000000.1002200101100000000.01211100001361291330false110111true5false010000.10.1false0.10.50.10000.10.100.50000false0.010112010.001 + +1mm15001500225015000150000130000000303010060020002000true5false0.1false100true2falsefalse000false10.010truefalsefalse5510.0001103600false21677721500.010.1false0false0false000falsetrue0false0false0104857500false005false1-1165535#x000000000.1002200101100000000.01211100001361291330false110111true5false010000.10.1false0.10.50.10000.10.100.50000false0.010112010.001 diff --git a/solution/solution.tsproj b/solution/solution.tsproj index 729ffe6..45bd716 100644 --- a/solution/solution.tsproj +++ b/solution/solution.tsproj @@ -1,1125 +1,1125 @@ - - - - - NCTOPLC_AXIS_REF_STATE - 32 - - Operational - BIT - 1 - 0 - - - Homed - BIT - 1 - 1 - - - NotMoving - BIT - 1 - 2 - - - InPositionArea - BIT - 1 - 3 - - - InTargetPosition - BIT - 1 - 4 - - - Protected - BIT - 1 - 5 - - - ErrorPropagationDelayed - BIT - 1 - 6 - - - HasBeenStopped - BIT - 1 - 7 - - - HasJob - BIT - 1 - 8 - - - PositiveDirection - BIT - 1 - 9 - - - NegativeDirection - BIT - 1 - 10 - - - HomingBusy - BIT - 1 - 11 - - - ConstantVelocity - BIT - 1 - 12 - - - Compensating - BIT - 1 - 13 - - - ExtSetPointGenEnabled - BIT - 1 - 14 - - - PhasingActive - BIT - 1 - 15 - - - ExternalLatchValid - BIT - 1 - 16 - - - NewTargetPos - BIT - 1 - 17 - - - ContinuousMotion - BIT - 1 - 19 - - - ControlLoopClosed - BIT - 1 - 20 - - - CamTableQueued - BIT - 1 - 21 - - - CamDataQueued - BIT - 1 - 22 - - - CamScalingPending - BIT - 1 - 23 - - - CmdBuffered - BIT - 1 - 24 - - - PTPmode - BIT - 1 - 25 - - - SoftLimitMinExceeded - BIT - 1 - 26 - - - SoftLimitMaxExceeded - BIT - 1 - 27 - - - DriveDeviceError - BIT - 1 - 28 - - - MotionCommandsLocked - BIT - 1 - 29 - - - IoDataInvalid - BIT - 1 - 30 - - - Error - BIT - 1 - 31 - - - %08x - - - 0x%08x - - - 16#%08X - - - - NCTOPLC_AXIS_REF_OPMODE - 32 - - OpModePosAreaMonitoring - BIT - 1 - 0 - - - OpModeTargetPosMonitoring - BIT - 1 - 1 - - - OpModeLoop - BIT - 1 - 2 - - - OpModeMotionMonitoring - BIT - 1 - 3 - - - OpModePEHTimeMonitoring - BIT - 1 - 4 - - - OpModeBacklashCompensation - BIT - 1 - 5 - - - OpModeDelayedErrorReaction - BIT - 1 - 6 - - - OpModeModulo - BIT - 1 - 7 - - - OpModeSimulationAxis - BIT - 1 - 8 - - - OpModePosLagMonitoring - BIT - 1 - 16 - - - OpModeVeloLagMonitoring - BIT - 1 - 17 - - - OpModeSoftLimitMinMonitoring - BIT - 1 - 18 - - - OpModeSoftLimitMaxMonitoring - BIT - 1 - 19 - - - OpModePosCorrection - BIT - 1 - 20 - - - OpModeAllowSlaveCommands - BIT - 1 - 21 - - - OpModeAllowExtSetAxisCommands - BIT - 1 - 22 - - - ApplicationRequest - BIT - 1 - 23 - - - - NCTOPLC_AXIS_REF_STATE2_FLAGS - 32 - - AvoidingCollision - BIT - 1 - 0 - - - %08x - - - 0x%08x - - - 16#%08X - - - - NCTOPLC_AXIS_REF_STATE2 - 32 - - Value - DWORD - 32 - 0 - - - Flags - NCTOPLC_AXIS_REF_STATE2_FLAGS - 32 - 0 - - - %08x - - - 0x%08x - - - 16#%08X - - - - NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE - 8 - - CamActivationPending - BIT - 1 - 0 - - - CamDeactivationPending - BIT - 1 - 1 - - - CamActive - BIT - 1 - 2 - - - CamDataQueued - BIT - 1 - 6 - - - CamScalingPending - BIT - 1 - 7 - - - - UINTARR8 - 128 - UINT - - 0 - 8 - - - - NCTOPLC_AXIS_REF - 2048 - - StateDWord - NCTOPLC_AXIS_REF_STATE - 32 - 0 - - - ErrorCode - UDINT - 32 - 32 - - - AxisState - UDINT - - 32 - 64 - - - AxisModeConfirmation - UDINT - 32 - 96 - - - HomingState - UDINT - - 32 - 128 - - - CoupleState - UDINT - - 32 - 160 - - - SvbEntries - UDINT - 32 - 192 - - - SafEntries - UDINT - 32 - 224 - - - AxisId - UDINT - 32 - 256 - - - OpModeDWord - NCTOPLC_AXIS_REF_OPMODE - 32 - 288 - - - ActPos - LREAL - 64 - 320 - - - ModuloActPos - LREAL - 64 - 384 - - - ActiveControlLoopIndex - UINT - 16 - 448 - - - ControlLoopIndex - UINT - 16 - 464 - - - ModuloActTurns - DINT - 32 - 480 - - - ActVelo - LREAL - 64 - 512 - - - PosDiff - LREAL - 64 - 576 - - - SetPos - LREAL - 64 - 640 - - - SetVelo - LREAL - 64 - 704 - - - SetAcc - LREAL - 64 - 768 - - - TargetPos - LREAL - 64 - 832 - - - ModuloSetPos - LREAL - 64 - 896 - - - ModuloSetTurns - DINT - 32 - 960 - - - CmdNo - UINT - 16 - 992 - - - CmdState - UINT - 16 - 1008 - - - SetJerk - LREAL - 64 - 1024 - - - SetTorque - LREAL - 64 - 1088 - - - ActTorque - LREAL - 64 - 1152 - - - StateDWord2 - NCTOPLC_AXIS_REF_STATE2 - 32 - 1216 - - - StateDWord3 - DWORD - 32 - 1248 - - - TouchProbeState - DWORD - 32 - 1280 - - - TouchProbeCounter - DWORD - 32 - 1312 - - - CamCouplingState - NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE - - 0 - 8 - - 64 - 1344 - - - CamCouplingTableID - UINTARR8 - 128 - 1408 - - - ActTorqueDerivative - LREAL - 64 - 1536 - - - SetTorqueDerivative - LREAL - 64 - 1600 - - - ActPosWithoutPosCorrection - LREAL - 64 - 1792 - - - ActAcc - LREAL - 64 - 1856 - - - DcTimeStamp - UDINT - 32 - 1920 - - - - NcStructType - 2 - - - - - NCAXLESTRUCT_TOPLC - - - NCAXLESTRUCT_TOPLC2 - - - NCAXLESTRUCT_TOPLC3 - - - NCAXLESTRUCT_TOPLC4 - - - - - - - - - - - - - - PLCTONC_AXIS_REF_CTRL - 32 - - Enable - BIT - 1 - 0 - - - FeedEnablePlus - BIT - 1 - 1 - - - FeedEnableMinus - BIT - 1 - 2 - - - HomingSensor - BIT - 1 - 5 - - - AcceptBlockedDrive - BIT - 1 - 8 - - - PlcDebugFlag - BIT - 1 - 30 - - - NcDebugFlag - BIT - 1 - 31 - - - %08x - - - 0x%08x - - - 16#%08X - - - - PLCTONC_AXIS_REF - 1024 - - ControlDWord - PLCTONC_AXIS_REF_CTRL - 32 - 0 - - - Override - UDINT - 32 - 32 - - - AxisModeRequest - UDINT - 32 - 64 - - - AxisModeDWord - UDINT - 32 - 96 - - - AxisModeLReal - LREAL - 64 - 128 - - - PositionCorrection - LREAL - 64 - 192 - - - ExtSetPos - LREAL - 64 - 256 - - - ExtSetVelo - LREAL - 64 - 320 - - - ExtSetAcc - LREAL - 64 - 384 - - - ExtSetDirection - DINT - 32 - 448 - - - ExtControllerOutput - LREAL - 64 - 512 - - - GearRatio1 - LREAL - 64 - 576 - - - GearRatio2 - LREAL - 64 - 640 - - - GearRatio3 - LREAL - 64 - 704 - - - GearRatio4 - LREAL - 64 - 768 - - - MapState - BOOL - 8 - 832 - - - PlcCycleControl - BYTE - 8 - 840 - - - PlcCycleCount - BYTE - 8 - 848 - - - - NcStructType - 1 - - - - - NCAXLESTRUCT_FROMPLC3 - - - - - - - - - {3EBB9639-5FF3-42B6-8847-35C70DC013C8} - - - - - PlcTaskCom - - - PlcTask - - - - - - - tc_epicscommodule Instance - {08500001-0000-0000-F000-000000000064} - - - - - - - - tc_project_app Instance - {08500001-0000-0000-F000-000000000064} - - PlcTask Inputs - - GVL.axes[1].inputs.bLimitFwd - - BOOL - - - GVL.axes[1].inputs.bLimitBwd - - BOOL - - - GVL.axes[1].inputs.bHomeSensor - - BOOL - - - GVL.axes[1].inputs.bEncLAtch - - BOOL - - - GVL.axes[1].Axis.NcToPlc - NCTOPLC_AXIS_REF - - AxisState - - - - HomingState - - - - CoupleState - - - - - GVL.axes[2].inputs.bLimitFwd - - BOOL - - - GVL.axes[2].inputs.bLimitBwd - - BOOL - - - GVL.axes[2].inputs.bHomeSensor - - BOOL - - - GVL.axes[2].inputs.bEncLAtch - - BOOL - - - GVL.axes[2].Axis.NcToPlc - NCTOPLC_AXIS_REF - - AxisState - - - - HomingState - - - - CoupleState - - - - - GVL.axes[3].inputs.bLimitFwd - - BOOL - - - GVL.axes[3].inputs.bLimitBwd - - BOOL - - - GVL.axes[3].inputs.bHomeSensor - - BOOL - - - GVL.axes[3].inputs.bEncLAtch - - BOOL - - - GVL.axes[3].Axis.NcToPlc - NCTOPLC_AXIS_REF - - AxisState - - - - HomingState - - - - CoupleState - - - - - - PlcTask Outputs - - MAIN.bOutput1 - - BOOL - - - GVL.axes[1].Axis.PlcToNc - PLCTONC_AXIS_REF - - - GVL.axes[2].Axis.PlcToNc - PLCTONC_AXIS_REF - - - GVL.axes[3].Axis.PlcToNc - PLCTONC_AXIS_REF - - - - - - - - - - + + + + + NCTOPLC_AXIS_REF_STATE + 32 + + Operational + BIT + 1 + 0 + + + Homed + BIT + 1 + 1 + + + NotMoving + BIT + 1 + 2 + + + InPositionArea + BIT + 1 + 3 + + + InTargetPosition + BIT + 1 + 4 + + + Protected + BIT + 1 + 5 + + + ErrorPropagationDelayed + BIT + 1 + 6 + + + HasBeenStopped + BIT + 1 + 7 + + + HasJob + BIT + 1 + 8 + + + PositiveDirection + BIT + 1 + 9 + + + NegativeDirection + BIT + 1 + 10 + + + HomingBusy + BIT + 1 + 11 + + + ConstantVelocity + BIT + 1 + 12 + + + Compensating + BIT + 1 + 13 + + + ExtSetPointGenEnabled + BIT + 1 + 14 + + + PhasingActive + BIT + 1 + 15 + + + ExternalLatchValid + BIT + 1 + 16 + + + NewTargetPos + BIT + 1 + 17 + + + ContinuousMotion + BIT + 1 + 19 + + + ControlLoopClosed + BIT + 1 + 20 + + + CamTableQueued + BIT + 1 + 21 + + + CamDataQueued + BIT + 1 + 22 + + + CamScalingPending + BIT + 1 + 23 + + + CmdBuffered + BIT + 1 + 24 + + + PTPmode + BIT + 1 + 25 + + + SoftLimitMinExceeded + BIT + 1 + 26 + + + SoftLimitMaxExceeded + BIT + 1 + 27 + + + DriveDeviceError + BIT + 1 + 28 + + + MotionCommandsLocked + BIT + 1 + 29 + + + IoDataInvalid + BIT + 1 + 30 + + + Error + BIT + 1 + 31 + + + %08x + + + 0x%08x + + + 16#%08X + + + + NCTOPLC_AXIS_REF_OPMODE + 32 + + OpModePosAreaMonitoring + BIT + 1 + 0 + + + OpModeTargetPosMonitoring + BIT + 1 + 1 + + + OpModeLoop + BIT + 1 + 2 + + + OpModeMotionMonitoring + BIT + 1 + 3 + + + OpModePEHTimeMonitoring + BIT + 1 + 4 + + + OpModeBacklashCompensation + BIT + 1 + 5 + + + OpModeDelayedErrorReaction + BIT + 1 + 6 + + + OpModeModulo + BIT + 1 + 7 + + + OpModeSimulationAxis + BIT + 1 + 8 + + + OpModePosLagMonitoring + BIT + 1 + 16 + + + OpModeVeloLagMonitoring + BIT + 1 + 17 + + + OpModeSoftLimitMinMonitoring + BIT + 1 + 18 + + + OpModeSoftLimitMaxMonitoring + BIT + 1 + 19 + + + OpModePosCorrection + BIT + 1 + 20 + + + OpModeAllowSlaveCommands + BIT + 1 + 21 + + + OpModeAllowExtSetAxisCommands + BIT + 1 + 22 + + + ApplicationRequest + BIT + 1 + 23 + + + + NCTOPLC_AXIS_REF_STATE2_FLAGS + 32 + + AvoidingCollision + BIT + 1 + 0 + + + %08x + + + 0x%08x + + + 16#%08X + + + + NCTOPLC_AXIS_REF_STATE2 + 32 + + Value + DWORD + 32 + 0 + + + Flags + NCTOPLC_AXIS_REF_STATE2_FLAGS + 32 + 0 + + + %08x + + + 0x%08x + + + 16#%08X + + + + NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE + 8 + + CamActivationPending + BIT + 1 + 0 + + + CamDeactivationPending + BIT + 1 + 1 + + + CamActive + BIT + 1 + 2 + + + CamDataQueued + BIT + 1 + 6 + + + CamScalingPending + BIT + 1 + 7 + + + + UINTARR8 + 128 + UINT + + 0 + 8 + + + + NCTOPLC_AXIS_REF + 2048 + + StateDWord + NCTOPLC_AXIS_REF_STATE + 32 + 0 + + + ErrorCode + UDINT + 32 + 32 + + + AxisState + UDINT + + 32 + 64 + + + AxisModeConfirmation + UDINT + 32 + 96 + + + HomingState + UDINT + + 32 + 128 + + + CoupleState + UDINT + + 32 + 160 + + + SvbEntries + UDINT + 32 + 192 + + + SafEntries + UDINT + 32 + 224 + + + AxisId + UDINT + 32 + 256 + + + OpModeDWord + NCTOPLC_AXIS_REF_OPMODE + 32 + 288 + + + ActPos + LREAL + 64 + 320 + + + ModuloActPos + LREAL + 64 + 384 + + + ActiveControlLoopIndex + UINT + 16 + 448 + + + ControlLoopIndex + UINT + 16 + 464 + + + ModuloActTurns + DINT + 32 + 480 + + + ActVelo + LREAL + 64 + 512 + + + PosDiff + LREAL + 64 + 576 + + + SetPos + LREAL + 64 + 640 + + + SetVelo + LREAL + 64 + 704 + + + SetAcc + LREAL + 64 + 768 + + + TargetPos + LREAL + 64 + 832 + + + ModuloSetPos + LREAL + 64 + 896 + + + ModuloSetTurns + DINT + 32 + 960 + + + CmdNo + UINT + 16 + 992 + + + CmdState + UINT + 16 + 1008 + + + SetJerk + LREAL + 64 + 1024 + + + SetTorque + LREAL + 64 + 1088 + + + ActTorque + LREAL + 64 + 1152 + + + StateDWord2 + NCTOPLC_AXIS_REF_STATE2 + 32 + 1216 + + + StateDWord3 + DWORD + 32 + 1248 + + + TouchProbeState + DWORD + 32 + 1280 + + + TouchProbeCounter + DWORD + 32 + 1312 + + + CamCouplingState + NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE + + 0 + 8 + + 64 + 1344 + + + CamCouplingTableID + UINTARR8 + 128 + 1408 + + + ActTorqueDerivative + LREAL + 64 + 1536 + + + SetTorqueDerivative + LREAL + 64 + 1600 + + + ActPosWithoutPosCorrection + LREAL + 64 + 1792 + + + ActAcc + LREAL + 64 + 1856 + + + DcTimeStamp + UDINT + 32 + 1920 + + + + NcStructType + 2 + + + + + NCAXLESTRUCT_TOPLC + + + NCAXLESTRUCT_TOPLC2 + + + NCAXLESTRUCT_TOPLC3 + + + NCAXLESTRUCT_TOPLC4 + + + + + + + + + + + + + + PLCTONC_AXIS_REF_CTRL + 32 + + Enable + BIT + 1 + 0 + + + FeedEnablePlus + BIT + 1 + 1 + + + FeedEnableMinus + BIT + 1 + 2 + + + HomingSensor + BIT + 1 + 5 + + + AcceptBlockedDrive + BIT + 1 + 8 + + + PlcDebugFlag + BIT + 1 + 30 + + + NcDebugFlag + BIT + 1 + 31 + + + %08x + + + 0x%08x + + + 16#%08X + + + + PLCTONC_AXIS_REF + 1024 + + ControlDWord + PLCTONC_AXIS_REF_CTRL + 32 + 0 + + + Override + UDINT + 32 + 32 + + + AxisModeRequest + UDINT + 32 + 64 + + + AxisModeDWord + UDINT + 32 + 96 + + + AxisModeLReal + LREAL + 64 + 128 + + + PositionCorrection + LREAL + 64 + 192 + + + ExtSetPos + LREAL + 64 + 256 + + + ExtSetVelo + LREAL + 64 + 320 + + + ExtSetAcc + LREAL + 64 + 384 + + + ExtSetDirection + DINT + 32 + 448 + + + ExtControllerOutput + LREAL + 64 + 512 + + + GearRatio1 + LREAL + 64 + 576 + + + GearRatio2 + LREAL + 64 + 640 + + + GearRatio3 + LREAL + 64 + 704 + + + GearRatio4 + LREAL + 64 + 768 + + + MapState + BOOL + 8 + 832 + + + PlcCycleControl + BYTE + 8 + 840 + + + PlcCycleCount + BYTE + 8 + 848 + + + + NcStructType + 1 + + + + + NCAXLESTRUCT_FROMPLC3 + + + + + + + + + {3EBB9639-5FF3-42B6-8847-35C70DC013C8} + + + + + PlcTaskCom + + + PlcTask + + + + + + + tc_epicscommodule Instance + {08500001-0000-0000-F000-000000000064} + + + + + + + + tc_project_app Instance + {08500001-0000-0000-F000-000000000064} + + PlcTask Inputs + + GVL.axes[1].inputs.bLimitFwd + + BOOL + + + GVL.axes[1].inputs.bLimitBwd + + BOOL + + + GVL.axes[1].inputs.bHomeSensor + + BOOL + + + GVL.axes[1].inputs.bEncLAtch + + BOOL + + + GVL.axes[1].Axis.NcToPlc + NCTOPLC_AXIS_REF + + AxisState + + + + HomingState + + + + CoupleState + + + + + GVL.axes[2].inputs.bLimitFwd + + BOOL + + + GVL.axes[2].inputs.bLimitBwd + + BOOL + + + GVL.axes[2].inputs.bHomeSensor + + BOOL + + + GVL.axes[2].inputs.bEncLAtch + + BOOL + + + GVL.axes[2].Axis.NcToPlc + NCTOPLC_AXIS_REF + + AxisState + + + + HomingState + + + + CoupleState + + + + + GVL.axes[3].inputs.bLimitFwd + + BOOL + + + GVL.axes[3].inputs.bLimitBwd + + BOOL + + + GVL.axes[3].inputs.bHomeSensor + + BOOL + + + GVL.axes[3].inputs.bEncLAtch + + BOOL + + + GVL.axes[3].Axis.NcToPlc + NCTOPLC_AXIS_REF + + AxisState + + + + HomingState + + + + CoupleState + + + + + + PlcTask Outputs + + MAIN.bOutput1 + + BOOL + + + GVL.axes[1].Axis.PlcToNc + PLCTONC_AXIS_REF + + + GVL.axes[2].Axis.PlcToNc + PLCTONC_AXIS_REF + + + GVL.axes[3].Axis.PlcToNc + PLCTONC_AXIS_REF + + + + + + + + + + diff --git a/solution/tc_project_app/GVLs/GVL_APP.TcGVL b/solution/tc_project_app/GVLs/GVL_APP.TcGVL index a846a85..150f4ac 100644 --- a/solution/tc_project_app/GVLs/GVL_APP.TcGVL +++ b/solution/tc_project_app/GVLs/GVL_APP.TcGVL @@ -1,14 +1,14 @@ - - - - - + + + + + \ No newline at end of file diff --git a/solution/tc_project_app/GlobalTextList.TcGTLO b/solution/tc_project_app/GlobalTextList.TcGTLO index 859af55..1818614 100644 --- a/solution/tc_project_app/GlobalTextList.TcGTLO +++ b/solution/tc_project_app/GlobalTextList.TcGTLO @@ -1,279 +1,279 @@ - - - - - - - - - "951" - "%2.2f" - - - - "878" - "%d" - - - - "706" - "%i" - - - - "940" - "%x" - - - - "703" - "Acknowledge" - - - - "710" - "Active:" - - - - "952" - "actPos" - - - - "953" - "actVel" - - - - "110" - "AXESMAX" - - - - "107" - "axisSel" - - - - "945" - "bBusy" - - - - "950" - "bBwEnabled" - - - - "946" - "bDone" - - - - "943" - "bEnabled" - - - - "941" - "bError" - - - - "102" - "bExecute" - - - - "949" - "bFwEnabled" - - - - "297" - "bGeared" - - - - "948" - "bHomed" - - - - "947" - "bResetDone" - - - - "944" - "bWarning" - - - - "704" - "Clear All" - - - - "104" - "ENABLE" - - - - "106" - "ENABLE BW" - - - - "105" - "ENABLE FW" - - - - "109" - "English" - - - - "939" - "errID" - - - - "701" - "Error #" - - - - "705" - "Error #:" - - - - "702" - "Error Log" - - - - "707" - "Errors:" - - - - "955" - "fAcceleration" - - - - "956" - "fDeceleration" - - - - "957" - "fPosition" - - - - "708" - "Free Entries:" - - - - "954" - "fVelocity" - - - - "299" - "gearIn" - - - - "300" - "gearOut" - - - - "711" - "Inactive:" - - - - "116" - "jogBw" - - - - "117" - "jogFw" - - - - "298" - "masterGear" - - - - "111" - "moveAbsolute" - - - - "114" - "moveModulo" - - - - "113" - "moveRelative" - - - - "112" - "moveVelocity" - - - - "709" - "Overflows:" - - - - "942" - "reset" - - - - "115" - "stop" - - - - "108" - "Test Language" - - - - "103" - "toggle" - - - - - {062c6d5a-aca0-4f82-8481-8e26e8c8681e} - {d08328f1-0dac-4dfb-b105-bd18d7b5a756} - {180f93fa-c96b-483e-953c-133bc7d30e18} - - - - System.Collections.ArrayList - {63784cbb-9ba0-45e6-9d69-babf3f040511} - System.Guid - System.String - {53da1be7-ad25-47c3-b0e8-e26286dad2e0} - - - + + + + + + + + + "951" + "%2.2f" + + + + "878" + "%d" + + + + "706" + "%i" + + + + "940" + "%x" + + + + "703" + "Acknowledge" + + + + "710" + "Active:" + + + + "952" + "actPos" + + + + "953" + "actVel" + + + + "110" + "AXESMAX" + + + + "107" + "axisSel" + + + + "945" + "bBusy" + + + + "950" + "bBwEnabled" + + + + "946" + "bDone" + + + + "943" + "bEnabled" + + + + "941" + "bError" + + + + "102" + "bExecute" + + + + "949" + "bFwEnabled" + + + + "297" + "bGeared" + + + + "948" + "bHomed" + + + + "947" + "bResetDone" + + + + "944" + "bWarning" + + + + "704" + "Clear All" + + + + "104" + "ENABLE" + + + + "106" + "ENABLE BW" + + + + "105" + "ENABLE FW" + + + + "109" + "English" + + + + "939" + "errID" + + + + "701" + "Error #" + + + + "705" + "Error #:" + + + + "702" + "Error Log" + + + + "707" + "Errors:" + + + + "955" + "fAcceleration" + + + + "956" + "fDeceleration" + + + + "957" + "fPosition" + + + + "708" + "Free Entries:" + + + + "954" + "fVelocity" + + + + "299" + "gearIn" + + + + "300" + "gearOut" + + + + "711" + "Inactive:" + + + + "116" + "jogBw" + + + + "117" + "jogFw" + + + + "298" + "masterGear" + + + + "111" + "moveAbsolute" + + + + "114" + "moveModulo" + + + + "113" + "moveRelative" + + + + "112" + "moveVelocity" + + + + "709" + "Overflows:" + + + + "942" + "reset" + + + + "115" + "stop" + + + + "108" + "Test Language" + + + + "103" + "toggle" + + + + + {062c6d5a-aca0-4f82-8481-8e26e8c8681e} + {d08328f1-0dac-4dfb-b105-bd18d7b5a756} + {180f93fa-c96b-483e-953c-133bc7d30e18} + + + + System.Collections.ArrayList + {63784cbb-9ba0-45e6-9d69-babf3f040511} + System.Guid + System.String + {53da1be7-ad25-47c3-b0e8-e26286dad2e0} + + + \ No newline at end of file diff --git a/solution/tc_project_app/POUs/MAIN.TcPOU b/solution/tc_project_app/POUs/MAIN.TcPOU index d74f2d1..887910d 100644 --- a/solution/tc_project_app/POUs/MAIN.TcPOU +++ b/solution/tc_project_app/POUs/MAIN.TcPOU @@ -1,144 +1,144 @@ - - - - - - - - - - - - - - - , - nSelectedError=> , - pErrorSystem=> ); - - -FOR GVL.iAxis:=1 TO gvl_app.axisNum DO - aFbAxesError[gvl.iAxis](EN:=TRUE, - nNC_ErrorID:= gvl.axes[gvl.iAxis].status.nErrorID, - nNC_AxisID:=gvl.axes[gvl.iAxis].Axis.NcToPlc.AxisId, - ErrorSystem:= fbErrorSystem.pErrorSystem); -END_FOR - - - -(*call all the necessary instance (input assistance F2 or right click) according to the terminals that you have in your hardware and - add "TRUE" in the input En, the corresponding number of termianl to the iTerminal_ID and -the variable "fbErrorSystem.pErrorSystem" to the input ErrorSystem in each FB E. g. : -fbEL1808( - En:= TRUE, - iTerminal_ID:= 01, - ErrorSystem:= fbErorSystem.pErrorSystem, - EnO=> , - bError=> ); - *) - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + , + nSelectedError=> , + pErrorSystem=> ); + + +FOR GVL.iAxis:=1 TO gvl_app.axisNum DO + aFbAxesError[gvl.iAxis](EN:=TRUE, + nNC_ErrorID:= gvl.axes[gvl.iAxis].status.nErrorID, + nNC_AxisID:=gvl.axes[gvl.iAxis].Axis.NcToPlc.AxisId, + ErrorSystem:= fbErrorSystem.pErrorSystem); +END_FOR + + + +(*call all the necessary instance (input assistance F2 or right click) according to the terminals that you have in your hardware and + add "TRUE" in the input En, the corresponding number of termianl to the iTerminal_ID and +the variable "fbErrorSystem.pErrorSystem" to the input ErrorSystem in each FB E. g. : +fbEL1808( + En:= TRUE, + iTerminal_ID:= 01, + ErrorSystem:= fbErorSystem.pErrorSystem, + EnO=> , + bError=> ); + *) + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/solution/tc_project_app/PlcTask.TcTTO b/solution/tc_project_app/PlcTask.TcTTO index 98d1faf..0763afe 100644 --- a/solution/tc_project_app/PlcTask.TcTTO +++ b/solution/tc_project_app/PlcTask.TcTTO @@ -1,16 +1,16 @@ - - - - - 1000 - 20 - - MAIN - - {26d89752-95b4-4b52-80c0-c79242bc34d7} - {137c4fd1-c794-4dee-a041-b4fea1d22866} - {2478772d-357b-433f-886f-15340bef9bdf} - {c16ee410-277f-45f0-a92e-1ec5f87024b9} - {291eb57a-f9a9-4722-b7d3-fd700e5db288} - + + + + + 1000 + 20 + + MAIN + + {26d89752-95b4-4b52-80c0-c79242bc34d7} + {137c4fd1-c794-4dee-a041-b4fea1d22866} + {2478772d-357b-433f-886f-15340bef9bdf} + {c16ee410-277f-45f0-a92e-1ec5f87024b9} + {291eb57a-f9a9-4722-b7d3-fd700e5db288} + \ No newline at end of file diff --git a/solution/tc_project_app/Visualization Manager.TcVMO b/solution/tc_project_app/Visualization Manager.TcVMO index 83b1ee8..e63f527 100644 --- a/solution/tc_project_app/Visualization Manager.TcVMO +++ b/solution/tc_project_app/Visualization Manager.TcVMO @@ -1,568 +1,568 @@ - - - - - - - Undefined - - - "MainVisu" - false - false - AutoDetect - 2000 - 2000 - false - 50000 - 400000 - false - false - true - "Default, 3.1.5.0 (Beckhoff Automation GmbH)" - 100 - "" - "VisuDialogs.Numpad" - "VisuDialogs.Keypad" - "VisuDialogs.TextinputWithLimits" - false - false - true - true - false - "VisuUserManagement.VUM_Login" - "VisuUserManagement.VUM_ChangePassword" - "VisuUserManagement.VUM_UserManagement" - {00000000-0000-0000-0000-000000000000} - {00000000-0000-0000-0000-000000000000} - true - true - false - "" - - - - FB_Init - c98701bd-1e9f-450a-a2a8-a2474d536f2e - FB_Reinit - 5b6e372a-a69d-40e8-aef7-f470b7c53d95 - FB_Exit - 0be1b9ab-e8eb-4b33-b803-109abb46bde4 - - "NotImportant" - {aa8b7e42-e967-427f-8f2e-f00f9d706470} - - - - 7 - 4096 - "1002 0004" - "1.0.0.4" - {cb73a13e-6ccc-4bc6-8859-f5aa98bb116b} - - - true - 48 - "0" - - - true - 49 - "1" - - - true - 50 - "2" - - - true - 51 - "3" - - - true - 52 - "4" - - - true - 53 - "5" - - - true - 54 - "6" - - - true - 55 - "7" - - - true - 56 - "8" - - - true - 57 - "9" - - - true - 65 - "A" - - - true - 107 - "ADDITION" - - - true - 66 - "B" - - - true - 8 - "BACKSPACE" - - - true - 67 - "C" - - - true - 110 - "COMMA" - - - true - 68 - "D" - - - true - 46 - "DELETE" - - - true - 111 - "DIVIDE" - - - true - 40 - "DOWN" - - - true - 69 - "E" - - - true - 35 - "END" - - - true - 27 - "ESCAPE" - - - true - 70 - "F" - - - true - 112 - "F1" - - - true - 121 - "F10" - - - true - 122 - "F11" - - - true - 123 - "F12" - - - true - 113 - "F2" - - - true - 114 - "F3" - - - true - 115 - "F4" - - - true - 116 - "F5" - - - true - 117 - "F6" - - - true - 118 - "F7" - - - true - 119 - "F8" - - - true - 120 - "F9" - - - true - 71 - "G" - - - true - 72 - "H" - - - true - 36 - "HOME" - - - true - 73 - "I" - - - true - 45 - "INSERT" - - - true - 74 - "J" - - - true - 75 - "K" - - - true - 76 - "L" - - - true - 37 - "LEFT" - - - true - 77 - "M" - - - true - 106 - "MULTIPLY" - - - true - 78 - "N" - - - true - 96 - "NUM0" - - - true - 97 - "NUM1" - - - true - 98 - "NUM2" - - - true - 99 - "NUM3" - - - true - 100 - "NUM4" - - - true - 101 - "NUM5" - - - true - 102 - "NUM6" - - - true - 103 - "NUM7" - - - true - 104 - "NUM8" - - - true - 105 - "NUM9" - - - true - 79 - "O" - - - true - 80 - "P" - - - true - 19 - "PAUSE" - - - true - 42 - "PRINT" - - - true - 81 - "Q" - - - true - 82 - "R" - - - true - 13 - "RETURN_KEY" - - - true - 39 - "RIGHT" - - - true - 83 - "S" - - - true - 32 - "SPACE" - - - true - 109 - "SUBTRACT" - - - true - 84 - "T" - - - true - 9 - "TAB" - - - true - 85 - "U" - - - true - 38 - "UP" - - - true - 86 - "V" - - - true - 87 - "W" - - - true - 88 - "X" - - - true - 89 - "Y" - - - true - 90 - "Z" - - - - - - 481037385728L - 549755813887L - 481037385728L - 549754765312L - 1048576L - - - - - ExecuteLooseCapture - 4e2884cd-dc97-4120-914c-87a83e618f1f - ExecuteMouseUp - 57eea9a5-15d9-4269-bb8d-9fee5420cdb2 - Init - e61a0910-39b6-4bcc-9a64-fcab62230628 - FB_Exit - e6e1ea47-0811-4b03-9888-d0564361e0d6 - ExecuteMouseDblClick - a517a0ac-170b-4df4-b289-55dcb57628ed - GetElementInfo - f64cb89f-3016-4fba-85f5-02efcd4282c1 - ExecuteMouseDown - 94bab392-b395-4c03-9d0e-5738d11bd021 - FB_Reinit - 97933c03-0169-4afe-ac83-de892204e120 - Initialize - 6946d6e0-129f-4425-b8b0-ef98281a99e9 - ExecuteMouseMove - 58fc221c-be14-4e34-871e-a118f8ba9539 - ExecuteDialogClosed - f08d08b6-e70c-4bef-a136-38845bd246d8 - ExecuteKeyUp - 7403635b-2725-4f00-93d4-e0dd125959de - ExecuteKeyDown - 9649ecda-3794-4d6b-a8a7-71e528d9d170 - abstrGetDefaultCursor - 25718998-50a9-408d-8b3f-20a55e2cc784 - ExecuteMouseEnter - 569205fa-533b-4fc2-8d51-21ccab693305 - ExecuteMouseLeave - 3bacea68-55b4-4764-928e-e69910299932 - FB_Init - f37e1250-9b48-45ca-810e-c192ea9440ec - ExecuteMouseClick - cd348bda-7eaf-4dfe-8c4b-bf9b71e5b10c - - "NotImportant" - {073ee466-cf0a-4c8b-ba92-64f671516699} - - - - true - true - - - - - {925c2b24-84d1-469a-954d-7af8b99219ef} - {f905b871-af16-47c5-a6ef-0a0918a8b009} - {d3706fa7-8257-48b3-af0a-cab0afb4dc49} - {4d5d9e0c-fa46-4312-abcd-ab81ecde84e1} - {00a84c7a-9a31-408b-860a-9d896efbd842} - {3ef700b6-44e8-4cfc-b6e0-26bfef38c2b6} - {e2123cf7-55c2-43c4-8135-f70e23d789b6} - {b7fab3e5-7354-42a4-bdf2-bc53461ec63c} - {967863f2-ccef-44e4-a545-05cbd9acb6be} - {f97c4870-0a84-4b7b-9cfd-0059a20bebbd} - {81498829-8b99-4474-8196-a48127c8e5d4} - {71bfd0df-7f34-4abc-b3b9-84bad2430630} - {6695a96b-387d-4f98-b9f1-09dab5b7c483} - {5fe53f14-f5a7-4173-9e2b-538b7d89379a} - {09c26f6e-e9b1-4455-a763-8dfd243af668} - {48451f3d-75f9-48ba-acdb-82d62e000f26} - {8214e061-c2ef-40f5-b519-acfed1ca1cca} - {97cdf6c7-053d-4364-abf2-f17c232375c1} - {30af51e2-0f28-4c98-bb4e-6c7a4ef6b64e} - {9e20996c-a8e0-4843-9524-9317ce5fc512} - {9d656f8b-b228-46a1-8204-ecc426d69d24} - {0a915a90-ba73-4abc-b7c3-f5acec9f952a} - {0dedbb39-c60c-476d-aa88-36e50d09fdfc} - {9dd59c98-b565-4e32-8873-d0c41e452b61} - {43ba7f16-75cc-4157-b401-5b6df597b0b4} - {ccfc9bcc-edea-480a-ac07-0c05646a5eda} - {5531e874-67e5-49bb-abdc-7ac83b125a33} - {398fdf90-7db7-4f59-b7ca-c68fb5513e2e} - {c21922fc-3c9f-4927-affe-3857961c67c0} - {b435091b-c53f-4ea3-9ed5-223f402a82e7} - {2acce1aa-45b9-434d-bd0d-05676ddde292} - {7e796d60-07e9-4daf-b8ad-e42e285dae85} - - - - System.Collections.ArrayList - System.Boolean - {7df88604-7ac5-4e36-91c4-55e4fdad3e68} - {11a86981-4b02-4f98-b432-96e385cb41b7} - {c91fc5aa-1e38-43b2-9a05-c52cc5d7f5b6} - {40d6dd8d-dfd0-493a-8e29-c9a35e1e6539} - System.Guid - {6b108d46-58af-4e41-a3f4-174d8f160cc4} - System.Int32 - System.Int64 - System.String - {19611221-ebd3-4607-86d2-9822fbe84c30} - {c37fe731-4f69-4d98-82fe-4f9aefbe200d} - {997fedbb-1888-4256-b61c-2933d8056bfd} - {4d3fdb8f-ab50-4c35-9d3a-d4bb9bb9a628} - {ec9b2ec6-92a2-4856-be72-7866fb274c64} - - - + + + + + + + Undefined + + + "MainVisu" + false + false + AutoDetect + 2000 + 2000 + false + 50000 + 400000 + false + false + true + "Default, 3.1.5.0 (Beckhoff Automation GmbH)" + 100 + "" + "VisuDialogs.Numpad" + "VisuDialogs.Keypad" + "VisuDialogs.TextinputWithLimits" + false + false + true + true + false + "VisuUserManagement.VUM_Login" + "VisuUserManagement.VUM_ChangePassword" + "VisuUserManagement.VUM_UserManagement" + {00000000-0000-0000-0000-000000000000} + {00000000-0000-0000-0000-000000000000} + true + true + false + "" + + + + FB_Init + c98701bd-1e9f-450a-a2a8-a2474d536f2e + FB_Reinit + 5b6e372a-a69d-40e8-aef7-f470b7c53d95 + FB_Exit + 0be1b9ab-e8eb-4b33-b803-109abb46bde4 + + "NotImportant" + {aa8b7e42-e967-427f-8f2e-f00f9d706470} + + + + 7 + 4096 + "1002 0004" + "1.0.0.4" + {cb73a13e-6ccc-4bc6-8859-f5aa98bb116b} + + + true + 48 + "0" + + + true + 49 + "1" + + + true + 50 + "2" + + + true + 51 + "3" + + + true + 52 + "4" + + + true + 53 + "5" + + + true + 54 + "6" + + + true + 55 + "7" + + + true + 56 + "8" + + + true + 57 + "9" + + + true + 65 + "A" + + + true + 107 + "ADDITION" + + + true + 66 + "B" + + + true + 8 + "BACKSPACE" + + + true + 67 + "C" + + + true + 110 + "COMMA" + + + true + 68 + "D" + + + true + 46 + "DELETE" + + + true + 111 + "DIVIDE" + + + true + 40 + "DOWN" + + + true + 69 + "E" + + + true + 35 + "END" + + + true + 27 + "ESCAPE" + + + true + 70 + "F" + + + true + 112 + "F1" + + + true + 121 + "F10" + + + true + 122 + "F11" + + + true + 123 + "F12" + + + true + 113 + "F2" + + + true + 114 + "F3" + + + true + 115 + "F4" + + + true + 116 + "F5" + + + true + 117 + "F6" + + + true + 118 + "F7" + + + true + 119 + "F8" + + + true + 120 + "F9" + + + true + 71 + "G" + + + true + 72 + "H" + + + true + 36 + "HOME" + + + true + 73 + "I" + + + true + 45 + "INSERT" + + + true + 74 + "J" + + + true + 75 + "K" + + + true + 76 + "L" + + + true + 37 + "LEFT" + + + true + 77 + "M" + + + true + 106 + "MULTIPLY" + + + true + 78 + "N" + + + true + 96 + "NUM0" + + + true + 97 + "NUM1" + + + true + 98 + "NUM2" + + + true + 99 + "NUM3" + + + true + 100 + "NUM4" + + + true + 101 + "NUM5" + + + true + 102 + "NUM6" + + + true + 103 + "NUM7" + + + true + 104 + "NUM8" + + + true + 105 + "NUM9" + + + true + 79 + "O" + + + true + 80 + "P" + + + true + 19 + "PAUSE" + + + true + 42 + "PRINT" + + + true + 81 + "Q" + + + true + 82 + "R" + + + true + 13 + "RETURN_KEY" + + + true + 39 + "RIGHT" + + + true + 83 + "S" + + + true + 32 + "SPACE" + + + true + 109 + "SUBTRACT" + + + true + 84 + "T" + + + true + 9 + "TAB" + + + true + 85 + "U" + + + true + 38 + "UP" + + + true + 86 + "V" + + + true + 87 + "W" + + + true + 88 + "X" + + + true + 89 + "Y" + + + true + 90 + "Z" + + + + + + 481037385728L + 549755813887L + 481037385728L + 549754765312L + 1048576L + + + + + ExecuteLooseCapture + 4e2884cd-dc97-4120-914c-87a83e618f1f + ExecuteMouseUp + 57eea9a5-15d9-4269-bb8d-9fee5420cdb2 + Init + e61a0910-39b6-4bcc-9a64-fcab62230628 + FB_Exit + e6e1ea47-0811-4b03-9888-d0564361e0d6 + ExecuteMouseDblClick + a517a0ac-170b-4df4-b289-55dcb57628ed + GetElementInfo + f64cb89f-3016-4fba-85f5-02efcd4282c1 + ExecuteMouseDown + 94bab392-b395-4c03-9d0e-5738d11bd021 + FB_Reinit + 97933c03-0169-4afe-ac83-de892204e120 + Initialize + 6946d6e0-129f-4425-b8b0-ef98281a99e9 + ExecuteMouseMove + 58fc221c-be14-4e34-871e-a118f8ba9539 + ExecuteDialogClosed + f08d08b6-e70c-4bef-a136-38845bd246d8 + ExecuteKeyUp + 7403635b-2725-4f00-93d4-e0dd125959de + ExecuteKeyDown + 9649ecda-3794-4d6b-a8a7-71e528d9d170 + abstrGetDefaultCursor + 25718998-50a9-408d-8b3f-20a55e2cc784 + ExecuteMouseEnter + 569205fa-533b-4fc2-8d51-21ccab693305 + ExecuteMouseLeave + 3bacea68-55b4-4764-928e-e69910299932 + FB_Init + f37e1250-9b48-45ca-810e-c192ea9440ec + ExecuteMouseClick + cd348bda-7eaf-4dfe-8c4b-bf9b71e5b10c + + "NotImportant" + {073ee466-cf0a-4c8b-ba92-64f671516699} + + + + true + true + + + + + {925c2b24-84d1-469a-954d-7af8b99219ef} + {f905b871-af16-47c5-a6ef-0a0918a8b009} + {d3706fa7-8257-48b3-af0a-cab0afb4dc49} + {4d5d9e0c-fa46-4312-abcd-ab81ecde84e1} + {00a84c7a-9a31-408b-860a-9d896efbd842} + {3ef700b6-44e8-4cfc-b6e0-26bfef38c2b6} + {e2123cf7-55c2-43c4-8135-f70e23d789b6} + {b7fab3e5-7354-42a4-bdf2-bc53461ec63c} + {967863f2-ccef-44e4-a545-05cbd9acb6be} + {f97c4870-0a84-4b7b-9cfd-0059a20bebbd} + {81498829-8b99-4474-8196-a48127c8e5d4} + {71bfd0df-7f34-4abc-b3b9-84bad2430630} + {6695a96b-387d-4f98-b9f1-09dab5b7c483} + {5fe53f14-f5a7-4173-9e2b-538b7d89379a} + {09c26f6e-e9b1-4455-a763-8dfd243af668} + {48451f3d-75f9-48ba-acdb-82d62e000f26} + {8214e061-c2ef-40f5-b519-acfed1ca1cca} + {97cdf6c7-053d-4364-abf2-f17c232375c1} + {30af51e2-0f28-4c98-bb4e-6c7a4ef6b64e} + {9e20996c-a8e0-4843-9524-9317ce5fc512} + {9d656f8b-b228-46a1-8204-ecc426d69d24} + {0a915a90-ba73-4abc-b7c3-f5acec9f952a} + {0dedbb39-c60c-476d-aa88-36e50d09fdfc} + {9dd59c98-b565-4e32-8873-d0c41e452b61} + {43ba7f16-75cc-4157-b401-5b6df597b0b4} + {ccfc9bcc-edea-480a-ac07-0c05646a5eda} + {5531e874-67e5-49bb-abdc-7ac83b125a33} + {398fdf90-7db7-4f59-b7ca-c68fb5513e2e} + {c21922fc-3c9f-4927-affe-3857961c67c0} + {b435091b-c53f-4ea3-9ed5-223f402a82e7} + {2acce1aa-45b9-434d-bd0d-05676ddde292} + {7e796d60-07e9-4daf-b8ad-e42e285dae85} + + + + System.Collections.ArrayList + System.Boolean + {7df88604-7ac5-4e36-91c4-55e4fdad3e68} + {11a86981-4b02-4f98-b432-96e385cb41b7} + {c91fc5aa-1e38-43b2-9a05-c52cc5d7f5b6} + {40d6dd8d-dfd0-493a-8e29-c9a35e1e6539} + System.Guid + {6b108d46-58af-4e41-a3f4-174d8f160cc4} + System.Int32 + System.Int64 + System.String + {19611221-ebd3-4607-86d2-9822fbe84c30} + {c37fe731-4f69-4d98-82fe-4f9aefbe200d} + {997fedbb-1888-4256-b61c-2933d8056bfd} + {4d3fdb8f-ab50-4c35-9d3a-d4bb9bb9a628} + {ec9b2ec6-92a2-4856-be72-7866fb274c64} + + + \ No newline at end of file diff --git a/solution/tc_project_app/tc_project_app.plcproj b/solution/tc_project_app/tc_project_app.plcproj index 903cef5..ac7a216 100644 --- a/solution/tc_project_app/tc_project_app.plcproj +++ b/solution/tc_project_app/tc_project_app.plcproj @@ -1,403 +1,403 @@ - - - - 1.0.0.0 - 2.0 - {fb261665-fd20-4bf2-97f8-2854c82b752d} - True - tc_project_app - 3.1.4022.6 - {047dee04-c246-47b2-8ccc-a15e36987c43} - {ae4eb5ee-6030-47a6-bf35-5a6afd9efeeb} - {5ef19bd0-aca2-493f-b2a1-89e363647697} - {f52f0efe-1be1-4600-94a9-9aa59fdf8e4e} - {26d08e27-a705-49a9-95de-a3a0b6ea049c} - {577f21c4-8eb2-4f2c-a24e-4c3f62ca96d2} - true - - - - Code - - - Code - true - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - Visualization Manager.TcVMO - - - Code - - - Code - Visualization Manager.TcVMO - - - Code - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VisuElemMeter, 3.5.10.0 (System) - VisuElemMeter - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - VisuElems, 3.5.10.20 (System) - VisuElems - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - VisuElemsSpecialControls, 3.5.10.0 (System) - VisuElemsSpecialControls - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - VisuElemsWinControls, 3.5.10.20 (System) - VisuElemsWinControls - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - VisuElemTextEditor, 3.5.10.10 (System) - VisuElemTextEditor - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - visuinputs, 3.5.10.0 (system) - visuinputs - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - VisuNativeControl, 3.5.10.0 (System) - VisuNativeControl - true - 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae - - - Tc2_EtherCAT, * (Beckhoff Automation GmbH) - Tc2_EtherCAT - - - Tc2_MC2, * (Beckhoff Automation GmbH) - Tc2_MC2 - - - Tc2_Standard, * (Beckhoff Automation GmbH) - Tc2_Standard - - - Tc2_System, * (Beckhoff Automation GmbH) - Tc2_System - - - Tc2_Utilities, * (Beckhoff Automation GmbH) - Tc2_Utilities - - - Tc3_MC2_AdvancedHoming, * (Beckhoff Automation GmbH) - Tc3_MC2_AdvancedHoming - - - Tc3_Module, * (Beckhoff Automation GmbH) - Tc3_Module - - - VisuDialogs, * (System) - VisuDialogs - - - - - Content - - - - - - - - "<ProjectRoot>" - - {192FAD59-8248-4824-A8DE-9177C94C195A} - - "{192FAD59-8248-4824-A8DE-9177C94C195A}" - - - - {246001F4-279D-43AC-B241-948EB31120E1} - - "{246001F4-279D-43AC-B241-948EB31120E1}" - - - UnicodeStrings - False - - - {29BD8D0C-3586-4548-BB48-497B9A01693F} - - "{29BD8D0C-3586-4548-BB48-497B9A01693F}" - - Rules - - "Rules" - - - - - - - {8F99A816-E488-41E4-9FA3-846536012284} - - "{8F99A816-E488-41E4-9FA3-846536012284}" - - - - {40450F57-0AA3-4216-96F3-5444ECB29763} - - "{40450F57-0AA3-4216-96F3-5444ECB29763}" - - - ActiveVisuExtensionsLength - 0 - ActiveVisuProfile - "IR0whWr8bwfyBwAAHf+pawAAAABVAgAADnffSgAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDJUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgAyAC4AMQAwAAUWUAByAG8AZgBpAGwAZQBEAGEAdABhAAZMewAxADYAZQA1ADUAYgA2ADAALQA3ADAANAAzAC0ANABhADYAMwAtAGIANgA1AGIALQA2ADEANAA3ADEAMwA4ADcAOABkADQAMgB9AAcSTABpAGIAcgBhAHIAaQBlAHMACEx7ADMAYgBmAGQANQA0ADUAOQAtAGIAMAA3AGYALQA0AGQANgBlAC0AYQBlADEAYQAtAGEAOAAzADMANQA2AGEANQA1ADEANAAyAH0ACUx7ADkAYwA5ADUAOAA5ADYAOAAtADIAYwA4ADUALQA0ADEAYgBiAC0AOAA4ADcAMQAtADgAOQA1AGYAZgAxAGYAZQBkAGUAMQBhAH0ACg5WAGUAcgBzAGkAbwBuAAsGaQBuAHQADApVAHMAYQBnAGUADQpUAGkAdABsAGUADhpWAGkAcwB1AEUAbABlAG0ATQBlAHQAZQByAA8OQwBvAG0AcABhAG4AeQAQDFMAeQBzAHQAZQBtABESVgBpAHMAdQBFAGwAZQBtAHMAEjBWAGkAcwB1AEUAbABlAG0AcwBTAHAAZQBjAGkAYQBsAEMAbwBuAHQAcgBvAGwAcwATKFYAaQBzAHUARQBsAGUAbQBzAFcAaQBuAEMAbwBuAHQAcgBvAGwAcwAUJFYAaQBzAHUARQBsAGUAbQBUAGUAeAB0AEUAZABpAHQAbwByABUiVgBpAHMAdQBOAGEAdABpAHYAZQBDAG8AbgB0AHIAbwBsABYUdgBpAHMAdQBpAG4AcAB1AHQAcwAXDHMAeQBzAHQAZQBtABgYVgBpAHMAdQBFAGwAZQBtAEIAYQBzAGUAGSZEAGUAdgBQAGwAYQBjAGUAaABvAGwAZABlAHIAcwBVAHMAZQBkABoIYgBvAG8AbAAbIlAAbAB1AGcAaQBuAEMAbwBuAHMAdAByAGEAaQBuAHQAcwAcTHsANAAzAGQANQAyAGIAYwBlAC0AOQA0ADIAYwAtADQANABkADcALQA5AGUAOQA0AC0AMQBiAGYAZABmADMAMQAwAGUANgAzAGMAfQAdHEEAdABMAGUAYQBzAHQAVgBlAHIAcwBpAG8AbgAeFFAAbAB1AGcAaQBuAEcAdQBpAGQAHxZTAHkAcwB0AGUAbQAuAEcAdQBpAGQAIEhhAGYAYwBkADUANAA0ADYALQA0ADkAMQA0AC0ANABmAGUANwAtAGIAYgA3ADgALQA5AGIAZgBmAGUAYgA3ADAAZgBkADEANwAhFFUAcABkAGEAdABlAEkAbgBmAG8AIkx7AGIAMAAzADMANgA2AGEAOAAtAGIANQBjADAALQA0AGIAOQBhAC0AYQAwADAAZQAtAGUAYgA4ADYAMAAxADEAMQAwADQAYwAzAH0AIw5VAHAAZABhAHQAZQBzACRMewAxADgANgA4AGYAZgBjADkALQBlADQAZgBjAC0ANAA1ADMAMgAtAGEAYwAwADYALQAxAGUAMwA5AGIAYgA1ADUANwBiADYAOQB9ACVMewBhADUAYgBkADQAOABjADMALQAwAGQAMQA3AC0ANAAxAGIANQAtAGIAMQA2ADQALQA1AGYAYwA2AGEAZAAyAGIAOQA2AGIANwB9ACYWTwBiAGoAZQBjAHQAcwBUAHkAcABlACdUVQBwAGQAYQB0AGUATABhAG4AZwB1AGEAZwBlAE0AbwBkAGUAbABGAG8AcgBDAG8AbgB2AGUAcgB0AGkAYgBsAGUATABpAGIAcgBhAHIAaQBlAHMAKBBMAGkAYgBUAGkAdABsAGUAKRRMAGkAYgBDAG8AbQBwAGEAbgB5ACoeVQBwAGQAYQB0AGUAUAByAG8AdgBpAGQAZQByAHMAKzhTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEgAYQBzAGgAdABhAGIAbABlACwSdgBpAHMAdQBlAGwAZQBtAHMALUg2AGMAYgAxAGMAZABlADEALQBkADUAZABjAC0ANABhADMAYgAtADkAMAA1ADQALQAyADEAZgBhADcANQA2AGEAMwBmAGEANAAuKEkAbgB0AGUAcgBmAGEAYwBlAFYAZQByAHMAaQBvAG4ASQBuAGYAbwAvTHsAYwA2ADEAMQBlADQAMAAwAC0ANwBmAGIAOQAtADQAYwAzADUALQBiADkAYQBjAC0ANABlADMAMQA0AGIANQA5ADkANgA0ADMAfQAwGE0AYQBqAG8AcgBWAGUAcgBzAGkAbwBuADEYTQBpAG4AbwByAFYAZQByAHMAaQBvAG4AMgxMAGUAZwBhAGMAeQAzMEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwAVgBlAHIAcwBpAG8AbgBJAG4AZgBvADQwTABvAGEAZABMAGkAYgByAGEAcgBpAGUAcwBJAG4AdABvAFAAcgBvAGoAZQBjAHQANRpDAG8AbQBwAGEAdABpAGIAaQBsAGkAdAB5ANAAAhoD0AMBLQTQBQYaB9AHCBoBRQcJCNAACRoERQoLBAMAAAAFAAAACgAAAAAAAADQDAutAgAAANANAS0O0A8BLRDQAAkaBEUKCwQDAAAABQAAAAoAAAAoAAAA0AwLrQEAAADQDQEtEdAPAS0Q0AAJGgRFCgsEAwAAAAUAAAAKAAAAAAAAANAMC60CAAAA0A0BLRLQDwEtENAACRoERQoLBAMAAAAFAAAACgAAACgAAADQDAutAgAAANANAS0T0A8BLRDQAAkaBEUKCwQDAAAABQAAAAoAAAAKAAAA0AwLrQIAAADQDQEtFNAPAS0Q0AAJGgRFCgsEAwAAAAUAAAAKAAAAKAAAANAMC60CAAAA0A0BLRXQDwEtENAACRoERQoLBAMAAAAFAAAACgAAAAAAAADQDAutAgAAANANAS0W0A8BLRfQAAkaBEUKCwQDAAAABQAAAAoAAAAoAAAA0AwLrQQAAADQDQEtGNAPAS0Q0BkarQFFGxwB0AAcGgJFHQsEAwAAAAUAAAAKAAAAAAAAANAeHy0g0CEiGgJFIyQC0AAlGgVFCgsEAwAAAAMAAAAAAAAACgAAANAmC60AAAAA0AMBLSfQKAEtEdApAS0Q0AAlGgVFCgsEAwAAAAMAAAAAAAAACgAAANAmC60BAAAA0AMBLSfQKAEtEdApAS0QmiorAUUAAQLQAAEtLNAAAS0X0AAfLS3QLi8aA9AwC60BAAAA0DELrRMAAADQMhqtANAzLxoD0DALrQIAAADQMQutAwAAANAyGq0A0DQarQDQNRqtAA==" - - - - - - - - System.Boolean - System.Collections.Hashtable - System.Int32 - {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} - System.String - - - - + + + + 1.0.0.0 + 2.0 + {fb261665-fd20-4bf2-97f8-2854c82b752d} + True + tc_project_app + 3.1.4022.6 + {047dee04-c246-47b2-8ccc-a15e36987c43} + {ae4eb5ee-6030-47a6-bf35-5a6afd9efeeb} + {5ef19bd0-aca2-493f-b2a1-89e363647697} + {f52f0efe-1be1-4600-94a9-9aa59fdf8e4e} + {26d08e27-a705-49a9-95de-a3a0b6ea049c} + {577f21c4-8eb2-4f2c-a24e-4c3f62ca96d2} + true + + + + Code + + + Code + true + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + Visualization Manager.TcVMO + + + Code + + + Code + Visualization Manager.TcVMO + + + Code + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VisuElemMeter, 3.5.10.0 (System) + VisuElemMeter + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + VisuElems, 3.5.10.20 (System) + VisuElems + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + VisuElemsSpecialControls, 3.5.10.0 (System) + VisuElemsSpecialControls + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + VisuElemsWinControls, 3.5.10.20 (System) + VisuElemsWinControls + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + VisuElemTextEditor, 3.5.10.10 (System) + VisuElemTextEditor + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + visuinputs, 3.5.10.0 (system) + visuinputs + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + VisuNativeControl, 3.5.10.0 (System) + VisuNativeControl + true + 2717eb6a-dd07-4c66-8d8d-cacebd7b18ae + + + Tc2_EtherCAT, * (Beckhoff Automation GmbH) + Tc2_EtherCAT + + + Tc2_MC2, * (Beckhoff Automation GmbH) + Tc2_MC2 + + + Tc2_Standard, * (Beckhoff Automation GmbH) + Tc2_Standard + + + Tc2_System, * (Beckhoff Automation GmbH) + Tc2_System + + + Tc2_Utilities, * (Beckhoff Automation GmbH) + Tc2_Utilities + + + Tc3_MC2_AdvancedHoming, * (Beckhoff Automation GmbH) + Tc3_MC2_AdvancedHoming + + + Tc3_Module, * (Beckhoff Automation GmbH) + Tc3_Module + + + VisuDialogs, * (System) + VisuDialogs + + + + + Content + + + + + + + + "<ProjectRoot>" + + {192FAD59-8248-4824-A8DE-9177C94C195A} + + "{192FAD59-8248-4824-A8DE-9177C94C195A}" + + + + {246001F4-279D-43AC-B241-948EB31120E1} + + "{246001F4-279D-43AC-B241-948EB31120E1}" + + + UnicodeStrings + False + + + {29BD8D0C-3586-4548-BB48-497B9A01693F} + + "{29BD8D0C-3586-4548-BB48-497B9A01693F}" + + Rules + + "Rules" + + + + + + + {8F99A816-E488-41E4-9FA3-846536012284} + + "{8F99A816-E488-41E4-9FA3-846536012284}" + + + + {40450F57-0AA3-4216-96F3-5444ECB29763} + + "{40450F57-0AA3-4216-96F3-5444ECB29763}" + + + ActiveVisuExtensionsLength + 0 + ActiveVisuProfile + "IR0whWr8bwfyBwAAHf+pawAAAABVAgAADnffSgAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDJUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgAyAC4AMQAwAAUWUAByAG8AZgBpAGwAZQBEAGEAdABhAAZMewAxADYAZQA1ADUAYgA2ADAALQA3ADAANAAzAC0ANABhADYAMwAtAGIANgA1AGIALQA2ADEANAA3ADEAMwA4ADcAOABkADQAMgB9AAcSTABpAGIAcgBhAHIAaQBlAHMACEx7ADMAYgBmAGQANQA0ADUAOQAtAGIAMAA3AGYALQA0AGQANgBlAC0AYQBlADEAYQAtAGEAOAAzADMANQA2AGEANQA1ADEANAAyAH0ACUx7ADkAYwA5ADUAOAA5ADYAOAAtADIAYwA4ADUALQA0ADEAYgBiAC0AOAA4ADcAMQAtADgAOQA1AGYAZgAxAGYAZQBkAGUAMQBhAH0ACg5WAGUAcgBzAGkAbwBuAAsGaQBuAHQADApVAHMAYQBnAGUADQpUAGkAdABsAGUADhpWAGkAcwB1AEUAbABlAG0ATQBlAHQAZQByAA8OQwBvAG0AcABhAG4AeQAQDFMAeQBzAHQAZQBtABESVgBpAHMAdQBFAGwAZQBtAHMAEjBWAGkAcwB1AEUAbABlAG0AcwBTAHAAZQBjAGkAYQBsAEMAbwBuAHQAcgBvAGwAcwATKFYAaQBzAHUARQBsAGUAbQBzAFcAaQBuAEMAbwBuAHQAcgBvAGwAcwAUJFYAaQBzAHUARQBsAGUAbQBUAGUAeAB0AEUAZABpAHQAbwByABUiVgBpAHMAdQBOAGEAdABpAHYAZQBDAG8AbgB0AHIAbwBsABYUdgBpAHMAdQBpAG4AcAB1AHQAcwAXDHMAeQBzAHQAZQBtABgYVgBpAHMAdQBFAGwAZQBtAEIAYQBzAGUAGSZEAGUAdgBQAGwAYQBjAGUAaABvAGwAZABlAHIAcwBVAHMAZQBkABoIYgBvAG8AbAAbIlAAbAB1AGcAaQBuAEMAbwBuAHMAdAByAGEAaQBuAHQAcwAcTHsANAAzAGQANQAyAGIAYwBlAC0AOQA0ADIAYwAtADQANABkADcALQA5AGUAOQA0AC0AMQBiAGYAZABmADMAMQAwAGUANgAzAGMAfQAdHEEAdABMAGUAYQBzAHQAVgBlAHIAcwBpAG8AbgAeFFAAbAB1AGcAaQBuAEcAdQBpAGQAHxZTAHkAcwB0AGUAbQAuAEcAdQBpAGQAIEhhAGYAYwBkADUANAA0ADYALQA0ADkAMQA0AC0ANABmAGUANwAtAGIAYgA3ADgALQA5AGIAZgBmAGUAYgA3ADAAZgBkADEANwAhFFUAcABkAGEAdABlAEkAbgBmAG8AIkx7AGIAMAAzADMANgA2AGEAOAAtAGIANQBjADAALQA0AGIAOQBhAC0AYQAwADAAZQAtAGUAYgA4ADYAMAAxADEAMQAwADQAYwAzAH0AIw5VAHAAZABhAHQAZQBzACRMewAxADgANgA4AGYAZgBjADkALQBlADQAZgBjAC0ANAA1ADMAMgAtAGEAYwAwADYALQAxAGUAMwA5AGIAYgA1ADUANwBiADYAOQB9ACVMewBhADUAYgBkADQAOABjADMALQAwAGQAMQA3AC0ANAAxAGIANQAtAGIAMQA2ADQALQA1AGYAYwA2AGEAZAAyAGIAOQA2AGIANwB9ACYWTwBiAGoAZQBjAHQAcwBUAHkAcABlACdUVQBwAGQAYQB0AGUATABhAG4AZwB1AGEAZwBlAE0AbwBkAGUAbABGAG8AcgBDAG8AbgB2AGUAcgB0AGkAYgBsAGUATABpAGIAcgBhAHIAaQBlAHMAKBBMAGkAYgBUAGkAdABsAGUAKRRMAGkAYgBDAG8AbQBwAGEAbgB5ACoeVQBwAGQAYQB0AGUAUAByAG8AdgBpAGQAZQByAHMAKzhTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEgAYQBzAGgAdABhAGIAbABlACwSdgBpAHMAdQBlAGwAZQBtAHMALUg2AGMAYgAxAGMAZABlADEALQBkADUAZABjAC0ANABhADMAYgAtADkAMAA1ADQALQAyADEAZgBhADcANQA2AGEAMwBmAGEANAAuKEkAbgB0AGUAcgBmAGEAYwBlAFYAZQByAHMAaQBvAG4ASQBuAGYAbwAvTHsAYwA2ADEAMQBlADQAMAAwAC0ANwBmAGIAOQAtADQAYwAzADUALQBiADkAYQBjAC0ANABlADMAMQA0AGIANQA5ADkANgA0ADMAfQAwGE0AYQBqAG8AcgBWAGUAcgBzAGkAbwBuADEYTQBpAG4AbwByAFYAZQByAHMAaQBvAG4AMgxMAGUAZwBhAGMAeQAzMEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwAVgBlAHIAcwBpAG8AbgBJAG4AZgBvADQwTABvAGEAZABMAGkAYgByAGEAcgBpAGUAcwBJAG4AdABvAFAAcgBvAGoAZQBjAHQANRpDAG8AbQBwAGEAdABpAGIAaQBsAGkAdAB5ANAAAhoD0AMBLQTQBQYaB9AHCBoBRQcJCNAACRoERQoLBAMAAAAFAAAACgAAAAAAAADQDAutAgAAANANAS0O0A8BLRDQAAkaBEUKCwQDAAAABQAAAAoAAAAoAAAA0AwLrQEAAADQDQEtEdAPAS0Q0AAJGgRFCgsEAwAAAAUAAAAKAAAAAAAAANAMC60CAAAA0A0BLRLQDwEtENAACRoERQoLBAMAAAAFAAAACgAAACgAAADQDAutAgAAANANAS0T0A8BLRDQAAkaBEUKCwQDAAAABQAAAAoAAAAKAAAA0AwLrQIAAADQDQEtFNAPAS0Q0AAJGgRFCgsEAwAAAAUAAAAKAAAAKAAAANAMC60CAAAA0A0BLRXQDwEtENAACRoERQoLBAMAAAAFAAAACgAAAAAAAADQDAutAgAAANANAS0W0A8BLRfQAAkaBEUKCwQDAAAABQAAAAoAAAAoAAAA0AwLrQQAAADQDQEtGNAPAS0Q0BkarQFFGxwB0AAcGgJFHQsEAwAAAAUAAAAKAAAAAAAAANAeHy0g0CEiGgJFIyQC0AAlGgVFCgsEAwAAAAMAAAAAAAAACgAAANAmC60AAAAA0AMBLSfQKAEtEdApAS0Q0AAlGgVFCgsEAwAAAAMAAAAAAAAACgAAANAmC60BAAAA0AMBLSfQKAEtEdApAS0QmiorAUUAAQLQAAEtLNAAAS0X0AAfLS3QLi8aA9AwC60BAAAA0DELrRMAAADQMhqtANAzLxoD0DALrQIAAADQMQutAwAAANAyGq0A0DQarQDQNRqtAA==" + + + + + + + + System.Boolean + System.Collections.Hashtable + System.Int32 + {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} + System.String + + + + \ No newline at end of file diff --git a/twincat_version_manager.py b/twincat_version_manager.py index 3483331..5de2274 100644 --- a/twincat_version_manager.py +++ b/twincat_version_manager.py @@ -1,40 +1,40 @@ -import glob -import xml.etree.ElementTree as ET - -VERSION_TAGS = {"**/*.Tc*": "ProductVersion", "**/*.tsproj": "TcVersion"} -CORRECT_VERSION = "3.1.4024.0" - - -def check_versions(): - """ - Checks the Twincat version used to create a file. - It assumes that the version is stored as an attribute on the top element of the file, the attribute names are - listed in VERSION_TAGS. - :return: A dictionary of incorrect files and their version numbers - """ - incorrect_files = dict() - for file_path, version_attrib in VERSION_TAGS.items(): - found_files = glob.glob(file_path, recursive=True) - if not found_files: - raise IOError("ERROR: No files of type {} found".format(file_path)) - for file in found_files: - tree = ET.parse(file) - try: - found_version = tree.getroot().attrib[version_attrib] - if found_version != CORRECT_VERSION: - incorrect_files[file] = found_version - except KeyError: - print("WARNING: No version found for {}".format(file)) - return incorrect_files - - -if __name__ == "__main__": - try: - incorrect_files = check_versions() - for file, version in incorrect_files.items(): - print("ERROR: {} has incorrect version {}, expected version {}".format(file, version, CORRECT_VERSION)) - if incorrect_files: - exit(1) - except IOError as e: - print(e) # Likely no files found - exit(2) +import glob +import xml.etree.ElementTree as ET + +VERSION_TAGS = {"**/*.Tc*": "ProductVersion", "**/*.tsproj": "TcVersion"} +CORRECT_VERSION = "3.1.4024.0" + + +def check_versions(): + """ + Checks the Twincat version used to create a file. + It assumes that the version is stored as an attribute on the top element of the file, the attribute names are + listed in VERSION_TAGS. + :return: A dictionary of incorrect files and their version numbers + """ + incorrect_files = dict() + for file_path, version_attrib in VERSION_TAGS.items(): + found_files = glob.glob(file_path, recursive=True) + if not found_files: + raise IOError("ERROR: No files of type {} found".format(file_path)) + for file in found_files: + tree = ET.parse(file) + try: + found_version = tree.getroot().attrib[version_attrib] + if found_version != CORRECT_VERSION: + incorrect_files[file] = found_version + except KeyError: + print("WARNING: No version found for {}".format(file)) + return incorrect_files + + +if __name__ == "__main__": + try: + incorrect_files = check_versions() + for file, version in incorrect_files.items(): + print("ERROR: {} has incorrect version {}, expected version {}".format(file, version, CORRECT_VERSION)) + if incorrect_files: + exit(1) + except IOError as e: + print(e) # Likely no files found + exit(2)